Commit graph

68 commits

Author SHA1 Message Date
Zed A. Shaw
a0eff927b6 Big BIG refactor to make inventory use a model that's placed into the world, following a more sane MVC style. 2025-06-20 13:17:12 -04:00
Zed A. Shaw
d99d9a68c8 Tried to use Ragel to create state machines but its lacking an incremental mode and doesn't do any logging of state activity so debugging is harder. Put it in scratchpad for reference though. 2025-06-14 12:34:27 -04:00
Zed A. Shaw
7fc32b0248 Trying out Ragel's state machine generation as an alternative to the DinkyFSM style. 2025-06-14 00:43:40 -04:00
Zed A. Shaw
c509162be1 The event router is working well and I can do drag-n-drop but I'll have to rethink where to use it. 2025-06-05 23:31:38 -04:00
Zed A. Shaw
0674908e49 Implemented an initial cut at the event router. Its job is to take the random events from SFML and translate them into nice clean orderly events to the Gui::FSM. 2025-06-04 12:19:24 -04:00
Zed A. Shaw
5c47a0151c Basic loot UI mostly working. Each time you open there's a torch and you can place it visually on any slot on your character. 2025-06-03 13:43:16 -04:00
Zed A. Shaw
4b34de2109 Initial loot UI works to load an item by its world entity ID. 2025-06-02 23:34:31 -04:00
Zed A. Shaw
9dcc2036aa Trying a new 'glowing moss' texture to sort out how to make the raycaster alter the light of a surface that has its own light. 2025-05-24 00:47:44 -04:00
Zed A. Shaw
33cd490ed3 Playing with maze gen again. 2025-05-20 03:19:58 -04:00
Zed A. Shaw
c97648ab3a Remove useless log messages and bring back the tests. 2025-05-19 11:40:56 -04:00
Zed A. Shaw
a0b785cb2a Hunt-and-kill algorithm rocks. It handles everything I need for map gen, including spawn points, room placement, and the maze like map. 2025-05-19 01:40:23 -04:00
Zed A. Shaw
7a0b2f988d Add a terrible maze generation algorithm to test if a maze style map looks/feels better. The walls are disabled so you can walk around. 2025-05-18 01:00:47 -04:00
Zed A. Shaw
74a8599977 Fully converted to using the lel-guecs library externally now. 2025-05-13 02:48:39 -04:00
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
8aeac5397a Windows installer fix before 0.2 release. 2025-04-25 12:17:00 -04:00
Zed A. Shaw
e0d7744eeb Make file now detects windows or not and does the weird thing. 2025-04-25 01:48:40 -04:00
Zed A. Shaw
57e8774fad Make the make more linux friendly. 2025-04-25 00:17:24 -04:00
Zed A. Shaw
ebb69dd589 Rituals are now taken from the belt and shown in th combat_ui and in the system::combat. They aren't used in combat calcs yet though. 2025-04-24 13:43:57 -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
31b35b43eb Added the ritual belt first cut. 2025-04-24 03:06:31 -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
a5b8e411e3 I can now apply shaders to any GUI element, but I need a shader manager that will allow for hot reloading and tracking input/output variables. 2025-04-13 15:17:08 -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
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
da273cbee6 Refactored rituals so they can be used in different situations. 2025-03-24 12:30:58 -04:00
Zed A. Shaw
6c9016eb0f After some prototyping I have what I think I want for the map. Just a simple piece of paper you take out that has the ASCII map on it. 2025-03-21 02:51:02 -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
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
113a4a3b3e Now have a coverage report. 2025-03-17 00:21:27 -04:00
Zed A. Shaw
c4611c0138 Right before coverage destroys everything. 2025-03-16 23:17:43 -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
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
2815375836 Test now can work the enemy AI to prototype behavior. 2025-03-14 23:48:03 -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
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
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
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
28b900e4ff Finally created an installer so people can try the game. 2025-03-05 13:39:38 -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