tiennm99
f52dfde719
feat: rewrite from Phaser 3 to Svelte 5
...
Replace Phaser 3 game engine (~1MB) with Svelte 5 + Vite.
Bundle size: 77KB JS (28KB gzip) vs ~1MB with Phaser.
Architecture:
- src/lib/game/ — Pure JS game logic (guards, grid, player, turns)
- src/components/ — Svelte UI components (GameBoard, sprites, HUD)
- src/scenes/ — Scene components with fade transitions
- src/App.svelte — Scene router
- CSS Grid for game board, CSS transitions for movement
- svelte/transition for scene switching
All game logic preserved: 12 levels, 4 guard types, turn system,
detection, lives, progress persistence, bilingual localization,
level 12 special mechanic.
Removed: Phaser, terser, canvas rendering, physics engine,
custom vite configs, log.js telemetry.
2026-04-12 18:58:19 +07:00
tiennm99
4461e45502
fix: reset game state flags in init() so input works on level transitions
...
Phaser constructor only runs once; init() runs on every scene.start().
handleLevelComplete() was setting isPaused=true/inputEnabled=false which
persisted into subsequent levels, freezing player input.
2026-04-12 11:14:31 +07:00
tiennm99
35d3f45d6f
feat: redesign architecture, UI/UX, and story-driven levels
...
- Fix StaticGuard ignoring litCells and RotatingGuard not lighting
facing direction
- Fix guard cleanup leak (direction indicators not destroyed)
- Add centralized theme system with dark stealth aesthetic
- Add scene fade transitions and level completion animation
- Add level progress persistence via localStorage
- Add turn counter, locked/completed level states in LevelSelect
- Redesign 12 levels across 6-act narrative arc with per-level story
- Add LevelIntro scene showing story text before each level
- Add bilingual (EN/VI) level story descriptions
- Remove dead code (counter.js, duplicate game/main.js)
- Initialize project docs (overview, architecture, code standards)
2026-04-12 10:53:04 +07:00
dependabot[bot]
7eb454443c
build(deps-dev): bump vite from 6.3.4 to 6.3.6
...
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) from 6.3.4 to 6.3.6.
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/v6.3.6/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v6.3.6/packages/vite )
---
updated-dependencies:
- dependency-name: vite
dependency-version: 6.3.6
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-10 08:45:30 +07:00
tiennm99
103170db25
feat: update guard logics
2025-05-03 14:39:48 +07:00
tiennm99
8d0ff8ff03
feat: remove camera follow
2025-05-03 14:31:04 +07:00
tiennm99
df5c0c051c
feat: intro
2025-05-03 14:26:08 +07:00
tiennm99
e3939d4132
feat: update story
2025-05-03 14:14:06 +07:00
tiennm99
f38b0d6865
fix: center game
2025-05-03 13:32:07 +07:00
tiennm99
44db5a4470
feat: update readme, merge style
2025-05-03 13:26:23 +07:00
tiennm99
09bf0863a4
feat: remove mobile buttons
2025-05-03 13:20:25 +07:00
tiennm99
b209662a67
Merge branch 'main' of https://github.com/tiennm99/nntv
2025-05-03 13:20:12 +07:00
dependabot[bot]
45b480753d
build(deps-dev): bump vite from 6.3.2 to 6.3.4
...
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) from 6.3.2 to 6.3.4.
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v6.3.4/packages/vite )
---
updated-dependencies:
- dependency-name: vite
dependency-version: 6.3.4
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-05-03 13:12:55 +07:00
tiennm99
d81e800609
feat: merge plans
2025-05-03 13:10:39 +07:00
tiennm99
76d010267d
feat: update plan & localize
2025-05-03 13:05:00 +07:00
tiennm99
386c74e6f9
feat: camera follow player
2025-04-27 23:18:18 +07:00
tiennm99
00f4415236
feat: remove instruction on start
2025-04-27 22:04:57 +07:00
tiennm99
3f1da352f1
feat: guide scrollable
2025-04-27 21:50:43 +07:00
tiennm99
eb64fd4859
feat: instruction
2025-04-27 20:14:42 +07:00
tiennm99
f70a9246f7
feat: split localize in to files
2025-04-27 20:02:29 +07:00
tiennm99
f7c504219a
feat: localize
2025-04-27 19:57:25 +07:00
tiennm99
f766f7e3b8
feat: change guard to circle
2025-04-27 19:41:01 +07:00
tiennm99
f189c5f10c
fix: triangle in grid (wip)
2025-04-27 19:16:34 +07:00
tiennm99
a062ade3c7
fix: close poup after replay
2025-04-27 19:08:03 +07:00
tiennm99
67cc6d64b7
fix: can not work through wall
2025-04-27 18:58:12 +07:00
tiennm99
4e82dc0264
feat: popup when caught
2025-04-27 18:52:58 +07:00
tiennm99
5b75abdd88
fix: bug when get into level
2025-04-27 18:44:27 +07:00
tiennm99
93f59a65ab
feat: game generated from Manus (with some manual tweaks)
2025-04-27 18:38:32 +07:00
tiennm99
d851d43504
ci(pages): add workflows
2025-04-27 11:16:13 +07:00
tiennm99
1731863ec0
feat: init again with phaser vite webbundler
2025-04-27 11:03:20 +07:00
tiennm99
21fc37bc51
feat: update menu and buttons
2025-03-01 14:59:16 +07:00
tiennm99
e78c4491ad
feat(core): add base scene
2025-02-19 21:13:50 +07:00
Tien Nguyen Minh
59fc8aba4e
Create LICENSE
2025-02-19 20:01:44 +07:00
Tien Nguyen Minh
70e7886a38
Create README.md
2025-02-19 19:58:59 +07:00
tiennm99
4d4b76870a
feat(phaser): use phaser
2025-02-19 19:57:49 +07:00
tiennm99
7d5181d5ec
Update publish.yml
2025-02-18 23:23:08 +07:00
tiennm99
bed94a830a
fix: pages
2025-02-18 23:13:11 +07:00
tiennm99
643001c1bf
feat: reinit
2025-02-18 23:12:00 +07:00
tiennm99
f292c9cd93
Update publish.yml
2024-04-28 21:23:49 +07:00
tiennm99
73a075b427
Update publish.yml
2024-04-28 21:18:36 +07:00
tiennm99
5f6d84b0ed
Update publish.yml
2024-04-28 21:13:37 +07:00
tiennm99
62b4475149
Update publish.yml
2024-04-28 21:09:24 +07:00
tiennm99
c442c35272
Update publish.yml
2023-09-16 23:58:31 +07:00
tiennm99
c69a2921f7
Update dist-html.yml
2023-09-16 23:54:05 +07:00
tiennm99
150fbff9a6
Update dist-html.yml
2023-09-16 23:37:41 +07:00
tiennm99
d48cf293fa
Update dist-html.yml
2023-09-16 23:24:39 +07:00
tiennm99
25ee97f2e3
Update dist-html.yml
2023-09-16 23:16:29 +07:00
tiennm99
d34606377f
Update dist-html.yml
2023-09-16 23:12:58 +07:00
tiennm99
1b05186b18
Update dist-html.yml
2023-09-16 23:04:39 +07:00
tiennm99
09ed97bc59
Update dist-html.yml
2023-09-16 23:01:11 +07:00