Saturday, March 3, 2007

First Post

I've taken Kayfess's advice and started up a blog for my hobby programming project. This in spite of his obviously dubious judgement in other matters over which we shall pass in silence.


The project is a RTS/Empire Builder set in outer space and developed in C# and the XNA frameworks. I've been teaching myself 3D graphics programming for a couple years now, and I think I'm finally ready to undertake a playable game. I started this iteration back in early January and have been making pretty good progress.


The game universe is randomly generated and a Large Galaxy contains about 32 systems with somewhere around 150 to 200 objects of all sorts (stars, planets, etc). Unlike earlier attempts, I'm making no attempt at a realistic scale because it turns out that real outer-space has waaaay too much nothing in it. So a large galaxy will typically end up about 20,000 units across where the unit is the radius of the smallest-sized planet.


I'm going to support 4 players in a game using what I think is a fairly typical Lockstep syncronization model, where user input is propogated between instances.


Here's a screenshot



I took this one a couple days ago. That wedge-shaped thing is a ship and the little white box on the planet is the Depot for a colony the ship just established. It was all done with actual game inputs and this represents about how far along I am now.


The picture gives a good impression of the sort of scale I'm going for. That pale blue thing back there is a gas giant, with one of its moons in front of it and there's another planet near the star. Renderings are all pretty rudimentary right now - I'm just bringing these things up to functionality right now.


The next phase of development will culminate in the placement of a second building. This is going to require quite a bit of work in the Input and GUI regions of the code because I need some sort of menu from which to select types of buildings to construct. I'll also need to develop some sort of rendering for the resource deposits (ore and stuff like that) on a planet so that the user can place buildings properly.

No comments: