In this second post Experimental Project, I am telling about how I started developing the chasing game, and how I decided on the mechanics. I also included notes on winnability, balancing the game Tag, Pac-Man and determinism.
Based on my concept drawings, which you can see in Experimental Project W1 post, I started the development process. Tutors helped me build a system with nodes for point to point movement that I was aiming for instead of a grid structure. The player character moves with Lerp. The movement code loops through all the nodes and selects the one, which is the closest to the direction specified by the input. The controls are vertical/horizontal axis (arrow keys on the keyboard or a movement of a joystick).
I placed the nodes circularly around a centre point and connected them to 2-4 other nodes forming a pretty looking pattern similar to my concept drawing. The connected nodes form a line in between each other (line renderer) allowing the player to see the directions that they are able to take. Currently, the character moves from one node to another on a straight line, but I originally fancied to have curvy lines. I research ways to make this happen. I could use way points or spline renderer, but I decided to leave this for the latter part of the project. Curvy routes between points can contribute to both visuality and experience of the game, but it is not a must, only a nice to have feature.
Even though the distances between the nodes differ visually, it takes the character the exact same amount of time to get from one node to another. The code makes sure the time between two points take the same, but I will be fixing this to have faster speed on the short lines (visual distance) in between two points. This way, the player will be able to strategise to take the shorter/faster route, and try to stay on it by controlling the character skillfully.
After having some number of nodes, I started to work on the Moon character script. Moon character is similar to the Ghosts in Pac-Mac, it detects which direction the player character/Sun is going and then acts accordingly. For the Chase Mode (Sun trying to catch the moon), Moon moves away from the Sun and tries to reach the point as far as possible. This situation makes it impossible to be caught by the Sun. Moon has perfect information, it knows which point the Sun is heading towards, so it can make it's decision at the same time, as if reading Sun's mind. This wouldn't be possible in a real-life game of Tag. If they have the same speed, Sun will never catch Moon, because the human controlling Sun will get confused or his reflexes will not respond fast enough from time to time, and he will end up moving to a non-optimum node along the way. For this reason, I had to make Moon a little bit slower to make the game winnable.
After play-testing, it was obvious that Moon was too smart. Even though it was slower, the game still didn't feel natural since the Moon always made the perfect move getting away from Sun. Therefore, I added 5 second confusion periods (random movement) after every 15 seconds of perfect movement to the Moon's code. 5 seconds confusions helps Sun to keep up with Moon, and corner and catch it.
The idea of confusion periods was also drawn from the original Pac-Man. The Ghosts in Pac-Man also have different behavioural patterns to tackle with the asymmetric information between the human vs. AI characters.
After having the basics of the Moon and Sun character scripts, I made the navigation area larger by adding nodes to the pattern. At the instance of Eclipse (the two character crashing each other), I wanted the characters to exchange the roles of chase and escape, as the children do while playing Tag (escapee starts chasing if he gets tagged) and as it occurs in Pac-Man when the character eats a fruit (Ghosts turn in to blue and start running away from Pac-Man). To make this exchange possible, I added modes to Moon character. When the mode is "Chase" it escapes and when the modes is "Escape" it starts chasing the player. When ever the two characters collide, they summon to different locations within the web-like game board and the mode changes.
Illusion of Winnability & Game Balance
Chris Crawford wrote in 1982 of the importance of a game's "illusion of winnability"; Pac-Man is popular because it "appears winnable to most players, yet is never quite winnable". The illusion, he said, "is very difficult to maintain. Some games maintain it for the expert but never achieve it for the beginner; these games intimidate all but the most determined players"
Balancing does not necessarily mean making a game fair. Balancing is instead the management of unfair scenarios.
How to balance Tag
We can say that game balance is mostly about figuring out what numbers to use in a game.
This immediately brings up the question: what if a game doesn’t have any numbers or math involved? The playground game of Tag has no numbers, for example. Does that mean that the concept of “game balance” is meaningless when applied to Tag?
The answer is that Tag does in fact have numbers: how fast and how long each player can run, how close the players are to each other, the dimensions of the play area, how long someone is “it.” We don’t really track any of these stats because Tag isn’t a professional sport… but if it was a professional sport, you’d better believe there would be trading cards and websites with all kinds of numbers on them!
So, every game does in fact have numbers (even if they are hidden or implicit), and the purpose of those numbers is to describe the game state.
Determinism vs. Non-Determinism
The opposite of a deterministic game is a non-deterministic game. The easiest way to illustrate the difference is by comparing the arcade classic Pac-Man with its sequel Ms. Pac-Man.
The original Pac-Man is entirely deterministic. The ghosts follow an AI that is purely dependent on the current game state. As a result, following a pre-defined sequence of controller inputs on a given level will always produce the exact same results, every time. Because of this deterministic property, some players were able to figure out patterns of movements; the game changed from one of chasing and being chased to one of memorizing and executing patterns.
This ended up being a problem: arcade games required that players play for 3 minutes or less, on average, in order to remain profitable. Pattern players could play for hours. In Ms. Pac-Man, an element of non-determinism was added: sometimes the ghosts would choose their direction randomly. As a result, Ms. Pac-Man returned the focus of gameplay from pattern execution to quick thinking and reaction, and (at the championship levels, at least) the two games play quite differently.
Toru Iwatani, the creator of Pac-Man, was inspired by Andy Warhol, and decided to design the game as art. He designed the Pac-Man environment with neon colours as a work of pop-art, and also he gave the game characters personalities, which was ground breaking, because nobody did that at the time. The power cookies, which would flip the script, the game mechanics in between characters (the player assumes the chaser role in place of the runner), was similar to Popoye's spinach. As the levels increased they got more challenging. In between the levels there were comic strips, adding to the overall experience of the game.