Commit graph

66 commits

Author SHA1 Message Date
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
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
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
5179709e3c Performance check showed that I was checking every sprite even if they're way far away so now just do ones near-ish. 2025-02-25 00:56:54 -05:00
Zed A. Shaw
389690e5c3 Optimize GUECS a bit so that it automatically sets up the cell names and lel::Cell contents in the world, making it easier to work with. 2025-02-22 22:27:56 -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
947ccbe180 A simple config loader test. 2025-02-21 23:17:53 -05:00
Zed A. Shaw
b8bb49df2c A basic components test that just loads all the config files and their components into a world. 2025-02-21 22:52:53 -05:00
Zed A. Shaw
d0a6a92bc8 More testing improvements. 2025-02-21 13:21:13 -05:00
Zed A. Shaw
0260e3d345 Textures and sprites are now managed by a single module in textures.hpp, and even though it is a _single_ location to access all sprites it is NOT a singleton. Those are illegal. 2025-02-21 03:32:44 -05:00
Zed A. Shaw
f3e1413022 Intermediate refactor to move everything over to using the textures module rather than everyone using one TexturePack thing. 2025-02-21 03:00:56 -05:00
Zed A. Shaw
722d55d948 Refactored the GUECS system to have its own namespace then got Meter to work. 2025-02-18 12:51:28 -05:00
Zed A. Shaw
49a71e257e GUI for combat now works better and I can create sprites for things if I want. 2025-02-18 11:28:55 -05:00
Zed A. Shaw
46de98e6f4 I now have a semi-functional GUI system that uses the ECS style to build gui elements rather than inheritance. 2025-02-18 01:10:56 -05:00
Zed A. Shaw
3ec2bf4784 Can now do UI rendering based on the name and also have gaps in the grid reliably. 2025-02-16 12:34:48 -05:00
Zed A. Shaw
79c84ce885 New design on LEL that's way more sane and allows for more flexible columns and rows. 2025-02-16 11:50:14 -05:00
Zed A. Shaw
6b9c67beec Add some debug boxes around the fonts to figure out why they aren't vertically centered. 2025-02-15 22:54:00 -05:00
Zed A. Shaw
e106ad4be7 Can click on buttons and make them change color. 2025-02-15 14:29:27 -05:00
Zed A. Shaw
7f9e200abe LEL can now do hit detection on squares. 2025-02-15 13:43:41 -05:00
Zed A. Shaw
c03a384372 You can now prefix a size with % and it will do percentage for the size, even over 100. 2025-02-15 12:52:26 -05:00
Zed A. Shaw
60ed686eb0 Already better than CSS because I can center stuff. 2025-02-15 12:13:58 -05:00