Sunday, 24 November 2013

Insomniac and Navigation, an Analysis Blog


Since the beginning of the video game revolution, one aspect of games has almost always been necessary to create an enjoyable experience for the player.  This game component that I speak of is of course Artificial Intelligence.  Without this crucial element, current generation games would not be possible, as non-player characters would have no concept of what action to initiate, to attempt to counter the player.  What I feel is at the core of video game AI, would have to be how NPCs navigate throughout the game space provided.  In one of our lectures with Dr. Houge, we discovered how navigation is presented in the Insomniac Engine from Insomniac Games.  The main focus of the presentation was how navigation of NPCs (mainly enemies) can influence the immersion presented to the character.  It was a very informative talk that covered many aspects of why level navigation is becoming increasingly necessary, as well as improved as our knowledge of AI deepens.

The lecture presented to our class was designed by one of the employees from Insomniac Games.  This employee went into great detail about the navigation systems used by the engine, and which games they applied to from Insomniacs AAA lineup.  In this blog, I will attempt to give my understanding of the talk given by Reddy Sambavaram and discuss how I feel these systems work and what sort of impact they have on the players gaming experience.  To analyse this, I will begin with the earlier works of Insomniac, Ratchet and Clank, and slowly progress through their timeline and navigation development with games such as Resistance Fall of Man, Resistance 2 and Resistance 3.  Before any of this occurs however, I will first touch on why navigation is necessary in games and what players can take away from a system that performs well.  So without further delay, lets begin!


We as gamer's are always looking for the next best game to be released.  Whether it be a FPS, RTS, RPG, or even a simple puzzle game.  We are always looking for games that will make us feel immersed in the world, games that will transform these character models into living breathing entities.  For this realism to occur and attachments to be formed, the game must have a solid AI.  For this AI to occur however, the NPCs must move and act in a way that brings their character to life.  When this navigation functions well, the player will feel involved and will feel as though the NPCs belong in the world.  However, when glitches and errors occur in the navigation systems, the players immersion can be broken, causing the game to lose its magic appeal.  This is one of the main reasons that game developers, such as Insomniac, are investing a large portion of their time and energy into creating a navigation system that feels very natural to the player and can occur without them realizing what is taking place.

In some cases, AI is a large and cumbersome task for level designers and developers.  Having to input commands for the NPC to move from point A to point B, all the while avoiding obstacles C,D,E is very expensive in time it takes to implement from a designers standpoint.  Even when this is completed, the designers must rigorously test the system to ensure that the animations flow realistically, while also following the path laid out for the NPC to follow.  Noticing this problem, many companies including Insomniac are trying to move in a more designer friendly direction, by making the movement of NPCs a more dynamic action, instead of being heavily scripted.  Many variations have come and gone in the industry, including such methods as sphere and box based approach, point and connection placement by the level designer, a 2D grid approach, as well as the widely used A* path finding algorithm method.  Now although these methods all have their pros and cons, Insomniac has moved towards a mesh based system, which allows a mesh to be placed over the current game mesh, to outline where many NPCs can inhabit and not move towards.  It is not a perfect system, sadly no system has been discovered yet, but it does offer many benefits towards Insomniacs titles.

An Enemy that would need to navigate in Ratchet and Clank: Deadlocked
RATCHET AND CLANK: DEADLOCK

Now before I get into the navigation mesh method of navigation that was touched upon above, I felt it fitting to include a short summary of how Insomniac was doing NPC navigation, before the introduction of these meshes.  In Ratchet and Clank: Deadlock, the enemies did not use any of the navigation methods used currently by Insomniac.  Instead they used a way-volume representation system with connection nodes in between.  The way that this system works, while simplistic, did the job at the time for the game.  NPCs would inhabit these way-volume spaces, doing basic animations such as idling, seeking the player, and when necessary moving.  To move from area to area however, the enemy would need to choose one of several adjacent connections.  These connections were all previously laid out and designed by the team to give the most realistic movements for the NPCs, while still restricting where they can move.  The systems used volumes as nodes for A* graph to determine which connection would be used to move in a direction to face the player.
An outline of the way-volume connection system.
Although it worked, at times the movement did not feel natural and enemies would end up in positions that were clearly not advantageous to their goals, breaking the immersion.  Insomniac decided to combat this issue with the introduction of their Navigation Mesh (nav-mesh) system in their new PS3 title, Resistance: Fall of Man.






RESISTANCE: FALL OF MAN

Since the release of Resistance FOM was release on the PS3, the opportunities for improvement pertaining to navigation had grown in size for the team at Insomniac.  The decision to implement the nav-mesh system into this title, truly led them on a path towards more intelligent AI and a more immersive gaming experience.  For the production of the this title designers certainly had a tough task ahead of them.  For the level to be designed for NPC navigation, the level designers were tasked with taking each area where NPCs could inhabit and laying out a nav-mesh in maya.  At runtime on the systems, tools in the engine would take these meshes and convert them to convex poly meshes.  After much time in the designing stage of the levels, the system actually functioned pretty well.  This was because the polys of the mesh were treated as though they were nodes in the A* path finding algorithm, allowing them to move between separate nodes based on their needs and behaviours.  It was a great revolution for Insomniacs nav system, however, the team ran into issues occurring in the PPU when navigating 8 NPCs, as well as their distance based Ai lod restriction.  This sent the team back to the drawing board to think of ways to fix this issue for their upcoming title Resistance 2.
Nav-Mesh being implemented in Maya

RESISTANCE 2

