I’m really, really anxious to get the browser game sites up and running again. It has been too long and I’m starting to worry that the other developers that have been building it will come and break my legs. I haven’t been a really good host for the past 3 months and I need to change that. Well, I’m going to start with Battle Machines and work my way down the line.
I’m not going to concern myself with building the game engine at this moment and just focus on the getting the games up and running. I will try to base the game code off of each other. So when I start the next project after Battle Machines, I’m going to use as much code as possible from Battle Machines to start the next project. I’m going to continue this and hopefully, by the time I’m done, I’ll have a semi-working game engine. Finally, after the games are back up, I’m going to go back and work off of that code to build a foundation for which to rewrite the finished games and add in features I’ve hadn’t had time to develop.
The focus will also be open source and the Quantum Game Library. I envision that I’ll be rewriting a lot of the code and refactoring. The code I’ll be rewriting, I’m going to place in the QGL for later. It will be one of the ways I’m going to be enforcing reuse between the projects. Getting the game source code out there under AGPLv3 should be a way to enforce changes being sent back to the main project and getting the code out there in other people’s hands. I just want the source to be as professional as possible before I do that.
I’m currently doing some cleaning up of the code. The manual is going to be using another engine, so either PhD or some other easy one. I think PhD works great and is very easy to install on both Windows and Linux. So I’m focusing on that and then I’ll have to revamp the test case system. I’m going to switch over to using PHPUnit and working phpUnderControl software support in there. This should make the process very easy and will hopefully be automated through CruiseControl. Should be interesting.
I’m going to try to get it to where the tests are written in a way that tell me how many components are finished and at what level. Right now the components are that are ready to be moved from CorePress to QGL don’t have enough test cases written for them. I need to drill that down, but I’m more than likely going to focus on the DB component and get that working and then focus on the old code and updating the test cases for them.
Ohloh is going to suck at the moment, because it will have a very large dip of code, but I think that is good at the moment, it will improve the statistics. I think I should have a lot of the old code converted over the weekend.
The components that are completed need to have the amount of test cases and quality of test cases improved. I’m also going to focus on that, but it is easy to lose track of the finish line when you have inline documentation, manual documentation, test cases, and refactoring and component writing. The goal is to focus on the core and DB and current old code to get them ready, so if the library had to be used tomorrow, it would be ready.
I removed the AI code, because really, the code there wasn’t fully functional. I’m going to revisit it, but the graphing really needs to be addressed better to enable the path finding algorithms to be better. I’ll most definitely revisit the AI parts of the library to seriously improve the level of it. It is a lot of work really, so it will have to be after everything else is done.
After the old code is refactored, unit tests rewritten, and manual and inline documentation improved and updated, then I’m going to focus on some other components I had planned for CorePress. The focus is to keep QGL license as New-BSD as much as possible. Therefore, the focus has shifted from providing an alternative companion from WordPress, to redeveloping the concepts that are in WordPress and applying them to the library in a way that doesn’t suck. I like the way WordPress does some code, but other parts of the WordPress library are somewhat awful.
That said, only the components that are needed to fulfill the current projects are going to be worked on. This means the Plugin component, the template, news, and commenting. Categories, tags, etc won’t be addressed until later. I’m not attempting to recreate a blogging platform, just need some posts and commenting. Also a templating system that is actually quite cool.
That said, not everything will be done over the weekend or even next weekend. It is going to take several weeks to finish everything and get everything where it needs to be. I want to start off with a project done right and not have to go back and complete such details. I want to be able to tell people, “Look at QGL, that is how the game and the game engine should be done.” I hope that by providing a good, clean example, others that I develop with will follow suit. Either that, or I won’t have to field so many questions when other developers start working with QGL.
Also, I’m not much of a writer when the topic is really boring like when writing technical manuals. It is akin to someone scratching their nails on a blackboard over and over again.
Possibly Related Posts:
- Dragon MVC
- Why I Contributed to WordPress
- DragonU DB Component
- Working On My WordPress Plugins
- Hurray! I’m Back!