Friday, 23 March 2012

Tungsten!

Okay, let's get this show on the road.

Tungsten is a simple "Deathmatch Asteroids" game project.  I've written a couple games like this in the past, and now that I've racked up a decade or so of software development experience it seems like the right time to write another one.  If you've played Star Control, you know exactly where I'm going with this.

Tungsten is also a learning project for me.  I've spent the past eight or nine years using C (specifically C99) as my language of choice for any heavy lifting I've had to do, with a few forays into Ruby and Haskell.  I started my programming career (think high school) as an enthusiastic and naive C++ programmer, but over the years I've come to appreciate the stark simplicity of the C language (particularly after wading through hundreds of thousands of lines of student code as a teaching assistant).  Modern C++, particularly the emergent C++11 dialect, is vastly different from what I remember (pointers and arrays are deprecated?  Nobody ever really calls delete any more?), and I'm trying to approach it as a completely new language and leave as many of my C habits behind as possible.  This also goes for OpenGL 3.x/4.x -- it's a very different style of graphics API from the immediate-mode interface I learned  as an undergrad.

Finally, Tungsten is a part of my resumé.  I want to be able to point people to this project and say "Look!  This is how I design a program; this is how I write code; this is how I go about learning a new language and API".  This is where I get to describe my thought processes in detail and walk through the design decisions and tradeoffs I've made.  Maybe we can chat about it in the comments.

On with the show!

No comments:

Post a Comment