About this blog
The ongoing development progress of a small indie developer.
Entries in this blog
Alright this is my first entry into my gdnet journal, but hopefully not the last. This is a .plan entry from our forum at http://www.nitrousbutterflygames.com
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.
I was going answer this question directly under the comments of my last entry, but I thought I would add it as an entry. It's not an entirely interesting story..well maybe it is. Well...it would be if I tossed in some crazy story about dragons...especially those wingaling dragons. Anyway...the question:
How and why did you come up with the name "Nitrous Butterfly"?
Well, honestly, it has absolutely nothing to do with drangons. None!
It all started shortly after I got fired from a job I was at for far too long and it turned out to be the best thing that ever happened to me. It was the crazy summer of 2003 and suddenly not having a job gave me the opportunity to attend the MAX U4 class down at the Renaissance Center in loverly Dickson, TN. It was a solid month of 3D mayhem where I got to eat over sized country hamburgers and, of course, meet up with my future business partner. I went down there with the thought of starting a small gaming company and was still trying to figure out how I was going to do it when I met Mark Miley. Mark and I, other than attending class, spent the entire time coming up with an awesome game concept and story (which to this day is still on the back burner) and realizing our mutual passion for the gaming medium.
We were all cooped up in the lab working on a project and drinking far too much caffeine when the company name chose to announce itself. I'm still not entirely certain how it all started, but we were joking about butterflies and laughing gas. I have to re-iterate here that we all had way too much caffeine in our systems. One thing lead to another and someone said Nitrous Butterfly which someone retorted would be a good name for a band. Mark and I looked at each and said...that would be a good name for a game company. And that was when the dragons reigned fire down on the building and-. Wait...I said there were no dragons.
So there you have it. Not an entirely interesting story, but there lies the origins none-the-less. For more information on the effects of laughing gas on a butterfly please check your local library.
Ok...now on to same development related news. I have been expanding the engine and have a working 3ds loader and have been working on implimenting the cal3d library for our character animations. All of the definitions for the objects are stored in lua script files for easy modification. I'm still having some issues with cal3d, however. The mesh and animations are working fine, but I'm having issues binding the texture properly. I'm storing it in the cal3d user data of the corematerial of the coremodel, but for some reason it's not getting the texture id properly when I have an instance of the model. I have a post up on the forum about it, but if anyone has any ideas feel free to let me know.
I'm trying to nail down exactly how are levels are going to setup , but I'm at a point now after rehashing the engine that I atleast have some visuals up on the screen. More testing will be required to get a proper map format.
Alright...well that's about it. Until next time!