OBJ file loading and wishful thinking

Crossing foothills

Deliver a shipment of garlic to tower located in mountains!



RIP ModernGL
Presented by OrionDark7

Give this entry an award


File Uploader Date
OBJ file loading and wishful thinking
yarolig 2019/09/26 19:22
monday evening
yarolig 2019/09/23 17:12
yarolig 2019/09/22 17:26

Diary Entries

Sunday morning

Hi everyone! I have a full week to spend on pyweek.

The theme is easy. You can imagine a lot of games about towers.

Need to decide what game I am making. Intended to try ModernGL and make another 3D action.

What genres I want to make?

  • quest - NO!
  • real time strategy - not this week. I'm afraid there be a lot of tower defense games.
  • turn based - better
  • RPG - maybe
  • Shooter - yeah!
  • racing - I have one already
  • platformer - I have one already
  • puzzle - NO!
  • ASCII roguelike. Not this week.

Will try not to think about plot and towers for the next two days.

What can I do?

  • write dirty python code
  • write basic FPS in 3 hours
  • rewrite it clean. In this week it not needed :)
  • write short texts (and long unordered lists :)
  • write things on paper
  • draw 2D potato graphics
  • draw awful 3D models very slowly
  • draw levels in the Tiled Map Editor
  • draw levels in kolourpaint (it is not convenient)
  • pick good music from FMA... Oops, there is something on FMA... http://www.freemusicarchive.org/static is partially working. But I don't see licenses for tracks. Will try filmmusic.io.
  • pick OFL fonts from fontlibrary.org
  • record sound effects
  • lose a lot of time searching 3D models
  • use PyInstaller
  • upload screenshots and logs every day

What will be fun to do?

  • 3D game! (again)
  • try ModernGL. Write two fine shaders.
  • do something new! For example win this contest :)

What setting?

  • Medieval/modern/futuristic/alien/microscopic/other? The other is the best.

I have some great ideas that will not fit into one week.

I going to think for a while and to make a basic FPS engine and UI.

Add a comment

Sunday evening

ModernGL was not fun

It requires OpenGL 3.3, but my Intel(R) HD Graphics 520 on linux has version 3.0. There is workaround that I will use:

MESA_GL_VERSION_OVERRIDE=3.3 python3 run_game.py

The documentation for ModernGL is not good enough for pyweek. For example I can't figure out how to set uniform variables using only https://moderngl.readthedocs.io/en/stable/. Moreover I can't do it by googling moderngl uiform! I have to read https://github.com/moderngl/moderngl/tree/master/examples instead. Looks like I breaking rule "8. Allowed Documentation".


Monday evening

Switched to PyOpenGL. It is not as convenient as ModernGL but there is documentation... On StackOverflow and Reddit... 

I know it is possible to waste a lot of time creating worlds. I decided to not make a planet spherical at least.

I'm drawing primarily with glDrawArrays. Checked its limits. After 100 calls per frame FPS drops below 60. And after 1000 my computer starts making strange sounds.

My code is 700 lines of mess.

Add a comment