Commit Graph

51 Commits

Author SHA1 Message Date
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
Lephenixnoir 4f5c24c13e
rogue font and bidirectional enemy animations 2021-07-16 11:06:28 +02:00
Lephenixnoir d412daa540
shared pathfinding, combat basics, particles 2021-06-25 11:44:52 +02:00
Lephenixnoir 82bb7478fd
simplify/reorganize geometry and animations
* Make all hitboxes rectangles
* Add sprite-based hitboxes for attacks, keep the original ones only for
  map wall collisions
* Reorganize and rename animations
* Separate player movement and swing animation for the AoE
2021-06-10 22:48:27 +02:00
Lephenixnoir b7685fe9e5
basic animations 2021-06-09 20:47:39 +02:00
Lephenixnoir 1e9afa5550
basic smooth controls 2021-06-04 15:14:12 +02:00
Lephenixnoir a31f56478a
add basic enemies 2021-06-02 16:45:02 +02:00
Lephenixnoir 29c0fb79dc
rendering space/time optimizations 2021-06-02 15:45:20 +02:00
Lephenixnoir c45fd083bd
add basic map and tileset definitions 2021-06-02 09:38:59 +02:00
Lephenixnoir dd73f9164e
add basic entity control and collisions 2021-06-01 22:07:07 +02:00
Lephenixnoir e502e602b9
improve geometry-based code
* Define more-useful primitives that are fixed in a coordinate system
* Provide conversion functions to and from integers as we need it
  occasionally and it's better to have it at hand
* Add geometric functions (scale/translate)
2021-06-01 21:30:05 +02:00
Lephenixnoir e67cce8361
basic entities at fixed position in world
* entities.h: Will contain a lot more about entity types later
* geometry.h: Basic position and collision utilities, will expand
2021-06-01 17:50:44 +02:00