/gamine

Mobile game recreating the Enigma Machine in the Wolfenstein II The New Order.

Primary LanguageGDScriptMIT LicenseMIT

GAMINE

HitCount pipeline status


GAMINE Inspired by the Enigma Machine in the Wolfenstein II game, to be released to Android, IOS, Windows and Linux.


GAMINE


Screenshot from Wolfenstein II

Download / Play Online

Objective

This game replicates the minigame found in Wolfenstein's II Enigma Machine. You are given 7 figures(levels) and your objective is to match their halves on the selector below.



This picture shows the center selector matching the first level, pressing enter progresses you to level 2.

How to Play

Use your arrow keys or on screen buttons to move the upper and lower selectors at the bottom of the screen, if you think highlighted middle row matches your current level press Enter (or the row itself on mobile) to advance to the next level.
The game is completed after finishing all 7 levels.

Highscores

Acess the game leaderboard using this link: leaderboard.barichello.me

Running

To play the game you can check the Releases tab and download the wanted version that matches your OS.
To modify the game locally download Godot Engine and open the game/project.godot file.
To run the server locally:

  1. Copy server/.env.example to server/.env
  2. Setup database tables with ./db-migrate up
  3. Install dependencies with yarn
  4. Run using yarn run start.

Game Structure

Godot's main tree scene structure during playtime:

root:
  Main:
    - Menu:
      - Leaderboard
    - Network
    - GLOBALS
    - Game:
      - Data

Scenes/Scripts

About.gd - About menu located in the main menu.
Bit.tscn - The bit scene represents a dot, used inside the Piece scene.
Database.gd - File used to save/load your highscores to your device.
Data.gd - Game logic and structures.
Game.gd - Game frontend logic.
GLOBALS.gd - Paths and constants.
Leaderboard.gd - Leaderboard popup.
Main.gd - Root node of the project.
Menu.gd - Main menu frontend.
Network.gd - Network related queries.
Nickname.gd - Popup that handles nickname registering.
PauseMenu.gd - Game popup used for pause.
Piece.gd - A piece represents a 'square' in the game, it's composed of 9 bits.
ResultsMenu.gd - Popup used to send your highscores to the game server.
SocialMediaBox.gd - My reusable social media buttons.
Themes.gd - Popup handling themes and color switching.

Thanks

Thanks to @Batarian711 for providing the logo for the game. Check #4