Commit graph

99 commits

Author SHA1 Message Date
Zed A. Shaw
d3158291f7 Did a full code coverage review and improved many of the tests and a bunch of code. I'll do one more final walk through all the code before getting back to work on the new combat system. 2025-03-17 15:23:47 -04:00
Zed A. Shaw
c4611c0138 Right before coverage destroys everything. 2025-03-16 23:17:43 -04:00
Zed A. Shaw
15bb69624b Rituals now work mostly how I want, and even prototyped the idea of a cursed item giving you a debuff and also boosting damage more. 2025-03-16 00:46:24 -04:00
Zed A. Shaw
eeea3c794f The basic idea of using GOAP to figure out if combined items will produce a valid ritual, and what kind of things the ritual does, mostly works. 2025-03-15 23:39:54 -04:00
Zed A. Shaw
63f032ff12 BREAKING: First idea for the combat system but there's a bug in goap where I'm not removing closed parts or something like that. 2025-03-15 22:30:10 -04:00
Zed A. Shaw
75db188dc6 AI is now mostly working. Enemies will attack the player, and some of them are marked as not tough so they'll run away when they get low health. 2025-03-15 11:43:46 -04:00
Zed A. Shaw
2815375836 Test now can work the enemy AI to prototype behavior. 2025-03-14 23:48:03 -04:00
Zed A. Shaw
ad71631809 Enemies and now using the GOAP AI to decide when to attack the player, but it's very rough right now. I need to sort out how to store the AI states and use them in the System. 2025-03-14 11:14:25 -04:00
Zed A. Shaw
ee804581a8 Autowalker is working way better and now I have a plan for using the AI in the System. 2025-03-13 13:44:42 -04:00
Zed A. Shaw
0623170dbc Autowalker AI now knows when it has items, and knows it should find healing, but it's not working quite yet. 2025-03-12 13:56:05 -04:00
Zed A. Shaw
fc66d221d4 Now have the ability to do partial solutions that will create potential paths to the goal, and a test that runs the scripts from plans in different scenarios. Also, this ai_debug thing needs some work. 2025-03-11 15:33:14 -04:00
Zed A. Shaw
b2c1b220ac ai.cpp now has a nice easy to use API for loading and running the GOAP things. 2025-03-11 00:32:11 -04:00
Zed A. Shaw
b7948f8154 Build is working on both OSX and Windows. Now for linux. 2025-03-06 20:22:51 -05:00
Zed A. Shaw
5c815cf755 Played with UI layouts but keeping this for now. Fixed up config so it has keys() and now we load a boss per level. 2025-03-05 01:01:36 -05:00
Zed A. Shaw
281a7f687a Can now mark json/components with std::optional and then they can be null/false to disable them. 2025-03-04 23:06:46 -05:00
Zed A. Shaw
243b4c2663 Basic ability to create a 'stage' for a boss fight, which is a thing in front the boss animates behind. 2025-03-04 22:16:47 -05:00
Zed A. Shaw
8b414c13e6 Animations now can have a stationary option which tries to keep them 'in place' while growing, effectively removing the forward motion. 2025-03-04 12:12:27 -05:00
Zed A. Shaw
eb8fb82837 BossFightUI now loads out of LevelManager and is treated like a normal level. This also adds a prototype for a different kind of 'stationary' boss to prototype its motions. 2025-03-04 09:31:15 -05:00
Zed A. Shaw
ca18422930 BossFightUI is not managed by the level manager since it is kind of a new level, just with a different mini game. 2025-03-03 11:15:49 -05:00
Zed A. Shaw
a3f6ba3c03 Refactored the bossfight_ui so it will work with any description of a boss fight. 2025-03-02 12:36:08 -05:00
Zed A. Shaw
43835da88f Bosses and other enemies now have a 2 frame animation, the first boss the Rat King now screams at you and attacks. 2025-03-01 13:41:42 -05:00
Zed A. Shaw
b3b8cbbeee Started to set things up so that the boss fight UI can load enemies and configs out of the components setup. 2025-03-01 00:46:40 -05:00
Zed A. Shaw
033358749f Animations now have an easing/ease_rate setting that will do a dynamic scaling effect on them during the animation sequence. 2025-03-01 00:24:19 -05:00
Zed A. Shaw
2d790c5986 Boss fight looking better, but I need to get this bounce animation in the main game fights. 2025-02-28 13:03:13 -05:00
Zed A. Shaw
25d782df6d Start and stop some sounds and add a little bit of reverb to sounds so they fit the 'dungeon' theme. 2025-02-28 10:48:45 -05:00
Zed A. Shaw
a8ae6df13b Brought in some sounds from Soundly so now it's more complete with audible attacks and death sounds. 2025-02-28 10:20:28 -05:00
Zed A. Shaw
976b353901 Reduce the bit rate and sample rate to get a lower quality effect on the sound. 2025-02-28 01:04:23 -05:00
Zed A. Shaw
a0c0308461 More boss fight UI done and a bit of ambient sound working. 2025-02-28 00:52:48 -05:00
Zed A. Shaw
64807174c0 Initial idea for the boss fight UI but it's just a temporary holder for now. 2025-02-27 15:24:17 -05:00
Zed A. Shaw
a876229e18 Forgot the rat king graphic. 2025-02-26 12:22:31 -05:00
Zed A. Shaw
b75a2b8c31 Add the rat king. 2025-02-26 10:32:39 -05:00
Zed A. Shaw
54fbf22b6d We can go down a level and there's a loading screen for it. The map and motion now matches the directions shown in the raycasting. There's now a compass that shows you the direction you're facing. 2025-02-25 13:15:39 -05:00
Zed A. Shaw
e9accf14e6 Going into a well triggers a little 'loading screen' that's currently faked. Click on it to continue. 2025-02-25 03:01:07 -05:00
Zed A. Shaw
1886c99920 A few tweaks to make the HP bar work constnantly, probably not the most efficient but it's good enough for now. 2025-02-24 12:05:54 -05:00
Zed A. Shaw
dfd59065f7 Inventory and lighting improved, now to get ready for going down a level and that's most of the game loop working. 2025-02-24 01:56:16 -05:00
Zed A. Shaw
e0e7a1027c Inventory system basically works now but is in a alpha hack stage. Time to refactor. 2025-02-23 22:57:27 -05:00
Zed A. Shaw
fa6311f10c Add an ability to mark the main UI dirty so that it forces a render at specific times. 2025-02-22 23:26:47 -05:00
Zed A. Shaw
b8bafdcab5 Forgot the pickup sound. 2025-02-22 23:07:03 -05:00
Zed A. Shaw
daae239831 Created a simple pickup sound that sounds like you put something in your bag. 2025-02-22 23:06:20 -05:00
Zed A. Shaw
806f8e4e1a Make enemies always twitch forward a bit, even if they have animation frames. 2025-02-22 22:40:44 -05:00
Zed A. Shaw
2261e6f418 Remove that terrible walking sound. 2025-02-22 22:19:05 -05:00
Zed A. Shaw
6e56de08c5 Quick little fix to add a blank sound for placeholders. 2025-02-22 22:18:41 -05:00
Zed A. Shaw
3720340ab7 Have a really bad walking sound. 2025-02-22 13:26:33 -05:00
Zed A. Shaw
20cbc3a21c Working sound system and most enemies have a sound effect. This will make it easier to add sounds now. 2025-02-22 12:48:37 -05:00
Zed A. Shaw
83df9ff03b Super awesome twitchy animation for axe guy. 2025-02-22 11:03:38 -05:00
Zed A. Shaw
80a0f2ba75 Basic simple animations where the enemies just move forward. 2025-02-22 01:36:31 -05:00
Zed A. Shaw
947ccbe180 A simple config loader test. 2025-02-21 23:17:53 -05:00
Zed A. Shaw
b43553a563 Major speed up in rendering by only doing it when we move, but drawing the rendered 3d view texture constantly. 2025-02-21 11:34:46 -05:00
Zed A. Shaw
baa4d8ee2b Grave stones are not lootable and give 10 gold. No idea what gold even does. I mean, why _are_ there traders in a dungeon? 2025-02-20 00:30:39 -05:00
Zed A. Shaw
3b9525cca4 Enemies now turn into a lootable device witha grave_stone sprite so you know they died. Need to implement noclipping on items with collision. 2025-02-19 23:18:33 -05:00