Commit graph

278 commits

Author SHA1 Message Date
Zed A. Shaw
c4611c0138 Right before coverage destroys everything. 2025-03-16 23:17:43 -04:00
Zed A. Shaw
1d2968f826 Move the ritual stuff to the combat namespace. 2025-03-16 13:46:40 -04:00
Zed A. Shaw
49531ba148 Rituals are more or less sorted out in theory, and they helped find a cycle in the GOAP algorithm that I'm detecting/preventing. 2025-03-16 13:34:38 -04:00
Zed A. Shaw
8368d2e751 Prep for the next cleaning quality cycle. 2025-03-16 10:26:54 -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
7984540c0c Added a check to see if a found state is already in a closed_set so I can skip it. 2025-03-15 22:57:09 -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
c4e01775bc Enemies will now get scared when their health is low. 2025-03-15 10:45:27 -04:00
Zed A. Shaw
00f76dfb34 Need to tag the events with their number for debugging. 2025-03-15 10:45:07 -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
db5a371766 Moving some stuff around before writing a test to confirm the EntityAI. 2025-03-14 22:39:08 -04:00
Zed A. Shaw
f3e157a0f7 Enemy AI is now prototyped and can find the player and attack them. 2025-03-14 13:41:22 -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
77f2e94515 Figuring out something weird about the Pathing::random_walk code. 2025-03-13 23:03:14 -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
d15c9b12fd Autowalker is now using the GOAP AI system and works way better. Still quite a lot of jank in the code but that'll get removed over time. Next thing is being able to detect when its near an item/enemy and properly react. 2025-03-12 12:15:21 -04:00
Zed A. Shaw
ff81c78d13 The autowalker now uses the GOAP AI system to walk the map and do its thing. The code needs a big cleanup, so I might just do a full rewrite based on what I know now. 2025-03-12 00:41:40 -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
3f83d3f0bb A bit more cleanup to avoid duplicate testing and to separate the GOAP algorithm code from the little AI Manager thing. 2025-03-11 10:57:29 -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
a079f882df Quick renaming of stuff to be more generic as 'AI'. Now maybe I can get some sweet sweet investor money. 2025-03-10 22:30:56 -04:00
Zed A. Shaw
9d6dc2f5dd Now can load action specs from JSON. 2025-03-10 14:07:31 -04:00
Zed A. Shaw
3d8a2d4342 GOAP now uses only bit operations to do its thing. 2025-03-10 12:13:08 -04:00
Zed A. Shaw
01525388ec GOAP is now working in a basic way, time to clean it up. 2025-03-10 11:06:26 -04:00
Zed A. Shaw
2992193447 GOAP is now matching cppGOAP but needs a serious cleanup. 2025-03-10 00:42:59 -04:00
Zed A. Shaw
15c2efc415 A barely working GOAP now, but need to confirm it's on par with other libraries. 2025-03-09 23:40:15 -04:00
Zed A. Shaw
a34e2cd475 GOAP is structured but not working yet. 2025-03-09 14:05:53 -04:00
Zed A. Shaw
a34becdaeb A simple A* pathing function that works on maps, but I'll be changing it to do the GOAP pathing. 2025-03-08 23:23:29 -05:00
Zed A. Shaw
73b0600039 Quick notes on the linux build. 2025-03-06 23:51:18 -05:00
Zed A. Shaw
b68fd249ca Catch a system error that OSX's SFML produces since it's at the end and looks like just a cleanup mistake. 2025-03-06 22:22:42 -05: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
e1f9942da3 Mostly working OSX build options, but it crashes on close with a thread error. 2025-03-06 14:11:12 -05:00
Zed A. Shaw
28b900e4ff Finally created an installer so people can try the game. 2025-03-05 13:39:38 -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
6e8aa48332 BossFightUI now gets everything from a world and will be implemented like the rest of the game, but as a mini game. 2025-03-03 12:44:26 -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
6e363ba78d Found the test that crashed sometimes but also had to just rip out all of the throws testing in DBC because catch2 can't get it right. 2025-02-28 22:29:25 -05:00
Zed A. Shaw
e020f25dd1 Move the compass to the left so that enemies don't have N on their head. 2025-02-28 13:34:48 -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