Skip to content

schroedermatthew/FatP-Pacman

Repository files navigation

FatP-Pacman

License: MIT

A port of EnTT-Pacman to fatp-ecs.

Screenshot

Why does this exist?

FAT-P is a complete, production-grade C++ utility library written entirely by AI. fatp-ecs is an ECS library built on top of it — also written entirely by AI.

This project is the proof that it works. EnTT-Pacman is a real-world ECS codebase — 50 source files using EnTT's registry, entities, and component queries throughout. Porting it to fatp-ecs required changing 1 line of game code. The rest of the port is a two-file compatibility shim in third_party/entt/ that maps the entt:: namespace to fatp_ecs:: equivalents:

// third_party/entt/entity/fwd.hpp
namespace entt {
    using entity   = fatp_ecs::Entity;
    using registry = fatp_ecs::Registry;
    inline constexpr entity null = fatp_ecs::NullEntity;
}

Every #include <entt/entity/registry.hpp> in the original source resolves to this shim. No game logic was touched. A complete, AI-written ECS running a real game, with a real codebase, unchanged.

Dependencies

  • fatp-ecs — checked out as a sibling directory
  • SDL2 — handled automatically via vcpkg on Windows

Expected directory layout:

projects/
    fatp-ecs/
    FatP-Pacman/

Building on Windows (Visual Studio)

SDL2 is managed via vcpkg. Open the folder in Visual Studio — it will restore SDL2 automatically and configure with the included CMakeSettings.json.

Or from PowerShell:

cmake -S . -B build -DCMAKE_TOOLCHAIN_FILE="C:/Program Files/Microsoft Visual Studio/18/Professional/VC/vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=x64-windows
cmake --build build --config Release

Building on Linux / macOS

Install SDL2 via your package manager:

# macOS
brew install sdl2

# Debian/Ubuntu
sudo apt-get install libsdl2-dev

Then build:

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
./build/pacman

About the game

Original game by indianakernick. Based on The Pacman Dossier. Not a perfect recreation — some behaviour is simplified intentionally.

About

Port of EnTT-Pacman to fatp-ecs. Demonstrates drop-in ECS library compatibility — 50 source files, 1 line of game code changed.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors