Game Manual

Spinny-title Mechanical-title

Table of Contents

Key Features

  • Explore Vibrant Worlds: Discover levels full of animations and effects that will captivate your senses.
  • Level Editor: Unleash your creativity with a powerful level editor featuring tens of different entities, backgrounds, weather effects, and hundreds of assets.
  • LevelEditorScreenshot
  • Multiplayer Mode: Engage in split-screen multiplayer mode for up to 4 players, perfect for playing with friends or family members.
  • MultiplayerScreenshot
  • Immersive Experience: Enjoy day-night cycles, fractal Brownian motion clouds, caustics, rain, lightning, and storms that will draw you into the game world.
  • ImmersiveScreenshot
  • Advanced Sound and Vibration System: Feel and hear the world around you with 3D spatial sound and advanced vibration system. Headsets are recommended for a truly immersive experience.
  • Built-in Chat Client and Server: Communicate with other players using the built-in multiplayer chat client and server, featuring touch keyboard, notifications, and more.
  • ImmersiveScreenshot

Story Mode Features

  • Engaging Storyline: Follow an engaging storyline with dialogues and A.I.-powered NPC interactions.
  • RPG Elements: Enjoy save/load system, progression system, missions & objectives in story mode, perfect for players who enjoy RPG games.
  • MultiplayerScreenshot

Story

Baron Cogsworth, a mechanical genius with a penchant for steampunk inventions, and obsessed with turning Verdantia’s natural beauty into a world of gears and metal, used his mechanical army to capture and corrupt the animals of Verdantia.

Controls

Here you will find the control scheme for the game.