Moving into their new Resistance title, Insomniac had few goals in which they hoped to achieve to alleviate the issues that plagued Fall of Man.  The team hoped to fix the PPU bottleneck that occurred with multiple NPCs, as well as fix or remove the Ai lod restriciton, while simultaneously adding in support for a 9x nav-mesh poly load.  To start, Insomniac decided that by moving the processing of the nav-mesh system to SPU, they would be able to cure many of the problems that were associated with the PPU hitting a bottleneck.  With this issue solved,  the team was able to come to the conclusion that the convex poly idea of their mesh system was not well suited to the A* path finding.  To resolve this issue, the team implemented a triangulated system, giving the navigation system less paths to worry about when moving NPCs.  It was also necessary to use tri-mesh and tri-edges as A* nodes, to ensure that the shortest path was always being discovered.  The final change made to the mesh system was a jump up and down parameterization.  This would allow enemies the ability to climb certain objects to access more advantageous cover against the player.  To achieve this, the team added different coloring of meshes based on height and accessibility.   

Nav-mesh with the height addition


With all of these changes being done on the mesh system, the team at Insomniac need to develop a new pathing system for the NPCs.  At first, the team attempted to introduce a hierarchical path finding system.  This system however came with its issues, as at times a high-level path would be established, without a low-level path being present.  To try and fight this issue, the team implemented a path caching system to try and determine if there was a start and end point within the "successful" path.  Although the system did eventually function as the team had predicted, it just did not save the system enough time during path finding to justify being added into the system.  For this reason the team scrapped the idea of hierarchical path-finding and instead stuck with the A* method, making slight changes such as parameterizing path-queries to allow the use of selective nav-meshes by NPCs.


Another key element fixed during the development of Resistance 2 was the pathing around corners or the "bend point" of the turn.  The issue during the production was that NPCs generally had to be running around a corner for the animation to play in a semi-smooth looking manner.  The enemies were not slowing down enough during their turns in a realistic manner, as the currently implemented string pull approach was not allowing it.  To combat this aesthetically unappealing look in the animation, the designers decided to add in a Bezier curve in the bend point.  What this allowed to occur, was the enemies could arrive into the turn, target the midpoint of the bezier curve (in comparison to the bend point in the old method) and slow their actions for the animation to appear realistic and smooth.  To allow many NPCs to be completing these animations and turns at the same time, the team made sure to keep the steering system very lightweight, as to not bog down the engine.  



The final change the team came to in Resistance 2 was the use of the mesh to avoid obstacles in the environment while traveling on their path.  For the objects in the game, each NPC was given a set of escape tangents, which when used will modify the path traveled to avoid collision with the object in the worldspace.  As shown in the image below, when a capsule and a box object are loaded into the world, each object is given two different tangents to follow so as not to collide.  Based on the path of the NPC discovered using A*, the system will make a decision on which tangent path to use to avoid these obstacles.  This system came with a couple flaws however, as enemies were still getting stuck in objects, and enemies were being perceived as objects in the queries of other enemies, causing 80% of the time being spent on object avoidance alone.  To combat enemies becoming stuck in objects, the system performed a sweep check during the course of every collision check.  If the enemy would still collide with an object, the system would add 90 degrees to the path to avoid collision.  To help with the time burden of enemies seeing each other as obstacles, the designers introduced a special chache they called the "Grim Cache" (Grims being in game monsters).  Since they all contained the same threshold tolerance they had to maintain for boundaries, the Grims would function as a unit instead of individual entities, sharing information between each other on obstacles and which paths to be taken.  It was an ingenious system that ended up fixing their issue.






RESISTANCE 3

Since so much was changed during the course of Resistance 2, there was not a lot of work to be done to navigation system when it came to Resistance 3.  However, the team at Insomniac were very adamant about releasing the caches developed at the end of Resistance 2 in a more formal fashion.  To accomplish this task, the team split the SPU into three different passes.  The first of these passes was responsible for accumulating a list of all of the objects that would be in the path of moving NPCs.  Next up was for the SPU to gather all of the boundary information of the obstacles and ensure that no NPC would get stuck in the object, or avoid it in an unrealistic fashion.  Finally, the last pass would review the second step of the process and ensure that all of the tangents for the NPCs are set correctly and avoiding all the objects.  

One of the more exciting and visible features that the team included in Resistance 3 was using custom links to further include the vertical movement of enemies.  To allow the designers to add these custom links for things like jumps, ladders, etc. The team implement a box system for links instead of points on the mesh.  These boxes were more adaptable when it came to level changes and allowed the designers to place the link and not have to worry about them at a different point in time.  This worked really well with the A* approach as these edges (or clue edges) allowed the NPCs a more dynamic movement style instead of on the ground linear movement.  In Resistance 3, we can see enemies jump from one rooftop, across a clearing to another, all because of these custom links implemented by Insomniac.  It helped to really enforce the personality of the NPCs, as it really gave the illusion that they were thinking and communicating, while trying to get to the best position to thwart the players efforts.  


An NPC uses the custom link to climb the wall!
CONCLUSION

Before learning about how Insomniac handles their navigation, I was unaware of the challenges that came along with moving an NPC from point A to point B.  With the evolution of the AI and navigation we as players are starting to realize the potential for games and how NPCs can be given real emotion through there actions.  I can not see this area of the industry slowing down and I can not wait to see what the big name companies will bring to the table in the coming years. 



  


Friday, 22 November 2013

Artificial Intelligence in Games. The Good, The Bad, and The How!


