Thursday, December 18, 2008

GAME DEVELOPMENT TECHNIQUES: Tick Tock Tick Tock

This post will deal the last three weeks of the semester and the run to the deadline for the assignment, where all these blog entries will be included in the documentation.

The final few weeks have been extremely busy. Before week 10 I had experimented with AI for my NPCs and managed to get on with it quite easily. A couple of problems with it is that the animations of the models don't seem to play correctly sometimes and that they can still be shot and bleed. No matter what I do to stop them bleeding it didn't seem to work. But then in game settings I discovered a setting that allowed me to turn gore off. So now they don't bleed and there is no chance of them being blown into big meaty chunks if i stick the weapons cheat in for UT2K4. So now I have several NPC's that react to events only and my sidekicks. The sidekicks in the game just follow the player around the map. This is a default setting that the class for these NPCs inherit from. They inherit from class Monster, but are unable to perform any of the fighting states within that class.

I also added conversation to my game. You can talk to one of the NPC characters that is controlled by events and actions and get a task off him, which is the butterfly mini game mentioned in an earlier post. This conversations were created using CSDTalk, which is a set of classes created by Jesse Schoch at Critical Systems Digital, who create mods for the Unreal Engine. This was extremely useful and works well in game. But I did discover a bug within it to do with alternate conversations that I sill don't understand and have been unable to fix. I may be just using it wrong, I don't know =P

Here is the NPC and conversation system in game.

The other major part of the game was getting the cutscenes done, they turned out pretty long =S woops. They were not supposed to be as long as they ended up being.

Everything has gone really well but there was one bug that I have fixed right at the last moment where you could lose the game because of an npc getting to close to the losing trigger I've now set the trigger so that it can only be activated by the player.

Just the documentation to do now.

GAME DEVELOPMENT TECHNIQUES: Audio

Week 9

When discussed texturing we were looking at file size and we also looked at it with audio, but mainly to do with sampling rates and the positives of analogue over digital audio. We also discussed Foley. This is where bespoke sound effects are created in a recording studio using all kinds of different objects. The most famous of this is using coconuts for a horse trotting.

The tasks for this week were to include music and sound effects into our game. I added the theme tune of the 1990s Famous Five TV show. In the first half of the playable game I added Concerning Hobbits from the first Lord of the Rings movie as this went really well with the level being in the countryside. The music for that level starts when the level is loaded, which also has the opening sequence of the game. The music plays while the movie plays and by chance is in time with the text that comes up on screen. For the second playable level I added a piece of music from the game 007 Nightfire. This adds to the mood of the level as you sneak around under the cover of darkness, and is quite nostalgic for me and makes me want to play the game. =P No Dan! Must concentrate on this!

For ambient sound around the level I have birds singing and the rustle of leaves, as well as chickens clucking at one of the farms in the level. In one of the cutscenes I have a plane flying over and so had to search for something appropriate for the plane.

GAME DEVELOPMENT TECHNIQUE: Level Design

Week 8

This week was nice as we were talking about the design of our levels for our total conversions. We were shown a level from Max Payne and a 2D top down layout plan for the level. I already sketched my level layout at this point, way back in at the beginning of the semester and have stuck to the layout but had to alter the sizes as the level was a bit on the small size with the original measurements.

Our task this week was to finalise our level, which was already well on the way!

GAME DEVELOPMENT TECHNIQUES: Geometry

Week 7

This week we looked at using Autodesk's Maya 3D modelling environment.

Now I'm not an artist so this was difficult for to do. Although I have explored it in the past, it is not my forté. Probably with more tuition I might get to grips with it but the moment it is not important. So with a few basic walkthroughs of several tools I managed to create a tent for my total conversion.

Texturing the model was easy this was just an extension of the carpet tile that i created last week. But, I could not scale the texture properly and so it came out a little to large against the model.

GAME DEVELOPMENT TECHNIQUES: Texturing

Week 6

For this week we were look at texturing, what size is best, does it have an alpha, RGB colour.

The task that was set this week was to create a texture that will be integrated into the total conversion in Unreal.

I chose to take a photo of my carpet. I then put it into Photoshop and used the pattern maker tool by selecting an area i wanted to create a pattern with and setting the size to 256 pixels. This creates one tile that can then be used over and over again and no matter which way it is placed with another tile it will always look seamless.

Here is a single tile created in photoshop.

And here is 4 tiles put together. Seamless. In this image you can see the recurring pattern. this is something that is unavoidable with use a tiled texture as the human eye is programmed to recognise patterns. If the pattern is not scaled and placed in the right position this could diminish the reality of our virtual world.

As part of the spec for this total conversion there has to be a cameo of ourselves within the game. To this end I exported an existing texture from an Unreal mod texture package that consisted of a frame and placed myself within it by creating a layer for the image of me and cropping it where needed to. This was then applied to an existing static mesh and placed on a wall.

Both these were compressed using DXT1 compression format.

These example can be seen within a cutscene in the second playable half of the demo. Also the I was wearing the nose and ears at the time the photo was taken. =P