Game Development Community

dev|Pro Game Development Curriculum

Storm Tanks: Post Mortem & Resurrection

by Tim Dix (Raverix) · 08/27/2010 (1:39 pm) · 7 comments

tp.cantanogames.com/images/stdev/blogheader.jpg

tp.cantanogames.com/images/stdev/1/old.jpg

This was Storm Tanks, Feb 2007

Post Mortem

So, I posted a introduction blog three years ago about the development of Storm Tanks, and since then, it’s actually less playable now. What happened? Well, I made a series of huge mistakes. I started working on new features, without finishing previous ones properly, started development on features which really weren't necessary for release, etc so forth. For example, I always made it very clear that this was a multiplayer game, so that I didn't have to focus on a single player campaign which I felt would be time intensive, yet I sunk a lot of time into Tank AI which never gave me a satisfactory results.

tp.cantanogames.com/images/stdev/1/web.jpgAnd the worse mistake I made: I got tempted by another engine, or three. I was looking at all the new shader effects, and the ability to have huge terrains, and just wanted to have all this tech available in my game... so I made the ill-advised decision to move Storm Tanks to a new engine.

  1. Attempted to port it to TSE
  2. Added the Modernization Kit in TGE, and tried to replicate some of the abilities in TSE
  3. Attempted port to TGEA
  4. Attempted to port to T3D Beta 1

tp.cantanogames.com/images/stdev/1/buggytank.jpgIn the end, I kept having serious issues that stopped me dead in my tracks. Most ports didn’t get past the tanks themselves before starting on learning the new art pipeline and features. Atlas, oh atlas... And each time, it ate up time, and killed my momentum, and eventually there just wasn’t any left and the project started to decay on my hard drive. I should have just pressed forward with TGE and released the game years ago, but here I am now.

tp.cantanogames.com/images/stdev/1/olivia.jpgOf course, I can’t blame that entirely for my lack of momentum. For example, I changed jobs twice, moved, and my daughter fell from out of nowhere. I have no idea how that happened, my sleep deprived memory is a bit hazy on the specifics.

So, in conclusion, switching engines is a very time consuming process, make sure you know why you’re making the change, how long the change is likely to take, and that the change is worth it. Children are also a very time consuming process.

So, my solution: Port to T3D 1.1 . No, that’s not a joke.

Resurrection

tp.cantanogames.com/images/stdev/1/dawn.jpg

Yes, even after the above, I’m again making the decision to port again. Why?

I really feel that TGE is too antiquated for this project. With TGE, we fought with the art pipeline a lot. T3D is much smoother. T3D also has a lot more level building tools with Mesh Roads, Decal Roads, River Editors, Forest Editor, etc... T3D will allow much more better level development than TGE did.

Additionally, my skills have increased over the past three years. Despite coding for 10 years or so, I’ve only been programming professionally as my full time job for the past 4. As a result, my coding style and ability has changed vastly in the past few years, and my ability to pick up new tech has increased tremendously. As a result, I’m looking at a lot of the code that I wrote, and think ‘why the hell did I code it like that’? So, I want to rewrite much of it, so I think porting it while I make the changes makes the most sense.

Another reason is because been so long since I’ve done any real development that my tastes have changed, and I disagree with many of the decisions that I made three+ years ago. I’m also planning on bringing the scope of the game in a little bit to try and make it easier to publish. I’ll never be able to bring in as many game play elements and features as I’d like. Instead I’ll focus on perfecting a smaller set of game play elements.

So, where is Storm Tanks now? I’ve got Tanks in T3D, a library of assets - both code and art, and a long road ahead. My goal over the next few months is to start clean with T3D 1.1, and pick and choose which assets I still want in the game, which code I’ll be porting, and which code I’ll be re-implementing.

Another change I'm making this time around is that I've already written a large list of features that I want, and prioritized them, and set goals, and and milestones. I'm hoping this will help keep the project on track, and make sure that the features that I want the most, will get the time I need. Each time I put something on the list, I asked how important it was for release, and if I could live with out it. First up, is making some much needed improvements to the tank's control and camera systems. This will be the topic of my next blog, I've already got it running fairly solid, but I need to tweak a few more things.

So, let's try this dance again. Wish me luck, I’m gonna need it!

