Friday 12 April 2013

A Year In Review

The 2012/2013 was definitely one I will not forget.  Being one of the hardest years of my life, I definitely learned a lot about myself and how to handle school situations over the course of the past year.  Going through personal issues, as well as a seemingly endless supply of schoolwork, I have decided that for my final blog post, I would compile a list of things I learned so that others may take something away from my blog.  So without further hesitation, here is my 2013 top 13 things I learned as a 2nd year Game Dev student:

1:  Choose your group wisely.  Nothing is worse than working with a group where tension is always present.

2:  Don't be afraid to ask questions.  Many times throughout the semester, I found that I would not understand a concept, but instead of seeking help from professors I would push the problem off to the side and never get the answers I needed.  Always ask if you don't understand!

3:  Buy a whiteboard to keep track of assignments and tests.  Nothing is worse than having to pull multiple all nighters to finish a project last minute.

4:  Set a personal schedule for your game.  Whatever your role may be, whether it is a 3D modeller or programmer, set a schedule of what you want done and when.  This will help to keep you on track throughout the semester.

5:  Communicate with your Group:  Making a Facebook page for your game studio is one of the most beneficial things a group can do.  This will help everyone to track progress, as well as ask questions if needed.

6:  Attend every lecture and tutorial:  As game dev students, we have a fairly high amount of hours in class a week.  It may seem rough at times, but you will miss out on important concepts and fall  behind if you  miss even one lecture.  JUST GO!

7:  If the group chemistry is not there, do not force it:  Sometimes when a studio can not function together, the individuals need to go their separate ways.  It may not be the nicest option, but it will most likely benefit everyone in the long run.

8:  Complete extra work to stay on the ball:  Most professors will give out extra questions to help increase your knowledge of the subject.  Make sure to do as many of these questions as possible.  It may not be as fun as a game of League of Legends, but your GPA will thank you when its all over!

9: Make an exam schedule, CRAMMING SUCKS:  It may seem simple, but time management is a skill many struggle with.  By creating a schedule, you can process the information over time and ace those exams

10: Weekly Swarays:  It may seem like a large time commitment, but even getting together for two hours once a week will help to keep a steady production schedule on your final game.

11:  Take a breather day:  Once a week, if possible, take a day to yourself where you only focus on yourself.  No school work, just friends and a good time.  It will really help to ease the stress away.

12:  Find a work environment that suits you:  Pretty self explanatory.  Make sure you have a space that works for your type of working style.

13: DO YOUR FREAKING HOUGEWORK!!!:  Nothing is worse than waiting in line on the final submission day, wondering if you will be able to write the exam.  Do your work as soon as possible to avoid the added stress at the end of the year!!

Its all worth it in the end...


Even if this list only helps one person, I will have deemed it a success.  What the next blog will be is still a mystery, but keep checking back for more Game Devapalooza!!!

GAME CON 2013!!

Game Con 2013 was definitely a wild ride.

Game Con this year started very early for me considering we did not get any sleep leading up to the event.   After pulling a late night, my group and I were ready for a fun filled Tuesday of viewing our fellow developers games and art assets.  It was definitely worth the effort and here are the reasons as to why I feel this.

My favorite part about Game Con is getting to view what the other students in my year were able to produce in the same timeline and workload I had.  What I saw in a few groups amazed me.  I was very impressed with a couple of games in particular.  The first of which was "A Case of the Mondays" which blew me away when I first sat down and played it.  What really impressed me was the lighting the group had implemented in the game as it really added to the nightmare style atmosphere they included in the game.  I also was really impressed with how into the boss battle I was.  I actually feared that I would lose and would have to restart back at the beginning of the level.  I have never felt this in a Game Con game and it was a great start to the convention.  The second game that really caught my eye was GTFO.  The art style and Cel shading Sweet Sixteen implemented was one of the best I saw during the whole show.  It also helped that the studio was playing their game on a 50" HD TV.  Both of these games definitely deserved to win the 2nd year award, so I was very excited when A Case of the Mondays won.

