Thursday, 22 November 2012

GDW- Game Developement blog 3


Nov 13-20, 2012
This week, most of our team got down to crunch time, and got to complete majority of their tasks, with a few exceptions due to problems  

Our 2D artist 



Temporary HUD
  • got our sprites and HUD have been properly implemented, and are now usable. The HUD has been moved around so that the Health bar works, and in a nice spot. Another major advancement finished was the basic main menu system, which only has a simple selection system for now.   

For next week 

  • we need is fonts working, so we can properly display values, such as the player’s score. Also he may need to work on some of the GDP art stuff, such as the poster.

Our audio engineer/Producer (PAE)

  •  has done not meet his work quota, due to the fact he cannot solve his SVN update issue. He has tried many resources to solve his, from the internet, to a powerful programming friend. However he still has not used our GDW TA, yet due the fact he wasn’t here on Thrusday and Friday. Despite these complications, he has gotten the Audio from Fmod working, and got some basic sounds.  

For next week, 

  • he has to finish this class soon, so I can implement it into the game, while adding more sounds and possibly a theme for the game.

Our 3D artist

  • just finished his Bach of models, and gave them to me on Friday. Majority of the models loaded in fine, and I asked him to try to create a special texture for the main player using Maya’s MUD box. However MUD box has been giving him issues, such as improper UV maps, to wrong textures, so hes going to look for some help with this issue. 

 For next week

  •   the 3D artist should finalize all the models, and possibly get some nice textures to apply on these models.

Our Level Designer

  •  has done a fair amount of coding this week. He has worked on level transitions, between enemy waves, as well as some of the architecture report this week. Also he has tried to work on textures, however his computer seems to give him the same problem with SF image Loadfromfile function. In the end, despite his best efforts we couldn’t get it working and I(the Lead Programmer) had to implement this task, and textures now work!

For next week 

  •  he has to work on finally creating the scrolling background, and possibly some form of cut scene.

For me (the lead programmer) 

Spawning into the scene

  • has been a week of good advancements, with the enemies. I have modified the enemy class, so it can be compatible with the newly created enemy vector class. With this new class we can easily add, update and destroy each enemy type, as well as create bullets, from this. With this I have 4 classes of enemies, 2 of which run perfectly right now, however 2 which are bugged and need to be fixed. One of which uses Bezier to create bullets which follow a Bezier path to the player, however that is causing some breaking points. However the other 2 enemy types use a form of LERP for movement, which generally run without an issue. Also I’ve added a function which lets the ships decelerate into the sceen when they spawn, like how a spider would rappel down. Finally I began to implement a sort algorithm and decision tree 

For next week

  •  I have to implement some form of project tile which is like a power up of some sort, and finish up 3-4 more enemy/ enemy types. Also I have to finish implementing a decision tree and sort algorithm, or decide if another coder should do it. Finally I have to decide if I should implement morphing with vertices, and start working on the reports

Monday, 19 November 2012

GDW- Game Developement Blog 2


Week Of Nov 6-13, 2012

After an intense week of coding, for the team, and crazy coding projects, we are a step closer to finishing our game. The 3d Modeler has done quite a deal of models, though generic, can be good templates. Bullets, and bombs were done but it was done by me, when another coder was suppose to  do it. However due to some technical issues with our subversion, and other inconvenient events I had to finish this.

  • With the bullets, 3D collision detection was finished at the same time, done after a great deal of researching. With this a temporary bounding box was created, made correctly while having an object rotating in the center. This bounding box was created with the collision detection which used the min and max of the object’s x,y,z .
  • With our game one of the coders had some major issues with loading textures, it came when applying a simple texture to test plane. We narrowed down this problem to the Loadfromfile function, and looked at all possible errors, but nothing could fix this breaking point error. We asked the TA for GDW, Albert and our Intro to graphics teacher, however none could give us a proper answer to fix this error.
  • 2D textures still giving us trouble in the sprite/HUD department with one of the coders. He has asked the GDW TA for help, however he still has yet to fix the error. He has requested to meet up with Houge, however Houge is at MIGS for this week. However once both are properly implemented, I believe it is best if he finishes a menu of some sort for the main menu.
  • We just noticed hougue’s requirements, and plans to add ease in and ease out which could be done by acceleration. I thought of many different ways we could do this, from the player accelerating, to the enemies “easing in” to the scene. However one definite system which has been implemented is the “ease in, ease out” missile system. This launches a missile which will decelerate from its launch, like a rock being catapulted. Then its “thruster systems” will kick in, and it will start to accelerate, easing in at an acceleration rate of 10X2.
  • Finally one of our coders has some issue with the SVN, as he can update, but not commit. This is a troubling issue which we have little knowledge about, however it has some issue with the directories. That answer was found through research on the internet; however it would have been more efficient if we had just asked for help from the GDW TA. This problem is delaying the implementation of the sounds within the game, which is quite annoying.

