I haven't kept up with this log over the exam period and holidays, but I feel it's time to resume.
Over the holidays, I have:
- Worked a lot on Project: SWAN:
- Completed the move from SFML to SDL2 (Man, that was a lot of work; SFML handles a lot of stuff globally, whereas I need to pass a renderer around for everything in SDL2.)
- Started working on a traits system; a trait is a class (such as
BodyTrait::HasBody) with a virtual getter (such as
virtual BodyTrait::Body &getBody()). This means that implementing a trait is a "has-a" relationship, not an "is-a"; most entities will have a body, some will have an inventory (and implement
virtual InventoryTrait::Inventory &getInventory), etc. Another part of the code can get an
Entity*and try to use
dynamic_cast<BodyTrait::HasBody *>to see if the entity implements the Body trait.
- I've been snowboarding a lot.
- I've been working on Advent of Code: github.com/mortie/advent-of-code-2019/. I haven't completed it (yet), because the later challenges get really hard and I didn't take the time to figure out how to solve them.
This week, I have:
- Made a silly falling snow effect (Sunday): https://s.mort.coffee/snowfall/
- Gotten back into work after the holidays (Monday)
- I've been debugging some issues with PulseAudio occasionally not outputting sound (not ready to blame PulseAudio just yet, it might be something lower in the stack or even hardware...)
- Made a particle system test in SDL (Friday).
- My laptop gets around 110 FPS at 20000 particles.
- I'm debating whether I should add something similar to Project: SWAN or if I should write a particle system which uses an OpenGL shader instead.
- Worked more on Project: SWAN, and among other things, integrated Dear ImGUI for some GUI stuff. Still not sure if the game HUD should be in ImGUI or something else, but at least menus will probably use ImGUI.