Commit graph

66 commits

Author SHA1 Message Date
Zed A. Shaw
743f906bc7 Implemented a simple collision hash table. 2024-10-25 22:31:09 -04:00
Zed A. Shaw
dbc2a10933 Very basic collision and combat to work out the idea and a logging system on the left. 2024-10-25 20:49:11 -04:00
Zed A. Shaw
98993481b0 Playing around with it some more to see how a move would work. 2024-10-22 02:09:28 -04:00
Zed A. Shaw
98baa13264 Tried out Google's AI response to the question of a C++ spatial hash and it kind of came close. This took some massaging but it could work. 2024-10-22 01:52:15 -04:00
Zed A. Shaw
6f2fba4f7f Make a few comments to keep this straight. 2024-10-21 23:26:54 -04:00
Zed A. Shaw
e57a13846f A bit more caching and optimization then determine how to center glyphs in the center of the background if it fits. 2024-10-21 22:43:34 -04:00
Zed A. Shaw
9083582420 Make it possible to zoom in/out, but I may make this a combat thing where it's zoomed out until you encounter an enemy. 2024-10-21 20:31:59 -04:00
Zed A. Shaw
02a45d890f Make it so the canvas for the map view is calculated based on the font size, which will allow for zooming. 2024-10-21 00:12:04 -04:00
Zed A. Shaw
9f1e9717a0 Super jank prototype of my idea but I am rendering multiple characters per cell to give the effect of a more complex character. Now to make this a data setup so it's easy to make characters. Also, probably have little add ons to show things like weapons equiped, etc. 2024-10-18 21:59:06 -04:00
Zed A. Shaw
31c86fa2b3 Cleanup before trying to make the tile rendering faster by pre-loading the sprites needed, or caching as they're requested. 2024-10-18 20:53:19 -04:00
Zed A. Shaw
08d71f9bdc Super duper slow but this renders the text glyphs directly as sprites so I can do special colorization. Probalby then need to process the ftxui color ansi codes. 2024-10-18 16:00:13 -04:00
Zed A. Shaw
fe5f7673ea Remove some unused variables. 2024-10-18 00:28:23 -04:00
Zed A. Shaw
8b61a4fad8 Forgot to set targets for pathing. 2024-10-17 23:50:07 -04:00
Zed A. Shaw
3dae65fe82 Merge in the refactor from earlier. 2024-10-17 21:49:57 -04:00
Zed A. Shaw
da64e526c4 Systems now control most of the game's operations and a lot of the rendering logic, this now brings in a camera so maps can be larger than the viewport. 2024-10-17 21:43:19 -04:00
Zed A. Shaw
1bb8999610 A bit more cleanup, but still looking for more organization. 2024-10-16 23:15:56 -04:00
Zed A. Shaw
e42647d727 I think I've got my head around what ECS does and am slowly reshaping the engine to use it better. 2024-10-16 20:31:00 -04:00
Zed A. Shaw
da04c5ec54 Not sure why I didn't think of this before, but you can just copy all the .wrap files to another directory, and then instead of meson wrap install you just copy them to subprojects. That's how you lock the versions of dependencies. 2024-10-16 20:01:01 -04:00
Zed A. Shaw
33327154ad DinkyECS is now controlling the game and can handle multiple enemies easily. Next is to clean this up so it's not just one gross pile of code in the gui. 2024-10-16 15:01:53 -04:00
Zed A. Shaw
86c98c43c2 Fixes to make it build on OSX with old gear. I have an ancient OSX laptop that uses Clang 14 and it actuall works there. Amazing. 2024-10-13 14:01:18 -04:00
Zed A. Shaw
b9c27cd6ba Now calling this DinkyECS and will use it in the game to move the enemies and such. 2024-10-10 23:20:00 -04:00
Zed A. Shaw
085777706e A few more little features like facts and the ability to store a system for later running. 2024-10-10 23:05:38 -04:00
Zed A. Shaw
cc4f83a1d1 Just wrote my own entity system to figure it out. 2024-10-10 17:34:33 -04:00
Zed A. Shaw
a3eaf78fd3 Brought in FLECS to play with, tomorrow we learn it. 2024-10-05 18:15:14 -04:00
Zed A. Shaw
b8a0d9bbd1 Now able to render the map at a different size from the rest of the UI and also only shake the map. 2024-10-05 17:24:07 -04:00
Zed A. Shaw
77945be4d7 Record some bugs. 2024-10-04 18:32:04 -04:00
Zed A. Shaw
f9bf8f06ea Some jank test visual effects are working. 2024-10-04 18:23:14 -04:00
Zed A. Shaw
243d15c123 Just don't prevent start points being in walls. 2024-10-04 17:09:28 -04:00
Zed A. Shaw
6f952bfd28 Fixed the screen sizing issue. It was just using the terminal size and not the window graphic size. 2024-10-04 16:57:11 -04:00
Zed A. Shaw
5cf66aad02 Conver to using \ for member variables in classes. In structs just use the name. 2024-10-03 17:05:23 -04:00
Zed A. Shaw
187edb898e Mostly all cleaned up now. 2024-10-02 19:08:17 -04:00
Zed A. Shaw
10e5f53292 Mostly pulled out all of the ftxui rendering into cleaner areas. 2024-10-02 18:55:17 -04:00
Zed A. Shaw
710076edfb Pulled most of the variables out so now I can carve out functions. 2024-10-02 18:14:54 -04:00
Zed A. Shaw
a7f6357e12 Refactor the entity out. 2024-10-02 17:29:49 -04:00
Zed A. Shaw
cac7017563 Prepared to rework and refactor. 2024-10-02 17:10:21 -04:00
Zed A. Shaw
1404144af8 Ignore more irrelevant things. 2024-10-02 17:01:30 -04:00
Zed A. Shaw
8aa982e5ea Make the changes for the new assets layout. 2024-10-02 16:59:30 -04:00
Zed A. Shaw
feda66defd Mostly working prototype that uses FTXUI to render to SFML and then plays a sound when you hit a wall. 2024-10-02 16:56:06 -04:00
Zed A. Shaw
69fa7d9e4e Make doors randomly on the rooms. 2024-09-30 23:51:05 -04:00
Zed A. Shaw
dd6d29ed7d A ton of the game basic functions are now working. I have a random gen man, enemies, and enemies pathing to you. 2024-09-30 00:49:55 -04:00
Zed A. Shaw
2e8abbaf5e Our hero can walk around the world and won't go through walls. 2024-09-30 00:04:58 -04:00
Zed A. Shaw
bcc524861e Map generation is working well, and some cleanup. 2024-09-29 23:07:28 -04:00
Zed A. Shaw
3a43324fa2 Random map gen is mostly working, now to clean it up. 2024-09-29 22:36:13 -04:00
Zed A. Shaw
a82944f55a Jank thoughts on using the dijk map to walk from door to door for tunnels. 2024-09-28 18:15:00 -04:00
Zed A. Shaw
b100950877 Move the random gen to a global for now. 2024-09-28 16:52:38 -04:00
Zed A. Shaw
a37a40d45f Slightly better parition and map_drawing. 2024-09-28 16:48:47 -04:00
Zed A. Shaw
44f11d5ddd Refactor into the class for more work. 2024-09-28 16:22:10 -04:00
Zed A. Shaw
04b16c75ad Undo the dijk test. 2024-09-28 16:10:31 -04:00
Zed A. Shaw
68d6b9e90c If you invert the walls and the input map then you might be able to use the dijkstra map to find interesting paths between rooms. 2024-09-28 04:25:09 -04:00
Zed A. Shaw
997a3ab45b Lots of nice options for tweaking and settings. Next step is the cleanup and then connecting rooms. 2024-09-28 04:07:32 -04:00