GDW-Game developement blog 1

Week Of Oct 30-Nov 6, 2012

Just finished the last mid term, and 1 week ago, I just fully implemented our OBJ loader. Now its time to get down and working, on making an actual game.
Over the next few days I’ll start to work on the basic locomotion system, moving the player. Also I want to give the players a proper feeling of the object strafing left and right. To do this I’ll have to rotate the object left and right, when moving left and right, but reset the orientation when the player stops moving. I’ll have to find some form of key release function in order to do this.
Also I need to redistribute the programming work load, to do this, I am planning on separate the current items bellow.
  • Bullet class
  • Collision detection
  • Level spawner
  • Enemy class
  • Menu/HUD
One issue is that the HUD and Menu cannot be done until our sprite class is properly implemented, which is giving one of our coders trouble.
Hopefully this will be done soon, and we can start to make good progress on the game.

Tuesday, 2 October 2012

Voxels & Command and conquer: Tiberian Sun




In earily 2010 EA was hyping up for the release of its anticipated Command and Conquer 4, the last installment of the highly renowed Tiberium RTS series.  For one of its promotional acts, they decided to release one of the older games in the series Command and Conquer (2):Tiberian Sun, released in 1999. I immediately downloaded the game as soon as it was released, due to its sci-fi nature. This was also due to the fact I enjoyed the 1st C&C, developed by Westwood studios, despite playing it 14 years after its release.

Marco Molecule
Interesting in C&C: Tiberian Sun not only were some of the units 2d sprites, but also units that were 3D volume pixels(VOXEL). This was the first time I discovered what a voxel was, essentially a 3d version of a pixel. A voxel is point in the data structure, or our case the 3d model, which contain information about its color, opacity, and other visual aspects. Unlike points, their position aren’t directly expressed, therefore their position in the object is interpolated. From these properties, voxels are good at creating 3d models which are made of multiple materials, or contain MANY strange contours, such as this marco molecule. Because of all these features, Voxels were large in their sizes, however we have developed compression and manipulation methods to reduce these sizes.

In the game, infantry units were designed to be 2D sprites, while mechanical units were 3D Voxels. This design choice was most noticeable, as vehicles looked different from infantry. Animation would also look different, where voxel units could rotate 360 degrees, the pixel were unable to. Unfortunately this design choice was as the result of Westwood’s new publisher, EA which pushed for the game to have a earlier release date. Though full voxel units were present in future games, like Red Alert 2, a lot of gameplay features, were lost due to this push.

Crysis environments using Voxel
Despite the fact voxels are not used widely today, as they once were in the early 2000, they still have a major application in the world. Voxels are used for rendering in the medicial world, and surprisingly still in the videogame world. The CryEngine 2 and 3, uses a combination of height maps and voxels to generate its terrain. Unreal engine 4 uses real-time global illumination with full secondary lighting and specular reflections with voxel raycasting. In CT scans, values stored in voxels are based on the opacity of material to X-rays. Since voxels can contain multiple scalar values ; in ultrasound scans with density and volumetric flow data are captured as separate channels of data relating each voxel in the data structure.

