Repository navigation
Project Recommendations
Audience: Programmers | Mixed
Thread Context: N/A (research/reference)
Platform/Backend Scope: All platforms (production-readiness infrastructure)
A gap analysis targeting the distance between "feature-rich engine" and "engine you can ship games with," followed by implementation of 13 production-infrastructure systems plus 3 bonus systems. The focus is shipping concerns: packaging, asset validation, format versioning, accessibility, cross-platform input, performance regression testing, project templates, telemetry, achievements, shader hot-reload, and community contribution files.
All systems are present in the current tree (verified 2026-06-08).
| # | System | File | Approx. Lines | Tests |
|---|---|---|---|---|
| 1 | Game Packaging Pipeline | Core/GamePackager.h |
~586 | TestGamePackager.cpp |
| 2 | Asset Validation | Core/AssetValidator.h |
~582 | TestAssetValidator.cpp |
| 3 | Asset Format Versioning | Core/AssetMigration.h |
~469 | TestAssetMigration.cpp |
| 4 | Accessibility | Engine/Accessibility/AccessibilitySystem.h |
~329 | TestAccessibility.cpp |
| 5 | Cross-Platform Input | Input/PlatformInput.h |
~437 | TestPlatformInput.cpp |
| 6 | Benchmark Framework | Utils/BenchmarkFramework.h |
~611 | TestBenchmarkFramework.cpp |
| 7 | Templates (4 new) | Templates/FPS,RPG,Platformer,Multiplayer |
— | — |
| 8 | UI Layout Extensions | Engine/UI/UILayoutExtensions.h |
~857 | TestUILayoutExtensions.cpp |
| 9 | Telemetry | Utils/Telemetry.h |
~438 | TestTelemetry.cpp |
| 10 | Achievements | Engine/Gameplay/AchievementSystem.h |
~463 | TestAchievementSystem.cpp |
| 11 | Shader Hot-Reload | Graphics/ShaderHotReload.h |
~394 | TestShaderHotReload.cpp |
| 12 | Community Files |
CHANGELOG.md, CONTRIBUTING.md, CODE_OF_CONDUCT.md
|
— | — |
| 13 | API Changelog | tools/api-changelog.py |
~293 | — |
| B1 | Runtime Prefabs | Engine/ECS/RuntimePrefab.h |
~478 | TestRuntimePrefab.cpp |
| B2 | Editor Tutorials | SparkEditor/Source/Core/TutorialSystem.h |
~531 | TestTutorialSystem.cpp |
| B3 | Golden Image Tests | Utils/GoldenImageTest.h |
~559 | TestGoldenImageTest.cpp |
Path note (2026-06-08): A
GamePackager.hexists both atCore/GamePackager.h(original) and atEngine/Build/GamePackager.h. Confirm which is canonical before extending packaging code.
spark-cli supports package, validate, migrate, and templates subcommands.
- New systems follow the singleton pattern with
GetInstance(). - Header-only implementations, consistent with many existing systems.
-
Console_GetStatus()for debug output. - Doxygen comments on all public APIs.
- Each system has a dedicated test file.
At the time of the original analysis SparkEngine had 447K+ lines of C++, 30+ working subsystems, and ~3,119 tests, but lacked production infrastructure: no game packaging, no asset validation, no format versioning, no accessibility, limited cross-platform input, no performance regression testing, only one project template, basic UI widgets, no telemetry, undocumented achievements, no shader hot-reload, and no community contribution files. The 16 systems above close those gaps.
-
Original entry date: 2026-04-04 (
.claude/knowledge/project-recommendations-2026-04-04.md) - Verified against codebase 2026-06-08.
Updates / status changes since the original:
- All 16 systems (13 + 3 bonus) still present at the stated paths — Implemented.
- New observation: a second
GamePackager.hexists underEngine/Build/alongside the originalCore/GamePackager.h— flagged above to avoid duplicate-system drift. - Test totals referenced in the original ("3311+ tests") are superseded — the suite has grown to ~6,000 tests; the per-system test files remain in place.
- No regressions or removals detected.
Published from 2b03dc797148. 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
- Platform Certification
- 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
- Fuzz Policy and Parser Security
- Memory Safety
- Memory Management Patterns
- Build System and CMake Modules
- Profiler and Debugging
- Performance Profiling Guide
- Telemetry System
- Crash Reporting
- Golden Image Testing
- Utilities
- Testing
- Fuzz Policy and Parser Security
- 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