Commit Graph

22 Commits

Author SHA1 Message Date
Lephenixnoir 861457fdaf
add dynamically-colored buff effect (seen on healing potions) 2023-01-15 17:17:53 +01:00
Lephenixnoir 80fda55e98
level end screen and back to main menu
* Add a level end screen that shows automatically when dead or level
  is finished
* Lock player controls and GUI before the end screen shows
* Loop back to the main menu after finishing a level (or dying)
* Nerf combo chain score
* Add a placeholder KO animation for the player, and associated logic
2023-01-02 11:50:25 +01:00
Lephenixnoir c1122f511f
add core scoring mechanics and score computation 2022-12-31 18:27:12 +01:00
Lephenixnoir e2ba1f51c2
fix animation transition issue for hit enemies
Transitioning to the `next` animation frame preserved the priority,
which was a problem for enemies with a next: Hit=Idle or similar
transition, as that would give an infinite Idle loop with high
priority.

This change forces a clear of the animation priority when such a
transition occurs. This relies on the flawed linked list system, which
means that it will not happen if the new animation is just after the
current one in the source file. This is a fundamental issue due to
mixing all frames as single pointers in the anim_t structure. This will
be fixed in engine code eventually.
2022-12-30 16:00:29 +01:00
Lephenixnoir 3b77165e92
general improvements to UI and strategy 2022-05-31 20:45:56 +01:00
Lephenixnoir 245abb1fba
add albinos bat with a speed skill 2022-05-22 14:56:30 +01:00
Lephenixnoir 6e79618784
add a fire charge attack to fire slimes 2022-05-21 20:48:36 +01:00
Lephenixnoir 34ba2eeece
balancing and level 1 2022-03-19 19:21:30 +00:00
Lephenixnoir e0c46db0d7
preview and apply stat changes for equipment 2022-03-18 22:36:32 +00:00
Lephenixnoir f5eb470b13
implement the new GUI for inventory/status (F6) 2022-03-18 19:36:29 +00:00
Lephenixnoir 4a513cf1f5
better, teleport-based collision resolution 2022-03-10 23:31:31 +00:00
Lephenixnoir d330c22d66
cap player knockback when swarmed 2022-02-13 16:03:16 +01:00
Lephenixnoir 8d3a0994c5
performance improvements with pathfinding
* Less queuing in Dijkstra by using distance[] to indicate the lowest
  queued distance (dir[] still doubles down as "seen" array). Drops
  iterations from ~350 to ~150, 5.5 ms -> 2.0 ms
* Less raycast attempts in the shortcut method, barely noticeable but
  avoids massive spikes from 7 to 35/75 ms in Lab with 40 entities (!!)
* General optimizations with -O3 instead of -Os (0.5-1.0 ms gained per
  frame for ~6 kB increase in size)
* Compute pathfinding every 4th frame for each entity, instead of every
  frame

Now basically a fairly 30 FPS, and that's 30 ms rendering + 3 ms
simulation.
2022-02-08 22:48:08 +01:00
Lephenixnoir 7bd5163dd6
stun/invulnerability, buffed shock skill 2022-02-07 20:41:39 +01:00
Lephenixnoir 70874e6808
skills, cooldowns for player & enemies, 2 bug fixes
Bugs fixed:
* AOEs whose origin died without recognizing them as their current
  attack would keep referencing a dead entity
* Entities without dash could be considered dashing when knocked back
  (still fragile)
2022-02-05 14:38:26 +01:00
Lephenixnoir f5a9d796be
handle dash cooldown as normal skill cooldown 2022-02-04 10:12:00 +01:00
Lephenixnoir fdde4809d3
add XP and player leveling
XP only lasts for one level/arena.
2022-01-17 18:29:05 +01:00
Lephenixnoir b15d6fd71c
finalize stats model, add level 2 with "main menu" 2021-12-29 12:02:51 +01:00
Lephenixnoir b9e478d97b
preview next wave 2021-12-28 22:23:09 +01:00
Lephenixnoir c452bcabde
proper handling of enemy data and levels 2021-12-28 21:12:33 +01:00
Lephenixnoir d942e1ffa7
particles as ECS entities, proper tilesets/maps (WIP) 2021-12-27 21:54:55 +01:00
Lephenixnoir cb3f363cfe
switch engine to ECS and rewrite just about everything 2021-12-25 11:48:53 +01:00