Wednesday, October 12, 2011

A red letter day

List of achievements since last update...

  • New flame particle. Instead of the 4 frames used previously, I now have a 64 frame explosion. En mass, looks like flames. Quite realistic. I must make a video to show it off!
  • Actors can now be injured and "killed".
  • When an actor is "killed" (HP < 1). It explodes. This effect uses 16 of the 64 frame explosion from the fire effect. These are created at evenly spaced heights. The height is determined by the actor (no point in having a 2 metre tall explosion from a 1 metre tall object). The ground position is random within the square. I have also added a random delay, so the explosions don't go off uniformly.
  • Actor death also releases nanites. These travel to the player and are automatically "collected" and added to your tally. The number of nanites released is one per inital HP of the actor killed.
  • Each nanite particle can be 1,10, or 100 nanites. This is random.
  • The upgrade and level select menus have been changed to be vertical lists. This makes them easier to work with and more intuitive. It also give me more space from descriptive text and progress bars, etc.
  • The Load Game and Options menus will have the same look for consistency.
These may sound like superficial changes, but the difference to the game is huge. It now feels like a game. You can kill things and get rewarded for it.

I am also starting to think that the flamethrower is a little too good. Not that I'd nerf it, but, it is kind of "Why would I use the melee weapon, when I have this?". The cool down period is OK...maybe make it a little more expensive to use...hmm....screw it, I leave that sort of tweaking for the beta.

Tuesday, September 20, 2011

Cubicles of death

The office

  • Started work on the second chapter (Area 1-2). This will consist of a lobby, offices, guard quarters and mess hall. It is a high security area, that starts off under lock down (apparently and experiment has escaped (wink)).
  • The simplified level select dialog separates the game into layers, starting with Stories. Each story will consist of Acts. Each act will consist of chapters. The initial release will be 1 story with 3 acts, each with 5 15 chapters all up.
  • Chapters may contain several maps that will link together. This serves several functions: First, it allows for better performance (dynamic shadows aren't cheap). Secondly, it will make some areas harder to find ... maybe even miss-able! Thirdly, it makes the world seem bigger, as it can be quite big by adding more maps.
  • The vertical movement of the camera has been removed. The view is now locked. The camera can still be rotated horizontally, orbiting the player, independent of the player's movement. This is to stop the camera being lost in walls, etc.
  • DEMII meets a grumpy guard.
    Can DEMII sweet talk the guard into letting her in? 
  • I started working on some comic-like special effects for attacks. More on this later

Wednesday, August 31, 2011

Stand clear, doors closing...

  • The scale change actually broke all of the door code. Got this happening again, fixing several bugs along the way
  • Door, decals, lights and switches can be linked together. So toggling a switch can change an actor's model, trigger events, etc. For example, the terminal in the screenshot changes the decals on the floor, the tick/cross light, changes the light from red to green, plays a sound and opens the door...then does the opposite when the switch is toggled again.
  • Added a fudge factor to the shadowing code. This fixed a lot of issues with the shadows.
  • Changed the level select screen to be a list of levels, rather than the 3D island map. The island map is much nicer, but would take a fair bit of effort to change, make look good, etc.
  • Many under-the-hood and editor improvements.

Wednesday, August 17, 2011

This is a triumph...

A quick update with a couple of pics of the first map. Its a Portal parody. My original idea was to have the whole first act (1/3 of the game) as training levels and it would be one big Portal parody...but when I went to make the maps, well, let's just say Portal is rather bland and I decided it was overkill to have that many training to just have one and get on with the story!

I have planned out an interesting escape story of act I. Each map will parody classic games (without cloning them) ... I was always looking for a way to inject some humor. I think its a great way to tell my story.

Anyway, I will keep the other maps under my hat ...until the maps are made anyway. Enough of me rambling, in to the pics...

DEMII in her Relaxation Vault

Multiple Shadows!!!

A matter of scale

Wow! Has it been a month, already?

Anyway, just as a quick update of my progress, I have made some major changes...

1) New map editor written in C#/XNA. This is speeding things up. Its amazing how much more you can produce when you don't have a slow, clunky editor killing your creative buzz.

2) Shadows! After putting it off for ages, I decided to attempt adding shadows to my HLSL shader code. After 2 days of coding, I finally got it happening...and it was worth the effort!
Basically, the technique I am using is called Shadow Mapping. It is fairly straight forward: Draw the view from the lights' point of view, but only store the depths and store this in a shadow map. Then, draw from the camera's point of view, testing each pixel against the depths in the shadow map. If the light is farther away than the entry in the shadow map for that pixel, then something is closer and it is therefore in shadow.
Of course, this is drawing an extra frame per light. It has reduced my framerate down from 60fps to 25fps for just 10 lights. Not bad for unoptimised code. I have a few tricks up my sleeve to get the framerate back up.

