Island War Day 7

Today, I’ve got some new screen shots! Read on :-)

Over the weekend, I implemented proper camera and terrain selection controls. Getting keyboard, mouse and gamepad working at the same time proved a bit of a nightmare. PC RTS players will expect the arrow keys to move around their view and the mouse to be usable as a selection tool. XBox 360 RTS players need some way of telling the game where to place buildings, but the gamepad isn’t suited for this task as well as the mouse is.

So I decided to split my terrain into a regular grid in which a terrain cursor can be moved. The grid is in units of 3×3 terrain quads, which allows me to add some detail to the terrain on the sub-grid-cell level. Otherwise, it would look fairly obvious to the player that the terrain is based on a heightmap with regular X/Y samples.

Screenshot of an island with flak buildings intercepting an incoming missile

Read More

Island War Day 3

I decided to put some work into creating an editor that I can later use for building the levels and perhaps even include with my game. XNA gave me a hard time getting it to work inside a Windows.Forms application and I had to rewrite several of the XNA classes until I had a properly working XNA UserControl allowing me to render my game world inside the editor window.

Screenshot of a height map editor with dialog controls and a tool panel

Of course, the editor had to look modern and neat, with dockable panels and color gradients all over the place. As it turned out, there is no built-in solution for docking windows in the .NET Framework, so, given my plans to release the game’s source code, I had to find a solution that was both free and provided a decent user experience.

Read More

Island War Day 2

I know, as always, I’m a bit late with updates, but just in case you don’t know yet, the Microsoft guys finally opened www.xna.com. Finally, a complete website dedicated to XNA instead of the cramped MSDN section!

The developer area has been moved to http://creators.xna.com, including a wealth of tutorials and a revamped discussion area.

This weekend, I tried finally getting texture splatting to work for my Island War terrain renderer… and failed miserably :D. Look for yourself:

Screenshot of a height-mapped terrain with lighting and textures

There’s a lot of tuning to do until this crappy… something… looks like believable terrain. I’m not aiming for photorealism, but I’m not settling for a surreal landscape that stands out like a children’s painting would in an art gallery, either :)

Island War Day 1

Alright, my next game is finally on its way. The game’s working title will be “Island War”, which describes the setting of this game pretty well: small islands at war with each other.

And it won’t be like any other strategy title you might have played. I’m planning to remove the tediousness from the RTS genre by getting rid of micro management and unit placement.

I decided to try a different approach to the design of this game than I did with Ball Race. Instead of creating several GameComponents (like SceneGraph, EffectManager and GameStateManager) and spreading the game’s logic between them, I’ll try to model the game world in an object model designed for convenient use, so I can later set up my levels and launch the game with just a few lines of code.

Screenshot of a shaded height-mapped terrain without textures

The code so far incorporates an asset management system, the entire world expressed in an object model with load/save capability and can render dynamic height-mapped terrain allowing for real-time terrain deformation by explosions and other influences. I haven’t written the actual shaders yet, so this will look much better once I can get the shaders going.