Skip to content

Latest commit

 

History

392 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Modern, free and blazingly fast game engine.

Built for developers who refuse to compromise, Pill that delivers the raw speed and creative freedom needed to bring even the wildest ideas to life.

Designed from the ground up to empower both teams and solo creators, it simplifies the complex while unlocking performance far beyond traditional engines.

For more info please visit: PillEngine.org

Design Goals

  • Clean and simple
  • Blazing fast
  • Highly extensible

Features

  • Archetype-based Entity Component System
  • 3D graphics (Blinn-Phong shading model, instancing)
  • Scenes
  • Input handling (keyboard, mouse, gamepad)
  • Sound playing (mono, spatial)
  • Resource system (mesh, texture, shader, material, sound)
  • Material system and custom shader loading
  • Custom systems, components and resources support
  • Error chaining
  • Launcher tool
  • Game project hot-reloading
  • Engine code hot-reloading
  • Scene state de/serialization 🚧
  • Shader code hot-reloading 🚧
  • Lights 🚧
  • Skybox 🚧
  • Post-processing 🚧
  • Networking 🚧
  • Physics 🚧
  • Configurable logging 🚧
  • Editor 🚧

Getting Started

  1. Install Rust https://www.rust-lang.org/tools/install
  2. Download and unpack this repository
  3. Build Pill Launcher cargo build --release --manifest-path <ENGINE_PATH>\Pill-Engine\engine\pill_launcher\Cargo.toml
  4. Add Pill Launcher to PATH (optional) On Windows: follow these steps add <ENGINE_PATH>\Pill-Engine\engine\pill_launcher\target\release On Linux: echo 'export PATH="$PATH:<ENGINE_PATH>/Pill-Engine/engine/pill_launcher/target/release"' >> ~/.bashrc && source ~/.bashrc and restart terminal
  5. Create new game project PillLauncher.exe -a create -n Hello-Pill
  6. Run it! PillLauncher.exe -a run -p ./Hello-Pill

Check demo!

Quicker iteration times (hot-reloading)

  1. When running the game example add -c hot-reload to the PillLauncher flags
  2. Run the example PillLauncher.exe -c hot-reload -a run -p ./Hello-Pill
  3. Change the code in your Editor
  4. Observe the game briefly pausing and resuming with changed world state

Documentation

Repository For detailed instructions visit Pill Guide's getting started page.

  • For game developers - Docs
  • For engine developers - Docs

Showcase

About

Modern, free and performance-first game engine

Topics

Resources

Stars

12 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages