UDK Games Design Final Level

This was the final product of the Games Design module I completed in Year 2 of my degree. The final level included:

Physics puzzles, softbody meshes, fracture meshes, AI paths and nodes, Custom AI skinning, Custom weapon, UI and HUD mods, Lock and Key puzzles using variables, UScripted XP and level system, Kasset triggering, Cutscenes using matinee and multiple cameras, Axis Freezing and Springyness to create slideable doors, Teleporters, Menu system, Particle Systems, Fluid surface actors, Ragdoll physics.

Video Can be viewed on Youtube or in the Portfolio Section of my website.


UDK Level Design Wrapup

Just posting the final wrapup after a long delay and period of busyness after I have completed my level within the UDK environment. The level turned out really well barring a few issues I had relating to scaling and custom models. These are some of the screenshots I took during the construction and post production to my level.

This slideshow requires JavaScript.

The above images are just some of the fort level I made. I decided to add a dying decaying wood at the bottom with a fog height volumetric effect to break up the areas so there was a clear distinction to the player between the inside of the fort and the outside. I was going for a creepy cold and dark effect on the exterior areas.
The interiors were decorated with the vision of being a cold dark creepy old fort that a race of giants used. I decided to make the player feel insignificant in the world by making everything very big. I included two floors on the inside so the map could be open to more than one type of gameplay.
The next semester focuses on game play considerations and making this map playable so I have allready started looking at coding in an Experience system which I have managed to achieve within the last week. My next goals will be to look at bot activity and getting them to use both floors and the fort and within the dark wood I would like to get a simulated battle within the forest to add the kind of spontinuity of an RPG where NPCs will randomly battle each other in order to tell a narrative.

A big update being posted here as I haven’t for a while! I am currently mired in the mindset of “enquiry based learning” which is taking an awfully long time through book/video and online text sources. The fort level I am working on is coming along nicely. These are a few pictures of the development stage that I have been doing over the last few weeks;
These images from top down show the incremental development of the level from the last few weeks. I am at the stage now where I have tessalated the terrain further and now the mountains look less jagged and the rocks have a more natural form on the cliff.
This week I have been learning 3DS max modelling, UV mapping and unwrapping by the use of a demonstration from my fellow students in my group. I am starting to work on basic models such as tables and crates in both cylindrical and box forms.
I have had to also learn how to use these textures within the UDK editor and am currently learning about Panner, Multiply, subtract, add functions for textures to make the blending a lot better. I have currently taken out a lot of artwork of Viking styles from the library so I have a lot of reading material to sift through to achieve my Viking theme. This level is based on three games components for me – Runescape meets Resident Evil meets World of Warcraft’s instance – Utgarde Pinnacle.
To explain how the level is set up imagine the dark patch in the bottom of the five pictures to be a dying spooky wood with a dead lake and thorny bushes in there. Imagine the sandy part to have a little foliage on and to look a bit more alive and kept in a bit better condition. Then imagine the ground floor as I refer to it as F1. It will comprise of (working clockwise) Hallway, Dining Room, Library, Monastary, Treasure and Relic Room, Lift room, Lobby, Portrait+Statue room, Greenery room, Kitchen on f1. The greenery room will have a spiral staircase leading down to B1 which is carved into the terrain as a cave. This will be a torture dungeon used for the captured prisoners (going slightly into the lore here!) The second floor will comprise of Servants Quarters, Grand hall, Throne room and then a roof level which will be training and archery for the warriors/part armoury and cannons and harpoons for the defense of the fort. The back of the fort will comprise of a minature river/sea effectively where the player can fall from high cliffs to their death on the jagged rocks or they can use it to swim back and work their way back into the castle up the spiral staircase.
The tools I have learnt over the past month or so are
Subtractive/addative brushes
Cloning Brushes
Terrain modelling and shaping
Water + Fluid surface actor
Fracture tool
Uv mapping within UDK
Importing assets and textures
Applying physics and collisions
Collision block
Matinee tool
Triggers + Kismet
Animation Curves in UDK/Kismet
Different lighting – DominantDirectionalLight/Spotlight/Dymanic Light
PostProcessVolume – Watervolume
StaticMesh Editing+Brushes
Panner+Rotation editing on UV
My current status with the level is making new textures in GIMP+Photoshop, I have taken two books out of the library entitled 3D Games Textures to learn more about texturing and I have also taken Mastering Unreal Technology Vol 2 out. I still currently am reading through 3D modelling for games in 3DS max as well. My aim for the level is now to start the decoration process and try and put assets in there which are engine efficient as well as looking good and fitting in with the Viking lore of the map. The viking art books I have taken out will give me a better idea of the look and feel of this. I will reference this in my level documentation. The next update I make on this blog will include pictures of the level in its current state as it has further advanced from what it is on the 5 pictures I have provided and the assets + model renders + images.

