Monday 12 November 2012

Project "Lead" Update #3

Update #2: http://ahamnett.blogspot.com/2012/09/project-lead-update-2.html

What features have you added since the last blogpost?

Since the last update, the first thing I worked on was attempting to serialise the level data and the beginnings of a level editor. Serialising the level data has greatly optimised the content pipeline, converting what was once a chunk of hard-coded assets into a single external XML file which can be easily editted and loaded using the default XNA content manager.


The level editor is a modification of a small unfinished project I started last summer. Unfortunately the project needs to be significantly rewritten as there are several poor and impractical design choices evident, i.e. overuse of the static keyword. In addition, a lot of the elements need to be replaced with the equivalents from the "Lead" project, leading to a lot of "square peg in a round hole" issues.

What technical aspects have you explored for these features?

In order to serialise all of the objects I have in my game world, I've had to look more extensively into XNA's content serialisation. Specifically, I've had to write my own custom content writers and readers in order to ensure an optimal file format where all the necessary data still gets loaded.

Has any progress been made in gameplay?

I've decided to develop a small, simple arena shooter in order to keep the project feasible currently. As such, I've spent time creating some basic assets in order to create the beginnings of a typical intersection.

The debug box you can see in the screenshot is a recent test for repeated objects called "props". They have a texture and collision polygon and will be able to be quickly placed in the level as an entity rather than specified by vertices as the wall and floor planes are.


In addition, I've also been working on typical wave-based systems for spawning enemies. There is currently a wave manager in place which keeps a track of the wave number, enemies spawned, number remaining and has a timer to allow an intermission between waves. I've also added enemy spawners to allow the enemies' spawn positions to be specified. Currently they're only set to spawn outside and walk to a specific point, though I plan to add deviance later.

What features are you planning on working on next?

I plan to continue working on assets until a very rough vision of the final product starts to take shape. In particular, I have an animated health bar idea, similar to the early Resident Evil games, which I plan on implementing next. I've been looking into using a stencil buffer to create the effect so as to prevent having large spritesheet animations.

After that it will be more assets for both the world and characters. I plan to add typical objects like cars, crossings, traffic lights, benches, etc., as well as creating my player and enemy sprites. I also need to work on a system for spawning or dropping new weapons as a form of power up, though that will probably come later.

No comments:

Post a Comment