Since the dawn of video games, programmers and designers alike have been attempting to accomplish a feat that can make or break any great title.  What I am referring to of course is making non-player controlled characters in games, react as though they were being controlled by a living breathing human.  Since we first picked up a controller to play Pong, we have been required to implement human behavior into these games so that the person playing feels as though they have a challenger always waiting at their fingertips.  During our time in class, we have learned what Artificial Intelligence is, and have been shown different ways in which AI was successfully and unsuccessfully implemented into games.  Over the course of this blog post, I am going to be covering some examples of great and terrible AI, as well as explaining some of the techniques used to implement AI into current game titles.

One of the first and most basic, albeit difficult, forms of Artificial Intelligence can be seen in Pong

THE HISTORY OF AI

Before we get into the bulk of the blog about AI, I felt that it would benefit you the reader to know some of the history behind AI and why it was developed in the first place.  Although the idea of artificial intelligence has been around for thousands of years, it was not until the 1940's that mechanical AI was truly taken on as a study by mathematicians and philosophers.  One of the key contributors to the field of artificial intelligence was Alan Turing, whose theory of computation stated that a machine that shuffles symbols such as "0" and "1", could come up with any conceivable act of deduction.  This theory eventually led to the creation of the first programmable digital electronic computer.  Form this point the study of AI flourished, leaving many people amazed at the way computers could now solve word problems and prove logical theorems.  Many believe that the 1990's and early 2000's saw the greatest success in the study of AI, as the technology was implemented into the fields of logistics, data mining, and medical diagnosis.  Although it has been over 50 years since the first steps were taken in artificial intelligence, we still have so much to discover in this ever growing field.

Alan Turing, considered by many to be the father of Artificial Intelligence.
WHAT IS AI IN GAMES

When it comes to artificial intelligence in games, this technology plays a very significant role in how the game will play.  In our current state of games, AI is still in what I like to call the childhood stage, as we really haven't achieved full human like behavior.  In games, AI is generally used on Non-Player Characters (or NPCs).  When creating these NPCs, the designers try to create a set of patterns that the entity will follow, that seems very natural and human like to the player.  Since AI is an effort to try and simulate the realistic behavior of a human in a non human entity, the programmers want to try and remove the human designed element from the NPCs in the game and instead make the NPC feel like a real individual.  When this is done successfully, the NPC will have very natural movements through the game space and will react to situations in a similar way the you or I might.  This creates a great sense of immersion for the player and can lead to some pretty phenomenal games.

GREAT AI IN GAMES

As I stated above, the AI in a character can be the difference between a hit game release and a complete flop.  Here are a few games that I feel really integrated AI into their game successfully.

F.E.A.R. SERIES


THE SIMS


HALO


Now I know that in any game there are examples of how the AI is flawed, however I feel that the games listed above are great demonstrators of how AI can be successfully implemented into a game.  F.E.A.R. earns a spot on my list not only because of how the AI work in the game, but the technology that was implemented to allow these behaviors.  Having designed their AI system from scratch for the game, meant that they were able to implement their new planning system that had the enemies generate context-sensitive behaviors and actions that were all decided in a single frame of the game.  This meant that enemies not only reacted in human like ways, but it was also a fast and realistic process.  Some examples of these in game behaviors are enemies using set cover points, as well as tipping objects and opening doors to gain access to more advantageous cover points.  The enemies in game also work in tandem with other NPCs to perform various military maneuvers such as flanking and suppressing fire.  

The Sims is a personal favourite of mine from back when I was a kid.  Now that I am starting to learn more about how games function, I never realized all of the AI elements that were present in these games.  The main game I will focus on is the Sims 3, as it is one of the most current titles and features the most elements.  Why I believe the AI works so well in this title, is because of the sense of life the game gives to each character (including NPCs.)  Characters will go about living their lives in the town regardless if the player interacts with them or not.  Each character has a set list of basic desires and needs that are used to determine NPC activity and what task they will perform next.  To help with the implementation of these behaviors the designers created each object as a smart object.  What this meant was that all of the data that pertains to an object is stored together to allow easier accessibility from the AI standpoint.

Finally on my list of great AI examples is the Halo series.  Having spent many hours investing my time into beating the main campaign of the game, I can say with confidence that Bungie did an excellent job when it came to AI in Halo.  This is evident in the way that enemies work together to employ suppressive fire for enemy teammates, while simultaneously searching for a new area to give themselves cover.  The team at Bungie also put a lot of detail into showing when enemies react to your attacks by taking cover and performing actions like throwing your own grenade back at you.  Situational AI is also implemented in Halo and can be seen when a higher ranking enemy is killed during combat.  In most situations the smaller grunt soldiers will lose morality and begin to flee from the player.  This tactic really adds to the immersion the player feels in the game, by giving the enemies their own personalities.  Since Halo Combat Evolved, many games have implemented the "behavior tree" (trees of tasks are combined together to create AI) form of AI implementation that we can see throughout the game.  

THE NOT SO GREAT AI EXAMPLES

Now that I have touched on the good, I need to touch on the bad.  These games portray some of the worst AI I have come across in my life of gaming.

CRYSIS 2


JUST CAUSE 2


DEAD RISING 2


