Commit graph

  • 00f76dfb34 Need to tag the events with their number for debugging. Zed A. Shaw 2025-03-15 10:45:07 -04:00
  • 2815375836 Test now can work the enemy AI to prototype behavior. Zed A. Shaw 2025-03-14 23:48:03 -04:00
  • db5a371766 Moving some stuff around before writing a test to confirm the EntityAI. Zed A. Shaw 2025-03-14 22:39:08 -04:00
  • f3e157a0f7 Enemy AI is now prototyped and can find the player and attack them. Zed A. Shaw 2025-03-14 13:41:22 -04:00
  • 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. Zed A. Shaw 2025-03-14 11:14:25 -04:00
  • 77f2e94515 Figuring out something weird about the Pathing::random_walk code. Zed A. Shaw 2025-03-13 23:03:14 -04:00
  • ee804581a8 Autowalker is working way better and now I have a plan for using the AI in the System. Zed A. Shaw 2025-03-13 13:44:42 -04:00
  • 0623170dbc Autowalker AI now knows when it has items, and knows it should find healing, but it's not working quite yet. Zed A. Shaw 2025-03-12 13:56:05 -04:00
  • 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. Zed A. Shaw 2025-03-12 12:15:21 -04:00
  • 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. Zed A. Shaw 2025-03-12 00:41:40 -04:00
  • 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. Zed A. Shaw 2025-03-11 15:33:14 -04:00
  • 3f83d3f0bb A bit more cleanup to avoid duplicate testing and to separate the GOAP algorithm code from the little AI Manager thing. Zed A. Shaw 2025-03-11 10:57:29 -04:00
  • b2c1b220ac ai.cpp now has a nice easy to use API for loading and running the GOAP things. Zed A. Shaw 2025-03-11 00:32:11 -04:00
  • a079f882df Quick renaming of stuff to be more generic as 'AI'. Now maybe I can get some sweet sweet investor money. Zed A. Shaw 2025-03-10 22:30:56 -04:00
  • 9d6dc2f5dd Now can load action specs from JSON. Zed A. Shaw 2025-03-10 14:07:31 -04:00
  • 3d8a2d4342 GOAP now uses only bit operations to do its thing. Zed A. Shaw 2025-03-10 12:13:08 -04:00
  • 01525388ec GOAP is now working in a basic way, time to clean it up. Zed A. Shaw 2025-03-10 11:06:26 -04:00
  • 2992193447 GOAP is now matching cppGOAP but needs a serious cleanup. Zed A. Shaw 2025-03-10 00:42:59 -04:00
  • 15c2efc415 A barely working GOAP now, but need to confirm it's on par with other libraries. Zed A. Shaw 2025-03-09 23:40:15 -04:00
  • a34e2cd475 GOAP is structured but not working yet. Zed A. Shaw 2025-03-09 14:05:53 -04:00
  • a34becdaeb A simple A* pathing function that works on maps, but I'll be changing it to do the GOAP pathing. Zed A. Shaw 2025-03-08 23:23:29 -05:00
  • 73b0600039 Quick notes on the linux build. Zed A. Shaw 2025-03-06 23:51:18 -05:00
  • b68fd249ca Catch a system error that OSX's SFML produces since it's at the end and looks like just a cleanup mistake. Zed A. Shaw 2025-03-06 22:22:42 -05:00
  • b7948f8154 Build is working on both OSX and Windows. Now for linux. Zed A. Shaw 2025-03-06 20:22:51 -05:00
  • e1f9942da3 Mostly working OSX build options, but it crashes on close with a thread error. Zed A. Shaw 2025-03-06 14:11:12 -05:00
  • 28b900e4ff Finally created an installer so people can try the game. version-0.1 Zed A. Shaw 2025-03-05 13:39:38 -05:00
  • 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. Zed A. Shaw 2025-03-05 01:01:36 -05:00
  • 281a7f687a Can now mark json/components with std::optional and then they can be null/false to disable them. Zed A. Shaw 2025-03-04 23:06:46 -05:00
  • 243b4c2663 Basic ability to create a 'stage' for a boss fight, which is a thing in front the boss animates behind. Zed A. Shaw 2025-03-04 22:16:47 -05:00
  • 8b414c13e6 Animations now can have a stationary option which tries to keep them 'in place' while growing, effectively removing the forward motion. Zed A. Shaw 2025-03-04 12:12:27 -05:00
  • 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. Zed A. Shaw 2025-03-04 09:31:15 -05:00
  • 6e8aa48332 BossFightUI now gets everything from a world and will be implemented like the rest of the game, but as a mini game. Zed A. Shaw 2025-03-03 12:44:26 -05:00
  • ca18422930 BossFightUI is not managed by the level manager since it is kind of a new level, just with a different mini game. Zed A. Shaw 2025-03-03 11:15:49 -05:00
  • a3f6ba3c03 Refactored the bossfight_ui so it will work with any description of a boss fight. Zed A. Shaw 2025-03-02 12:36:08 -05:00
  • 43835da88f Bosses and other enemies now have a 2 frame animation, the first boss the Rat King now screams at you and attacks. Zed A. Shaw 2025-03-01 13:41:42 -05:00
  • b3b8cbbeee Started to set things up so that the boss fight UI can load enemies and configs out of the components setup. Zed A. Shaw 2025-03-01 00:46:40 -05:00
  • 033358749f Animations now have an easing/ease_rate setting that will do a dynamic scaling effect on them during the animation sequence. Zed A. Shaw 2025-03-01 00:24:19 -05:00
  • 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. Zed A. Shaw 2025-02-28 22:29:25 -05:00
  • e020f25dd1 Move the compass to the left so that enemies don't have N on their head. Zed A. Shaw 2025-02-28 13:34:48 -05:00
  • 2d790c5986 Boss fight looking better, but I need to get this bounce animation in the main game fights. Zed A. Shaw 2025-02-28 13:03:13 -05:00
  • 25d782df6d Start and stop some sounds and add a little bit of reverb to sounds so they fit the 'dungeon' theme. Zed A. Shaw 2025-02-28 10:48:45 -05:00
  • a8ae6df13b Brought in some sounds from Soundly so now it's more complete with audible attacks and death sounds. Zed A. Shaw 2025-02-28 10:20:28 -05:00
  • 976b353901 Reduce the bit rate and sample rate to get a lower quality effect on the sound. Zed A. Shaw 2025-02-28 01:04:23 -05:00
  • a0c0308461 More boss fight UI done and a bit of ambient sound working. Zed A. Shaw 2025-02-28 00:52:48 -05:00
  • 64807174c0 Initial idea for the boss fight UI but it's just a temporary holder for now. Zed A. Shaw 2025-02-27 15:24:17 -05:00
  • a72d2879fd Don't need the debugging. Zed A. Shaw 2025-02-27 11:12:04 -05:00
  • 11ea08bc7f Have a little debug minimap in the top right when autowalking with debug on. Zed A. Shaw 2025-02-27 11:02:02 -05:00
  • da1e38e21c Works a bit better now, but still gets stuck on combat and sometimes in alleys. Zed A. Shaw 2025-02-27 10:19:59 -05:00
  • cdb930a7f2 Now it will path to enemies, then devices, then items but it does get stuck on stuff like devices. Zed A. Shaw 2025-02-27 03:02:28 -05:00
  • 87e1c25cd5 Better structure on the autowalker, but still gets stuck in some combat situations. Next is after we kill everything we head to the exit. Zed A. Shaw 2025-02-27 02:29:53 -05:00
  • e6c225f1c8 Refactor the Map::neighbors so that it's part of pathing where it should be. Zed A. Shaw 2025-02-26 13:49:25 -05:00
  • d4355a608d Now have an autowalker class that allows me to drive the game from an external source. Zed A. Shaw 2025-02-26 13:39:25 -05:00
  • 1aba26831b Also allow mouse clicks to stop autowalk. Zed A. Shaw 2025-02-26 12:51:24 -05:00
  • d03abba8e4 Now if you pass a simple t as an arg it will do a fast autowalk at the start, mostly for testing. Zed A. Shaw 2025-02-26 12:43:12 -05:00
  • 14a96d0b63 Basic autowalking feature is working. Not every smart but hit O and it'll walk around and kill everything, hit any other key to stop it. Zed A. Shaw 2025-02-26 12:22:55 -05:00
  • a876229e18 Forgot the rat king graphic. Zed A. Shaw 2025-02-26 12:22:31 -05:00
  • 14c7f660de Level traversal works better now, compass is accurate, and direction is maintained when you traverse. Zed A. Shaw 2025-02-26 10:39:30 -05:00
  • b75a2b8c31 Add the rat king. Zed A. Shaw 2025-02-26 10:32:39 -05:00
  • 54fbf22b6d We can go down a level and there's a loading screen for it. The map and motion now matches the directions shown in the raycasting. There's now a compass that shows you the direction you're facing. Zed A. Shaw 2025-02-25 13:15:39 -05:00
  • e9accf14e6 Going into a well triggers a little 'loading screen' that's currently faked. Click on it to continue. Zed A. Shaw 2025-02-25 03:01:07 -05:00
  • 9d49c6a30b Wasn't even using MAX so changed to just a simple BOOST variable that can become a config. Zed A. Shaw 2025-02-25 01:29:14 -05:00
  • 5179709e3c Performance check showed that I was checking every sprite even if they're way far away so now just do ones near-ish. Zed A. Shaw 2025-02-25 00:56:54 -05:00
  • 29e6d45dc6 Level traversal works, but it's very immediate. Next is a little 'confirm level' modal and a transition screen. Zed A. Shaw 2025-02-24 23:26:50 -05:00
  • 1886c99920 A few tweaks to make the HP bar work constnantly, probably not the most efficient but it's good enough for now. Zed A. Shaw 2025-02-24 12:05:54 -05:00
  • dfd59065f7 Inventory and lighting improved, now to get ready for going down a level and that's most of the game loop working. Zed A. Shaw 2025-02-24 01:56:16 -05:00
  • 0878a9e978 Refactored inventory some so that the UI is not so knowing of the internals. Zed A. Shaw 2025-02-23 23:57:46 -05:00
  • e0e7a1027c Inventory system basically works now but is in a alpha hack stage. Time to refactor. Zed A. Shaw 2025-02-23 22:57:27 -05:00
  • b7f49aa719 Now have a mostly working inventory UI and can pickup items and see them. Next up, being able to use things by clicking on them. Zed A. Shaw 2025-02-23 02:13:14 -05:00
  • fa6311f10c Add an ability to mark the main UI dirty so that it forces a render at specific times. Zed A. Shaw 2025-02-22 23:26:47 -05:00
  • b8bafdcab5 Forgot the pickup sound. Zed A. Shaw 2025-02-22 23:07:03 -05:00
  • daae239831 Created a simple pickup sound that sounds like you put something in your bag. Zed A. Shaw 2025-02-22 23:06:20 -05:00
  • 806f8e4e1a Make enemies always twitch forward a bit, even if they have animation frames. Zed A. Shaw 2025-02-22 22:40:44 -05:00
  • 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. Zed A. Shaw 2025-02-22 22:27:56 -05:00
  • 2261e6f418 Remove that terrible walking sound. Zed A. Shaw 2025-02-22 22:19:05 -05:00
  • 6e56de08c5 Quick little fix to add a blank sound for placeholders. Zed A. Shaw 2025-02-22 22:18:41 -05:00
  • 3720340ab7 Have a really bad walking sound. Zed A. Shaw 2025-02-22 13:26:33 -05:00
  • 20cbc3a21c Working sound system and most enemies have a sound effect. This will make it easier to add sounds now. Zed A. Shaw 2025-02-22 12:48:37 -05:00
  • 83df9ff03b Super awesome twitchy animation for axe guy. Zed A. Shaw 2025-02-22 11:03:38 -05:00
  • 80a0f2ba75 Basic simple animations where the enemies just move forward. Zed A. Shaw 2025-02-22 01:36:31 -05:00
  • 947ccbe180 A simple config loader test. Zed A. Shaw 2025-02-21 23:17:53 -05:00
  • b8bb49df2c A basic components test that just loads all the config files and their components into a world. Zed A. Shaw 2025-02-21 22:52:53 -05:00
  • d0a6a92bc8 More testing improvements. Zed A. Shaw 2025-02-21 13:21:13 -05:00
  • 84fff71344 Remove some dead functions. Zed A. Shaw 2025-02-21 12:37:16 -05:00
  • 4b333c6684 Fix the mouse so that it's discrete and one click means on action. Zed A. Shaw 2025-02-21 12:32:55 -05:00
  • b43553a563 Major speed up in rendering by only doing it when we move, but drawing the rendered 3d view texture constantly. Zed A. Shaw 2025-02-21 11:34:46 -05:00
  • 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. Zed A. Shaw 2025-02-21 03:32:44 -05:00
  • f3e1413022 Intermediate refactor to move everything over to using the textures module rather than everyone using one TexturePack thing. Zed A. Shaw 2025-02-21 03:00:56 -05:00
  • 6c1d851e85 A bit more cleaning up of the gui and fsm, probaby done. Zed A. Shaw 2025-02-21 01:04:32 -05:00
  • dd4f77a106 More refactoring of the gui. Now most things are out of the FSM and MainUI is responsible for the rayvew and its overlay. Zed A. Shaw 2025-02-21 00:50:54 -05:00
  • 23ed1594f2 More refactoring of the FSM to MainUI. Move the overlay out and some more. Zed A. Shaw 2025-02-21 00:19:35 -05:00
  • a7a60ad35c Initial start of the refactoring of gui.cpp into two classes, the gui::FSM will be used to controll all of the other UIs in the game, and evetnually will be pretty dumb. Zed A. Shaw 2025-02-20 23:18:18 -05:00
  • 4a1a8a7d65 Mostly working overlay to show when in combat or not. Zed A. Shaw 2025-02-20 12:43:52 -05:00
  • 30a7e1b2cc Now overlay UI can show some text pretty easily and is showing the debug stats. Zed A. Shaw 2025-02-20 10:53:01 -05:00
  • d8e1fc7aa3 I have the overlay display the low health blood using the gui system. Zed A. Shaw 2025-02-20 08:41:45 -05:00
  • 70a9420c11 Started the overlay UI but need to make it possible to add/remove components to it. Zed A. Shaw 2025-02-20 02:33:09 -05:00
  • 59d10a4506 Get rid of the sprite on buttons until I have a better idea about the overall design. Zed A. Shaw 2025-02-20 00:44:13 -05:00
  • baa4d8ee2b Grave stones are not lootable and give 10 gold. No idea what gold even does. I mean, why _are_ there traders in a dungeon? Zed A. Shaw 2025-02-20 00:30:39 -05:00
  • 3b9525cca4 Enemies now turn into a lootable device witha grave_stone sprite so you know they died. Need to implement noclipping on items with collision. Zed A. Shaw 2025-02-19 23:18:33 -05:00
  • 0199248354 New axe wielding ranger for you to kill. Zed A. Shaw 2025-02-19 13:24:54 -05:00
  • f2b7871d12 Quickly pulled out some of the magic numbers but this isn't the ideal way to configure this stuff. Zed A. Shaw 2025-02-19 08:56:34 -05:00