While learning some AI stuff for my studies, I thought about What makes a game unique/interesting/different/memorable?

I quickly tried to figure out how to make an alternative interaction with the game. Typically a player can navigate through the scene via arrow-keys/mouse or similar. What if the goal of the game is to learn how the navigation actually works?

Approach

The User Interface will be a binary string with a length of n Bit. The string is containing several different information, like the current position, a light switch, …
The player can switch on and off every Bit but doesn’t know which Bits are belonging together. Maybe the first 16 Bits are the x/y position with a bit depth of 8 Bit per direction (cmp. with Fig1). Or the last Bit toogles a reset of every bit to the original state?

 

There are some simple rules in order to get a quick picture of the string:

  1. Multi-Byte values are always in order. There is no light switch in-between an x value or between x and y values.[1]
  2. Only Integral datatypes. There is no float or double or string at all.[1]
  3. Switches and toogles come rarely alone. They only need one Bit but would waste 7 Bit when used alone.

The goal of the game is a specific state of the string.

The Monkey-Banana Problem

To make this game more interesting, the target string can’t always be reached directly. Think of a labyrinth were you can’t go to the target by linear distance. The Monkey-Banana Problem is an AI problem where you have to do several steps in a specific order before making the final one. In the original problem a monkey wants to have a banana. The banana is hanging on overhead light. The monkey is at the door and can’t get it directly, because it isn’t tall enough. At the opposite of the room, next to the window, is a chair.
The monkey can only get the banana if he grabs the chair and places it under the overhead lamp.

Short: The player has to pass different strings in order to get to the target one.

Isn’t this far too complicated?

Maybe. But only because the approach sounds too theoretical. The player hasn’t be aware of the monkey banana problem in order to play the game successfully. Solving the problem should be ibtuitive .
For example when you navigate through a labyrinth, you can’t[2] go to the goal by linear distance but you can try different paths. This inherits that you know passing over a wall is not allowed.

But handling with zeroes and ones can be complicated. Maybe there should be the possibility to change the number systems or even mark specific bits as a group.

Prototype

In order to check out if this game would make fun or not I will develope some prototypes.

In the first place it is necessary to make things as easy as possible. Stupid simple.

The first Prototype will be a Console Application where you have to enter the whole binary String in each round. The string will be converted into binary and evaluated.

Later on the console will be replaced with an OpenGL scene where things get hopefully more funny.

Naming

The naming behind OZO is simply One Zero One. This is a kind of a paradox, while you can write 0 instead of O which would mean zero-zero-zero.

Update 01.02.2018

While developing a string to bin function and playing around with various numbers I recognized that it isn’t necessary to enter the whole bit string over and over again. As a User it is annoying to reenter it and as a developer it is annoying to re-parse it. Instead I thought about an index-based user input. The user types the index of the bit he wants to flip. The side-effect of this method is that only one bit flip at the time is possible.

[1] How about breaking this rule on the higher difficulty?
[2] Disproved by example!

Hits: 206