In the end, despite the graphical inconsistency, I still enjoyed the game for many reasons. One of which was the atmosphere, enhanced both by the music, graphics, and great cut scenes. The game’s sci-fi and post-apocalyptic atmosphere, transferred over to its sequel, Command and conquer 3: Tiberium wars. Despite playing a 10 year old game, the game still was fun, and memorable.

Tuesday, 25 September 2012

Rachet and Clank Future:Tools Of Destruction- "A pixar-styled game"

During the early 2007, the new generation of consoles had just begun with the PS3 and Wii less than a year old. With this the year was an exciting time for the PS3 to show case upcoming games which utilize its powerful Cell Processor, and prove its power to the industry. One of these games that caught my eye was Ratchet and Clank Future:Tools Of Destruction. Not only because the PS2 games R&C were on of my favorite games, but also because of it unique animation/visual style.


Here is a pretty hilarious cut scene early on in the game, which should be enjoyed by anyone
Exaggeration is used in the time it takes for ratchet to fall asleep, as Ratchet gets knocked out abruptly. Exaggeration and staging are used again to knock out Clank, with the camera shifting to show the glove, and the silly "Bong" sound. Not to mention there is a follow through where clank falls on the chair, fast asleep and slouching. Staging used later with the cloud and dream like atmosphere to make it mysterious. Also there is a focus on the main building where clank must go, which is seen in this part a lot. Finally timing is also used the 3rd part of the cut-scene, to make it look like clank is disoriented and just woken up from a dream. Also notice that Ratchet's face is being squashed and stretched as he talking to Clank, giving the audience the feeling hes yelling at Clank. All of this gives this scene a great cartoonish feeling.
Here's another great in game cut-scene. 
Staging is used here,first with the fact that we see the camera zoom in on his face when we hear the 2 robots voices, and rachet looking in anticipation of each direction the robots. Also with staging ratchet's position seems to be inbetween the two old robots, but he was actually behind them. When Tawlyn (the girl) comes in, she shows anticipation of touching down on the ground when her jet packs were done. Following through is done on Tawlyn's hair, on the robot's antenna and armor as they react according to their movements. Tawlyn shows exaggeration through her face, and body when she tells of how she dislikes the sounds of bodies popping in airlocks. A bit of timing shows awkward Tawlyn feels that Ratchet doesn't know his race. Finally Clank's abrupt but right answer appeals to the audience  how witty and intelligent he is.



Now for some gameplay

One of the game's major praises was how the game engine could handle huge amounts of the game's currency, Bolts, at once. Theses blots, seen to be done through particle effects, can be seen to spawn every time ratchet breaks boxes, or later on destroying enemies. These bolts once, spawned, will be attracted to Ratchet, flying towards him in a huge swarm. However through careful analysis, not all the bolts will go to Rachet the same way. Some will go directly, while other arch around the other bolts, and some will even come after all the initial bolts have come.

There seems to a bolt manager involved here, only allowing a specific amount of bolts to be attracted to rachet at once, stored in some sort of linked list. Once Ratchet collects his bolt(s), these bolts will be destroyed, removed from the list and give Ratchet their value. Once this happens the manager looks for any other bolts which are collected by the player, but have not yet been attracted towards the player and activates them. Also this manager will constantly look for any bolts within the range of Rachet, checking if the player has collected them or not.

When Ratchet collects a large golden bolt, there some designs of animation shown here. Large golden bolts give you money, however they main purpose of it is a collectable used to unlock awesome cheats. Collecting the bolt at 0:52 of the video shows 3 animation techniques of  anticipation, appeal and secondary action. The anticipation is Ratchet getter ready to accept the bolt, secondary action is him cheering after he has received the bolt, and appeal is the 2 previous techniques, combined with the music.

The animation technique "follow through and overlapping action" used for ratchets ears/tails and the smuggler hat when he speaks to ratchet. If you look carefully when ratchet walks, his tail and ears will sway and flap in the wind, giving him life. Also the smuggler, in the upcoming cut scene, will have his head moving alot, similarly his hat will react in a similar manner.

