Perro Engine Features

⚠️ Experimental - Pre-Release

Discover what makes Perro Engine powerful, efficient, and built for creativity.

A comprehensive overview of Perro's capabilities and systems

Performance Highlights

55,000
2D transform updates at 60fps
15,000
Dynamic sprites rendered at 60fps
500ns
Signal dispatch time

Static sprites can render even more efficiently

Core Systems

🚀

Core Engine

Central engine architecture with flat map node storage for fast access and optimal performance.

  • Flat map architecture for O(1) node access
  • Engine-managed node storage
  • Type-safe API bindings
  • Scene-based architecture
  • Modern render graph system
  • Cross-platform support
🐶

Pup DSL

Native scripting language designed for game development. Compiles to optimized machine code.

  • Beginner-friendly syntax
  • Compiled to native machine code
  • Full type checking
  • Optimized for game development
  • Direct native code execution
  • No runtime interpretation
Learn More →
🔗

Node System

Everything is a node managed by the engine's central system for fast access and simple hierarchies.

  • Central flat map storage
  • 2D and 3D node support
  • Camera and light nodes
  • Simple, reusable components
  • Fast O(1) access
  • Hierarchical organization
Learn More →
🎬

Scene System

Organize your game world with powerful scene management and hierarchical node structures.

  • Scene-based architecture
  • Hierarchical node system
  • Static compilation in release
  • Fast scene loading
  • State management
  • Level organization
📡

Signal System

Global signal system for decoupled, event-driven architectures with 500ns dispatch time.

  • 500ns dispatch performance
  • Emit from anywhere
  • Connect listeners anywhere
  • Name-based identification
  • Works across scenes
  • UI component integration
Learn More →
🎨

FUR UI System

Declarative UI markup system similar to JSX or XAML for building beautiful interfaces.

  • Declarative markup syntax
  • Text-based approach
  • Flexible layout system
  • Panel and boxing components
  • Styling and padding controls
  • Static compilation
Learn More →

Build System & Performance

📦

Build System

Flexible build modes optimized for development speed and release performance.

  • Dev Mode: Fast recompilation
  • Release Mode: Single executable
  • Static asset compilation
  • 1ms vs 70ms loading (no I/O)
  • Images pre-converted to RGBA
  • All assets embedded in binary
  • LLVM optimization
  • Project configuration via project.toml

Performance

Native performance without sacrificing developer experience.

  • Zero-cost abstractions
  • No garbage collection
  • Memory-safe execution
  • Static asset compilation
  • No runtime file I/O
  • Direct GPU upload
  • Static linking
  • 10k+ updates per second

Speeds have been achieved up to 40,000 updates per second on Windows and 200,000 updates per second on Linux VM

Development Workflow

🔄

Fast Iteration

Get quick feedback during development. Write your game logic, compile, and see results fast.

  • Fast script compilation
  • Quick feedback loop
  • Smooth development workflow
  • Focus on creating, not waiting
📝

Simple Development

Write your game code directly. No complex setup or configuration needed.

  • Write scripts in Pup
  • Attach scripts to nodes
  • No manual memory management
  • Type-safe API bindings

Feature Status

Stabilized Features

  • Pup DSL scripting system
  • Type checking and casting
  • DLL loading & dynamic script loading
  • Static linking in release builds
  • FUR layouts, panels, and boxing
  • Global decoupled signal system

🔄 In Progress / Planned

  • Pup DSL expansion (control flow, stdlib)
  • FUR runtime editing & editor viewer
  • Scene editor
  • Asset pipeline

Ready to Get Started?

Explore the documentation and start building with Perro Engine today.