Categories
Games

Psychedelic Snake Charmer

When adapting a retro game, first thing that came to my mind is how I can make it different in a way that make the game more engaging. The word psychedelic is a term used to describe any experiences that happen to open your mind and give rise to new and unconventional thoughts. It is heavily associated with bright flickering colours and deep sounds. How can we take this concept of the psychedelic state beyond just the colour and sound and apply it to the gameplay. I decided to alter the scoring system.

Scoring System:

The original snake game is simple and straight forward. You eat a food item, you gain a point and the length of your snake increases which increases the difficulty of the game. The game ends when you hit a wall or yourself. The score is the number of food you’ve eaten. The defeat in this version is inevitable, and your performance depends on how long you manage to stay undefeated.

The newer iteration of the snake game have incorporated new methods like timer, bonus points, special points to extent the timer or to decrease the length, speed control, different maps. Newer versions have also included multiplayer support allowing multiple players to participate in the same game, sometimes competing against each other. Is there any new idea that I can add to this?

The first thought I had was to make this a game that could be completed, contrary to the retro theme of the inevitable defeat. A quote popped up in my mind – “The only way to win is by losing.” So, I have decided to make the game into a never winnable game that would ultimately lead you to defeat, but the nature of your defeat decides your victory. This system is meant to introduce mild confusion in the minds of the players, but at the same time maintain a comfortable gameplay.

The next section includes potential spoilers for the game, which are intended for the players to figure out themselves. It is advised to play the game before reading any further.

The snake is eventually going to die in the game. It is logically impossible to play the game forever. Since defeat is inevitable, let the defeat in the game not lead to the ultimate defeat. Let the nature of the defeat, or the variables at the time of defeat, decide whether the player has really won or lost the game.

First thing to consider is the point system. Instead of Points, I have decided to call it Food. For every food the snake eats, food points are given. But they are not uniform. The amount of food you gain is a function of the direction from which you attack the food. This function is decided once you start the game and stays constant until you close the game. Upon reopening the game again, a new random permutation is chosen.

There are four possible increments in the food points – +0, +1, +2, +3. Each of them is given to one direction at the start of the game which is final throughout the game. Now, if the snake attacks the food from top, food is raised by one, bottom, by three, and so on. This is a very miniscule change, how can this alter the scoring system.

There is also another change to the food points. They loop between 8 and -7. What does this mean? Imagine that the variable that stores the value of food is only four bits long. If there are only four possible on and off switches that could store the value of the food, this means that only sixteen possible permutations are possible. Which means there can only be sixteen different possible numbers which can be the food points, trimming the possible values to -7 to 8. Although, the real life system provides far more than four bits to store an integer, this effect is achieved by writing conditions around the variable, and no fraction-byte datatypes exist. This makes the food loop back to -7 when it crosses the threshold of 8.

How will this decide the victory and defeat? I choose another variable which acts as the ideal goal for food. Whenever the food reaches this specific goal, the player has entered the state of victory. If the goal is seven, and the player has eaten the food is a combination which adds up to seven, then the player has gotten a step closer to victory. If the player exceeded the goal, the food is going to eventually loop back giving the player many more chances to achieve the required goal.

How to win then? It is simple. You have to loose when you have reached the goal. You have to run into yourself or into a wall and end the game with the perfect food points. That is what meant by – you have to lose to win. The victory lies in when you lose.

Get the game at: https://rk-jain.itch.io/psy-snake-charmer
Github: https://github.com/rk-jain/psy-snake-charmer

The colour palette must contain different shades and tints of the same colour (hue). The hue changes with every food point the player gains, but this shouldn’t affect the contrast between the different colours.

Learn more about the colour palette at: https://uox.home.blog/2020/05/09/psychedelic-snake-charmer-colours/​​

I want the sound to create an infinite increase in tension as the game progresses. This is where the Shepard tone is used. Shepard tone is an audio illusion that gives you a feeling of forever increasing or decreasing frequency without actually moving beyond a given frequency range.

Learn more about the usage of Shepard tone in the game at: https://uox.home.blog/2020/05/11/psychedelic-snake-charmer-customized-shepard-tone/

Leave a comment