tp.cantanogames.com/blog/stdev/img/0/0.giftp.cantanogames.com/blog/stdev/img/0/1.giftp.cantanogames.com/blog/stdev/img/0/2.giftp.cantanogames.com/blog/stdev/img/0/3.giftp.cantanogames.com/blog/stdev/img/0/4.giftp.cantanogames.com/blog/stdev/img/0/5.giftp.cantanogames.com/blog/stdev/img/0/6.giftp.cantanogames.com/blog/stdev/img/0/7.giftp.cantanogames.com/blog/stdev/img/0/8.giftp.cantanogames.com/blog/stdev/img/0/9.giftp.cantanogames.com/blog/stdev/img/0/10.giftp.cantanogames.com/blog/stdev/img/0/11.giftp.cantanogames.com/blog/stdev/img/0/12.giftp.cantanogames.com/blog/stdev/img/0/13.giftp.cantanogames.com/blog/stdev/img/0/14.giftp.cantanogames.com/blog/stdev/img/0/15.giftp.cantanogames.com/blog/stdev/img/0/16.giftp.cantanogames.com/blog/stdev/img/0/17.giftp.cantanogames.com/blog/stdev/img/0/18.giftp.cantanogames.com/blog/stdev/img/0/19.giftp.cantanogames.com/blog/stdev/img/0/20.giftp.cantanogames.com/blog/stdev/img/0/21.giftp.cantanogames.com/blog/stdev/img/0/22.giftp.cantanogames.com/blog/stdev/img/0/23.giftp.cantanogames.com/blog/stdev/img/0/24.giftp.cantanogames.com/blog/stdev/img/0/25.giftp.cantanogames.com/blog/stdev/img/0/26.giftp.cantanogames.com/blog/stdev/img/0/27.giftp.cantanogames.com/blog/stdev/img/0/28.giftp.cantanogames.com/blog/stdev/img/0/29.giftp.cantanogames.com/blog/stdev/img/0/30.giftp.cantanogames.com/blog/stdev/img/0/31.giftp.cantanogames.com/blog/stdev/img/0/32.giftp.cantanogames.com/blog/stdev/img/0/33.giftp.cantanogames.com/blog/stdev/img/0/34.giftp.cantanogames.com/blog/stdev/img/0/35.giftp.cantanogames.com/blog/stdev/img/0/36.giftp.cantanogames.com/blog/stdev/img/0/37.giftp.cantanogames.com/blog/stdev/img/0/38.giftp.cantanogames.com/blog/stdev/img/0/39.giftp.cantanogames.com/counter.php?blog/1tp.cantanogames.com/images/stdev/blogfooter.jpg

#1
08/27/2010 (2:27 pm)
Looks good Tim. I've ported 3 times, TGE/TGEA and now T3D - which is the best move yet, especially when you get the initial prototypes done, it makes it a better game 2nd or 3rd time round, especially when a steep learning curve is involved. Porting to better engine tech does also have its set backs, such as the artwork pipeline, textures that looked good in TGE, do not look good in T3D so all these time constraints have to be factored in. Looking forward to your next blog post.
#2
08/27/2010 (2:47 pm)
That was an interesting, and also rather fun read! :)
#3
08/27/2010 (6:35 pm)
That's great to hear :) I still have some of your insights on some of the things you did to enhance the visuals of storm tanks in TGE. The Bloom Flare billboard and the way you got the particles to deflect the right way off the terrain when the lasers hit them. Looking forward to seeing your new blogs using T3D.
#4
08/27/2010 (7:10 pm)
@Jullian - Yeah, so far, I'm very happy with where T3D is. The editors, code, and tools have really come together to make a much nicer work flow.

@Steve - Thanks :)

@Johnny Hill - I tried to push TGE as hard as I could, and I'll be bringing that same mindset to my T3D version. My artist and I went back and forth on a lot of details to come up with interesting solutions to push the graphics. Now with T3D, I'm looking forward to a whole new tool set to play with.
#5
08/27/2010 (9:07 pm)
Usually I agree with those who say switching engines in the middle of a project is a bad idea but when you've repeatedly prototyped and pushed the tech as far as you can go and still find limitations it does get frustrating - especially for the small(er), even solo, teams. I had an old TGE+MK project that easily found new life when porting to Torque 3D and I'm glad I took the chance.

Good luck, I'm looking forward to hearing and seeing more about Storm Tanks in Torque 3D.
#6
08/28/2010 (11:47 am)
Interesting blog Tim. I also am writing a tank game and had problems migrating to TGEA from TGE, to the point where I stopped TGEA work and instead went back to TGE.
Torque 3D is in plans but price and the idea of having to stop and port to Torque 3D makes me reluctant to take the plunge.
Good Luck, I'm looking forward to future blogs. And thanks for any tank related resources.
#7
08/29/2010 (7:47 pm)
Good luck Tim. Sounds like you've got the bit between your teeth again, good for you!! After also experiencing many of the decisions and setbacks from your blog I feel your pain. We also went through TGE, TSE, TGEA, Juggernaut, etc. etc. etc. and eventually to T3D.

I have a huge admiration for anyone who gets their project to release, however small, however complicated...It's a steep climb for sure and you never know what's around the corner... I for one have still got the bug though, even after everything that's involved 8)