I was reading about SCRUM or Scrum last night. I would love to get a chance to work on a project using Agile development methods. The collaboration aspect is appealing as is the idea of getting usable code working quickly seems like a great idea and would work well with my own development style. In fact, I’d have to say that most of my early programming work was done using Agile project management and I didn’t even know it. I always strove to delivering working results as often as possible.
The User Stories concept is being difficult for me. I’m trying to figure out what those stories might look like in my train game. With the simplicity of user stories that I’ve seen, I’d need hundreds of them. The concept of a theme or an epic starts to make a lot of sense and I’ll work on breaking down the game into distinct sections of usability. For instance, here are some user stories that belong to very different themes or epics:
As a player, I want to give a locomotive a set of instructions for what to do on any given day.
As a player, I want to purchase industries to make money from them.
These are so very separate that the two could be treated as parts of two different games. The train game genre is like that and has a few different games built into a single package. Of course most good simulation style games are like this.
Above is a simple picture of a 40 car train. The “game” running this train takes about 5% of the CPU time although the Windows GDI drawing is not efficient and is probably accounting for more than half of that time. I could easily run many 100+ car trains but managing them will not be easy.
I was playing around with OGRE. OGRE is a graphics rendering library that is supposed to simplify 3D rendering. It certainly is simple to make a sample terrain but I’m not sure that I want to add a bunch of libraries onto my train game. I don’t like trying to send my Dad a copy of a program and then have a bunch of DLL problems trying to run it. Just using Directx is problematic because Microsoft stupidly chose to include version numbers as part of some Directx file names. I thought the whole idea behind DLL’s was to avoid things like having multiple versions of the same library.
I have no real progress to report for the train game or for the OGRE experiments but I’ll write up something as soon as I have it.