Implement the minimum gameplay loop before any polish. The order is: input -> movement -> fail condition -> scoring -> restart. Only after the core loop works should you add visuals, audio, or juice. Keep initial scope small: 1 scene/level, 1 mechanic, 1 fail condition.
Event-Driven Communication
Modules never import each other for communication. All cross-module messaging goes through a singleton EventBus with predefined event constants.
Centralized State
A single GameState singleton holds all game state. Systems read state directly and modify it through events. No scattered state across modules.
Configuration Centralization
Every magic number, balance value, asset path, spawn point, and timing value goes in
Constants.js
. Game logic files contain zero hardcoded values.
Show more
Installs
222
Repository
playableintelli…-creator
GitHub Stars
309
First Seen
May 26, 2026
Security Audits
Gen Agent Trust Hub
Pass
Socket
Pass
Snyk
Warn