Skip to main content

Throwback: Game of Goose (2019)


 After publishing my previous blog, I was looking through my old projects. I have a lot! Mostly never finished though. But I will share ideas, that I was toying with in the past, on this blog. Just to show the humble beginnings from which MaxxHoorn, the greatest-game-developer-of-all-time, once started.


The first throwback is the old boardgame Game of Goose. At the end of July 2019 I was thinking about making a digital version of this game. Below is the functional description (or game development document) I wrote for this. At the bottom some other design iterations I did for the geese-meeples.


By the way, this project was abandoned and never came to fruition. 

----------

Game of Goose

Rules

The gameboard consists of 63 tiles. The start-tile is tile 0 and the end-tile is tile 64. The object of the game is to move from tile 0 to tile 63 before the other players do. To move your game-piece, you have to throw 2 dices and move the number being displayed on the combined dice, so a number between 2 (two 1’s) and 12 (two 6’s).

The board also has special tiles, where the player has to perform a specific action.


If a player would throw 9 in the first throw, the game would be won instantly. Therefor during the first throw, the following rules apply:


The game can’t be played solo, since there is no way to get out of the well (31) and jail (52) tiles without aid of another player. Also there’s no way to skip a turn at the inn (19).

If the game is played by two players and one lands on the well (31) and the other in jail (52), the game will end in a draw, since there is no way to get out of these tiles without aid of another player. The chance of this happening is 23%.

The game will be played by 2 to 4 players. There is a possibility to play against one or more AI opponents.


Board

The board has the shape of an inward turning spiral. Examples are depicted below.


Picking number of players

The game can be played by 1-4 human players. If there is less than 4 human players, the additional players can be played by AI. If there is only 1 human player, then at least 1 AI player must be chosen.

The player(s) choose which color game-pieces they want to be played by human and by AI players. The choices are Red, Green, Blue and Yellow. All game pieces are represented by an image of a goose in or wearing something with the chosen color. Each game piece can have one of three states:
  1. Human player,
  2. AI player,
  3. Not playing.
If a game piece is chosen to be played by a human player, the player can enter their name for during the game and for high score / statistic purposes. Game pieces controlled by AI players have fixed names. Statistics on the performance of the AI players are also recorded.

Names of AI player controlled game pieces:


Dice throw

The game uses two dice which have to be thrown simultaneously. Since this is a 2D game (at least in the first version), we use six images per die to show the faces 1 through 6. The object containing these images is spinned around and the images are rotated randomly (displaying a random image every time) to simulate a roll. When the dice stops ‘rolling’ a random number is displayed as the end result.

Since we want to throw two dice at the same time, we will have a Roll-button which the player can push to start the dice throw. When it’s the turn of an AI-player, no such button is shown. The two dice may spin in different speeds to maintain the illusion of a real dice throw.

After the throw, the end results of both dice are added up and this is the number of tiles the player will move.

As mentioned in the Rules-section, when in the first throw the end result is 9 (4+5 or 6+3), there will be a special action.

Each dice throw will be counted for use in the high scores.


Moving on the board

To move on the board, we need to define the position of each tile and the position the game-pieces on that tile. Also we need to define the direction the game-pieces are facing on each tile. We don’t want to walk backwards if we’re going forward on the board. For this I want to set a number of parameters for each tile, as described in the table below.



Dialog boxes

When the player ends his move on a tile which has an action (see Rules section), a dialog box is displayed stating the action and an OK button. When the player presses the OK button, the action is automatically carried out by the game.

End of the game

The game ends when one of the players reaches tile 63 exactly at the end of his move. This player is then declared the winner.

As stated in the Rules section, in case the game is played by two players and one lands on the well (31) and the other in jail (52), the game will end in a draw. This will not count as a win for the scoreboards.

At the end of the game, the number of throws to reach the end by the winner are counted and are used for the high scores.

High scores and statistics
If a human player wins the game, the number of throws are counted to display a place on the high scores list. Additionally it is also counted how many times the player landed in the well (31) or the jail (52). If two players have the same amount of dice throws, the player who landed the least number of times in the well (31) or jail (52) is placed higher on the high score list. If both the dice rolls and the number of landings in the well (31) or jail (52) is the same, both players will share the place in the high score list.

