Friday 12 June 2009

Team members

Designers;
Leah Betts
Todd Crawford
Alix Hatherall
Joshua Hodge

Programmers
James Jones
Yucel Karamanli
Will Warren
Stewart Rice
Aaron Hamlin

Introduction

During the second year of our university course we asked to worked on a group project of 8 indivudals, half of us beeing programmers and other half of us beeing the designers. The project which assigned to us to work on was, creating a prototype game based on a fixed story lines.

Through out the development of the game, we specificly asked to keep a diary to provide an eloctronical proofe of what we beeing doing during the scheduled time of the project. Hence the development diary of my blog has born :P .

Monday 4 May 2009

Week 1

I was absent;

Through out the week one I havent done much exept getting used to Torque Engine. I had a go with he tutorials in TDN site as well as one in GarageGames. Additionaly studied the game concept which has been posted on the google groups.

Sunday 3 May 2009

Week 2

Assigned tasks
  • Look in to camera collision: bug with the engine
  • Look in to Gui
Task 1:
The first task was a finding a solution to a bug inside the engine. When the player model was near a wall and facing towards to front, camera would go inside the player model ;
the only way that I could think of was increasing the size of the boundary box of the player but that was a very bad idea since it also means increasing the size of the collision mesh.

Task2
Understanding the GUI was quite easy, since I looked in to last week. However, since the Gui was not the important part, i didn't do much work on it exept creating couple of splash screens and a main menu.

Week 3

Assigned Tasks:
  • Lighting
  • Texture Animation

Task 1:
I played around with default lights which comes with the engine. Unlike lighting pack, the default lights from engine were dynamic. I also tried to create a player lighting by attaching the light to the center of a simple shape which I created in Maya .


Task 2:
Looked in to the texture animation in torque, Found out we could use an animation technique called IFL(image file List ). I think this term only applies to TGE. It is basicly a list of images animated on the DTS object but there are only tutorials for 3Ds max and LightWave.
Here is the link for the tutorial
http://tdn.garagegames.com/wiki/DTS/Advanced_Lessons

Week 4


Assigned Task
  • Create a Terrain based on Todd's map (working with Todd)

Task 1
In order to create the terrain, i had to make a heaight map. By using this heigh map, I could easly create a terrain and adjust it to look like Todd's map. I used a third party program called Terragen to create the height map.

After I created a couple of draft versions of the terrain I asked feed back from Todd and made sure it is acceptable. we additionally add some texture to terrain . I introduced the image files which has been created by Todd and he done the painting of the terrain.

Week 5


Assigned Task
  1. populate the map with Place holders
  2. Add snow particles in to the game map (particles from Aaron)
  3. Find out if specular mapping working in TGE
  4. make a player light following player all time
Task 1:
Mike suggested us to populate the map by using the models inside the engine. Additionaly , we had a hud model from artists to put in to the game.

Task2 :
Also added the snow particles which done by Aaron in to the game.

Task3:
In order to make the tattoos of the player character get effected by light source, I was asked to search if the specular map was supported in TGE. Soon we found it was only available in TGEA unless if we could code it.

Task4:
successfully done. I created a light holder model with three joints. Root, mount0 and mount Point. mount0 node used for attaching the Light holder to player model. mountPoint used as attaching a spot light to the lightHolder model.

Week 6

Assigned Tasks
  1. Adding lights in to the game world
  2. Moving the game map from Tutorial.Base to starter.fps
  3. placing additional placeholders and models from artists

Task 1 :
I was expecting the task finish soon since I was already working on lighting. but that didint go as I planned. too much lighting in terrain give me performance problems. Tried to improve the performance by changing all the light to static type. however, static lights failed on me too when I saw the weird lighting effects. snapshot below displays this problem.


Reducing the rendering distance wasn't an option since Designers wanted to view all the level at the beginning. Mike suggested to divide the terrain to two parts. A city in distance; showing everything in the level and a city level which shows only the city.

I took some of his idea and add third separate level. The reason for the third level was making sure that when we placed the objects and light the fortress area, we would minimize the performance issue. I talked about the approach with designers and everyone was happy.

Dividing the level also bring the issue of teleporting from one level to another. Thankfully I found a good tutorial for that. By the end of the week, I had static lights as well as dynamic lights and teleportation triggers in the game world.

Task 2 :
This was assigned on thursday's meeting with programmers. Since all of the team members using starter.fps as demo, I had to move the works that I have done to starter.fps

Task 3:
Thanks to the lighting issues, I couldnt work on this much. It wasn't a big deal since there weren't many models to put in to the engine.

Week 7

Assigned Tasks
  1. black out the screen when teleporting to next mission
  2. start working on Gui
  3. simplify the game map
  4. include flare animation to dynamic lights

Task 1:

It was a simple process than what we all thought. All I had to do was call a function which was already implemented inside the engine (setBlackOut) . I also scheduled the blackout in order to stop showing the Loading window before the black out complete.

Task 2:
Started working on Gui. First think I have done modify the main menu and LoadingGui which come with the starter.fps. Additionaly created a function to display different background images in loading gui for different levels. More simply, if the player teleports to fortress leve, a fortress image would show and if teleports to hill top , a hill top image would show.

Task 3
I reduced the crazy amount of image shape replicaters I previosly used for ogranic materials.

Task4
enabled the flare animation for dynamic lights. This made the torch lights more realistic.

Additionally I had some new models from Designers. I added them in to the game.

Week 8

Assigned Tasks:
  1. integrate a single built(as a team)
  2. Add new models from artists
  3. playing animation and adding the character light from week 3(last minute task)

Task 1:
Beeing aware of the presentation, we integrated the works of all programmers as one unit. We couldn't understand why advanced camera would use too much resources. We had to go with out the advanced camera due to the lag caused in game.

Task 2:

This part was done through out the week. Designers textured almost all of the models.I replaced the existing ones with these new fixed models. Also we add the stable and horses in to the game

Task 3:

Me and Todd worked on this together. We firstly add the player character in to the game. He created run, back, sidewalk, jump animations for the player character. Additionaly he created wave, node and cry animations which then I binded each animation to specific keys.

He also add a mount node in to the back of the player character which gave me the option of mounting the light from my previos week.

Through out the easter

Through out the easter I worked on:
  1. creating count down timer
  2. playing cutscenes in engine

Task 1:
I used one of the sources on the internet to create a count down hud. There was already a timer hud in engine but it wasn't counting reverse and didnt had the pause/unpause functionality.

After I get it working I had to change the desing of the counter. I used Mike's suggesten. Created roman numbers and used it as the timer. Currently it only displays the remaining minutes. Additionaly , I made sure that the game ends if th timer reaches 0.

Task2:
I looked in to how to play avi formats in engine. Found a tutorial for that but it diddn't work with the current version of the engine. I am sure it was fixible, but thanks to the luck on knowledge in coding, I had to look in to alternative ways. Soon after I found out we could play OGM or OGG movie formats as long as if they were composed of Theora and Vorbis codec. luckly I found a converter suggested from garage games which converted the avi format to OGM in previosly specifed codecs(Vorbis and Theora)

I randomly loaded a OGG file from internet and test it . Outcome was a success.