eduard-permyakov/permafrost-engine logo

eduard-permyakov/permafrost-engine

Free

An OpenGL RTS game engine written in C

FreeFree tier
Type
Open Source

About eduard-permyakov/permafrost-engine

Permafrost Engine is an OpenGL 3.3 Real Time Strategy game engine written in C, designed in the image of classic RTS titles while incorporating modern ideas. It features a comprehensive rendering pipeline including skeletal animation, terrain splatting, shadow mapping, water rendering, and LOD. The engine supports batched rendering, efficient pathfinding with hierarchical flow fields and hybrid reciprocal velocity obstacles, GPU-based crowd simulation, and a full RTS gameplay system including fog-of-war, resource gathering, combat, and base-building. It exposes engine internals to Python 2.7 for scripting and includes an embedded interactive console. The flagship game EVERGLORY is built on this engine and offers a free demo on Steam with full access to gameplay scripts for learning and modification.

Key Features

OpenGL 3.3 programmable pipeline with modern extensions
Custom text model format with baked binary for fast loading
Skeletal animation with GPU skinning and batching of animation pose data
Phong reflection model with materials, directional light shadow mapping, bump/normal/parallax mapping
Terrain texture splatting, skybox, distance-based mesh LOD rendering
Batched rendering with dynamic batches and ringbuffer-based GPU streaming
RTS and FPS camera, tile-based map rendering with custom file format
Water rendering with reflection, refraction, and soft edge effects
Programmatic texture synthesis using Image Quilting, aperiodic tiling via Wang Tiling
Engine internals exposed to Python 2.7 for scripting with interactive console

Pros & Cons

Pros
  • Open source with a permissive license, allowing full customization
  • Comprehensive set of RTS-specific features out-of-the-box
  • Clean C codebase, well-suited for learning engine architecture
  • Includes a flagship game demo (EVERGLORY) for testing and learning
  • Python scripting exposes engine internals for rapid prototyping
  • Supports large-scale maps and efficient rendering of many animated entities
Cons
  • Uses Python 2.7 for scripting, which is deprecated and no longer maintained
  • Limited to OpenGL 3.3; lacks support for Vulkan, DirectX, or modern GPU APIs
  • Single-developer project, which may lead to slower development and limited community support
  • Steep learning curve due to the complexity of the engine and minimal beginner documentation

Best For

Developing custom RTS games with classic gameplay mechanicsLearning and experimenting with advanced pathfinding algorithms (hierarchical flow fields, ClearPath, Hungarian algorithm)Educational reference for implementing OpenGL 3.3 rendering techniquesBuilding modifiable game prototypes using Python scriptingStudying GPU-based crowd simulation and spatial indexingCreating tile-based maps with procedural texture generation

FAQ

What programming language is Permafrost Engine written in?
It is written entirely in C, using OpenGL 3.3 for rendering.
What scripting language does the engine use?
The engine exposes its internals to Python 2.7 for scripting and includes an interactive console.
Is there a demo game available for this engine?
Yes, EVERGLORY is the flagship game built with Permafrost Engine, and a free demo with full script access is available on Steam.