Although I loved playing the three games listed above, the one thing that kept me from logging some serious hours into them, was the terrible AI.  In Crysis 2, the character has the choice to use many different abilities to dispatch the enemy.  Although one of these options is stealth, I found that at times the enemy would detect me while I am behind a wall on the other side of a house.  Other times, I could be standing directly in front of an enemy and my character would stay hidden from view.  Although the game looked great and the gun-play was fun, I still feel as though the game was missing an element that could have been greatly improved on.  In Just Cause 2, the enemies are the polar opposite.  At every turn they seem to detect the player and will immediately engage him.  The problem with this however is that the enemy seems like they are a commando on a suicide mission.  Rarely does the AI script force the enemy to find cover, and it is not uncommon to see an enemy jump right in front of a car while chasing after the player.  Although this can lead to some hilarious results, it really broke the immersion of the game and took away the humanity of the NPCs. Finally, we have Dead Rising 2.  In all my years of gaming, I think that this game has some of the worst character AI I have come across.  Since a fair chunk of the game is derived of escorting survivors, you would think that the AI would be a well oiled machine.  While playing however, characters will become stuck in groups of zombies, will rarely use the weapon given to them, and at times will stop dead in there tracks and quit following the player.  This made for a very frustrating experience as the whole game has a set time limit and every second is precious.  Although I did enjoy them at times, these game just reinforced the fact that artificial intelligence can either make or break a game.

And at times beat you at your own game.
CONCLUSION ON HOW AI FUNCTIONS IN GAMES.

I now understand why we were enrolled in an animation class before we tried our hands at engines and how AI works within them.  This is because for AI to function properly in a game the animations must be generated in tandem with the AI behaviors.  However, these animations cannot be done correctly if they do not inherit a path behavior, and for these paths to be determined, many games look the A* algorithm.  The A* algorithm is the perfect option for this, as it does not necessarily find the shortest path (a very expensive thing to do in a large world), but it instead finds a path for the AI to use.  This is very evident during certain chase sequences during games such as Assassins Creed.  While the player is outrunning the enemy, the AI has to be constantly creating new paths for the pursuers to be using, otherwise they would not be able to catch the player.  This means that the A* has to be constantly checking for objects the guards will have to run around, or tables that they may be able to vault.  Once these paths are locked in, the game will play out the appropriate animation, creating these grand chase sequences.  To make sure it is fair for the player however, the AI must always reference back to the behaviors and states of the NPCs to ensure basic principles like "Is the character in view" and "Am I still with my allys" is being checked.  Otherwise, the player may be stuck in an endless chase or battle that they cannot win.  

Scripted sequences in game can also be related in a way to how the player perceives the artificial intelligence in a game.  An example of this can be the random encounters that players interact with in games such as Grand Theft Auto V.  During these scripted sequences, the player gets to choose how they want to interact with different scenarios, such as a store being robbed.  Although the scene is scripted into the code, it gives the player a feeling as though the NPC made the decision to rob the store via there own decision.  This helps to give the game world a feeling of life, making NPCs seem as though they make their own choices, with no influence from the game itself.  

One of the higher end ideas that are implemented into the AI of games is strategy.  What strategy means to me is how the enemy I am facing is going to interact and use the world around them to work against me.  In the games this can be something like running to get a new gun when out of ammo, or using player suppressing fire to move to a new position.  This form of strategy can be seen in the Half-Life games, when enemies will work together to move into different positions and attempt to flank the player from the sides and back.  Most of these actions however complex they seem, usually can be traced back to using the A* search methods to effectively plan these routes for the AI.  To handle most of these complex actions like suppressing fire in tandem with movement, we break up the actions into smaller categories such as behavior trees or state machines.  When the enemy teammate is firing, this enemy will use A* to find a path from position one to two and so on.  Once there the behavior will switch from movement, to firing upon the enemy.  Although to the player it seems like a complex system of interaction, in actuality its just a series of linking behaviors between the enemy units.

What I have mainly taken away from these teachings of artificial intelligence is how simplistic some of the more complex sequences can be.  I cannot wait to see where the future takes us with AI, not only in the game industry, but in our human lives as well.

Robot Butlers perhaps?


Thursday, 17 October 2013

Grind Quest: Information Structures

    In any type of game, whatever the style, the player must be given some form of information.  Whether it be an RPG, or a simple board game like checkers, information is going to be given to the player in some form.  How this information is given to the player can be interpreted very differently from one game to the next.  In class, we learned that throughout games, there are four different styles of styles in which the information can be presented to the player.  These styles are: open, hidden, mixed and dynamic.  Over the course of this blog post, I will be going through a few popular games and the types of information styles used in each.

    The first game on the list is Ubisoft's hit 2012 title, Far Cry 3.  Far Cry 3 places the main character on an island surrounded by a private militia that is out to kill you.  Throughout the game, the player acquires and learns how to use different weapons, while gaining help from the local tribesman.  This FPS is action packed from start to finish and allows the player to adopt a style that suits them, whether it be up front guns blazing, or stealthy assassinations.  While recently playing through Far Cry 3, I came to the conclusion that the information given to the player definitely adopts the dynamic style.  This is because the player starts of with only a small amount of knowledge in terms of the island, the enemies, and how they plan to escape to the safety of the mainland.  As the gameplay presses on however, many things are revealed to the player, such as the skills they can learn, the boat they can use to try and escape, and the identity of the criminal mastermind, hellbent on keeping you trapped on the island. The game also uses the dynamic information structure through the in game map system.  At the beginning of the game, there is a type of fog over areas of the map that the character has yet to explore.  Upon visiting these areas however, the player will reveal locations and hidden items, gaining this knowledge at their own pace.


