Commit graph

  • f8158a3ea9 Animated scenes can easily make floors that do things, floors with moving elements, but I need to improve the easing/motion parts of the animations. master Zed A. Shaw 2025-10-24 00:24:29 -04:00
  • 2d836a9e2a The layout is now also coming from the bosses.json file so it's totally configured there. Zed A. Shaw 2025-10-23 23:11:48 -04:00
  • e5fa76b03c Floor is now just a fixture. Zed A. Shaw 2025-10-23 14:12:04 -04:00
  • 23f54bd4fe Now fixtures and actors are loaded the same. Zed A. Shaw 2025-10-23 13:48:58 -04:00
  • 4f39f2a504 Moved the animated scene into its own system for better development. Zed A. Shaw 2025-10-23 11:37:35 -04:00
  • 49c9702041 Cleaned up the arena code more and closer to pulling it out for a scene system. Zed A. Shaw 2025-10-23 00:29:15 -04:00
  • 25f7096489 AnimatedScene now defines how a scene with animated sprites and actors is structured and played. Zed A. Shaw 2025-10-22 00:11:36 -04:00
  • e1da089600 Now the rat king screams. Zed A. Shaw 2025-10-21 00:46:16 -04:00
  • 7c11ffa2af Now have animated torches that are defined from json, and smoother animations in the arena. Zed A. Shaw 2025-10-21 00:21:46 -04:00
  • 387d1a5bf5 Now have the ability to place animated fixtures anywhere and to flip them. Zed A. Shaw 2025-10-20 00:29:12 -04:00
  • e99c07b50c Add a couple of rats that help the rat king. Render them behind. Zed A. Shaw 2025-10-19 00:55:39 -04:00
  • 71e3c97cf0 Arena works better now and I can give a list of sprites to work as fixtures in a scene. Zed A. Shaw 2025-10-19 00:47:28 -04:00
  • 59ba73baa0 Mostly working torch sprites have taught me what I need for the animation system. Zed A. Shaw 2025-10-18 00:13:44 -04:00
  • a578c49a77 Basic arena working that lets me work on the boss fight system quicker. Zed A. Shaw 2025-10-16 12:00:33 -04:00
  • 7f10c5b3d7 New boss scene that's really just a pixelated photo bash done quickly. Zed A. Shaw 2025-10-12 14:05:30 -04:00
  • ca38b58450 Now the animations have sounds and using the rat king boss. Zed A. Shaw 2025-10-10 02:00:39 -04:00
  • 0930b05fc5 Some basic animations working but the loop in bad. Zed A. Shaw 2025-10-10 01:42:42 -04:00
  • c33f370572 Animations are now being pulled correctly but I need to add a timing concept to animations instead of ticks. Zed A. Shaw 2025-10-10 00:25:37 -04:00
  • 517de91a5b Quick code review to refresh my memory. Zed A. Shaw 2025-10-09 01:23:01 -04:00
  • ee9f8c7c4b Have the first little turn based system going. Zed A. Shaw 2025-10-07 23:07:12 -04:00
  • f33e14f2cf More on the boss fight sytem, just a basic FSM going. Zed A. Shaw 2025-10-07 12:47:47 -04:00
  • a0861a8f57 Make it possible to quit in the boss fight for faster dev. Zed A. Shaw 2025-09-29 14:04:54 -04:00
  • 61a40ae7cd Refactored boss fight to pull out the FSM code into boss::Fight. Zed A. Shaw 2025-09-29 13:19:59 -04:00
  • 3b11ed0a75 The FSM for boss fights is started. Zed A. Shaw 2025-09-27 14:35:24 -04:00
  • fdc0bcdb3b Capturing attack clicks so now just have to make my own FSM for the minigame. Zed A. Shaw 2025-09-27 14:10:25 -04:00
  • 231adb6335 Making the bossfight function by creating the FSM for it. Zed A. Shaw 2025-09-27 13:25:34 -04:00
  • 06a174040f The whole boss fight scene is now configurable with json. Zed A. Shaw 2025-09-27 11:58:44 -04:00
  • 06f6098281 Create the systems.cpp for the boss fight mini game. Zed A. Shaw 2025-09-25 11:40:09 -04:00
  • 27b71d4ba3 Small tweaks to make it easier to position. Zed A. Shaw 2025-09-24 14:48:08 -04:00
  • 8a828fbd31 Boss fight now reuses the combat_ui.cpp to do the combat panel, so next is making it work with the mechanics I want but no art. Zed A. Shaw 2025-09-24 14:22:24 -04:00
  • 6ec43026b6 Boss UI buttons in place and ready to work. Zed A. Shaw 2025-09-24 02:17:38 -04:00
  • d398b042a7 New bossfight layout with fake 'paper cutouts' to work out how the UI would work. Zed A. Shaw 2025-09-24 01:29:36 -04:00
  • a4fdfb779f Made textures fail harder when given bad config. Zed A. Shaw 2025-09-23 22:45:13 -04:00
  • 7cdd96ef73 A little bit of layout up and displaying to get started. Zed A. Shaw 2025-09-22 14:35:10 -04:00
  • 07e281d987 Have a basic understanding of what to do for the boss fight arena, but now want to start over fresh. Zed A. Shaw 2025-09-22 13:43:36 -04:00
  • e523aa8b02 Quick refactor of the config system to make it easier to refactor config.cpp/hpp later. Zed A. Shaw 2025-09-16 11:59:30 -04:00
  • 47f659ae8e bring back the shaders on the enemies too to show they got hit. Zed A. Shaw 2025-09-15 14:02:07 -04:00
  • d1f7337de4 Now have a fully painting/pixelated female hand for the actions. Zed A. Shaw 2025-09-15 13:26:18 -04:00
  • 7af264e147 Now have a fancy hand animation when you cast your rituals. Zed A. Shaw 2025-09-15 02:14:13 -04:00
  • ad3e580495 Animations are refactored to let me spawn in an 'attack animation' but I think the data model is wrong. Rather than spawning in an animation every time I can probably just make one, reposition it, then tell it to play. I'll have to try it. Zed A. Shaw 2025-09-12 11:56:11 -04:00
  • 8384b11993 Refactored the animation so I can normalize it to one api. Next is to create the concept of a temporary entity that represents a transitive effect. Zed A. Shaw 2025-09-11 14:18:52 -04:00
  • 0afaa20c1d Improved the code so it uses ai::EntityAI and it now will find healing when it gets low. Has a bug where it stalls when finding healing and gets into combat. Zed A. Shaw 2025-09-07 23:56:24 -04:00
  • 7207d53885 Autowalker now figures out there's an enemy near when first entering a level. Zed A. Shaw 2025-09-06 22:50:20 -04:00
  • ed33a36bca Autowalker now will grab healing when they need it and can grab it. Zed A. Shaw 2025-09-06 00:02:42 -04:00
  • 29ab9721af Now they AI will heal when they can, but not yet go get itesm before/during combat. Zed A. Shaw 2025-09-05 23:48:59 -04:00
  • a2192e25eb AI can now walk to where healing items are and pick them up to use. Zed A. Shaw 2025-09-05 23:20:45 -04:00
  • fe37aa11df Accidental crash when you click on an empty inventory. Zed A. Shaw 2025-09-05 11:56:36 -04:00
  • f03a3a31a8 Autowalker now walks more accurately to locations, fights enemies, and also picks up loot drops and healing items _only_. Zed A. Shaw 2025-09-04 23:40:36 -04:00
  • 40b2d7f45d Bring over various autowalker improvements. Zed A. Shaw 2025-09-04 12:23:43 -04:00
  • 9c5bad5959 This fixes the bug where you get 'stuck' while moving and passing an enemy. Need to sort out why this fixes it though. Closes #30. Zed A. Shaw 2025-09-04 11:48:12 -04:00
  • ba5fc73127 Disable collecting items for now. Zed A. Shaw 2025-09-04 11:46:51 -04:00
  • ca3b04b895 Invalid test, should be enemy. Zed A. Shaw 2025-09-03 11:28:29 -04:00
  • 0c8cb197c2 Fix the map opening and closing all the time. Zed A. Shaw 2025-09-02 13:56:19 -04:00
  • a11e7de14e Fix up the spatialmap to have an occupied_by method which checks if a square is occupied and returns what is there. Zed A. Shaw 2025-09-02 12:46:05 -04:00
  • 759f93cae0 Autowalker now correctly faces enemies to fight them. Zed A. Shaw 2025-09-02 11:31:01 -04:00
  • 9faad5f263 FINALLY figured out how to rotate to face a square, thanks to all the help from Twitch chat. I need to study Trig. Zed A. Shaw 2025-09-02 02:26:08 -04:00
  • d822cb3438 Have a way to detect the best rotation but it's still off a bit. Seems to choose wrong in simple situations. Look in System::shortest_rotate. Zed A. Shaw 2025-09-01 01:37:03 -04:00
  • f98cc543f6 Autowalker now paths reliably and can attack enemies by facing them. Just need to make it fight diagonally. Zed A. Shaw 2025-08-31 00:47:21 -04:00
  • 4365aa4bfc Now added a System::multi_path which can target to multiple entities. Zed A. Shaw 2025-08-31 00:39:35 -04:00
  • fc678c6b42 Pathing in either diagonal or simple motion works. Zed A. Shaw 2025-08-31 00:17:47 -04:00
  • e92fd2b6f3 Needed to rewrite the pathing to get this to work. I actually had been using a purposefully broken pathing algorithm from when I was making random maps. Zed A. Shaw 2025-08-30 10:48:52 -04:00
  • c894f6e094 Initial part of the rewrite for the autowalker to fix the pathing and aiming issues. Zed A. Shaw 2025-08-26 00:55:27 -04:00
  • 63eaea3536 rewrite game_level::player_position to be more efficient. Zed A. Shaw 2025-08-26 00:46:58 -04:00
  • 4a2d8770d9 Cleaned up how the camera is configured so that it can be easily queried in other parts like the autowalker. Zed A. Shaw 2025-08-25 23:23:05 -04:00
  • b4569622a0 Cleanup the autowalker for new work. Zed A. Shaw 2025-08-25 22:44:53 -04:00
  • 4bf9a9177f Made an AI debug view to I can make working on the AI easier. I might add the ability to toggle things on/off live to see what the AI does. Zed A. Shaw 2025-08-23 01:40:51 -04:00
  • fc8e65f4d6 Enemies how fight back when cornered, either by being blocked by another enemy or when at a dead end walls. Zed A. Shaw 2025-08-22 22:29:22 -04:00
  • 586343a614 Enemies will now fight back if they're cornered. Was actually way easier than I thought. Zed A. Shaw 2025-08-21 23:32:34 -04:00
  • 7ffa6025ce And finally fix some of the API names to make more sense in their current location. Zed A. Shaw 2025-08-20 23:49:30 -04:00
  • a20d701096 Rename to GameDB and GameDB::Level. Zed A. Shaw 2025-08-20 23:20:36 -04:00
  • c46927ea10 Now all of the old LevelManager code is gone. Next phase is to rename the Game:: to something better then test the shit out of it. Zed A. Shaw 2025-08-20 13:31:02 -04:00
  • a83ee77eea levelmanager.* is now gone, but the code is just moved over to game_level. Now to clean up the api and give it a new name. Zed A. Shaw 2025-08-20 01:10:42 -04:00
  • 5aca2fb56a Tests are now clean so next step is to officially nuke the level manager. Zed A. Shaw 2025-08-20 00:48:20 -04:00
  • 564f9842a2 All of the UIs should be cleared out, and that just leaves the tests. Zed A. Shaw 2025-08-19 23:58:42 -04:00
  • d5ff57e025 Now systems.cpp is disconnected from levelmanager. That leaves the GUIs and then to completely remove it and clean up the api. Zed A. Shaw 2025-08-19 11:05:32 -04:00
  • 81e25f73bb Next phase of the refactor is done. Now to replace everything in Systems. Zed A. Shaw 2025-08-19 01:07:28 -04:00
  • 644ff6edc0 Bad test that wasn't running. Zed A. Shaw 2025-08-18 23:55:14 -04:00
  • 097879440d Changed facts in DinkyECS to be a shared_ptr so that it is a singular data store instead of copied around. Closes #85. Zed A. Shaw 2025-08-18 02:17:04 -04:00
  • b839fb6463 The problem was keeping a reference in a class/object means that it will not get updated copies when levelmanager makes a new level. Honestly that whole constelation of bullshit needs to die. Closes #62. Zed A. Shaw 2025-08-18 01:13:31 -04:00
  • ae1a48deed Now I have a better error that's more exact, but I think next level of this is to just show a generic texture for missing ones. Closes #80. Zed A. Shaw 2025-08-17 11:08:01 -04:00
  • 25a143cf22 Turns out I don't need to remove so much when I simply don't want to display something. Closes #82. Zed A. Shaw 2025-08-17 10:51:08 -04:00
  • 20fa95bd93 Simple test to make sure world events actually loop. Closes #84. Zed A. Shaw 2025-08-17 10:18:06 -04:00
  • a86912705c Refactored the mouse handling to use the new guecss Modifiers system and improved Clickable. Zed A. Shaw 2025-08-14 14:10:28 -04:00
  • ad0069e899 Made it so you can right-click on an item to use it, but yeah it's bad. Gotta refactor. Zed A. Shaw 2025-08-13 11:43:23 -04:00
  • 42575ef1f5 Updated the lootable body asset. Zed A. Shaw 2025-08-13 11:43:05 -04:00
  • f19c1dbb20 Now you can heal yourself. Zed A. Shaw 2025-08-11 16:59:19 -04:00
  • e03a63f9fb A little bit of refactoring while thinking about the loot next. Zed A. Shaw 2025-08-10 12:42:28 -04:00
  • 48e28ee636 New dead_body_lootable sprite for dead things you can loot. Zed A. Shaw 2025-08-10 12:30:42 -04:00
  • b9209beddd Better error when you have duplicate map icons. Zed A. Shaw 2025-08-10 12:29:53 -04:00
  • 8594568ff4 Slight clean up. Zed A. Shaw 2025-08-10 12:29:24 -04:00
  • 521180b086 Refactor out the junk randomizer and put it in rituals where it belongs. Zed A. Shaw 2025-08-10 11:20:22 -04:00
  • 05d54ff661 Now also combat works no matter what's on the ground. Closes #81. Zed A. Shaw 2025-08-09 00:13:38 -04:00
  • f84b63f0e6 The problem with picking up items under a dead body is fixed but now need to fix combat. Zed A. Shaw 2025-08-07 12:13:39 -04:00
  • 97fe02d99d Add a new dead_body sprite for things that are dead but you can't loot them. Zed A. Shaw 2025-08-06 23:13:29 -04:00
  • 0d889cd0ff Quick start to making it possible to use healing items, or any item really. Going with a style that it has to be on your toolbar to use it, and the toolbelt looks in your inventory to see ifyou have healing items. Zed A. Shaw 2025-08-06 13:16:22 -04:00
  • b9656013b0 Now have dead bodies working but need art for it. Zed A. Shaw 2025-08-06 12:15:21 -04:00
  • fc4eacadb0 There's now a Collision component that determines collision if its set. Closes #72. Zed A. Shaw 2025-08-06 11:43:39 -04:00
  • 9bf6926dc3 A bit of optimization to keep from generating the sorted sprite list over and over. Also tried to solve the problem of tombstone covering everything but no luck. Zed A. Shaw 2025-08-03 23:58:59 -04:00
  • 077f0e84ea Don't add wiggle to the things in the player's square since that moves them into the player eyes. Zed A. Shaw 2025-08-03 22:34:03 -04:00
  • a4a4389281 Move amt's examples into scratchpad for later review. Zed A. Shaw 2025-08-03 22:33:29 -04:00