Commit graph

182 commits

Author SHA1 Message Date
Zed A. Shaw
30997cbff5 Test rituals are now configurable in assets/config.json 2025-04-24 23:06:15 -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
17d30e2ed2 Add a dump function and clean up some data. 2025-04-24 02:44:07 -04:00
Zed A. Shaw
5d924c764f Rituals can now be configured to have a kind and an element based on the results. 2025-04-24 02:03:18 -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
58981fd8ed Setting up to have a fire attack and lightning attack. 2025-04-20 22:53:43 -04:00
Zed A. Shaw
1b4f55804c The flame shader now only turns on when facing an enemy. Next is tagging enemies with specific shaders to apply at a specific time. 2025-04-16 00:02:27 -04:00
Zed A. Shaw
5ffa3b0d1e Everyone is on fire temporarily. 2025-04-15 19:34:39 -04:00
Zed A. Shaw
467a26628c Wrong shader. 2025-04-15 12:47:07 -04:00
Zed A. Shaw
137dcc1f30 Missing resources. 2025-04-15 12:46:13 -04:00
Zed A. Shaw
2ecef8d9f9 Have a basic little click sound going, but hover events will need some work. I'm doing those on every mouse move. 2025-04-15 11:38:38 -04:00
Zed A. Shaw
7186c2ecb0 I think this is the best I can do for a hover vs. click shader effect. Just do it in a shader based on a uniform setting. 2025-04-15 01:01:44 -04:00
Zed A. Shaw
08bc48df3d GLSL smoothstep is NOT lerp, it's 'Hermite linear interpolation' which basically means not a damn thing anyone says it is. mix is what I want. 2025-04-14 12:12:21 -04:00
Zed A. Shaw
766b20f3f8 Rayview now uses the shader manager. 2025-04-13 22:31:13 -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
576110ea44 Fragviewer can now load a sprite from my sprite list and then apply shaders to it. 2025-04-10 23:42:45 -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
e6a8a8b338 Fixed the map so that it shows directional arrows instead of a compass. 2025-04-06 23:29:25 -04:00
Zed A. Shaw
c7c48658bd Lots of dumb little edits to sort out what I'm aiming at. I'll next clean out most of this in a refactor. 2025-04-06 15:32:19 -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
e18aeaf05c Bring back a simple blood splatter texture. 2025-04-05 17:48:24 -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
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
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
5af9a6664e Have a few basic monochrome test items and the first little leather pouches on the 'tool belt'. 2025-03-23 11:34:50 -04:00
Zed A. Shaw
322797f787 Now have a full map and a mini map, but I think the mini map will stop rendering sometimes. 2025-03-23 00:04:23 -04:00
Zed A. Shaw
2e79cf8781 Map is way better and components::Tile is _vastly_ improved by switching to a wchar_t on display and letting nlohmann::json auto convert it for me. 2025-03-22 02:10:56 -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
acbf384e2a Fixed some of the easing functions but still not sure with RAT_GIANT doesn't move. 2025-03-20 04:25:15 -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
f1cc9f86c1 Very early prototype of the ritual crafting UI, but it needs its own thing. 2025-03-19 00:14:43 -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
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