Another highlight of my Game Con experience was the feedback other studios and profs gave us as they previewed our game.  The profs gave us great ideas on how to improve the mechanics, as well as certain gameplay aspects we could change to make the game perform in a more fluid manner.  Our studio was really happy to get the feedback and we are going to make sure to add in these suggestions next year.

Finally, It was great to see how other years games had progressed and how their designs turned out.  I was especially impressed with a first year studio who was able to implement multiplayer in their game.  I have never heard of a studio doing this in their first year and it was a great surprise that made me eager to catch up with them in future years.

2013 Game Con
Although it was ridiculously exhausting, I can not wait for Game Con 2014! Join me for my final blog where I review the 2012/2013 school year.


Normal Mapping: ITS ALL A LIE!!!

Normal Mapping is quite an interesting feature that an individual can implement on their models.  Normal mapping is used to imitate a high resolution geometry detail, when really the geometry is of a low resolution.  In a way, normal mapping is a certain way to implement a style of bump mapping onto the model in a scene. It is quite useful tool since it can greatly enhance the appearance of a low polygon model, making it look as though it is constructed from thousands of polygons, when really it may only be in the hundreds.
An example of Normal Mapping
There is a difference when it comes to Normal mapping as there are two different ways to normal mapping. The first of the two types is Object space Normal mapping.  The pros and cons of this style of mapping is:

Pro's
       -  The curvature of the object is very high quality because the low poly vertex normal's are easy to ignore
       - Slight better performance compared to Tangent mapping

Con's 
        - Do not compress very well since the  blue channel cannot be recreated.
        - Harder to overlay painted details since the base colors vary.
        -  Reusing maps is difficult. This is because different mesh shapes require unique maps.

Tangent Space Normal Mapping: 

Pro's: 
        -  Image compression is much easier
        - Maps can be easily reused on different shaped meshes. 
        - Easier to overlay painted details when texturing the objects

Con's 
        - The performance is slightly slower in comparison to Object-Space.
         - Problems often arise with smoothing from low poly normals. 

Before and After Normal Mapping

Deferred Shading... Woot Woot

Disclaimer: This may not be the most interesting blog I have written to date.  Before I get into what Deferred Shading is, I am going to hit you with a definition. Deferred: Put off (an action or event) to a later time; postpone.  This is an important definition because it helps to explain how deferred shading works when it comes to when the shading actually occurs on the object.  When it comes to most shading techniques, the bulk of the work is generally done in the first passes on the object.  In deferred shading however, no shading is actually performed until the second pass on the object.
Example of Deferred Shading
Deferred shading is unique because during the first pass over the object, all of the data that is required for the shading to occur is gathered and stored.  During the second pass, is when all of the positions, normals, and materials that were rendered into a geometry buffer are taken in by a pixel shader to compute the direct and indirect lighting at every pixel in the screen space.  The reason many games are moving towards the use of deferred shading, is because of the advantages it can add to the game.  Since only one geometry pass is used to compute the lights that are actually being affected, the performance does not take get bogged down as it would with other shaders.  This does however lead to problems when it comes to dealing with transparency as the shading tends to render it incorrectly.  The shadder also needs to consume more memory, as it needs to store the seperate G-Buffer created on the first pass.  These issues have not been an issue however, as many game developers still use deferred shading in games such as Bioshock Infinite, Mafia II, and Amnesia: The Dark Descent

Deferred Shading in One of my Favorite Games, Battlefield 3
For the next blog post, I am going to go over Normal Mapping. Yippieeeeeee!






Fus Roh BLOG... The Importance of Sounds and Music in Games

Coming from a very musically oriented family, I have always had a soft side when it comes to music and sounds and the effect they can have in the media.  When I say media, I of course am referring to my favorite form of media, the game industry.  I have always loved how when music builds up in a game, only to lead to an epic boss battle that the player remembers for weeks.  This blog will outline the amount of work and time that goes into creating the music and sounds that make games so great.


