Monday 26 November 2012

Project "Lead" Update #4

Update #3: http://ahamnett.blogspot.co.uk/2012/11/project-lead-update-3.html

What features have you added since the last blogpost?

My focus after the last update has been to get more content into the project. As such, I've begun to design some very basic art assets for the HUD and characters, as well as taking some time recently to add in placeholder sounds.


My favourite addition so far has been that of the health bar, which I feel looks great and has good gameplay implications (namely that you won't be able to tell exactly how close you are to dying). In addition, the smaller changes like the "mannequin" sprites and weapon sound effects have added a lot to the game's feel without taking too long to implement.

What technical aspects have you explored for these features?

The health bar was a good experience for me because it allowed me to briefly dip my toes into pixel shaders, a subject which I respect but haven't attempted to look into before. I was able to get a very basic idea of what shaders are capable of and it may influence some of my later design decisions (i.e. a Monaco-style line of sight system.

In creating the health bar, I also briefly experimented with stencil buffers. However, I had to abandon this approach because it was limited to 100% or 0% visibility for pixels, as such it was not able to create the gradual fades that I wanted for the health bar.

What features are you planning on working on next?

At this point, I want to continue refining the overall appearance of the project. I feel that a lot of the core mechanics are in place currently and as such I want to get the project as close as possible to a releasable state in order to get a better idea of what areas need to be improved or expanded.

I have some ideas about borders for the HUD assets so they blend in better, such as a S.T.A.L.K.E.R. style metal border. I also want to look into sprite animations, specifically for actor walking and weapon reloading. There's also more sounds that could be added such as actor pain, background music, environmental sounds, etc. Finally, I want to continue adding to the arena level with more objects like cars, traffic lights, bins, benches, etc.

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.