Been a while.
I've been working, and I still am, so unfortunately I haven't touched OOK in quite a while. However recently I found some free time and picked it back up. I work as web and application developer, so I have learned a lot over the past year. Because of that, I have decided a couple things which will drastically improve the game, and already have drastically improved its back-end:
1.) From now on I will use as many existing libraries as I can - Why should I reinvent the wheel?
- I have trashed all previous OOK code and restarted using: GLFW, Gwen, Chipmunk Physics, and a JSON lib for C++.
2.) I have abandoned Objective-C in favor of more cross-platform languages: C, C++.
- The entire engine is now being built in C, with C and C++ libraries.
GLFW is an alternative OpenGL library to the bloated SDL that I was using before. I have found GLFW to be far smaller and easier to use.
Gwen is a GUI library by the author of Garry's Mod. It is lightweight and easy to use. It has already saved me a bunch of time on creating the GUI, and provides all the functionality that I will need. Additionally, piping events through in an organized manner has proven easier than ever.
Chipmunk Physics is my 2D physics engine of choice. I was already using this.
I have found myself using JSON more and more over the past year - it's about as good as it gets as far as simple, compact, readable, and compatible formats goes. All data files will now be stored as JSON.
So, here's where I am at now... I have ditched the old engine and recreated most of its functionality myself in C. I have created resource managers in C. I have integrated Chipmunk and Gwen. I have written the rendering code for entities. I have defined all of the necessary objects, entities, resources, etc that will need to be supported. I have designed a data store format for all the data, and outlined a save game format.
Next steps include finishing putting together the entire GUI, hooking the GUI up to actual actions, and creating the universe generation code.
I am very happy with the drastic changes I have made. It meant restarting from scratch, but has made development far more rapid.
Expect updates from now on.