Control Scheme
  • You move the player with the thumbstick or analog stick
  • You can interact with objects by pressing up or the key 'Y'
  • The guide buttons opens the chathud with which you can chat, talk to npcs or execute commands
  • The radial menu and zoom are triggered by pressing the RT and LT Buttons and by moving the right thumbstick
  • Open the inventary and missions with the LB and RT Buttons
  • Mobile Features

    Touch Gestures

    • Pinch to Zoom: Use two fingers to pinch outward or inward on the screen to zoom in or out. Zoom works during gameplay.
    • Pinch to zoom
    • Swipe down to pull the menu: Release to select an option.
    • Pull Menu

    Radial Menu

    Description: Touch with two fingers to open the radial menu. Slide your finger toward an option, then release.

    Radial Menu

    Story game elements

    Story game elements

    • Dream altars are scattered across various stages. "When you rest at one, your dreams are preserved.ou can resume your adventure exactly where you left off.
    • Pinch to zoom
    • Progression System - Rescue animals to advance through the story"
    • Rescue-animals
    • Missions & Objectives - Complete specific challenges"
    • Rescue-animals
    • RPG elements - Collect,use, trade items, engange with npc"
    • Rescue-animals

    Jigoku mode

    Jigoku mode

    • Jigoku mode: A streamlined, high-performance version that stays faithful to the original, with only essential additions: touch controls, mobile screen layouts and pull menu.
    • Based on latest update from the original developer of the game and engine Ricky Thomson (aka Jigoku): https://github.com/Jigoku/boxclip
    • jigoku-mode

    Memory modes

    Memory modes

    • By default, the game launches in Low Memory Mode. This reduces memory usage by approximately 2 GB. You can switch to High Quality Mode at any time via the pull-down menu or radial menu. Ensure you have at least 2 GB of additional RAM before enabling it, or your system may freeze. The game requires a minimum of 4 GB of RAM. Multiplayer and High Quality Mode need at least 6–8 GB of RAM.

    ChatHUD Overview

    Features

    • 📘 ChatHUD Overview
    • ChatHUD is a powerful chat interface that serves three main purposes:
    • 1. 💬 Chat Server Communication
      Connects to a NoobHub chat server by default. If no special command is detected, it sends input as a standard chat message.
    • 2. 🤖 AI Interaction (GPT4All / Ollama)
      Routes command-style input to either:
      - GPT4All (default local model)
      - Ollama (e.g. for character-based or advanced interactions)
      Supports backend switching via commands like:
      switch to gpt4all, switch to ollama
    • 3. 🖥️ Terminal-Like Commands with Autocomplete
      ChatHUD includes an intelligent command-line interface supporting autocomplete. You can:
      - Configure settings
      - Toggle features
      - Send commands like: set temperature to, enable music, quit game, set server to
    • 🎁 Bonus – NPC Interaction with Whiskers (AI):
      Use talk to whiskers [question] to interact with an AI-powered in-game cat.
      Whiskers uses the Ollama backend to provide answers with fuzzy matching and synonyms.
    • ChatHUD Screenshot

    Useful Commands

    System Commands

    • set temperature to
    • set max tokens to
    • set model to
    • set api url to
    • switch to gpt4all
    • switch to ollama

    Feature Toggles

    • enable / disable touch controls
    • enable / disable performance mode
    • enable / disable day night
    • enable / disable speech

    NPC Interaction

    • talk to whiskers + question
    • Example: talk to whiskers tell me about baron cogsworth

    Messaging

    • send to channel
    • send to user + username + message
    • set username to + new username
    • set server to + IP of the noobhub server

    NoobHub Overview

    What is NoobHub?

    • 📘 NoobHub: Network multiplayer and messaging for CoronaSDK, Moai, Gideros, LÖVE & Defold
    • GitHub Repository

    How to Start NoobHub

    1. Open ChatHUD:
      - Press the guide key (gamepad), or
      - Open pull menu > select "ChatHUD"
      Open ChatHUD
    2. Select "Start NoobHub" from the contextual pull menu
      Start NoobHub
    3. On successful start:
      - You’ll see a notification that you've joined the main channel
      - Your nickname appears in the user list
      - The listening port is shown
      NoobHub Connected

    Alternatively, run the original server from: src/extras/NoobHub/server/

    • Follow instructions at: NoobHub GitHub
    • Start it with: nodejs node.js (requires Node.js)

    Lua vs Node.js

    🟦 Lua / LÖVE2D NoobHub

    • Fully integrated—no external server needed
    • Includes new features like message notifications
    • Best for local or lightweight multiplayer/chat

    🟧 Node.js Original Server

    • Fully compatible
    • Lacks newer features (e.g. notifications)
    • Updates may favor the Lua version

    🚀 Performance Notes

    • Node.js: High concurrency, asynchronous, scalable
    • Lua: Simpler, ideal for embedded or small-scale usage

    Connecting to External Servers

    • set server to + IP — connect to external NoobHub
    • send to user + username + message — send private messages
    • set username to + new username — change nickname
    • By default, all messages go to the main channel

    NPC Interactions

    AI-Powered NPCs

    • One of the most advanced features of this game is the use of AI-powered NPCs.
    • You can interact with characters using natural language, thanks to integrated AI models.
    • NPCs have access to an internal knowledge base. They can answer questions about gameplay, story, characters, settings, menus, and even help with puzzles.
    • Each NPC has a distinct personality and stays consistently in character, making conversations feel realistic and immersive.
    • In addition to answering questions, NPCs can also change game settings. Simply type the relevant command — the chat interface features autocomplete, and you can use the TAB key to select suggestions.
    • NPC Interaction Screenshot
    • To talk to an AI-powered NPC, locate them in the game world. They may be found inside houses, buildings, or out in the open. To initiate a conversation, press the interact button (Y) or enter the area where the NPC is located.
    • Requirements for NPC Interactions:
    • 1. ollama must be installed on your local or remote machine.
    • 2. An AI model must be installed via ollama.
    • Note: The NPC interaction system and the chat interface (ChatHUD) are still under development. Some options may not be configurable yet — defaults should be used.
    • The required model for NPCs is: llama3.1:8b-instruct-q4_0
    • By default, the NPC system will search for ollama locally. To use a remote instance, type the command:
      set api url to "IP_ADDRESS_OF_OLLAMA"
    • ⚠️ Do not confuse this with set server to IP, which is for configuring the NoobHub messaging server.
    • While there is a command set model to, it only applies to the GPT4ALL backend, which is not used by the AI-powered NPCs.
    • Installing Ollama and Required Models (Ubuntu):
    • For other OS or distributions, refer to the official documentation for your system.
    • 1. Open a terminal and run:
      curl -fsSL https://ollama.com/install.sh | sh
    • 2. Verify that Ollama is running by visiting localhost:11434 in your browser. You should see the message “Ollama is running”.
    • Installing the Required Model:
    • Use this command to install the LLM:
      ollama pull llama3.1:8b-instruct-q4_0
    • This specific model is required for the NPC interaction system to function correctly.
    • Note: This requirement is temporary until model selection via terminal is implemented.
    • Advanced Tip (For Developers Only):
    • If you're experienced and know what you're doing, you can hardcode the model in the following file:
      extras/chatHud/chathud.lua
      Look for this section and modify accordingly:
      if backend == "ollama" then
          requestBody = {
              model = "llama3.1:8b-instruct-q4_0",
              prompt = userMessage
          }
          apiUrl = OLLAMA_API_URL
      end
                
      ⚠️ Do not edit this unless you understand the implications.

    🗣️ Enabling NPC Voice with Coqui TTS

    • In addition to text-based interaction, NPCs can speak aloud using a local Text-to-Speech (TTS) engine powered by Coqui TTS.
    • This adds a new layer of immersion by giving each character a voice.

    ✅ Requirements:

    • Install and run a local Coqui TTS server on port 5002.
    • Ensure your firewall or security settings allow local HTTP requests.

    🔧 Setup Instructions:

    1. Install Coqui TTS:
      You need Python 3.8+ and pip. Run:
      pip install TTS
    2. Start the TTS Server:
      Use this command to launch the API server:
      tts --model_name "tts_models/en/ljspeech/tacotron2-DDC" --vocoder_name "vocoder_models/en/ljspeech/multiband-melgan" --use_cuda false --port 5002
    3. Test the Server:
      Visit http://localhost:5002/docs to confirm it’s running.
    4. How It Works In-Game:
      • When an NPC speaks, the text is sent to the Coqui TTS server via HTTP.
      • The response audio is saved locally as output_audio.wav.
      • The audio is immediately played back using love.audio.newSource.

    📜 Internal Logic Summary:

    • Spoken lines are added to a speechQueue via queueTextToSpeech(text).
    • processSpeechQueue() handles playback one at a time and calls textToSpeech(text, callback).
    • The system waits until each line is finished before continuing, using audioSource:setFinishCallback().
    • Music volume is restored after speech ends.

    💡 Developer Tips:

    • The audio is played from output_audio.wav. If needed, you can update the filename per NPC or use in-memory audio with Love2D’s SoundData.
    • Callback support ensures that dialogue and actions can resume once speaking ends.
    • You can customize cooldowns, audio fading, or background music handling in processSpeechQueue.

    VR Mode

    Immersive VR Panorama

    VR Mode Screenshot
    • VR Mode allows you to step into the game world in full 3D, with head tracking and panoramic immersion.
    • To enter VR mode, navigate the main menu to: Extras > VR Mode.
    • You require a device equipped with accelerometers and/or a gyroscope (such as a phone, VR glasses, or certain controllers) for full motion tracking.
    • If no motion sensors are detected, you can still explore the VR environment using the joystick thumbsticks on your controller.
    • Head tilting and rotation are mapped directly to accelerometer or gyroscope data, creating a natural sense of looking around and leaning.
    • If you reset your view (press R on keyboard or Y on joystick), your head orientation and offsets will return to neutral.
    • To enable post-processing effects such as CRT framing and scanlines, go to Settings > Graphics > Post-processing and select Toggle Moonshine.
    • Tip: Moonshine shaders are supported only on x86_64 architectures. If you encounter performance issues, try disabling unnecessary shaders and/or enable Performance Mode for smoother gameplay.
    • VR Mode Screenshot
    • Requirements for VR Mode:
    • 1. A compatible device with motion sensors (accelerometer/gyroscope) or a game controller with thumbsticks.
    • 2. A display such as a monitor, phone, or VR glasses that can run the game in standard 2D.
      Note: LÖVE does not natively support stereoscopic (dual-eye) rendering. The VR mode simulates immersion using head tracking, camera offsets, and shaders rather than true 3D split-screen output.
    • 3. (Optional) A joystick/gamepad for smoother navigation and comfort.
    • Compatible VR Devices (via LÖVR bridge):
    • LÖVR supports most **OpenXR and OpenVR devices**, including:
      • • Oculus / Meta Quest (Quest, Quest 2, Quest Pro, Quest 3)
      • • Oculus Rift (CV1, Rift S)
      • • HTC Vive (Vive, Vive Pro, Vive Cosmos)
      • • Valve Index
      • • Windows Mixed Reality headsets
      • • Pico Neo / Pico 4
      • • Most SteamVR-compatible headsets
    • Additionally, smartphones with gyroscopes can be mounted into simple VR glasses (e.g. Google Cardboard-style headsets) and used as motion trackers via companion apps or direct sensor access.
    • Setting Up the VR Tracking Server (LÖVR side):
    • 1. Install LÖVR on your VR-ready PC or headset (standalone Quest headsets require SideQuest or similar to run custom apps).
    • 2. Place the provided vr_sender.lua file in your LÖVR project folder.
    • 3. Run the LÖVR script with your headset connected:
    • VR Mode Screenshot
    • lovr vr_sender.lua
    • 4. The script will start streaming your headset (and controller, if supported) position and orientation data over UDP to the game.
    • 5. No extra configuration is needed inside the game: as soon as you enable VR Mode, the client will automatically listen for tracking data.
    • For the full VR tracking bridge and setup instructions, visit the LOVR2LOVE repository.
    • Controls in VR Mode:
    • Head tilt/rotation → camera orientation (if sensors are active).
    • Left stick → move forward/backward, strafe left/right.
    • Right stick → adjust view yaw/pitch offsets (manual look).
    • R / Y → reset view to default center.
    • Tips for Best Experience:
    • • Use a headset with built-in sensors for the most immersive effect.
    • • Ensure enough physical space around you to avoid collisions.
    • • If you experience motion sickness, take frequent breaks and reduce head movement sensitivity in the settings.
    • • Combine joystick navigation with natural head tilts for smoother exploration.