Wednesday, 30 October 2013

G.E.D. blog#3 - Navigation of A.I.

The use of A.I. is to give the illusion of human behaviour in game, and most of the time developers achieve this by using if statements and state-machine design. However, this still cannot cover everything and it would result in bad A.I.
http://www.youtube.com/watch?v=mgWhF1WkBJk

The above clip shows the some of the poor performances of A.I.. The characters reacts to the situation, but they are not sensing the player nor dynamic enough to make decisions. So today lecture we talked more about A.I. behaviour and watched the presentation from Reddy Sambavaram who participated in the game project of Deadlocked, Resistance: Fall of Man, etc.

Nav-Mesh
Reddy suggested the idea of using nav-mesh to help navigating the NPCs move around map in more flexible and dynamic manner. A nav-mesh is basically an abstract data structure to help finding path in large space, filter out the obstacle, and reduce the effort of calculation.



A.I. basically uses the path generated from nav-mesh and follow it rather than doing all the collision detection as it moves. One of the benefits of using nav-mesh is to make A* algorithm's job easier by giving its data to generate path faster. The mesh will provide node data to A* as the picture below. Reddy's development team removed the hierarchical  path-finding to attempt to remove some of its issues. However, they put it back at the end because nav-mesh would able to make it more efficient.



Although nav-mesh reduces the effort for path finding, there is still difficulty for A.I. to turn around corners. The red line in the below image illusrates a faster path to cross the map, but there is a sudden change of direction as it passes through a corner or it stays really close to the boundary of the mesh. This might cause flickering animation as the path has conflict with the collision detection system.


In order to solve this problem, Reddy introduces his solution by using Bezier curve. It simply takes the point of the direction the character is facing and the point locates in the opposite side from the turning path. It would allow character to have more space before making the turn. After using Reddy's solution, the character will have more room to make turns as illustrated in the following where green line is the controls of the bezier curve and orange line is the new path.



Through the use of nav-mesh, A.I. is able to select multiple paths and perform different behaviours depends on the situation. In the example Reddy used, meshes are located at different level. By using a custom link  that is set in between levels, it becomes one of the options for character to cross river.


As shown in his slide, when multiple characters collide together, they are able to figure out an alternative path through the use of pre-determined custom links between meshes at different level (Slide 34 http://www.insomniacgames.com/assets/extras/flash/Navigation.swf).

Another advantage of using nav-mesh is that it is convenient when it comes to level design. Designing level becomes more efficient as designer can change the nav-mesh easily according to the level. In the example Reddy provided, the designer decides to remove the wall while the nav-mesh is already defined, however, he/she is able to alter the nav-mesh easily to match the new design in Maya.

A designed level and nav-mesh

Wall is deleted and nav-mesh is hidden

The new layout of the level with the old version of nav-mesh

Nav-mesh covers the empty area with a few easy clicks


Overall, I learned about the implementation and the experience of using nav-mesh through Reddy's presentation. With the use of navigation mesh, dynamic A.I. becomes more possible and changing the implementation of nav-meshes opens up a variety of possibility for specific scenario.

Thursday, 17 October 2013

Grind Quest: Skills, Goals, and Feedback

Feedback loop can often be found in many games where it helps to reinforce player's behaviour in the game. Positive feedback loop helps to make players feel better and negative feedback loop tends to give some boost to players who are having poor performance. It is important to have good and balance feedback loop to help players achieve the goals in game, so players will not find the game is too simple and easy or feel frustrated easily.

The followings are the 3 examples I have in mind, how their feedback loop is clearly defined to help players achieve their goals with the skill they learn from the game.


1). Dead or Alive 5



DOA5 screenshots: a regular attack is being countered by a hold.
DOA5 screenshots: a throw is being performed.


The Goal of DOA5 is to defeat your opponent by using the right move of your character at the right moment, and this requires a certain amount of understanding of character's moveset in order to execute the right action at the right time. In order to help players achieve this goal, DOA5 has a rock-paper-scissors system, where movesets are divided into 3 categories and they counter each other. When the opponent is performing a regular attack combo, players have the option to encounter a hold (see above top image). If it performs successfully, players are able to stop the opponent's attack, and successfully execute this several time more can even turn the table from negative to positive and eventually win the match. Therefore, it is crucial for players to remember their character's moveset but also all the characters in the game. So they know how to react accordingly in order to lead to the best outcome, which would be winning the match. The feedback loop is nicely implemented compare to other fighting game, as taking the right action at the right time could favour players rather than just throwing out the attacks and expect the opponent will eventually dies.



2). Picross 3D


Picross 3D is a very unique puzzle solving game in my opinion. The goal of the game is to destroy blocks of cube from a a gaint cube to a specific object. In order to achieve this goal, this game provider numbers of some of the blocks to indicate which block would be in the actual object and which would be extra. The feedback loop in this game would be in the collector or achiever type players' flavourite. It is because it motivates players to solve the puzzle without destroying any actual cube in the process. This will also allow players to achieve full 3 stars for the puzzle, which they can unlock more other puzzles. In order to ensure players are using logical method to solve the puzzle, they put levels where players have to solve the puzzle without making one single mistake before moving on any further in the game. Moreover, after completing each puzzle, the object will be placed into a scene along with other objects that share something in common. Players can only get the objects by solving their puzzles one at a time. This can motivate players who like to collect by a lot every time they complete a puzzle as they are curious what the final scene is going to look like. 



