Plans change. This week was no exception. I did start working on the TurtleBrains improvements that I set out and I did not start working on a top-down racing game. Instead I continued working on TurtleBrains and started porting it to iOS devices. I have also found out about PlainTasks, which is a Sublime Text plugin that allows quick creation and management of todo items, tasks. It even tracks when items were completed or canceled.
Improvements to the TurtleBrains framework:
- Finalized the ‘new’ TurtleBrains logo, and applied it to splash screen.
- Fade-to-black on the TurtleBrains splash screen.
- Replaced the default font shipped with TurtleBrains.
- EntityManager::ClearEntities() convenience function, easier to recall/remember.
- Entity Behaviors now delay delete to prevent issues calling PopBehavior() from Behavior::OnSimulate().
- OnAdded(), OnRemoved(), OnSimulate(), OnRender() now consistently present tense!
- Removed static const Color objects, replaced with ColorPalette enum and implicit constructor.
From there inspiration, or something, led me to start porting TurtleBrains to iOS devices. This probably stems from my desire to eventually make my own games, independently, combined with having iOS devices around the house. It went relatively smoothly, as in, most of the trouble I had was actually not in porting TurtleBrains code. I had already done the heavy lifting back when I ported to WebGL/emscripten. But a few troubles did plague me, first being getting a “hello gl” app running, and then later when I forgot to call glViewport to setup the view area… Woops. The final time costing issue was audio working on the simulator but not device. After an hour of digging I found my ringer was off.
There are some serious pain points still. TurtleBrains has no concept of TouchInput or screen/device orientation. I could solve device orientation by locking to portrait, (even though most games I make are landscape), but ultimately there needs to be a good solution here. TouchInput is a little more involved and will cause me to take a hard look into how input is handled in TurtleBrains.
Things are up in the air as far as what I work on this week, but likely to be some more TurtleBrains improvements. Stay tuned.