Commit graph

187 commits

Author SHA1 Message Date
Zed A. Shaw
1537a81aac Cleanup before refactoring the boss/fight.cpp code. 2025-12-05 12:02:57 -05:00
Zed A. Shaw
94b46a2f95 Fix up the main game based on arena changes. 2025-12-05 11:20:35 -05:00
Zed A. Shaw
f839edcd56 BattleEngine is now connected to the boss::UI so as you click it'll continually run the plan and figure out the AI actions. 2025-12-05 00:51:35 -05:00
Zed A. Shaw
a38bb5b691 Basic AP (Action Points) system tied to the AI actions, but there's no way to set 'has AP' for the AI? 2025-12-03 15:24:41 -05:00
Zed A. Shaw
c78b2ae75e Now have the basics of the turn based battle engine with AI rebellion working. 2025-12-01 00:14:08 -05:00
Zed A. Shaw
b48df3f4db Can now run the full AI for all combatants and then sort by the action costs to make the action queue. 2025-11-27 12:46:14 -05:00
Zed A. Shaw
5b57fb2033 Now have a simple camera system that I can configure in json for different motion effects. 2025-11-03 00:25:48 -05:00
Zed A. Shaw
d60e1af6df A bit of refactor to put apply in Animation where it belongs. 2025-11-01 11:13:12 -04:00
Zed A. Shaw
e5fa76b03c Floor is now just a fixture. 2025-10-23 14:12:04 -04:00
Zed A. Shaw
25f7096489 AnimatedScene now defines how a scene with animated sprites and actors is structured and played. 2025-10-22 00:11:36 -04:00
Zed A. Shaw
71e3c97cf0 Arena works better now and I can give a list of sprites to work as fixtures in a scene. 2025-10-19 00:47:28 -04:00
Zed A. Shaw
7f10c5b3d7 New boss scene that's really just a pixelated photo bash done quickly. 2025-10-12 14:05:30 -04:00
Zed A. Shaw
c33f370572 Animations are now being pulled correctly but I need to add a timing concept to animations instead of ticks. 2025-10-10 00:25:37 -04:00
Zed A. Shaw
06a174040f The whole boss fight scene is now configurable with json. 2025-09-27 11:58:44 -04:00
Zed A. Shaw
d398b042a7 New bossfight layout with fake 'paper cutouts' to work out how the UI would work. 2025-09-24 01:29:36 -04:00
Zed A. Shaw
07e281d987 Have a basic understanding of what to do for the boss fight arena, but now want to start over fresh. 2025-09-22 13:43:36 -04:00
Zed A. Shaw
e523aa8b02 Quick refactor of the config system to make it easier to refactor config.cpp/hpp later. 2025-09-16 11:59:30 -04:00
Zed A. Shaw
7af264e147 Now have a fancy hand animation when you cast your rituals. 2025-09-15 02:14:13 -04:00
Zed A. Shaw
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. 2025-09-12 11:56:11 -04:00
Zed A. Shaw
ca3b04b895 Invalid test, should be enemy. 2025-09-03 11:28:29 -04:00
Zed A. Shaw
0c8cb197c2 Fix the map opening and closing all the time. 2025-09-02 13:56:19 -04:00
Zed A. Shaw
a11e7de14e Fix up the spatialmap to have an occupied_by method which checks if a square is occupied and returns what is there. 2025-09-02 12:46:05 -04:00
Zed A. Shaw
9faad5f263 FINALLY figured out how to rotate to face a square, thanks to all the help from Twitch chat. I need to study Trig. 2025-09-02 02:26:08 -04:00
Zed A. Shaw
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. 2025-09-01 01:37:03 -04:00
Zed A. Shaw
4365aa4bfc Now added a System::multi_path which can target to multiple entities. 2025-08-31 00:39:35 -04:00
Zed A. Shaw
fc678c6b42 Pathing in either diagonal or simple motion works. 2025-08-31 00:17:47 -04:00
Zed A. Shaw
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. 2025-08-30 10:48:52 -04:00
Zed A. Shaw
7ffa6025ce And finally fix some of the API names to make more sense in their current location. 2025-08-20 23:49:30 -04:00
Zed A. Shaw
a20d701096 Rename to GameDB and GameDB::Level. 2025-08-20 23:20:36 -04:00
Zed A. Shaw
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. 2025-08-20 13:31:02 -04:00
Zed A. Shaw
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. 2025-08-20 01:10:42 -04:00
Zed A. Shaw
5aca2fb56a Tests are now clean so next step is to officially nuke the level manager. 2025-08-20 00:48:20 -04:00
Zed A. Shaw
564f9842a2 All of the UIs should be cleared out, and that just leaves the tests. 2025-08-19 23:58:42 -04:00
Zed A. Shaw
d5ff57e025 Now systems.cpp is disconnected from levelmanager. That leaves the GUIs and then to completely remove it and clean up the api. 2025-08-19 11:05:32 -04:00
Zed A. Shaw
644ff6edc0 Bad test that wasn't running. 2025-08-18 23:55:14 -04:00
Zed A. Shaw
20fa95bd93 Simple test to make sure world events actually loop. Closes #84. 2025-08-17 10:18:06 -04:00
Zed A. Shaw
05d54ff661 Now also combat works no matter what's on the ground. Closes #81. 2025-08-09 00:13:38 -04:00
Zed A. Shaw
f84b63f0e6 The problem with picking up items under a dead body is fixed but now need to fix combat. 2025-08-07 12:13:39 -04:00
Zed A. Shaw
97fe02d99d Add a new dead_body sprite for things that are dead but you can't loot them. 2025-08-06 23:13:29 -04:00
Zed A. Shaw
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. 2025-08-03 23:58:59 -04:00
Zed A. Shaw
9c02fb846b Now the spatialmap determines the 'wiggle factor' when there's multiple entities in a cell, which staggers them visually. Closes #78. 2025-08-03 01:56:34 -04:00
Zed A. Shaw
23ead1f0ca SpatialMap now has a full test suite and that helped find some bugs. 2025-08-01 13:33:34 -04:00
Zed A. Shaw
f26189c696 SpatialMap now uses unordered_multimap to allow for multiple items in a square, but they're also tagged to mark some with collision. 2025-07-31 13:00:39 -04:00
Zed A. Shaw
b193bab148 Add in the tests from finding the bug in spatial map. 2025-07-31 00:03:36 -04:00
Zed A. Shaw
d6326c9e41 Mostly working spatical map with 2 level collision/space structure. Not the best implementation but this is the idea. 2025-07-29 03:12:44 -04:00
Zed A. Shaw
ff7111b006 Icons now work way better and don't have the the 'Rayview cuts icons' bug. It actually was a bug in the lel-guecs Sprite class that was using the TextureRect from the source sprite. Now its initialized with the framesize from the .json. This also uses the new guecs::Icon, but I have to fix that as it doesn't scale correctly. Closes #2. 2025-07-22 15:04:22 -04:00
Zed A. Shaw
6f91533950 Fog of War now works fairly normally, but I think I'll have to do something so people don't live in the map. Probably something like hearing distance is increased because you're louder with a map out, and you can't see enemies on the map. 2025-07-21 23:21:24 -04:00
Zed A. Shaw
2997dc363b FoW is now moved into lighting so light determines what's seen not player's last position. Not sure if I like that though. 2025-07-21 13:10:03 -04:00
Zed A. Shaw
d264760405 Fog of War works but it's in the wrong place and needs to be based on light. 2025-07-20 01:34:39 -04:00
Zed A. Shaw
aa72cfe4a4 Now have a working compass based directional player sprite in the map, but using the compass isn't going to work long term. Need to move that into the raycaster.cpp and get real degrees for facing direction. 2025-07-18 13:09:53 -04:00