Pocket Creatures

November 30, 2025 · View on GitHub

Game Demo

Pocket Creatures is a small Pokemon-style demo built with GreyScript. It includes an overworld, a turn-based battle system, a simple pixel renderer, item/bag support, save/load, and basic party management.

This repository is intentionally compact and designed for experimentation and teaching — add new creatures, moves, maps, or polish the renderer.

Note: This demo project is mainly generated by AI. The only human-written part was the base canvas and pixel rendering libraries. The rest of the code (game logic, battle system, etc.) was created by an AI language model based on prompts and guidance.


Features

  • Overworld with tile maps and player movement
  • Turn-based battle system (FIGHT / BAG / PKMN / RUN)
  • Pixel renderer that runs in a separate display process
  • Party management: view and reorder Pokémon, switch in battle
  • Bag with Potions and Pokéball support (battle and overworld)
  • Save / Load game state

How to build

  1. Install either Greybel CLI or Greybel VS.
  2. Download or clone this repository.
  3. Open the project folder in VSCode (if using Greybel VS) and run Greybel: Build root file from the command palette, or run greybel build pokemon.src in the terminal (if using Greybel CLI).

Quick Start

Open two terminals side-by-side.

  1. Run the logic/input process:
pokemon game
  1. Run the renderer/display process:
pokemon display

The logic process writes the render state to a file; the display process reads it and draws the screen.

Controls

  • Movement: W/A/S/D or Arrow keys
  • Interact / Confirm: E or Space
  • Menu: M
  • Quit: Q

In battles:

  • Navigate options: W/S (or arrow keys)
  • Confirm: E or Space
  • Back / Cancel: Q

Title / Save / Load

  • At title screen select CONTINUE to load saved state (if present), or NEW GAME to start fresh.
  • Open MSAVE to persist your progress to /root/pokemon_save.dat.

Project Layout

  • pokemon.src — main entry; contains the game and display modes
  • libraries/ — core systems
    • battle.src — battle logic and state machine
    • renderer.src — rendering entry point (includes modules from renderer/)
    • renderer/ — rendering modules (battle, overworld, common, etc.)
    • ui.src — simple 3x5 pixel font and text helpers
    • renderstate.src — serializes state for the renderer
    • gamestate.src — save/load and global game state
    • creatures.src — creature factory, stats and moves
    • canvas.src / pixel.src — low-level pixel canvas

Troubleshooting

  • You'll need https://github.com/ayecue/greyhack-customizable-output to have the graphics displaying correctly. Due to changes in Grey Hack TextMesh Pro support.
  • If the display shows WAITING..., ensure the game process is running and has saved state (it writes to the render state file).
  • Save files are at /root/pokemon_save.dat — inspect them to debug load/save issues.

License

See the LICENSE file in the repository.

Next steps / Ideas

  • Add more moves, types, and animations
  • Improve UI text layout and scrolling
  • Add trainer battles with item restrictions and AI