3) I have changed the scale of the game, relative to the player. Previously, I was working on a tile of about 1 metre square. Only one thing can occupy each square (well, 2 things: a block and an actor). It meant that all detail had to be in the model, and I found myself making thin and thick walls, etc. After playing Sega's Spiral Knights, I can see that it is much better to reduce that scale. So, the character models are bigger, filling the square...and the block models are smaller, half the size. Of course, this makes the maps smaller, but I may introduce several maps per map (if that makes sense), such as elevators that take you to the next map. Would also be good for hiding secret areas, etc.

4) I have added a scale attribute to blocks, so I can have the same block as a 1x1 or a 2x2 (or any size really). Will make the game lighter: why draw 4 blocks when I can draw a 2x2.

5) The point of view has changed to be higher. This is so you can see more of what's going on, and to stop the camera being blocked by walls as it will be well above also negates the need to draw ceilings.

Sorry that there are no screenshots for this update because I am working on the final solid version of the first map. The changes have lead me to redesign sections of the game engine (which is a good thing). Some things need a rethink (such as the now 1x4 doorways), and I want to polish things up before releasing screenshots. So, maybe in a day or so....

Wednesday, July 13, 2011

The eyes have it

After running my new models past my art consultant, I got feedback that the eyes looked funny. Like they were very surprised. LOL. So, I have changed the heads slightly. They are now smaller with rounded tops. I have also added eyelids, which I believe have made the world of difference. They allow me to have more expression in the absence of eyebrows.

I have also started a Minion/Guard type marks (6 out of 6) for anyone who can tell the 60s TV show it references :)



Friday, July 8, 2011

Back with a vengeance

I'm back. I decided to take a 2 month break from the project. This was because the project had just moved from engine development to actual game development and I was not happy with how the game was progressing. It was not something I was comfortable putting my name to. No amount of effort was going to fix the project's problems, because I couldn't put my finger on what the problem was....I was just spinning my wheels and not getting anywhere.
Sometimes this happens, and you need to take a break and come back with fresh eyes. This allows you to see the forest, not just the trees, so to speak.
During my break, I had several epiphanies:

  1. The game was looking crap because it was a mix of styles. Realistic models here and deliberately retro models there. The retro stuff was looking like crap against the realistic stuff...but if it is ALL retro, then it becomes obvious to the player that that is the intention and it therefore looks good (despite not being ultra modern), because the player "gets it".
  2. I was seeing games, such as Lego Star Wars having 120+ characters and wondering why I was struggling making a second character. Sure they had their IP with 6 movies worth of pre-thought-up characters, but it would have been a great effort making all of those models!. No it wasn't! The way they went about it was brilliant: Have one basic model and just change the textures (and occasionally, the helmet, hair, etc).
  3. Replayablity: Although I already had the concept of locking areas (with lava, water, toxic waste) and the player needing a required element to access (shields), the Lego games used doors that can only be opened by specific characters that are not available in Story Mode, or by using helmets. This is nothing new, after all Doom had red/blue/yellow access cards to open those doors, which is the same thing, just now you have to unlock something on one map, so you can use it on another. I can replicate this via security ID cards.
  4. Upgrades: I always wanted DEMII to have upgrades, but could not think of a good way to implement them. Then I realised that upgrades are present in most modern games under various aliases: Lego Star Wars has "Extras", GTA4/Red Faction Guerrilla/etc have "Cheats", Deus Ex had "Augmentations". These are abilities that are unlocked during gameplay and give the player the option to change an aspect of the game. I have already thought up a number of them, eg Ice that dosen't melt, various automapping tools, regenerate HP from SP, etc.
  5. I don't need missions to tell a story ! Missions limit play: once they are done, why would the player want to do them again? Better to give a less restrictive map and have one main goal to achieve, to push the story forward, coupled with a number of mini-goals to make the player explore and require multiple runs, etc.
Add to that an affirmation of game size: By having replayibilty of levels, Lego Star Wars gets away with 6 maps per episode and 3 episodes per game = 18 maps (plus a few bonus maps). I am considering having 3 acts of 5 maps = 15 maps. The difference is they tell a story in 6 maps, I will be telling my story over 15 maps.

I have already redesigned DEMII into a simpler style, and designed 2 other character models. Once I have the design thought out, it only takes an hour or so to adjust the basic model template I have made into the character! I have thought up 9 possible characters (including both enemies and NPCs). So far I have DEMII, a random scientist (perhaps this will become the mad doc, himself) and a native girl (not yet named, but she will be a key NPC in the village levels).
Note: They all have the same expression in these pics, but in-game, they will change.
Native Girl