Big Weekly Update 6-12th Feb

Changelog – Weekly update on the 1.2 version of the game since updating from 1.01a and 1.1
Additions –
Playable spaces for level 3,4,5 and 6 are built
Rifts 2,3,4 have been built and have working links
Gameplay Elements have been added to levels 3+4
A script for metal detection simulation when player walks over an area has been added  – Mixing settings for this have been made in a very small radius to the audio listener to simulate a detector. Originally I wanted this to be on buttonpress in an area. This could be added however a problem with the foot object made the script think the player had left the trigger area thus triggering OnTriggerExit too early
Generic Variations of a DestroyAfterxSeconds has been created, this solves problems with NullReferenceException in relation to re-hitting allready activated triggers
A script which re-instates player control to the RotationScript on the mazeplayercontroller object has been created. The way this currently works is at the beginning of a level the RotationScript is unticked (Disabled) And then the RestorePlayerControlAfterx script will enable that component again after whatever number of seconds yielded represents X. A way of using this to toggle this component on and off after certain yield waiting times needs to be developed and tested
Beach Level, Underground City Level, Rift 2,3,4 have all been added to the games build settings
Design Changes
As allready mentioned the Metal Detection Script is slightly different to how I would Ideally need it to work currently
Design Change for the Beach level has been made Artefact 1 triggers an animation to move the blocker covering Artefact 2 which is the metal detector one, This will area containing Artefact 3
Design Change for Haunted House, Outside Area has been made and included for the teleporter to get a nice range of outdoor creepy/scary ambience sounds in
Design Change for Ancient Underground City – The gameplay I dictated on my plans has changed to incorporate the activation of a Bridge by collecting 2 Artefacts and finding an objective that opens a Steam powered valve. There are now three blocker objects over the bridge one will be removed per objective completed. A noise will play as if the metal bridge is being raised. There are walls covering the side bridge area these need to be removed after the player is able to access the bridge. An idea using an animated trigger once the steam valve has been released may need to be developed/researched/tested. Artefact 3 and The Centurion will also be released once this trigger is hit. Gameplay has been tailored to be more appealing.
Marketplace Level will be more of a walk-through and listen experience and thrill players with Binaural, there is no gameplay fun/realistic enough to include in this level to date. This could change in future updates.
Sound Design for Artefacts – Ideally Artefacts would move a semi-tone up per one needed to distinguish them apart from each other. This will be made clear in the games direction to players.
Misc Ideas/Thoughts
Movie Files could be used e.g. a blank avi/mpeg4 with sound design in to give another dimension to the sound design and make more “cutscenes” for lack of a better description
Tracklays such as the preparatory work could also be used in a similar method described above this. A use of the toggling player control on and off would help break the game up although a noise recognition system for when player control is suspended and resumed would be needed as an aural cue to the player a bit like Halo’s shield recharge noises.
Due to lack of knowledge codeside a lot of the methods I am using are very “hacky” but they are currently working. Code may need to be looked at by another pair of more experienced eyes to point out faults/flaws and potential hazards.
Mixing is difficult in square corridors when reverb areas and attenuation tends to be round. This may lead to some areas having an overlap or a bit cut off in terms of reverb/listener distance. A possible workaround maybe to stop relying on 3D sound and mix more things in SoundTrackPro and then bring them in as a 2D static sound using the player control suspense.
Direction is occasionally hard to achieve for a reason I need to investigate. Possible causes so far are triggers are too small or sound is mixed incorrectly.
Testing/Bug Fixing
I have started a testing/bug fixing list so when I encounter any bugs in the game they are noted on a spreadsheet and added to a list based on date, description, priority, tested, fixed, signed off. So far 4 bugs have been fixed and This will increase as I am able to further test the program from front-end to close.
Schedule is being met. We are in week 3 at the minute which meant I should be building level 3. So far I have built upto 4 in terms of base gameplay. I am on the 5th currently adding gameplay elements. Sound is the thing that is needed most however if the build is done early of all the coding/gameside sound will take priority and make up 60% of the work to the 40% which is coding and building. Building base gameplay and level foundations is estimated to be at around 70% completion with level 5 and 6 to add gameplay to and one last rift to build. Duplicates of some levels need to be made so they can link to different rifts to fullfil the systems diagram depicted in the GDD.
Functionality that needs to be added
(PRIORITY) AI – Needs to be looked at very soon. Need a script to attatch to certain enemyobjects which can effectively “Destroy” mazeplayercontroller and send the player to a holding screen which informs them they died/retry?
Still in design descision but needs to be explored – Holding Screens before levels. Is it more advantageous to explain before dropping the player into the level like papa sangre or is it better to explain dynamicly. (could be more confusing) Tests and R+D are needed on this area of the game.
Metal Detector Tweaks – Low priority but would be better if there was a way to build in an area if a key is pressed do this functionality. Could prove impossible with the footobject issue.
Duplicates of certain levels and changes to teleportation scripts are needed to match up to the systems diagram in the GDD.
Animated Triggers need to be explored. Is it possible to animate a trigger to come up or move down depending on player collection status. Best example of this would be AncientUndegroundCity level, if the steam valve is turned then animate the block to go down hit a trigger. On the block hitting the trigger under the level this will cause another trigger to animate to a point where the player can step on it/activate the trigger component on the trigger intended for the mazeplayercontroller to activate.
Sound Design Spreadsheet – A list of all the possible sound assets that need to be recorded,listed,possibly and probably needed. This list will contain all of the names for the sounds, the game name for the sounds, the filename aka doorhit1.wav and whether its been recorded and processed ready for game. A whole spreadsheet needs to be started to be drawn up in time for when build work on the code/levels are complete and sound is ready to drop in
Considerations into Dialogue – Dialogue needs to be thought out and considered if robovoice/proper VO would be better. Consideration into length, language and descriptions need to be thought out and put in a spreadsheet similar to all the SFX needed according to gamename,name,filename,type,location,timesused etc.
(Lowest Prio) – Need to have a look at android portability. Ways to get this across to android as painlessly as possible. Maybe needs GUI objects for the keys some coding tutorials would be good.
That is the update summary for this week. The project has taken a fairly momentous growth due to a proportionate increase in hours worked over the last week. By next week I aim to have 90-95% of the main game build done so all 6 levels are playable in some form and can link to each other.