At 2:30 a cutscene starts and with every word they say, they use body language, as a form of exaggeration, convey their emotions. At 2:57 when Clank asks who didn't kill the last cragmite, the camera zooms in as act of staging, to emphasize how important the Lombaxes are. 

Finally we can see animation being incorporated as a game mechanic after the cutscene. 4:38 as the little cop bots seem to notice the player, there is an animation executed, to show anticipation of the bot charging Ratchet.  Also at 5:00 if you pay attention to the robot fish guards, they have a secondary animation of the fishes jumping up and down after their suit is destroyed. In fact if you play the game you can even kill these fish for extra gold.

With all these examples of good animation, the game won many praises from reviewers and currently holding a 89 on Meta critic. The game had a great engine which gave it a visual style said to be similar to Pixar movies. This game was a great edition to the PS3's small library at the time, and was one of the reasons why I bought a PS3 later on in the year.

Saturday, 15 September 2012

Sid Meier's Civilization 4


Assignment- Review your most favorite game

When I was younger, one of my first played games was Civilization 3, a game of epic scale, and immense value. In 2005, I saw on the store flyers that my favorite game had been given a equal and I immediately went out to purchase this game. At first I was overwhelmed by the amount of new concepts that they had implemented, but there was a force which kept pushing me forward, to keep playing. One of the driving factors was how beautifully the game had evolved, from plain isometric  game in Civ3, to a living and breathing world in Civ4.

 One thing that was improved was the units, not only did they have new animations, but now they also spoke too. With this improvement, the developers used a new 3D engine, Gamebryo, instead of using the existing one. With the units, they are basic 3D models, mostly likely animated using key frame animation, due to the number of idle animations which they have. One positive advantage of 3D,as the developer said, was it was easy to modify units for different scenarios. For example if we wanted to make a race specific version of the archer unit, we could just apply another texture for the skin and armor.When a unit is selected, there is a 3d circle rotating around that unit, to do this the circle rotates around the center of the tile, which is where the unit is centered.

  With the units, they truly show their animation when they are in combat. First off the unit's model will rotate on the spot to face the direction of the unit which they are being attacked from, or attacking. In the situation the unit is mechanical, a tank or helicopter, and is losing the fight, its textures will change to show it is more damaged with bullet holes and fire. Fire is shown as a particle effect when the units are dying/dead, always rising from the center of unit's body. When the unit dies, it will show its death animation, made using keyframes,  usually resulting in their body falling to the ground or blowing up. Strangely enough the infantry in general all share a similar death animation. 

Finally the game's immersiveness was fully enhanced with the living and breathing environments of Civ 4. In Civ 4 the developers decided to give life to their game tiles, whether it be the many land masses, the improvements in the , or all 32 resources by animating them. As seen in the video, the forest tile seems contain many tree objects, and these trees will disappear if it is in the way of a road or a unit is on the tile. With resources they will have 2 different animations, 1 without being used and one which is not being used, such as the pigs in the video. With time, technology advances, and land improvements will change, such as a aluminum farm, instead of wooden shed. For this change, a model change is involved whenever a civilization advances in the game's 6 technological eras.

With all this in mind, the creators wanted a more modifiable game, to allow fans to create easier, but better Mods. Game data and rules are stored in Civ 4's XML files, and a SDK for the game was released in April 2006 to allow for AI customization. Major parts of the interface, map generation, and scripted events are written entirely in Python and can be customized. With this, 3 expansion packs, containing new scenarios, units and Civilizations were released, on a yearly basis along with the dozens of amazing mods.

That year Civilization 4 receiving many near perfect or perfect reviews, while being nominated for many awards including best PC game and game of the year.The jump from Civilization 3 to 4 was such a great leap, it sets a great example of what any game should do for an excellent sequel. In the end Civilization 4 is truly an amazing game, one which will suck you in and make you waste hours on the game. A game which will truly make you say the words