By far, the craziest character I have encountered in a video game.

    The second game on the list is Minecraft.  The simplistic game that has taken the world by storm since creator Notch released it back 2011 (Full release).  I have put my fair share of time into this game and I can confidently say that Minecraft presents its information in a very open way.  This is because from the very beginning of the game, everything is available to the player with no need to "unlock" their rewards.  The player will have to put some effort into retrieving some of the harder minerals, but at no point is a restriction put on the player.  If they have the required items/materials, they can build whatever their heart desires.  In the same sense as the materials, the game world is open for the player to explore.  There are no level restrictions for certain areas, and the player does not need to explore for items before they can accomplish a certain task.  The world is completely open to the players imagination, just like the information system.

With a game world bigger than Earth! Yeah, the possibilities are endless.

      Next up on our list of game information structures is the 2007 hit game Uncharted.  This game is a 3rd person over the shoulder action adventure game, where the player must help Nathan Drake seek out the lost treasure of El Dorado.  This game, I feel embodies a dynamic information structure, similar to the Far Cry 3 game.  I believe this to be true because the character starts out with only a small fragment of how the story is going to progress.  Only through playing the game and traversing the different levels, can the player really learn how he will be attempting to claim the treasure.  This embodies the dynamic structure of information because the player has an ever changing knowledge of some of the key elements in the game.  It does not stay consistent and the only way to gain all of the knowledge is to play until the games end.


Add caption

    Madden NFL 13 brings up odd feelings when it comes to reviewing it and the information structures contained.  Having grown up with sports games, and now learning of how information is presented to players, I think I can safely say that Madden 13 portrays a very mixed information structure.  This is mainly portrayed in the style that Madden uses to choose the plays.  Although the player will have no idea what sort of route or moves the opposing team is going to attempt, they can still gain a fair bit of knowledge by examining how the players on the other team are lined up.  At certain times, the player is able to make a hypothesis on whether or not the opposing team will rush, simply by noticing the two linebackers moving towards the line of scrimmage.  This portrays the mixed information structure quite well, as the player is not given all of the information about the opposing team, but based on player movements they make some educated guesses as to what the opposing team might be up too.

Oh the nostalgia of my old gaming days

    Lemmings is a classic puzzle platforming game released way back in the golden age of 1991.  Being that it was release before I was born and since I have not played this game since I was 8, my knowledge is a little rusty.  After a little research however, the memories came flooding back and I remembered how the gameplay worked.  With this newly re-discovered knowledge, I was able to deduce that the information structures in Lemmings was very open.  At the beginning of each level, the player is given a starting point, an end point, and a certain amount of unique lemmings that they need to guide towards the exit.  This type of play-style makes the game very open, as nothing is hidden at any point in the level from the character.  All of the information they could need is presented to the player, with little being left to the imagination.  Although certain lemmings may be unusable at that point, the character still knows that they exist and what abilities they have.

Has it really been that long? I should really find a copy somewhere!

    Next up on the list is a combo paragraph.  We are going to change the flow of this blog, as we will be examining board games from here on out.  The board games that will be examined here are Scrabble and Clue.  I decided to combine both of these games, as I find that they both demonstrate the mixed style of information presentation.  Scrabble portrays this information style because even though the players keep all of their individual block hidden from the other players,  the board will all letters used is still visible to every other player.  The players also know that their opponents have to have some letters from the alphabet hidden, and can then make educated guesses as to what words they may attempt next.  Clue works in a mixed style as well because each player is allowed to listen in on the other characters guesses and make guesses as to what the location, person and murder weapon may be.  By playing off of your opponents, not all of the information is hidden at any point in the game.  




    Finally, we come to Battleship.  This is one of the few games that I feel keeps a hidden information system throughout the majority of the game.  This is because in order to win the game, the player must make random guesses as to where the enemy has placed their boats on a grid system.  The hidden aspect of this game is present throughout, but even when the player obtains a hit on the enemy boat, they still are not given much information on the boats exact whereabouts.  For example, if the enemy placed one of their boats on B2, 3, and 4, even if the player obtains a hit on B4, they still are not sure if they will score a hit if they guess B3, C4, B5, or A4. This type of hidden feedback means that until the character has fully destroyed an enemy ship, they can not be 100% certain where the next shot needs to be fired.  


Great game, not so great movie!







Blog Quest 2: Design Your Game Item 2

     It is time for round two for the design a game item blogs!  The game that I have chosen to implement an item into is one that has always held a special place in my game collections, as it was one of the first games I purchased by myself for the PlayStation 2 system.  The game that I am referring too is Harvest Moon: Save the Homeland, from the game design company Natsume.  The Harvest Moon series (originally introduced in 1996)  is a farm simulator role-playing series, wherein the player can plant, grow, and cultivate crops, raise livestock, and perform general upkeep tasks around their farm.  In the case of Save the Homeland, the player's home town is under threat of being bulldozed by a big evil corporation.  This would cause all the residents to lose their homes and have to re-locate.  To try and prevent this, the main character must complete one of many storylines in order to prevent the corporation from buying the land, thus saving your home!  An example of one of these storylines is the cake contest ending.  If the player raises their animals properly to achieve golden eggs and milk, they can use these ingredients to enter and win the cake baking contest, putting your homeland on the map and saving the town from destruction.

The game also have an incredibly cute art style too it!

    Since one of the main concerns during my play-through was not having enough money to buy the required upgrades for my farm, I decided that the item I would choose to add would give the player an edge when it came to gaining money and saving time.  The main money making task in the game is by far farming corn.  The crop does take a substantially longer time to grow than the other crops, however it pays off in the end.  To farm in the game, the player must first use the hoe to till the land of the eight different two x four grids of fertile land.  After this has been completed, the player is able to play the seed of whichever crop they wish into the spots.  The next part of the farming process is by far the most tedious.  The player must use the watering can to water each individual plant to prevent them from wilting and dying.  By the time the player finished watering the 64 plants, the day is nearly over and there is no room to continue the story elements.  This is where my item would come into use.  Instead of using the watering can, the player can save up enough money to have a professional come and install a sprinkler system into their farm.  These sprinklers would cover the two x four area grid of one of the patches and would turn on at 7:00 AM everyday to prevent the crops from dying.