Post Christmas Development Work

Wow It has been a while since I updated here. Currently I have picked up the development again for my Audiogameproject1.01 as it is referred to at the minute (I’m sure there will be many more versions.) I have made several additions to the current game in its state.
Changes I have made to the previous revision of audioproject1.00a
I have added a holding screen so that the motion tracking can actually wait to pick up detection and then wait for the player to perform an action. The secondary main menu screen is not really a menu but is a hub where players actions can determine the selection they want to make by using a gesture. I have decided to design the UI this way for now as it seemed like the simplest most logical way to develop it. Plus my knowledge is highly limited on how to make GUI text within unity. Click functions are not available to the player in this game in its current guise so I had to think of the most logical way to implement menu navigation choices and a static screen that has text and audio telling the user what to do seemed the best route. I had a difficult choice before coming to the conclusion that I needed both the holding screen and the menu due to if a player decides to move about too much while the motion detection is in operation before the game initiates. This will solve a few problems for me and generally help to ease the player in to the game as opposed to just chucking them straight in the game. It will also make sure the tracking is working properly before the game initiates and specific actions are required. I need to improve the GUI if i have time as it looks terrible from a design point of view but its functional.
I have extended the play area for the cave environment to incorporate 2D/3D designed sounds for things such as bats and a small piece of music to detail a mystical inside to a cave. I have fixed bugs in the cave area associated to level progression blockers and created a new script which waits for 5 seconds before destroying the target entity the script is associated to.
New play area Beach level is in the process of being built, Walls, floors and Basic environmental sounds/mixing has been added. Events and Gameplay need to be added/decided upon. Design changes may need to be made. Adaptations to the original level plan may incorporate an addition of a metal detector for one of the artefacts and story details such as hearing bombers overhead have been added to fit in with the theme better and improve narrative.
Player component SensoryPlayerController has been retired and changed in line with mazeplayercontroller. – this controller allows a player to feel surfaces and hear audio feedback if the hand object collides with a wall. Mappings to the motion tracking will need to be added for this extended functionality. This change had been made to Cave, Haunted house levels and added to beach level. This will become the new standard for the player character until/if a new version is made.
Crouch has been decided upon as a way to exit the game as it is a non deliberate motion unlike swaying about. This may be subject to change if crouch functionality is required. Players will be told about this using audio.
The woodenstairs sound has been used to test the wall sounds in each level that I have adapted the new mazeplayercontroller to.
I was ahead of my schedule before christmas break my target is to get the levels built week by week allready 1/6 levels are playable and 1/6 rifts link. 3/6 levels have an available play space to walk in. I aim to have at least 2-3 levels playable by the end of the next week.
Functions I need to add/explore
Metal Detection – Pinging a sound back from a player action such as holding left arm forward
Understanding hold and destroy script in conjunction with playing a sound – Can I play a fade out sound for artefacts before they get destroyed. The current sounds are very choppy.
AI – This must be looked at even if not used. AI may be used for the monster in haunted house and Sentinel in underground level. Also may be incorporated to roboguards in futuristic level.
Holding screens before missions – Need an explanation of some missions before the mission. Speech inside the missions need shortening or moving to these as prolonged explanation causes audio to play over other audio and gets real boring for players.
That’s my update summary for this week I will start posting one of these per week or few days as needed. This is for the purpose of documentation for my final project text.