Commit Graph

62 Commits

Author SHA1 Message Date
Lephenixnoir dd632b6b11
implement time freezing potion 2023-01-23 21:56:55 +01:00
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 c1107cf675
core combo mechanic with classy HUD 2022-12-28 23:48:32 +01:00
Lephenixnoir 068f98249c
hud: backpack animation when picking up items 2022-12-23 22:34:49 +01:00
Lephenixnoir 27810b1ea0
rearrange GUI for future combo counter 2022-12-23 21:51:28 +01:00
Lephenixnoir c1a3ecd1f4
arcade-oriented main menu 2022-12-23 18:42:05 +01:00
Lephenixnoir c66a526566
pick up items, dynamic message, easier lv1 2022-06-05 22:21:02 +01:00
Lephenixnoir 26c4fd9e1c
more improvements to UI and balance 2022-05-31 20:45:56 +01:00
Lephenixnoir 3b77165e92
general improvements to UI and strategy 2022-05-31 20:45:56 +01:00
Lephenixnoir 6e79618784
add a fire charge attack to fire slimes 2022-05-21 20:48:36 +01:00
Lephenixnoir 0f1b1a7e11
adjust difficulty curve in level 1 2022-05-17 20:18:18 +01:00
Lephenixnoir b844a1d434
preview and apply skill changes based on equipment 2022-03-19 17:14:00 +00:00
Lephenixnoir e0c46db0d7
preview and apply stat changes for equipment 2022-03-18 22:36:32 +00:00
Lephenixnoir 99f7c06b05
can now pick up + equip items (no effect) 2022-03-18 21:21:30 +00:00
Lephenixnoir f5eb470b13
implement the new GUI for inventory/status (F6) 2022-03-18 19:36:29 +00:00
Lephenixnoir 28a397a6e8
add item spawns in level 1 2022-03-16 19:00:22 +00:00
Lephenixnoir 2094618c01
better timeline + turn lv1 on its head in 1 block 2022-03-15 20:44:58 +00:00
Lephenixnoir 1653942111
wave events and timeline preview 2022-03-14 21:50:24 +00:00
Lephenixnoir bca71726db
items on the floor 2022-02-16 17:42:05 +01:00
Lephenixnoir e87fa3b6ec
GUI transition when entering level 2022-02-16 14:54:26 +01:00
Lephenixnoir aced4c28be
basic main menu with transitions 2022-02-13 10:03:14 +01:00
Lephenixnoir 3c3883b076
animated tileset 2022-02-11 20:42:20 +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 c58c976c24
beautifully-animated hud XP bar 2022-02-07 09:11:20 +01:00
Lephenixnoir 93c1028123
dijkstra-based pathfinding, avoids crowded areas 2022-02-06 09:32:54 +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 b04333ddda
screenshake during major attacks 2022-02-02 10:16:59 +01:00
Lephenixnoir 65b23e83f2
bullet time and basic UI 2022-01-18 09:45:23 +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 53d4281eb8
improve HUD 2021-12-28 21:01:20 +01:00
Lephenixnoir ce0959f3f6
fix rendering order + clean up old files 2021-12-28 20:28:17 +01:00
Lephenixnoir 0a759b3541
revamp maps and waves, now much cleaner 2021-12-28 17:53:16 +01:00
Lephenixnoir d942e1ffa7
particles as ECS entities, proper tilesets/maps (WIP) 2021-12-27 21:54:55 +01:00
Lephenixnoir 8ca3d6f22f
Add the new enemies and tilesets 2021-12-25 18:21:31 +01:00
Lephenixnoir cb3f363cfe
switch engine to ECS and rewrite just about everything 2021-12-25 11:48:53 +01:00
Lephenixnoir 228dec623e
minor code improvements, including renamed geometry types 2021-12-25 11:48:53 +01:00
Lephenixnoir 8bca321d0f
more test waves, preparing skills, better HUD 2021-10-23 15:10:35 +02:00
Lephenixnoir a2e35698fe
add judgement skill, improve anim format 2021-10-17 16:22:09 +02:00
Lephenixnoir 59c7a9282d
refined HUD 2021-08-30 19:07:22 +02:00
Lephenixnoir 10b289d5eb
minor adjustments 2021-08-30 18:29:04 +02:00
Lephenixnoir 35718b93ac
prepare more attacks (skills/combos) 2021-08-16 13:31:28 +02:00
Lephenixnoir 89ee5234ea
add HUD and skill icons 2021-08-15 18:19:48 +02:00
Lephenixnoir 198371e529
add enemy damage animations 2021-08-15 11:05:04 +02:00
Lephenixnoir 72e154a618
waves and enemy spawn sequences 2021-07-16 15:51:39 +02:00