-
Notifications
You must be signed in to change notification settings - Fork 2
Quick Start Tutorial
A hands-on guide to your first 10 minutes with SparkEngine. By the end, you will have built the engine, launched it, explored the editor, and spawned objects in a scene.
Prerequisites: You have already completed the Getting Started guide and have a successful build.
# Windows
cd build\bin
SparkEngine.exe
# Linux
cd build/bin
./SparkEngineYou should see a window with a 3D viewport and the debug console. The default game module (SparkGameFPS) loads automatically.
Default controls:
| Key | Action |
|---|---|
| W/A/S/D | Move |
| Mouse | Look around |
| Space | Jump |
| Shift | Sprint |
| Left Click | Fire (captures mouse) |
| Esc | Release mouse |
| ` (Backtick) | Toggle console |
| F1 | Toggle editor |
| F3 | Toggle FPS stats |
Press ` (backtick) to open the debug console. Try these commands:
help # List all available commands
version # Show engine version
render_stats # Display rendering statistics
physics_metrics # Show physics performance
The console supports tab-completion and command history (up/down arrows).
Press F1 to open the editor overlay. You will see these panels:
| Panel | Purpose |
|---|---|
| Scene View (center) | 3D viewport — click and drag to orbit, scroll to zoom |
| Hierarchy (left) | Lists every entity in the scene |
| Inspector (right) | Shows components of the selected entity |
| Asset Browser (bottom) | Browse project files |
| Console (bottom) | Log output and commands |
- Select an entity — Click any item in the Hierarchy panel
- Inspect it — The Inspector shows its Transform, MeshRenderer, and other components
- Move it — In the Scene View, use the gizmo handles (arrows) to drag the entity. Press W for translate, E for rotate, R for scale gizmos
- Add a component — In the Inspector, click "Add Component" and choose a type
Use the console to spawn entities at specific coordinates:
spawn box 0 5 0 # Spawn a physics box 5 units above origin
spawn sphere 2 10 0 # Spawn a physics sphere
spawn box -3 8 0 # Another box
Watch the physics objects fall and collide. Toggle physics debug visualization:
physics_debug on # Show collision shapes and contacts
physics_debug off # Hide debug overlay
Try changing the environment:
# Time of day
time_set 6 # Sunrise
time_set 12 # Noon
time_set 18 # Sunset
time_set 0 # Midnight
time_speed 10 # Speed up the day/night cycle
# Weather
weather clear
weather rain
weather snow
weather storm
# Physics
physics_gravity 0 -5 0 # Low gravity
physics_gravity 0 -20 0 # Normal gravity (default)
Experiment with rendering settings:
# Quality presets
render_quality low
render_quality high
render_quality ultra
# Individual toggles
wireframe on # Wireframe rendering
wireframe off
vsync off # Disable VSync
shadows off # Disable shadows
hdr on # Enable HDR
Or edit Resources/Config/settings.ini for persistent changes. See Configuration Reference for all available settings.
If the FPS game module is loaded:
# Cheat commands
god # Toggle god mode
noclip # Toggle noclip (fly through walls)
player_tp 0 50 0 # Teleport to coordinates
# Game modes
gamemode freeplay # Free exploration
gamemode deathmatch # Deathmatch mode
gamemode survival # Wave-based survival
# Inventory
give 1 # Give item ID 1
inventory # Show inventory
Start a wave-based survival round:
wave_start # Begin waves
wave_status # Check current wave
wave_difficulty 2.0 # Increase difficulty
Check what the engine is doing:
engine_subsystems # List all active subsystems
metrics # Comprehensive system metrics
asset_list # All loaded assets
shader_list # All loaded shaders
Toggle debug visualizations:
physics_debug on # Collision shapes
Open the Profiler panel in the editor (Window menu) to see frame timings, draw call counts, and system performance.
Now that you have a feel for the engine, explore these guides based on your role:
- Creating a Game Module — Build your own game module
- Entity Component System — ECS architecture
- Scripting with AngelScript — Hot-reload scripting
- Artist Workflow Guide — Asset creation and import
- Editor Walkthrough — Complete editor guide
- Terrain and Procedural Generation — Terrain tools
- Making Your First Game — Build a complete game
- Gameplay Systems — Weapons, inventory, quests
- AI and Navigation — Behavior trees and pathfinding
- Multiplayer Quick Start — Set up client/server
- Networking — Full networking reference
- Dedicated Server — Headless server setup
- FAQ — Common questions and answers
- Configuration Reference — All settings and commands
- Editor Walkthrough — Practical editor guide
- Troubleshooting — Common issues and solutions
Published from ad9c3c1953cc. Edit the canonical source in wiki/.
- Documentation
- Docs route
- Wiki index
- Guides
- Tutorials
- Samples
- Examples
- API Reference
- API route
- Reference
- Build Guide
- Dependencies
- FAQ
- Changelog
- Roadmap
- Contributing
- Code of Conduct
- Home
- FAQ
- Getting Started
- Quick-Start Tutorial
- Making Your First Game
- Making Your First Multiplayer Game
- Artist Workflow Guide
- Editor Walkthrough
- Migration Guide
- How SparkEngine Works
- Architecture Overview
- Engine Architecture Flowchart
- Creating a Game Module
- Game Modules (catalog)
- Entity Component System
- Rendering and Graphics
- Physics
- Cloth Simulation
- Audio
- Input System
- Camera System
- Scripting with AngelScript
- Visual Scripting
- AI and Navigation
- Animation
- 2D Systems
- Networking
- Dedicated Server
- Multiplayer Quick Start
- Area Server Architecture
- Scene Management
- Large World Support
- Collaborative Editing
- Coroutine System
- Event System
- Event Response System
- Job System
- UI System
- UI Layout Extensions
- Localization
- Dialogue System
- Destruction System
- Replay System
- Achievement System
- Loading System
- Mod System
- Content Delivery
- Tween System
- Memory Integrity
- Gameplay Systems
- Terrain and Procedural Generation
- Save System
- Persistence System
- Day Night Cycle and Weather
- Cinematic Sequencer
- Runtime Prefabs
- SparkEditor
- Editor Tutorials
- SparkConsole
- SparkDaemon
- Shader Pipeline
- Asset Pipeline
- Asset Validation
- Asset Migration
- Game Packaging
- Online Services
- DataTable System
- Loot and Crafting System
- CSG System
- Font System
- Timer Manager
- Movie Render Pipeline
- HLOD and World Partition
- Remote Debug System
- Selection Manager
- Asset Dependency Graph
- Editor Automation
- File Watcher
- Project Templates
- System Requirements
- VR Support
- Mobile Platform
- Accessibility
- Platform Input
- Cross-Compilation: Wine Testing
- RHI Abstraction Layer
- D3D11 Backend
- D3D12 Backend
- Vulkan Backend
- OpenGL Backend
- Metal Backend
- DXR Raytracing
- Hybrid Ray Tracing
- Upscaling (DLSS/FSR)
- Render Graph
- Shader Graph
- GPU Particles
- GPU-Driven Rendering
- Volumetric Fog
- Volumetric Clouds
- Global Illumination
- Virtual Texturing
- Water Rendering
- Clustered Lighting
- Material System
- Post-Processing
- Shadow System
- Particle System
- Decal System
- Sky and Atmosphere
- Foliage System
- Mesh Shaders
- Neural Rendering
- Configuration Reference
- Performance Tips
- Benchmark Framework
- Threading Model
- Memory Safety
- Memory Management Patterns
- Build System and CMake Modules
- Profiler and Debugging
- Performance Profiling Guide
- Telemetry System
- Golden Image Testing
- Utilities
- Testing
- Codebase Statistics
- Codebase Health
- Error Handling Patterns
- Hot Reload Overview
- Troubleshooting
- Contributing
- Workflow Patterns
- Build Optimizations
- CI Reproducible Builds
- GitHub API and PR Checks
- Git Rebase Conflicts
- Clang-Format
- Code Quality Violations
- AI Bloat Pattern
- MinGW + Wine Cross-Compilation
- Live Editor Testing
- Engine & Renderer Landscape
- DuetOS Portability Catalog
- Five-Engine Analysis
- Eleven-Engine Analysis
- ThorVG / Unity Graphics Analysis
- Advanced Techniques Catalog
- Third-Party Library Evaluation
- Engine Viability Evaluation
- Engine Feature Recommendations
- Project Recommendations
- Mac Compatibility Analysis
- Codebase Observations
- Codebase Bloat Audit
- Test Suite Audit
- Documentation Coverage Audit
- ThirdParty Dependencies Audit
- Load Test Baseline
- Gameplay Systems Status
- SparkGame Module Status
- Stub and Abandoned Features
- Memory Integrity System
- Memory Safety Evaluation
- Hardware Acceleration Systems
- Jolt Physics Integration
- GPU/CPU Separation Plan
- Daemon Services Architecture
- Reflection & Polymorphism Refactoring Plan
- SparkBuild In-Tree
- Wine No-JobSystem Breakthrough
- Wine Role and Fallback Tiers