3). Spot the Differences 


Spot the Differences is also a different kind of puzzle solving game that has been recreated by different companies over the decades. There are hundreds of version but the one that I like and want to talk about is the ones that have a timer, 3 magnifier, and the scoreboard. To start off, Spot the Differences heavily relies on the observation from the players. They have to spot and point out 5 differences in 2 images, and try to solve as many images as possible before time runs out. It is important to find out the differences accurately rather than just trying different location randomly. It is because when players solves the images without making mistakes can result in having time for the next puzzles. By continually doing so, players are able to solve more puzzles to achieve high score in the game. However, making a mistake by pointing by the wrong place can result in time deduction as punishment, which players should be avoid doing so. Therefore, players have to look carefully, while react fast enough before time runs out in order to score high in this game.



Overall, a balanced feedback loop helps players to enjoy the game. So, I want to takes these examples into consideration or inspiration when designing my own game. I would like to see players have observation on their surrounding carefully, critical thinking skill, learn and fully utilize the skills that are taught throughout the levels to achieve all the things they want in the game.

Grind Craft: Digital Prototype Feature Treatment

As a game development student, I have to make a digital prototype of a game with my team by the end of this semester. In this prototype, it is the most important to let players feel the game. This could includes how the game works, how does it flow from start to end, how the game looks, and what are the controls, etc.

My game is a 3rd person vcalled Roboy In the Hood. It features a robot that thinks it is a human boy and fights against criminals in their hood as a cop. The game style is pretty similar to GTA series and Sleeping Dogs where players explore in a large scale environment and complete certain amount of missions.

Sleeping Dogs screenshot
GTA 5 screenshot

What I concern the most is the gameplay and the design of the environment for the digital prototype. First of all, gameplay is the most significant thing to any game; a great game often requires to have great gameplay. Therefore, it is important to demonstrate how the players play in RIH(Roboy In the Hood) and what fun they can get out of it. Since the time and the team size are limited, we will aim for shooting as the only combat system in the game. Players would have options to obtain and switch weapon, and if they ever encounter large group of enemy, they can hide behind objects and move between them to help them fight or escape. This inherits the style of gameplay from the examples we look up to, but the most important thing is to execute it in the game. Therefore, the gameplay will be the highest priority in this prototype. Besides the gameplay, the design of the environment has a significant impact as well. For this particular gameplay, it relies on the environment a lot. For example, how do players travel around the city to complete their mission, or how can the objects in the environment enhance the excitement during combat should be taken into consideration when designing the world. With a well-designed environment, it can lead to more interesting gameplay, therefore, it is also important as gameplay for this prototype. Furthermore, one of the major feature for this type of game is that it allows players to play as a character in a virtual world and they can act accordingly to the rules or options that are predefined in the world. So, a well-designed environment can help to set the tone of the game. Besides these priority concerns we have, there are many other things we have to take into account. To have gameplay, we need to have a clear list of control players have on the character. For example, players would have a clear understanding different sets of action come from the character and guide them to understand how these action can help them progress and have fun in the game. Also, the aesthetics is a crucial element. The environment needs to be filled with well-textured and design buildings in order to deliver the atmosphere we want players to have in the game.

Besides the concerns we have, we also understand what would kill the game if something does not work out. The worst thing that would kill the game is that players are not able to explore around the city in maximum control. This includes many factors that may provides negative experience to the players such as control of switching from action to action. When players move around the map, they should move in a realistic speed with nice animated model, and switching from walking to running or to sprinting should smooth and convenient. It would a mood killer if there is a lag or delay between actions while they travel around. Therefore, this will be what we are trying to avoid in this prototype.


GDP Grind Fight: Feature Design Presentation

League of Legends is one of my favourite game and the one I play almost everyday. As a loyal player for more than 3 years, I always have many ideas in so many aspects for game. For this blog post, I want to describe a feature I want to see in the game and how it would make it so much more fun in my perspective.



League of Legends is a RTS game where one team of players fights against the other team of players. Besides the traditional 5v5 and 3v3, they have attempted and added new ways of playing the game for players to experience in the past years, such as ARAM(All Random All Mid), Dominion, and Coop vs AI.

Screenshot of ARAM


 Aram focuses on forcing players fight in a narrowed space hence increases teams' interaction; dominion focuses on taking control of the territories to outstand the opponent; and Coop vs AI allows players to fight against A.I. Out of all the new modes in League of Legends I like the idea of Coop vs AI where players can work together against AI instead of fighting each other. Therefore, my id
ea of a feature that League of Legends can add into is the Fuzion mode.