Minimum of 10 minutes to water the crops... Every day

    To begin explaining how this upgrade would work, I must first explain how the character would acquire these nifty little time savers.  The construction shop in the game offers the player the option to upgrade in game objects such as their house and dog house.  With the introduction of the sprinklers, the player would be able to purchase sprinklers from the shop until all of their fertile patches our filled.  Since this seems a little over powered, the sprinklers would not only be sold individually, but they would also be quite expensive for the player to purchase.  This would mean that the player would have to gain the money through water can farming (or other means) before they could upgrade their farm.  By introducing this idea of individual purchasing and higher price, it prevents the player from exploiting the sprinklers early on to purchase the other upgrades for the farm sooner in the game.

I cannot stress enough how tedious the watering can is!

    Now this will change how the player plays the game in a couple of different ways.  The first of which is allowing the player to have a higher likelihood  of actually completing one of the story quests!  In my first play through of the game, in order to get the kitchen upgrade for my farm house, I had to spend a substantial amount of time growing corn on my farm.  As stated earlier, when the player commits to growing a full farm of crops, the days become 80% watering, while spending the other 20% actually completing tasks for the townspeople.  By adding in even one sprinkler system, the player will save a couple minutes per plot of land, allowing them to spend this time completing tasks and gathering quest specific items.

    Another gameplay mechanic that will be altered is the need to visit the well on the farm.  While watering the crops in the game, the player only has a certain number of uses with the watering can until they need to trek to the other end of the farm to fill their watering can.  This became a really frustrating mechanic to the game and at times, deterred me from farming altogether.  With the sprinkler system being in ground and connected to the well water, the player would have no need to refill it.  To counter act the jump from under powered watering can to overpowered sprinkler, I thought of adding a mechanic where the sprinkler system on a plot of land could have a random chance each day of breaking (very low chance).  To repair the sprinkler, the player would have to visit the construction shop and pay a moderate fee for the repair services.  This could add an interesting mechanic to gameplay as well, as characters may always keep a set amount of money save, just in case a sprinkler breaks while they are growing a high cash crop.

 
It may not seem very far, but that well might as well be in Middle Earth
with how fast the characters move

    Lastly, I would like touch on a game mechanic that the sprinkler system would not add, but improve upon. During the course of a few of my play-throughs, I eventually gave up on farming altogether since the watering can was too repetitive of a task to keep me entertained.  With the sprinklers however, the character would be more inclined to plant crops, in turn gaining a high amount of money.  This would allow them the chance to not only purchase a couple upgrades in the game, but all of them.  I was quite disappointed during my first play-through, as I was unable to purchase the dog house.  If I had the sprinklers, I would have definitely planted more crops and purchased a place for my pup to call home!

    I feel like the sprinklers would be such a great system to add to the game because it allows the character to experience more of the homeland.  It fits within the games theme perfectly and would help to balance the ratio of time farming to time exploring.  With less farming worries on the players mind, the game would become a much more enjoyable experience. 





   

Wednesday, 16 October 2013

Blog Quest 3: Becoming a Critic

     Although I tend to put a fair amount of thought into a game before I purchase it, there is one game I can mention that I bought on an impulse and have regretted ever since.  That game for me was Diablo III.  Diablo III was the long awaited sequel to Diablo I and II.  Gaming staples that showed the world what role-playing hack and slash games could really be.  From all of the hype surrounding its much delayed release, I was sure that Diablo III would be a game that I could enjoy for hours on end.  After purchasing it however, many different factors have deterred me from going back to attempt and play this game.

"And the Heavens shall Tremble".. I tremble just thinking of playing this game.


     Since we were asked to analyze the formal gaming elements of one of our least favourite games, I thought that it would be appropriate to start off with a list of all the elements that were outline for us in the class:

     Players
     Objectives
     Procedures
     Rules
     Resources
     Conflict
     Boundaries
     Outcome

     When all of these elements can work together in a cohesive manner, generally the game will be enjoyable for the player.  I will be outline how each of these elements was portrayed in Diablo III.

     The first element, Players, is one that did not strike home with me at all during the course of this game.  For certain players who enjoyed the game and invested many hours, I am sure they became very attached to their in-game character as on certain game modes, dying as that character can mean permanently losing everything.  For myself however, I felt as though I had no connection to my avatar as there is no customization whatsoever.  Sure, you can switch armor sets and colours, but every class has a generic looking character that you must play as.  For some this may not be an issue, but it made this part of the game very un-enjoyable.

     The objectives in this game could have been vastly improved with a little more thought.  Most of the questlines include retrieving an item or making it to a certain point in a dungeon.  There was very little variety and at no point did I actually feel as though I was adding anything to the story.  I was just another mindless warrior beating monsters to a pulp while everything occurred around me.

     The procedures in the game is one thing they did execute well.  Everything was laid out for the character in an easy to understand way.  The GUI is very clear and simplistic as well as the inventory management screen.  The time it took me to fully understand the controls were significantly smaller than I have experienced in other games.  Overall, this is one of the few aspects of the game that Blizzard completed well.

    Rules in Diablo III are fairly outlined in the same fashion as the procedures.  The main idea of the game is to traverse through the quests in the order which they appear in order to unlock the next area.  The player is ultimately working towards defeating the evil demon Diablo.

    Resources was an area of the game that I had mixed emotions towards.  The player can only use certain items depending on the class they choose at the beginning of the game.  This mechanic can become frustrating, as monsters defeated will drop a wide variety of items, most of the time being unusable by the player.  As a result of this feature, my inventory would take a relatively short time to become full and I had to always be re-arranging based on what I wanted to sell, drop, or use.

    When it came to the resource variety however, Blizzard did a great job at adding a surplus of items with different stats and abilities.  However, I found that there did not seem to be a wide enough variety of weapon models as I progressed throughout the levels.  With such a AAA title release like Diablo, I was expecting a much higher caliber of model variety.

    Conflict will be the final topic discussed as I feel as though boundaries and outcome can be found within the other elements descriptions.  The conflict in this title happens to be one of the elements that I found to be very boring and monotonous.  Although this should be expected in a hack and slash type game, I just found that there was such a small amount of variety in Diablo III that I was already bored during the starting chapters of the game.  The dungeons seemed very cookie-cutter in their style and the bosses seemed to lack any depth.  Overall, I just felt that this area of the game could have been vastly improved.



    The worst part about playing Diablo III and being so disappointed, was that I really did want to enjoy the game.  The elements of the game when looked at individually should have worked well.  This was not the case however and along with many other features, the game just became something that I could easily toss off to the side and forget.  An example of one of these features was the always online DRM system that the designers decided to implement.  For the game to be played, the player must always have a stable internet connection so that they can stay connected to Blizzards servers.  This turned out to be a huge flop for the design of the game, as many players upon release were having connection issues and were unable to play the game for hours or even days at a time.

