yeah...that was a shameless plug, but hey...it's my journal right?
Engine Reconstruction .plan
November 10, 2005
The last .plan was quite a while ago and I have been meaning to write more on our over all direction and next project, but I we have been spending a great deal of time reflecting on this and wanted to get back on solid ground before saying anything.
In the last .plan file I spoke all about the tile engine and the idea of the top down GTA2 kind of game. We have restructured our thinking and have decided to head down a different path. The more I started getting the tile system online and getting 3D object props to work I started thinking that we were getting dangerously close to a full 3D game which is something we wanted to do, but felt it was too far off given our in house technology. The closer we got the more we wanted it so finally we decided to just go for it. I was feeling fairly confident that, but realized that this would add time to our project and further altered the idea of our project entirely. We sat back and started wondering if we should continue with the current game idea or basically start over. We eventually reached the conclusion that we needed to just start over entirely.
The new idea would mean many additions to the engine...one of which would be painfully extracting the tile engine I had spent many hours to create. After looking at what would have to be pulled out of the engine I realized a full restructure was in order. To avoid problems down the road and the possibility of feature bloat I decided to rip the engine apart and put back the pieces I knew I would need. This was not an easy undertaking as the engine was currently crawling up over 33,000 lines of code. Of course cutting things out was the easy part...re-integrating only what I needed would be the painful part.
Since I decided to pull the whole thing apart anyway I decided that as everything fell back into place this was a good time to figure out a better way of managing several things. The first thing that I had wanted to add was a scripting system which I had already started with the previous version of the engine, but realized that far more could now be exposed to the scripting side. With that in mind I went about changing the engine to be entirely scripting dependent. Previously everything had been handled in the engine itself and as much as I tried to keep the engine code and game code separate they continued to become inevitably intertwined. So as the pieces came back together I decided to use the scripting system as the controller of how the engine did just about anything..well sorta. The engine now is basically just a set of definitions/managers and object classes that get exposed the script side. Upon engine load up a single script is set into motion which inits the video display..initialized required managers...and then loads in the main menu. All gui displays are now created on the script side with easy to use gui helper functions that were also written as scripts. The engine now is far tighter and quite a bit faster after optimizations. There are still elements that need to be re-integrated into the new engine and many more that have yet to be written, but it's a solid start into the new design and I'm rather excited with the new direction.
We have an over-all story and game concept laid out and are still working on the finer details. Many of these details will be better realized once our development tools are in place. We hope to have more information about the new game soon. I want to start putting out information on this game as soon as possible so we can start getting feedback.