From the beginning of Term 2, there will be a set schedule for various areas of the game engine that will work as a checklist and schedule of deadlines. Each area will need to agreed on by the various people that will be responsible for that particular area, and then keep the progress towards the deadline updated. This is something thats been put in our overall coursework specification, so it'll be good for your own end of year report and evaluation. More importantly though, it will allow us to find any issues or problems as soon as they appear, and help each other keep the project on track.

In order to begin sorting out the schedule, we'll compile a list of features and functions that the engine can currently do and what it will need to do. These will be formulated through identifying the key areas of the game engine, which has already been done through the various wiki pages, then outline the key tasks of each area, and then highlight what tasks haven't been done yet. Then the people/person who is responsible for that particular area will be identified, and we'll upload a deadline and schedule for each particular task onto basecamp to keep a track of progress.

To complete a deadline, the person will simply need to upload their work onto the wiki and declare the task done on basecamp. If a deadline is missed, it won't be the end of the world, it'll just mean that you really need to let everyone know. No one will be mad, its more important that problems are identified rather than put off, so that we can all help each other get the task done. If you need more time thats cool too, just need to change the deadline to account for that, and see how that particular deadline change affects other deadlines.

So to summarise, the point of this document will be the following:

  • Outline key deadlines for functions and features
  • Outline sub deadlines through use of tasks that will contribute towards the key deadlines
  • Designate work and tasks to specific team members to complete
  • Display hierarchy of tasks – Ie which features need to be completed before others can be worked on
  • Be used to monitor progress and make allocations as necessary
  • Keep people motivated through clearly set goals and objectives

The document will require the following from every team member:

  • List of deliverables as laid out in your Learning Contract
  • Take note of what deadlines and tasks you are to be involved in. Comment or discuss with me anything that you do or do not want to work on.
  • Update the document and basecamp for every deadline. This could be that you missed the deadline, have completed the deadline, or nearly completed it. Anything that will be relevant to the deadline on the day that its “due”, with a new deadline date proposal.
  • Monitor the document for changes, and comment on changes as necessary.
  • Coordinate with me in case I have missed anything for the overall Engine or you are working on something not mentioned in the document.
  • General communication to me and other team managers about problems with progress.

Key Areas

  • Particle Effects
  • Shaders
  • Cameras
  • 3D Models
  • Animation
  • Level Editor
  • Collisions
  • Controls
  • System Controller
  • Gameplay
  • Sound
  • GUI

Particle Effects


  • General Particle engine code
  • Water effects
  • Smoke effects
  • Fire effects

(Please update as appropriate)



  • Create shader code defined with variables from UDK material output
  • Create converter for UDK material output
  • Load information into shader code
  • Load shaders into level



  • Camera moves with player
  • Interchange between 3rd person and first person cameras
  • Camera collision with level

(Please update on other areas that have already been completed)

3D Models


  • Simple Model Viewer
  • Model Viewer able to hold more than one model
  • Model Viewer can play model animations
  • Class to load models into level using UDK info
  • Class can define rotation, positioning of model



  • Classes to play model animations on strip

Level Editor


  • Text convertor of UDK Output into readable format for engine
  • Geometry mapping using vertex information from the UDK
  • Game Asset Location - Static meshes, lights, sounds, volumes, triggers, items
  • Basic Texture information from UDK to engine geometry
  • Importing of locations for engine only features, such as where particle systems will appear, enemy spawn points, and other objects that are relevant only to the engine
  • Basic non UDK related programming to add functionality to game levels



  • Basic collision detection for navigation of main character

- Hierarchical system?
- Geometric collision
- Static mesh collision
- Character to character collision
- Volume collision

  • Basic collision detection for navigation of NPCs/Enemies
  • Ballistic collision detection of projectiles/guns
  • Basic Physics



  • Walking controls
  • Firing controls
  • Inventory controls
  • Jumping controls
  • Climbing controls
  • Weapon controls

(Any other control/movement related tasks)

System Controller


  • UML of base classes and component class
  • code for base classes and component class
  • logic classes framework
  • Logbook for technical development and maintenance sections
  • Integration tool for combining different core parts of the game engine

(There shall be periodic versions of the above and updates as well as versioning of the game engine at every major upgrade)



  • Basic Character Events

- Dieing
- Attacking
- Walking
- Crouching
- Jump
- Wounded
- Pickup
- Run

  • Triggers/Traps
  • Volume based events

- Fire
- Water
- Poison gas

  • Level Based Events

- Doors
- Spawn points
- Enemy spawns
- Item placement/pickup

  • Item Based Events

- Med Pack
- Reload
- Weapon changing
- Combinable items
- Puzzle based items (keys, fingers, emblems, eyeballs)

  • AI

- Death conditions
- NPC Movement
- NPC Attacking
- NPC AI states
- Boss battle AI
- Immortality



  • Basic sound trigger class
  • Area of effect sound class
  • 3D sounds



  • Menu system
  • Inventory
  • Weapons - ammo, weapon modes
  • Display settings
  • HUD
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License