What a great way to fill the hype surrounding the game for years.

     Another issue I had with the game was how they handled how the player would handle their resources in the way of upgrades and in game purchasing of items.  Before I begin, I should quickly explain that like their other title World of Warcraft, Blizzards Diablo III has an in game auction house where players can sell the items they have looted for in game money.  This feature is great in a game such as World of Warcraft where the main focus is on the MMORPG element.  In Diablo III however, this takes away from the purpose of having in game shops and blacksmith upgrades.  I felt no desire at any point in the game to waste my hard earned money on upgrading my low level bow, when I could just buy a new higher level bow on the auction house.  It really drew away from the story and RPG immersion element of the game because I found myself interacting with auction house more than all of the in game shopkeepers.

    When it came to the resources in the game such as stats and attribute points, Blizzard dropped the ball in this game yet again.  The game does not allow for the distribution of attribute points, unlike other games where you can form the player to your particular play style.  This is similar in the skills tree, as the player does not have a skill set dependent on allocation, instead it is determined by the items the player picks up.  I felt this really restricted the player and made it impossible to try out different gameplay approaches and out of the ordinary builds.  The players were always so restricted and it wore away at what the game could have been.

    After playing the game for an extended period of time in the hopes it would improve, it really shocked me as to how the designers went about creating the game.  With the success of the two Diablo games before it, it seemed as though all the designers of Diablo III had to do was keep the same mechanics and update the graphics with the newest engine.  This was such an opportunity for Blizzard, as there was already an enormous Diablo fan base just waiting to get their hands on the newest release in the franchise.  This was not the case however, as Blizzard just strayed away from the things that made the games before III so addicting.  While in the beginning of the game, the linear and flashy image of the game seemed new and exciting, these feelings quickly wore off and at times, I forgot why I was really traversing this world.  I feel that Blizzard tried to re-invent the game for the newer generation of gamers, instead of catering to their already massive fan base and remaking the originals.  While this tactic seemed to work sales wise, it let down many of the fans who waited years to get their hands on this title.  While the game looked great, I feel that if the developers had stuck to their original roots, many players would still be traversing the land of Sanctuary. 


   

    

Grind Craft: Digital Prototype Feature Treatment

     For this years GDW, the members of my group collectively decided that we were going to make a isometric 3D arena brawler.  We took a fair amount of the inspiration for this game from the old classic Powerstone.  Seeing as I was never familiar with this title, my group members explained it as though it were Super Smash Bros. in a 3D setting, with a health bar instead of arena knockouts.  I agreed that this game would be enjoyable to not only make, but also play so I agreed on the idea.  After laying down the basic concept of how the game would work and deciding on a name (Gamma Gears), we decided that since we only need to have a prototype of the final project for this semesters end, it would make sense for us to focus the majority of our efforts on the gameplay and the kinaesthetics.  We really hope that when creating this game, we can create an experience where the players really feel as though they are taking control of the characters and beating each other to a pulp!  

   
A screenshot of Powerstone for those who are unfamiliar with the Game.

     One of the most important actions in any type of fighter/brawling game is to make sure that the hit detection between player attacks is solid.  There is nothing more frustrating then launching your character in for the killing blow, only to have bad programming of hit boxes cause the characters attack to pass right through the opponent.  This is why we have labelled the hit detection in our game as the highest priority. Since we are using the Phyre engine, with the hopes of porting our game to the PS Vita as soon as possible, we will have an extremely difficult time trying to learn this new engine, while also trying to develop a prototype that gives of a promising feel for the final game.  Since we will also be implementing ranged attacks into our game, we will have to implement the hit box class with the ranged attacks to ensure that these have a fluid feel that seems real to the players.  Finally, with the game being an arena brawler, we hope to implement multiple levels and heights that the players can fight on.  This may seem easy, but a large amount of variables need to be changed when the game moves from a flat plain to multiple levels.  This can have not only an effect on the players movements, but also the ever important hit detection.  However, I feel we have a solid team that will be able to make it work by the prototype demonstration. 

     Another key factor that can ruin almost any fighting game on the market is the control scheme.  The kinaesthetics of these games are so import, as it determines what types of combos the character may attempt and how the general learning curve of the game can be.  For the controls of the game, we have decided to use the left thumbstick on the Vita to control the characters movement, while the right stick will be used to control the direction of the characters melee attacks.  All of the group members have played games with this sort of style and it is one that we found most fluid and natural in this type of isometric environment.  The face buttons on the controller will be used for certain character moves that will be unique to each character.  For example the main character Alex Hale, has a gap closing dash that we will assign to the square key on the handheld.  Bumper buttons on the top of the handheld will most likely be implemented as shields that the player can use to block all sorts of incoming attacks.  It seems like a fair amount of work to code, but once we get one thing fixed to the controller input, the rest will be easy to figure out.

    