When I think of music and the impact it can have on the gaming experience, I think of one game. Skyrim.  The Elder Scrolls series is world renowned for their ability to transport the player to a far away land where giants and dragons still roam the land.  The only complaint I had with the series was the recurrence in voice actors that occurred in Oblivion.  Bethesda responded to this issue by adding more actors to their credits, by over 70+ people.  This showed the dedication they felt and how important it was to them to get the sounds right in the game.  When it came to the music, I feel as though no game does event based music better than Bethesda.  They have a way of creating tension as a character moves throughout the landscape, only to hit the player with the scores crescendo as they round a hill to see a castle looming in the distance.  Its an effect that really allows the player to get the best sense of immersion in the game.

For our game we used the FMod programming library to try and create the same effect for our players. Using 3 Dimensional sound we were able to able in subtle sounds such as tress groaning as you pass by, or echoes of footsteps as the player traverses our dungeon level.  As a developer, even I experience a feeling of  unease as I heard the sounds of distance wolves as I moved through our forest.  Without sound however, these feelings could not be expressed to the player and the game would feel dull and uneventful.  This is why I believe sounds and music are one of the most important assets to a games design.

Next time in the Blogosphere, I will be going over Deferred Shading and its in game use.

Gaming and Its Serious Side

When I tell people that I am currently studying Game Development at UOIT, one of the reactions I seem to get most often is "Does that mean you just play video games all day?"  This really frustrates me, as Game Development is a lot of work and we are not just sitting around all day doing nothing.  Not only will game development help to prepare us to enter into the world of making games, but it can also lead into different opportunities such as virtual reality that has been booming over the past couple years.  I like to think of this as the serious side to gaming, where the end goal is not exactly fun, but to possibly help train or teach individuals.  During this Blog I will be going over a couple of different example of serious styles of games and how they are being used in day to day life.

Virtual Reality Used in the Military
The first serious game application I would like to talk about can be seen in the picture above.  For years the military has been using video game type applications to train the soldiers who will be defending our country.  One of the reasons this is so beneficial, is because it does not require soldiers to fire actual rounds, or be in actual danger.  Another benefit for the military actually occurs after the soldiers have returned from battle.  Since post traumatic stress disorder is a rising issue among soldiers, research has been put into the development of programs where soldiers can work through their rehabilitation slowly with the use of virtual reality systems. 

Doctors can now Train with VR

Not only is the military getting in on the Virtual Reality action.  Research is being developed to help train doctors through the use of robotic arms and 3D programs on the computer.  Not only does this benefit the Doctors training, but it can also allow doctors to train from the comforts of their home whenever they wish.  

In the next blog, I will be going over the sound and music used in game.


Lights, Lights Baby (Get it, like Ice, Ice, Baby) :P

When it comes to lighting in a game, it can make the difference between a good and a great game.  Lighting helps enhance the realism that a character experience while they traverse a brightly lit mountain peak, or a dark, dank dungeon.  The right type of lighting can help to set the mood for the entirety of the game.  Current game developers are very fortunate as they have a large amount of lighting styles they can use in their current projects.  These lighting styles are Ambient, Diffuse, Specular, and Emissive.

The first style of light I will be addressing is ambient lighting.  This style of lighting is rarely used in games as it not very flexible for the one designing the game.  An ambient light used in a game has a fixed intensity and position, while effecting all of the objects in the scene the same way. The only scenario where this is used I when a developer would want to light every object in the scene the same way.

The second mode of lighting used is Diffuse Lighting.  Although it is used in game, it is generally used when trying to determine where the light source should be coming from in a game.  This is because diffuse lighting is when rays of light emitted from the light source bounce off of the object at their respective angles, giving the object a bright side and a shadowed side.
Example of Diffuse Lighting


My personal favorite type of light to have in a game is Specular Light.  Specular lighting is the use of bright spot highlights on the object.  What these highlights do for the viewer, is show exactly where on the object the light-source is most intense.  Specular lighting is used in game to give reflections to surfaces such as water, or a metallic surface such as a sword or chalice.  This is my favorite as it really gives the objects a shine that no other light source is able to develop.  
Specular Lighting on the Car
The fourth and final type of lighting that can be used in games is emissive lighting.  Emissive lighting that can tie everything together.  This is because if a light source is present in a scene, it will take into account diffuse, specular and ambient light given off by the source.  Emissive lighting is commonly used throughout games as it is able to tie everything together, while still keeping the scene looking great.  

