Ryan Walters
36e9de1a1f
chore: bump to v0.80.0, update ROADMAP.md
2025-09-11 02:26:39 -05:00
Ryan Walters
9ad1704806
feat(audio): setup intro jingle, use fruit & ghost sounds, improve AudioEvent
2025-09-11 02:24:15 -05:00
Ryan Walters
00a65954e6
refactor: unify cross-platform asset loading, avoid hard-coding with folder-based asset embedding for desktop
2025-09-11 01:11:00 -05:00
Ryan Walters
08c964c32e
feat: re-implement pausing mechanism with tick-perfect audio & state pauses
2025-09-11 00:03:14 -05:00
Ryan Walters
d86864b6a3
feat: fruit display hud
2025-09-10 22:00:11 -05:00
Ryan Walters
d7a6ee7684
fix: flush world after switching to observer-based item collection
2025-09-10 21:45:10 -05:00
Ryan Walters
d84f0c831e
feat: proper scheduling via SystemSet, non-conditional game systems, better collision handling
2025-09-10 21:36:51 -05:00
Ryan Walters
ae19ca1795
feat: rewrite ghost/item collision eventing into trigger-based observer
2025-09-10 17:15:15 -05:00
Ryan Walters
5563b64044
refactor: replace immutable Hidden component with mutable Visibility component
2025-09-10 00:45:16 -05:00
Ryan Walters
5d56b31353
feat: fruit spawning mechanism, sprites, pellet counting, fruit trigger observer
2025-09-09 11:26:05 -05:00
Ryan Walters
088c496ad9
refactor: store common components & bundles in 'common' submodule, move others directly into relevant files, create 'animation' submodule
2025-09-08 23:53:30 -05:00
Ryan Walters
5bdf11dfb6
feat: enhance slow frame timing warning
2025-09-08 19:19:23 -05:00
Ryan Walters
63e1059df8
feat: implement entity-based sprite system for HUD display (lives)
...
- Spawn HUD elements as Renderables with simple change-based entity updates
- Updated rendering systems to accommodate new precise pixel positioning for life sprites.
2025-09-08 16:22:40 -05:00
Ryan Walters
5aba1862c9
feat: improve tracing logs application-wide
2025-09-08 13:50:38 -05:00
Ryan Walters
49a6a5cc39
feat: implement stage transition for ghost eaten pause and add TimeToLive component
...
- `StageTransition` enum allows for collision system to apply state transition for ghost pausing.
- Added `TimeToLive` component & `time_to_live_system` to provide temporary sprite rendering of bonus sprites.
- Updated `stage_system` to handle the new ghost eaten pause state, including freezing entities and spawning bonus points.
2025-09-08 13:01:40 -05:00
Ryan Walters
823f480916
feat: setup pacman collision, level restart, game over, death sequence, switch to Vec for TileSequence
2025-09-08 01:14:32 -05:00
Ryan Walters
3c50bfeab6
refactor: add ticks to DeltaTime, rewrite Blinking system for tick-based calculations with absolute calculations, rewrite Blinking/Direction tests
2025-09-06 12:15:03 -05:00
Ryan Walters
42e309a46b
feat: enhance profiling with tick-based timing management and zero-padding for skipped frames
2025-09-06 12:15:02 -05:00
Ryan Walters
07bd127596
chore: move ttf context out of game.rs, remove unnecessary window event logging
2025-09-06 12:15:01 -05:00
Ryan Walters
da42d017e7
refactor: reorganize game.rs new() into separate functions
2025-09-06 12:15:01 -05:00
Ryan Walters
8b623ffabe
feat: sprite enums for avoiding hardcoded string paths
2025-09-06 12:15:01 -05:00
Ryan Walters
af81390e30
fix: use LARGE_SCALE for BatchedLineResource calculations
2025-09-06 12:15:00 -05:00
Ryan Walters
2fabd5d7a2
feat: measure total system timings using threading indifferent method, padded formatting
2025-09-06 12:15:00 -05:00
Ryan Walters
0f1e1d4d42
fix: do not use canvas.output_size() for calculations due to browser behavior
2025-09-04 16:06:28 -05:00
Ryan Walters
0759019c8b
fix: allow Window events, allows proper logical canvas resizing
...
You have no idea how much pain this has been causing me.
2025-09-04 13:26:08 -05:00
Ryan Walters
1f5af2cd96
feat: touch movement controls
2025-09-04 11:02:51 -05:00
Ryan Walters
36a2f00d8c
chore: set explicit ARGB8888 pixel format for transparency support, 'web' task with caddy fs
2025-09-04 00:13:48 -05:00
Ryan Walters
a3c4e5267f
refactor: consolidate rendering systems into a combined render system for improved performance and reduced overhead
2025-09-03 23:09:19 -05:00
Ryan Walters
3e630bcbef
feat: run input_system less, rework profiling system to allow for conditional ticks, prepopulate and simplify locking mechanisms, drop RwLock
2025-09-03 23:09:19 -05:00
Ryan Walters
33775166a7
feat: add batching & merging of lines in debug rendering
2025-09-03 19:45:55 -05:00
Ryan Walters
f2732a7ff7
feat: improve debug rendering performance via batch rendering of rects
2025-09-03 19:15:05 -05:00
Ryan Walters
23f43288e1
feat: implement optimized text rendering by caching font characters into special atlas
2025-09-03 17:31:48 -05:00
Ryan Walters
d6d0f47483
feat: optimize input system, avoid heap allocations, disable as many events as possible
2025-09-02 14:57:01 -05:00
Ryan Walters
7dfab26898
refactor: drop remaining Box::leak & statics where possible
2025-09-02 13:44:40 -05:00
Ryan Walters
b1b03b0e9c
refactor: move magic numbers & constants
2025-09-01 15:47:41 -05:00
Ryan Walters
a21459f337
feat: revamp with better separate directional/linear animations, direction independent ticking
2025-09-01 15:28:57 -05:00
Ryan Walters
b53db3788d
refactor: unify ghost state management and animation handling, use integers for texture animation
2025-09-01 14:27:48 -05:00
Ryan Walters
0cbd6f1aac
refactor: switch NodeId to u16, use I8Vec2 for grid coordinates
2025-09-01 12:37:44 -05:00
Ryan Walters
98196f3e07
feat: ghost animation states, frightened/eaten behaviors, smallvec animation arrays
2025-09-01 11:46:18 -05:00
Ryan Walters
a8e62aec56
fix: force dirty render using resource_change conditions, hide ghosts & player on initial spawn
2025-08-28 20:20:38 -05:00
Ryan Walters
cde1ea5394
feat: allow freezing of blinking entities, lightly refactor game.rs structure
2025-08-28 20:02:27 -05:00
Ryan Walters
d0628ef70b
feat: use backbuffer fully, proper 'present' system, debug texture draws with transparency
2025-08-28 19:40:31 -05:00
Ryan Walters
2da8a312f3
chore: remove PlayerLifecycle, move MovementModifiers directly into PlayerBundle
2025-08-28 18:32:19 -05:00
Ryan Walters
2bdd4f0d04
feat: re-implement visbility via 'Hidden' tag component, move stage visibility logic into stage system
2025-08-28 18:24:47 -05:00
Ryan Walters
633d467f2c
chore: remove LevelTiming resource
2025-08-28 13:21:21 -05:00
Ryan Walters
d3e83262db
feat: better 'Vulnerable' tag for ghosts, fix movement issues
2025-08-28 13:18:47 -05:00
Ryan Walters
f31b4952e4
chore: remove wildcard/prelude imports, remove unused functions
2025-08-28 13:14:40 -05:00
Ryan Walters
ad3f896f82
chore: reorganize component definitions into relevant system files
2025-08-28 12:54:52 -05:00
Ryan Walters
80ebf08dd3
feat: stage sequence, ghost collisions & energizer logic, text color method, scheduler ordering
2025-08-28 12:40:02 -05:00
Ryan Walters
f14b3d38a4
feat: create hud rendering system
2025-08-27 22:55:26 -05:00