We will have 360 shields, similar to Smash Bros.

     As for the aesthetics, we do want to create a game that not only plays well, but looks phenomenal as well.  However, for the prototype presentation, we will not be required to show off the looks of the game, so we will most likely use placeholder assets and focus more on animations of the characters for now.  In the case of the prototype, if either of the two elements listed above fail or do not function how we had hoped, the game will just feel sloppy and underdeveloped.  This is the polar opposite of what we want to happen, as we want to create a hype around our game and leave those who play it anxious to get their hands on the full release title.  Hopefully Gamma Gears will be coming to a GameCon near you in 2014!

          

Blog Quest 2: Design Your Game Item

    In the same fashion as many of the blogs before this one, I will be implementing an item into one of my favourite titles released by the company Rockstar Games.  This title is the 2010 hit classic Red Dead Redemption.  Before getting in to the item I would love to have added to the game, I will first give a little overview as to how the game is played before any modifications.  The player begins the game as John Marston, a retired outlaw who has settled down with his family in the mid-western part of the United States in the year 1911.  Marston finds that his family has been taken by the Bureau of Investigation and to get them back he must track down and kill his former gang member Bill Williamson.  This adventure takes Marston through old western towns, New Mexico, and open plains filled with random encounters and wildlife.  The combat in Red Dead Redemption is similar to the kind used in the Grand Theft Auto series.  The player uses a wide variety of pistols, rifles, snipers, and shotguns.  Along with these weapons, the player has special items to use such as dynamite, molotovs, tomahawks, and my favourite weapon, the lasso. By using all of theses weapons together, the player will defeat many enemies and eventually retrieve your family from the corrupt Federal Bureau.

So many possibilities with such a simple tool.


     Since the lasso is my favourite tool in the game, it only made sense that the weapon I design would be used in conjunction with this favourite of cowboy cliches.  The weapon that I would want to introduce to Red Dead Redemption would be the native Americans Bow and Arrow.  To begin I will outline how the player could receive this iconic weapon.  The game is full of minor characters, a few of them being native Americans.  By implementing a simple side quest, the character could receive the bow and arrow (along with training) as a reward from one of these minor characters.  

     
One of the Native American characters in the game.
    Now that we have the weapon, we would have to learn what it can be used for.  The first use would be a simple extension of how far the lasso can reach.  In the normal campaign, the lasso is useful for capturing bounties alive, which in turn rewards the player with more money.  By simply purchasing rope arrows from any general store, the player now has the means to grab the bounty from further distances and rope them in for a hogtie.  Now, while this seems overpowered and would in turn render the lasso completely useless from that point on, the rope arrows would come in very small quantities from the store (a specialty item) and would do a set amount of damage to the bounty, making them more susceptible to being killed before they can be taken to the nearest sheriffs office.
 
Similar to the, but with an arrow in his back.

    Another couple of uses for the rope arrows would be more for traversing the landscape and interaction with objects.  I will begin with the later of these.  At certain points in the game, Marston encounters scenarios where he is hopelessly outnumbered by the enemy.  In these situations, the levels could be altered to allow the player to shoot interactive objects (Pill of barrels, the supporting beams of a ledge) with his rope arrows and give them a sturdy yank, bringing them down on the enemy.  I feel like this could create some cinematic moments that would leave the player in awe of what they just accomplished.  The second use would allow Marston travel over large gaps of land in a short amount of time.  This would be accomplished by shooting rope arrows from a higher point to a lower one.  Once done, Marston would attach the other end of the arrow to an adjacent structure or the ground.  This would create a zip-line of sorts and would assist the player in some situations where they would like to get to a lower point, but no clear path is in site.  As mentioned earlier, the rope arrows would be quite rare and would have to be used sparingly.

    One thing that I noticed while playing Red Dead Redemption, is the severe lack of stealth gameplay.  I know that John Marston is this rough and tough gunslinger, but I feel that with the day night cycle included, the game could have benefited from some form of sneaking.  The Bow and Arrow would fit like a glove in this scenario, as the player would have to forgo using their conventional firearms, for the more tactical approach.  This would also change gameplay, as players would be able to raid encampments silently, while in turn eliminating the aspect of witnesses hearing your gun shots and trying to turn you in to the authorities.  Since players may try to just use the bow at all times and player every mission through with stealth, not only would arrows be particularly rare to find on cowboys, the player would also have to strike the enemy in the upper chest/head area for an instant kill. 

Prime time for sneaking up on enemies.

    Although it is a fairly simple weapon addition, I feel that if it was implemented in the ways listed above, the Bow and Arrow could make for some incredible moments and add to an already astonishing gaming experience.