In the Fuzion mode, players get into small teams of 3 - 5 and are sent to different path to face different groups of AI. However, what makes it different is that the amount of enemy they face is going to be massive. Compare to the traditional way where there are 2 enemies champions and lines of minions that spawn from the base, there will be massive of mediocre and some strong monsters with a local base. By massive, I mean 50 - 75 monsters on the screen at once. The idea is similar to Ninety Nine Nights where one person has to battle against the entire army in a large scale environment.



Ninety Nine Nights screenshot


To demonstrate my idea of this feature, here is a picture I borrow from LOL, Magma Chamber.




Players are spawned on one side of the map and must divide up into teams and choose the path. Throughout the map there are numbers of monster's base where it spawns tons of monsters and only stops when players destroy it. The maximum number of monsters around each base would be 50 - 75, and each of team would deal quite a lot of damage. Therefore, players should form their team effectively with the typical roles of players such as the support, tank, and carry. In the traditional method, players can only purchase in the store at their base, however, in this mode, players are not able to go back and only can purchase items after taking down the monster's base. Finally, the teams will be united together at the end to face to the ultimate boss. This time, instead of dozens of monsters, it would be one super powerful boss. It has significant amount of damage output, health, and many area of effects attack(they would come in different pattern as well).

The idea of this feature is inherited from Coop vs AI and the expanded version of it. It is to bring players work closer together in a environment where players face a huge amount of enemy in a small team. It strives to bring a better harmony in the League of Legends community as there are many toxic players often cuss at each other for their skills and cooperativeness. Therefore, by adding more feature similar to Coop vs AI, it reduces the conflict players would have. Most importantly, I think this feature I have would be very fun to play with and people are going to like it too. 

:D

Wednesday, 16 October 2013

GDP2 - Emotional Contagion #2

In this blog, I want to talk about a game that really got me attached to for many reasons. It is called Portal 2 developed by Valve Corporation and published in 2011. It had won many awards such as game of the year in 2011, which evidently showed that Portal 2 is a game with quality and, most importantly, fun to play with.




There are so many things I love about this game. Before I get into the story I want to start off with the game mechanic. Portal 2 is a sci-fi puzzle solving game. Players use a portal gun to create 2 portals on portable walls to help themselves get through the map and solve puzzles (Sounds broken, doesn't it?). The challenging part is, it introduces many new mechanics in Portal 2 that do not exist in Portal, the prequel.

They are:

  • Tractor Beam
  • Light Bridge
  • Bounce Gel
  • Speed Gel
  • Conversion Gel
  • Cleansing Gel

They all have different functionality to help players solve puzzles. Feel free to look them up if you have never play portal before. The most fascinating thing about these items is that not only they come with their own unique functionality, they are able to combine with each other to create different effects. For example, tractor beam, aka excursion funnel, can send players across the map while defying the laws of gravity. However, it can also be used to get other items.


The above image illustrates the use of tractor beam can bring the bounce gel, the blue gel, across to the turrets, and the turrets are affected by the gel hence bounce around and become dysfunctional afterwards.

The above image is another example demonstrating the various use of items on each other to enhance the game mechanic. The light bridge, a hard surfaced made out of light where players can walk on it if lays flat or almost flat, can allow bounce gel to stick on it. In this particular puzzle, players are able to create more assets in the environment to help them progress. These are all driven by the ideas players would have in mind, with multiple times of attempt and failure, to come to the realization that the items can work together this way. I feel like this is a spoiler for those who have not play Portal 2 and are reading this, because this is what I was amazed the most when I first play Portal 2. The diverse function of each item can make a level looks simple, clean, and organized, yet can be extremely hard to solve. Therefore, players like me would like Portal 2 a lot not only because the levels are challenging, but the process of manipulating things in the scene to help us get across is extremely fun and could be very though-provoking.

After the introduction of game mechanic, the story in Portal 2 also a big factor to its success. There are merely less than 4 characters who can speaks during the story mode. They are Wheatley(bottom left image), Chell(left side of the middle image), and GLAdos(right side of the middle image) or it can be a potato(bottom right image).



As there are only a few characters, players would have more focus on the puzzles, storyline, and, most importantly, the development of each character. Long story short, as the story begins, Wheatley stands out as a character who helps players escape the lab, whereas GLAdos is a hateful and sarcastic program that just wants Chell to die. As the story progresses, things change. Wheatley becomes arrogant and dominating as it takes over the lab, whereas GLAdos falls to becoming an useless potato battery and Players have to carry it for the second half of the game while GLAdos is still as sarcastic as always. However, when Wheatley is exiled to space at the end, it reveals its innocent side where it is programmed to be, and GLAdos remains the same attitude and exile Chell back to wilderness as the best solution for both parties. These two characters have developed strong comparison, and are able to carry and develop players' emotion towards them throughout the story. The one-on-one dialog also helps emphasizing on their personalities and how they react to certain events. I would say this is one of the benefits of having only a few characters in the story, which I enjoy it a lot.

Overall, Portal 2 has excellent gameplay, story, and nice-looking graphics. The experience players can have is incredible and what grips me the most are the emotional development throughout the story, and the innovative way of solving puzzle with the use of game items and some imagination.