Commit graph

90 commits

Author SHA1 Message Date
Zed A. Shaw
2ceab51c40 A really shitty ritual crafting UI is working but needs a big reshape. 2025-04-29 23:59:40 -04:00
Zed A. Shaw
14619558fa Better UI for the ritual crafting that almost works, but need to get the selected items to move down. Might need some state machine love soon. 2025-04-28 13:21:10 -04:00
Zed A. Shaw
bc557652ba The player now has some starting items to craft a first weapon, and it is craftable in the UI. 2025-04-26 13:18:43 -04:00
Zed A. Shaw
c8a8d2b1af You can now craft a single ritual from the blanket. 2025-04-26 02:51:13 -04:00
Zed A. Shaw
292711f91f Prep for the actually making ritual crafting work. 2025-04-26 02:21:59 -04:00
Zed A. Shaw
00c28f47eb Rituals are now being added a belt on the player in a temp function in LevelManager. 2025-04-24 12:27:29 -04:00
Zed A. Shaw
a70f11646a RitualBelt now has an API. 2025-04-24 03:32:20 -04:00
Zed A. Shaw
31b35b43eb Added the ritual belt first cut. 2025-04-24 03:06:31 -04:00
Zed A. Shaw
17d30e2ed2 Add a dump function and clean up some data. 2025-04-24 02:44:07 -04:00
Zed A. Shaw
a342c53b02 RitualEngine now uses the crafting results to create a description of the ritual's combat in a RitualAction struct. 2025-04-24 01:15:49 -04:00
Zed A. Shaw
19b9a4affd The reload mechanism for shaders is a bit better, but still to make them unique. 2025-04-14 13:16:19 -04:00
Zed A. Shaw
35ced58cc9 Shaders now are managed by a manger that can do hot reloading and it also will detect a bad shader and use an ERROR shader so you know it's busted visually. 2025-04-13 17:11:21 -04:00
Zed A. Shaw
0e2f213871 Added in a new art for a 'gold savior' and refined the battle engine more but it's not quite what I want. 2025-04-07 14:02:32 -04:00
Zed A. Shaw
ca328e10dc Rework the source so that battle is in its own thing to work on. 2025-04-07 10:35:30 -04:00
Zed A. Shaw
1f90367f51 Initial battle engine is now integrated in the systems so now I can finally get the turn based combat to work the way I envision. 2025-04-06 00:45:51 -04:00
Zed A. Shaw
b832bbd78a Fixed how sprites/textures are loaded so tehy default to frame 0 of any multi-frame textures. 2025-04-05 17:17:26 -04:00
Zed A. Shaw
c1aba2d5c8 This does a 'fit_sort' whenever the state is changed. fit_sort effectively sorts the actions by distance+cost so that the cost is actually present unlike the original algorithm. 2025-04-03 10:14:50 -04:00
Zed A. Shaw
c014e65c13 Gave up on trying to get the GOAP algorithm to correctly apply the cost structure to competing choices, and instead I take the resulting action list and simply find the next best one based on cost. 2025-04-01 13:48:59 -04:00
Zed A. Shaw
52f45e1d45 Mostly fixed up but I have to figure out why cost on actions isn't changing the priority. 2025-03-31 13:51:27 -04:00
Zed A. Shaw
862d8b4d81 Now have a cycle and repeated action mitigation technique in the AI algorithm called 'delete shit you've seen'. 2025-03-31 11:27:48 -04:00
Zed A. Shaw
922fbeba0e AI now follows the A* algorithm more closely by using a separate priority queue from the open_set. 2025-03-30 12:37:34 -04:00
Zed A. Shaw
72951f308f Converted almost everything to use wstring so that it works better with SFML and the unicode/utf8 usage in the system. 2025-03-28 12:40:46 -04:00
Zed A. Shaw
47c6bfd531 AI engine is working and I have a little BattleEngine going but the AI is working better than it should in systems.cpp. Need to find out why then make the BattleEngine avoid running entities that have END in action lists. 2025-03-26 13:34:52 -04:00
Zed A. Shaw
da273cbee6 Refactored rituals so they can be used in different situations. 2025-03-24 12:30:58 -04:00
Zed A. Shaw
1aa6674e42 Created a nice utility library for doing animations, and used it in the ritual crafting UI. 2025-03-20 01:10:01 -04:00
Zed A. Shaw
2baa044695 Final little fixes for testing. 2025-03-17 23:36:14 -04:00
Zed A. Shaw
5ed8196c80 Brought line numbers back for the dbc.cpp logging stuff. May not work in clang because of the bug they have (had?). 2025-03-17 23:16:51 -04:00
Zed A. Shaw
0efb17371b Now have a simple stats test. 2025-03-17 22:56:18 -04:00
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
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
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
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
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
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
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