Commit graph

52 commits

Author SHA1 Message Date
Zed A. Shaw
70cd963e5c Iterators are now working far more reliably and have more extensive tests that randomize inputs and fuzz them to check they keep working. 2024-12-15 19:38:16 -05:00
Zed A. Shaw
8e470df554 A bit of late night work designing the little iterators. 2024-12-14 11:00:52 -05:00
Zed A. Shaw
56b26e1c4a Matrix now just does the dumping but I need to make this more formal I think. 2024-12-05 09:17:30 -05:00
Zed A. Shaw
eb0ca38e30 Removed the variable limit setting since it's never used and instead just have WALL_PATH_LIMIT. 2024-12-05 08:41:10 -05:00
Zed A. Shaw
9abb39a3bf Did a full code review to identify things to fix and either fixed them or noted BUG where I should come back. 2024-12-04 21:43:59 -05:00
Zed A. Shaw
ae43dad499 Minor fixes to make initializing the terminal more consistent and to remove a magic number for wall limits. 2024-12-04 08:19:04 -05:00
Zed A. Shaw
0b4392dbcc Vast improvement in the world generation, with more reliable pathing, cleaner generation code, and an ability to do a random or direct walk to create paths. This also works with enemies if I want. 2024-12-03 19:17:20 -05:00
Zed A. Shaw
2576b16869 Test coverage back and save system should work again but have to confirm it in-game. 2024-12-02 09:58:54 -05:00
Zed A. Shaw
68d8bdce12 Map is now cleaned out of anything not directly related to the map, and there's a new WorldBuilder class that will turn into a more sophisticated random world generator. 2024-12-02 06:32:00 -05:00
Zed A. Shaw
3f7a9cc124 Lighting is now in its own class using the new Pathing class. This should allow me to make it more consistent and possibly make Pathing more efficient. 2024-12-01 17:54:43 -05:00
Zed A. Shaw
d515c33afc Make the lighting and the enemy pathing separate things, but now I think this needs to come out of map entirely. 2024-12-01 08:33:15 -05:00
Zed A. Shaw
10c152a1c2 A bit of cleanup and refinement before refactoring. 2024-12-01 08:08:06 -05:00
Zed A. Shaw
d0d62836e3 Now have good coverage on map but need to actually confirm results in the test. 2024-11-29 11:24:23 -05:00
Zed A. Shaw
988edf13d7 Map is now working well and all light is good but it's causing saturation fatigue because of the low levels and low saturation. I'll have to work on contrast and probably jut up the wall contrast. 2024-11-28 04:27:14 -05:00
Zed A. Shaw
1fab1d2d6d Map now brings back wall light. 2024-11-28 03:13:48 -05:00
Zed A. Shaw
435ad8f237 Enemy pathing is back. 2024-11-28 02:45:29 -05:00
Zed A. Shaw
54fa1a23ce Refactor the light calculations to be part of map instead of spread out all over. Still need to bring back lighting on walls and also pathing for enemies is currently busted. 2024-11-28 02:41:01 -05:00
Zed A. Shaw
6174df5ec7 Lighting now works, now to get multiple lights. 2024-11-26 05:03:49 -05:00
Zed A. Shaw
4ceacecfda Lighting system now works and does illumination for the whole map plus entities, but not walls or multiple lights yet. 2024-11-26 02:22:15 -05:00
Zed A. Shaw
1bb04b4562 Tried to set the background color in the ftxui canvas and weirdly it started doing almost what I want with lighting, but I didn't write any code to do that. There's some bug in how I'm doing it that's causing it to set the colors...correctly. Must find out why. 2024-11-23 23:11:20 -05:00
Zed A. Shaw
713d400d17 Cereal works pretty well so I may use it, but there's one more library I want to try first called tser. 2024-11-04 05:07:49 -05: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
cc4f83a1d1 Just wrote my own entity system to figure it out. 2024-10-10 17:34:33 -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
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
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
69fa7d9e4e Make doors randomly on the rooms. 2024-09-30 23:51:05 -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
Zed A. Shaw
f48f9d9bc5 If you just pick the wider of the dimensions then you get a more even spread vs random direction. 2024-09-28 04:06:30 -04:00
Zed A. Shaw
5f09747109 If you just pick the wider of the dimensions then you get a more even spread vs random direction. 2024-09-28 04:01:29 -04:00
Zed A. Shaw
e1ebea7451 Working mostly correct now, just need to tweak how it works more and work on connections. 2024-09-28 03:58:26 -04:00
Zed A. Shaw
61d2747441 It's working way better now, with correct internal dimensions, but I'm drawing the wrong nodes, need to go depth first. 2024-09-28 03:09:19 -04:00
Zed A. Shaw
56cc38006b NOTWORKING: Committing this so I can show the changes I made on the next stream. 2024-09-28 02:44:36 -04:00
Zed A. Shaw
62195e6eea A dirty first cut at a single random horiz/vert split for the BSP algorithm. 2024-09-27 18:42:32 -04:00
Zed A. Shaw
6cb3366912 I can make a map with one room 'randomly' generated and calculate paths. 2024-09-27 00:10:41 -04:00
Zed A. Shaw
8b67a25732 Cleaned up the map for more work. 2024-09-26 23:14:42 -04:00
Zed A. Shaw
4f863c2635 Dijkstra thing is working on a sample map. 2024-09-26 17:56:40 -04:00