Keypad Racer

I heard it's good to write a diary entry, so people can add comments (when something goes wrong, for example)... But let me make it a diary.

I felt the chosen theme was too generic, and I didn't come up with a game idea to match the theme. So I made a list of games I wanted to make and picked one that felt most appropriate.
Sunday & Monday, I learned a lot about GLSL shaders. Mostly I learned from mistakes, but I did manage to draw some nice-looking lines.
Tuesday & Wednesday, I made a level editor – for a game that, in the end, only has one level. I learned a lot about Bézier curves in the process.
Thursday, I implemented split-screen (since it felt that adding it to a finished game would be hard), and started on a tutorial. For this I learned about signed distance field fonts. (I didn't really implement this correctly, and I used a bad font for it, but who's counting.)
Friday (wow, Friday already?) I added collision detection and lots of animations.
Saturday I finished the tutorial. And I added a title screen, sound and an info display, so those are all quite rushed. I didn't manage to add music before the cutoff.

Overall, I learned a lot!

(log in to comment)

Comments

Yep, Something went wrong.
Traceback (most recent call last):

  File "C:\Games\keypad-racer\keypad_racer\game.py", line 37, in <module>

    conf = Path('keypad_racer.conf').read_text()

  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.2032.0_x64__qbz5n2kfra8p0\lib\pathlib.py", line 1266, in read_text

    with self.open(mode='r', encoding=encoding, errors=errors) as f:

  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.2032.0_x64__qbz5n2kfra8p0\lib\pathlib.py", line 1252, in open

    return io.open(self, mode, buffering, encoding, errors, newline,

  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.2032.0_x64__qbz5n2kfra8p0\lib\pathlib.py", line 1120, in _opener

    return self._accessor.open(self, flags, mode)

FileNotFoundError: [Errno 2] No such file or directory: 'keypad_racer.conf'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

  File "C:\Games\keypad-racer\game.py", line 22, in <module>

    import keypad_racer.__main__

  File "C:\Games\keypad-racer\keypad_racer\__main__.py", line 1, in <module>

    from . import game

  File "C:\Games\keypad-racer\keypad_racer\game.py", line 40, in <module>

    tutorial(ctx, palette, kbd, window)

  File "C:\Games\keypad-racer\keypad_racer\tutorial.py", line 21, in tutorial

    circuit = Circuit(ctx, 'okruh.png')

  File "C:\Games\keypad-racer\keypad_racer\circuit.py", line 57, in __init__

    self.grid_prog = ctx.program(

  File "C:\Users\irina\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\moderngl\context.py", line 1228, in program

    res.mglo, ls1, ls2, ls3, ls4, ls5, res._subroutines, res._geom, res._glo = self.mglo.program(

moderngl.error.Error: GLSL Compiler failed

fragment_shader

===============

ERROR: 0:? : 'variable' : is removed in Forward Compatible context gl_FragColor

ERROR: 0:? : 'variable' : is removed in Forward Compatible context gl_FragColor