Some time ago, when I started using Haxeflixel and eventually Kha, I wrote my own game framework: Wyngine. Partly for fun, partly to study how game frameworks like Haxeflixel was written. Sure, I was reinventing the wheel, and probably could have put more effort into making an actual game, but at least I had fun.

As I started writing code from scratch with C++ and SDL2 recently, I found myself itching to write a game framework again. Naturally, I called it Wyngine (again). However, this time I’ll try not to waste too much time writing a full game framework that I won’t end up using much of. The most practical framework is one that serves the needs of the game.

And thus, I came up with a short checklist of features required to actually make something “playable”, as of this post:

  • Load and display images
  • Load bitmap fonts and render text
  • Keyboard (read inputs as actual keyboard alphabets rather than gamepad buttons)
  • Audio synthesizer and reader

The last task is somewhat of a nice-to-have, but I’ve made it my end-goal for “Wyngine v1.0”. I’d like to be able to compose my own chiptunes in software like Famitracker and synthesize them in my game, rather than load up large audio files. This will keep the game closer to a retro feel, which is what I’m aiming for.

Of course, there are more features I’d like to have, but as we all know, it is impossible to ever achieve perfection. For now, I hope I can make it to the first milestone.

Anyway, here’s my progress so far:

Left and right arrow keys will modify the text width, to demonstrate text-wrap logic. Yay!