Laying concrete

So despite my recent blue-sky posts, I have been writing actual honest-to-goodness code for Kung Fu Legends. I’m working on the boring bit at the moment which is getting all the helper libraries set up and working. Currently I have options, logging and graphics subsystems primed and running. I had to rewrite and refine a bunch of my previously-written stuff to fit a new engine model and set of standards. The next bits to implement are:

  • Input (mouse and keyboard)
  • User Interface

The UI is the hardest because previous attempts to graft on a library led to disastrous results. I’m tempted to write my own, mostly because I want a lot of custom widgets and not a whole lot of the standard widgets. But this is of course a biggish undertaking.

The reason I’m doing all this instead of the fun stuff is that I need to be able to test my world model. I have two directions I can take at the moment: develop a basic UI and test within that, or leave the engine stuff until later and just test via copious amounts of logging. Both have their merits. For now I’m going with the former, but might just get annoyed and go the latter. You have to be careful though, leaving all the boring stuff to later makes it tough to face it. Ideally you’d work on the two (engine and game world) in concert so the requirements of one can inform and evolve the other.

The other main reason for the focus on the engine is that it’s a reasonably known quantity. My game world and game mechanics are still being formed so it’s hard to set off too far in any particular direction. But the important thing is that I have code that compiles and runs. Woo!