How to execute it
Keep building the 2D, single-player game in small phases, and test each phase on real players before starting the next. This path gives you something playable every week and keeps online features open for later.
The roadmap
Each phase ends with a test. If the test fails, fix it before adding anything. These durations are my estimates and depend heavily on your experience and art plan.
- 0
Prototype This page
1 to 2 weeksProve the combat, training and loot loop, with code-drawn pixel characters and your art on the select screen.
Exit testFive minutes of play feels good with no real art. - 1
Vertical slice
4 to 6 weeksMove to Phaser. Draw final sprite sheets for three of your characters. Add tile maps and one finished city district with its boss.
Exit testA stranger keeps playing for 20 minutes without being asked to. - 2
Systems
8 to 10 weeksDeepen skills and add a stash, crafting, and NPCs as vendors and quest givers. Keep characters, items and monsters in data files.
Exit testYou can add a new item or enemy without changing code. - 3
Content
8 to 12 weeksFinish sprite sheets for more of the 40 characters and draw frame-by-frame boss animation if playtests call for it. Add 10 distinct districts, music, sound and story.
Exit testA first playthrough lasts 4 to 6 hours, and players start a second character. - 4
Playtest and launch
4 to 6 weeksRelease a public demo, collect crash and balance data, tune performance on cheap laptops, then launch.
Exit testA steady 60 frames per second on a five-year-old laptop, with no save-loss bugs open.
Choosing the engine
Phaser fits best because it already includes the parts an action RPG needs and has no install step for players.
| Option | Best for | Main drawback | Verdict |
|---|---|---|---|
| Phaser 3 | 2D games with sprites, tile maps, physics and audio | Very large battles need care to stay smooth | Start here |
| PixiJS | Fast 2D drawing with your own game code | You write collisions, scenes and audio yourself | Only if Phaser limits you |
| Babylon.js or Three.js | A true 3D game in the browser | 3D art costs far more, and load times are longer | Only if 3D is essential |
| Godot web export | Visual editor, and desktop releases later | Larger downloads and slower start in a browser | Good if web is not your main target |
How the code fits together
Keep the game rules separate from the drawing code. You can then test balance without a browser, and adding online play later will not require a rewrite.
Project layout
A starting structure for phase 1.
src/
sim/ rules with no Phaser imports
combat.ts loot.ts ai.ts floor.ts
render/ Phaser scenes, sprites, HUD
data/ items.json skills.json enemies.json
save/ versioned save files
tests/ balance and loot simulations
public/ art, audio, tile maps
Start on your own machine
You need Node.js installed. Run these three commands, then open the local address that the last one prints.
npm create vite@latest dayrim -- --template vanilla-ts
cd dayrim && npm install phaser
npm run dev
What the preview covers
Included: 40 playable characters with their own stats, six action methods, 23 fixed-power weapons to collect to swap freely, full-body pixel animation, procedural overgrown maps with day and night, killable NPCs with gore and situational dialogue, weak and strong minions, rage-powered fullscreen ultimates, kill combos with voice-over, 10 stages with animated monster bosses, skills, gym training, potions, pills and automatic saving.
Left out: final hand-drawn sprite sheets, unique districts, crafting, quests, story, music and online play. Characters in play are simplified pixel versions of your art.
Where these projects stall
A 40-character roster. Launch with three to five fully animated characters, then add more once the game is fun.
Online play too early. It can double the work, and it needs a server and cheat protection. Save it for after launch.
Animation. The code-drawn characters prove the game cheaply. Final sprite sheets in your art style remain the largest art cost, so test the price on three characters first.
Four decisions for you
These change the plan the most. My default is in green.
Solo or online?
Solo first. Online co-op can follow with a Node.js game server such as Colyseus.
2D or 3D?
2D. Choose 3D only if the look is central to your idea and you have the art budget.
Keep the code-drawn pixels or go further?
Keep them while testing, then commission sprite sheets for three characters to learn the real cost before committing to all 40.
How will it make money?
Free demo, then a one-time purchase. Avoid pay-to-win loot, and decide early if you want ads or cosmetics.