f51b754e76
map: implement seeded generation; allow passing custom seed
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I742b7e59c7ca872539d4ebfe3a03b44f6a6a6964
2026-04-10 11:09:51 +03:00
71343311eb
enemy: add alert memory; vision variance based on type
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I2f5c7cac72c8772e5871b99026d106b46a6a6964
2026-04-09 21:28:18 +03:00
f85d28e932
various: implement fog of war; make enemy AI slightly more intelligent
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I3e22dbc5e10690871255980c52a24c226a6a6964
2026-04-09 21:28:17 +03:00
4dfe52ae72
movement: generalize; use vectors ( #16 )
...
Generalized movement, so that all entities move the same.
Reviewed-on: #16
Reviewed-by: raf <raf@notashelf.dev>
Co-authored-by: Squirrel Modeller <squirrelmodeller@protonmail.com>
Co-committed-by: Squirrel Modeller <squirrelmodeller@protonmail.com>
2026-04-09 14:11:46 +00:00
eed5c3aff3
render: extract color palette; convert floating labels to enum
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I29c5feb6099fe321e227e0313282f1546a6a6964
2026-04-08 13:33:14 +00:00
e048e02475
stats: add stat tracking fields to GameState
...
We can now track kills, items, damage dealt/taken, crits, times hit,
potions used, floors reached, and final score in `GameState` for
end-game display. This is rather basic for now, but I intend to extend
the tracked statistics as we introduce more mechanics.
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I4dcd3e1effd0209268dc56fe4bba4b696a6a6964
2026-04-08 15:38:16 +03:00
a315b14dd1
audio: refactor audio asset loading, add crit sound
2026-04-06 17:51:07 -04:00
6c541bcacc
combat: extend FloatingText with label and effect_type
...
fields
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Iad085ea5d8007257d77d606ab69e57a26a6a6964
2026-04-05 22:36:36 +03:00
1875d94e44
combat: tune damage math and enemy scaling
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I983d5980f8d14ccebc6b681100af8a146a6a6964
2026-04-05 22:36:33 +03:00
22ab6fc6eb
combat: rewrite in Zig; add basic damage types and weapon archetypes
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ic8055a1cf6bdad1aca13673ea171b4b46a6a6964
2026-04-05 20:29:12 +03:00
9cbbb9636f
combat: add hit chance & damage variance to make combat more engaging
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ia1e0a503dba03e5df7b863b97db962e36a6a6964
2026-04-03 16:37:12 +03:00
db21bdacdd
various: add speed/cooldown & initiative system
...
- Goblins act every ~2 turns, skeletons ~1.5, orcs ~1.2
- Enemies accumulate cooldown based on speed, act when <= 0
- Player always acts every turn (speed = 100)"
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Id822579a0326887d91a80bd4ab27a72d6a6a6964
2026-04-03 15:45:14 +03:00
5fbe7c8c60
core: fix enemy movement collision with the player
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I8bfcc0f8816fbc02dbd7ad462b5c0a4e6a6a6964
2026-04-03 15:45:09 +03:00
5e3ba209e0
dev: added step_count and health recovery
...
Every 15 steps the player will regain 1 HP,
unless they are at max HP. Also added commented
code for later hunger if this is to be implemented.
Played around with step # and 15 seems okay until
hunger is implemented
2026-03-20 11:59:59 -04:00
b381e2efbd
initial commit
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ie3b66d17f6f660c9b9a719210bd86f9f6a6a6964
2026-03-19 17:01:54 +03:00