Emissive Light coming from the Torches
Tune in next week when I will be going over how game design can have other benefits, besides GAMES!


CelShading for all y'all

Cel Shading.  In my opinion, I believe that cel shading is one of the most cool and unique features used in video games.  Some of my favorite games of all time used cel (or toon) shading in them.  Even though I feel this way, certain individuals do not agree and they believe that cel shading actually ruins the gaming experience. In this blog I will attempt to give my reasons as to why cel shading is not only a great addition to games, but one that should be used more often.

Before I begin with the fun side of Cel Shading, I need to review the technical side (booore).  Cel shading is the use of non-photorealistic rendering methods to make the scene shown to the viewer seem hand drawn.  Much of how toon shaders are created is due to the light sources that are projected onto the object being made.  When a certain amount of light hits the texture it is turned into flat looking shades.  This will give the object a look as though it was designed to look like the colors were added to the object in blocks.  After the Object has been given its shades of color, a heavy black outline is added to the object, giving a standout appearance from the background.
 
Now that we have covered the technical side of the cel shading, we can talk about the fun games that use toon and cel shaders.  My personal favorite use of cel shading is in the Borderlands franchise.  This style is designed so that it resembles a realistic comic book.  Not only does the gameplay rock, but the cel shading helps to add a unique element that isn't present in many games today.  My second favorite use of toon shading would have to be the Legend of Zelda games that implement this.  By changing it up throughout their franchise, the Zelda series has been able to implement very cartoon style toon shaders, as well as more realistic cel shading.  I personally love cel shading and hope that it stays around in the industry.

Stay tuned next week as I cover the different lighting used in games and their pros and cons.  

PPE (Post Processing Effects for the Noobs)


For this blog, I will be going over a topic that I feel carries a very heavy weight when it comes to designing and programming a game.  In my opinion, this topic can help to turn a game from a great looking game, into a visual masterpiece.  This topic ladies and gentlemen, is Post Processing Effects.
Among the many different types of Post Processing Effects, there are a few that I feel are the top contenders for being used in the games we see today.  Those Post Processing Effects are, Motion Blur,  Bloom, and Depth of Field.  Cel Shading is also a post processing effect, however I will be covering this in a later blog in more detail. 

First on the list is motion blur.  I personally do not find motion blur enjoyable in games however, it does add a certain sense of realism to a game that others feel add a valuable factor to the games overall realism.  When I imagine games with motion blur, I think of the Crysis series.  Since the character has a certain ability allowing super speed to be enabled, the developers gave the player the sonic speed sensation by adding motion blur along the borders of the screen.  Not only is the motion blur used during super speed, it is also used when the character makes a swift turn of their head.  Again, I do not personally enjoy this while playing a game, but this is only my opinion.
Motion Blur in Crysis

After post processing effects, I feel like bloom is the next best post processing effect used in video games.  Bloom is the effect used to add a bright blurry effect around the outside of the character or object, similar to a halo effect.  Bloom is done by sending the bright light above a certain threshold to the FBO.  After this step, Gaussian blur is applied to the light to blur it out along the edges of the object.  Finally, the blurred parts are composited with the original dark images to give it the final bloomed image.  Games such as Warframe use bloom heavily throughout to give it a sci-fi dark feel.  
Warframe: Bloomapalooza
The final PPE I will be covering in this blog is depth of field.  Depth of field is a fairly easy concept to grasp.  As an image gets close or farther away from the viewport, the image will become distorted and slightly blurry.  This is used to simulate the natural blur that happens in the human eye during our day to day lives.  When coding this, the programmer must set a certain threshold that will determine determine the blur distance, as well as how intense the blur will be.  I will also be using a picture of Crysis to demonstrate what depth of field looks like in game.  
Notice the Trees in the Distance are Distorted
This is the first of many blogs that will show certain elements used in games, as well as certain game topics I enjoy and want to share with the world!