For AI players statistics are being recorded on how many times they won and how many dice throws it took them.

Both the high scores and statistics are only recorded for the specific instance of the game. In the future we might add global high scores and statistics.

Future updates

The Minimum Viable Product of the game is a working version with a single board. The game mechanics should be reusable for other Game of Goose boards and other boardgames.

Further improvements on the base game

  • Releasing the game on different platforms
  • Animations when moving the game pieces
  • 3D dice throw
  • Global high scores / statistics

Ideas for other boards

  • Zombie Mode
    Every game nowadays has a zombie mode, so why not Game of Goose? Basically it will just be a zombie-goose themed board focusing more on the fun than the horror.
  • Brand specific (stand-alone)
    I want to make a version for the company where I have my day job, the energy company Vattenfall. Since they are rebranding from Nuon (Dutch) to Vattenfall (Swedish), it might be nice to offer a traditional Dutch game of Ganzenbord to customers and their kids.
  • DLC boards
    DownLoadable Content boards can be offered for a small price on top of the free basic game as a revenue model. Think of themed boards like SciFi, Medieval, Animals, etc.

Ideas for other games

These games have fairly simple rules which are probably easy to adapt based on the code made for Game of Goose. They are mostly relient on dice-throws and therefor don’t need complex AI strategies.
  • Ludo (in Dutch: Mens Erger Je Niet)
  • Ladders & Snakes
Several different games can be bundled in one App to offer a pack of games.

----- END -----


Comments

Popular posts from this blog

Sirens - the next step

  In the last few days, I made a ton of progress. I'm still working on the same screen, the artist profiles, but I've added a bunch of new features, like getting the profile data loading smoothly from the JSON arrays. All in all, I'm probably only at about 1 or 2 percent of what I ultimately want to make, but I'm really happy with how it's shaping up. Of course, it wouldn't be indie dev life without a setback. Over the weekend (Sunday), I completely screwed up and lost a massive chunk of progress. By the end of the day, I was almost back to where I was on Saturday. Almost. The silver lining? Forced to redo it, I completely restructured how the data handles the modular character profiles. That refactoring actually makes it way cleaner and easier to build out the game further down the line. Then, yesterday and today, I knocked out some smaller additions that somehow feel huge now that the foundation is solid. Check out the video below to see how it's looking ...

AI is killing creativity!

  I'm currently experimenting with AI, using Gemini and ChatGPT to create images as inspiration for new characters. For a game idea that I have in my head, which is a long way from any shape or form, so I won't get further into that yet. I fed Gemini and ChatGPT some of my earlier characters (actually my only set of characters that I published thusfar): the Cleopatra-zombie character set . And I'm using that to create better looking characters. So I might come out with a Cleopatra v2 set in the near future. Cleopatra Here's the first version of Cleoptra, dressed in white (part of a jump-animation) and the version AI made from it (with a spaceship background - which gives a hint about what kind of game I want to make), as well as a face portrait. The full-body image was created by ChatGPT. The headshot was created by Gemini, as you can see by the 'sparkle icon' watermark in the lower right corner. Gold Cleopatra I also made another 'skin' for Cleopatra, w...

Sirens Devlog: New UI, Character Makeover, Band Stats, and More!

Hey everyone! Welcome back to another update on Sirens. It’s been a busy development cycle, and I’m excited to share what I’ve been working on behind the scenes since the last update. Check out the progress in the video below: Here is a rundown of the latest additions and improvements: In-Game News Feature I’ve kicked off development on a brand-new news feed feature. This will be used to keep players immersed in the game world, reacting to the band's rising popularity, world events, and industry gossip. It's still in its early stages, but it's going to add a lot of life to the game loop! New Character Art Style The characters got a fresh visual overhaul! I’ve transitioned to a brand-new art style. It gives the band a sharper, more polished look that better fits the vibe of the game. Let me know what you think of the new look! New Management Dashboard Managing your band just got a whole lot easier. I've implemented a brand-new dashboard that tracks all the essential metr...