Commit graph

82 commits

Author SHA1 Message Date
Zed A. Shaw
18a5f6bfa9 Setup for the LevelManager to take charge of all level operations. 2025-01-20 15:12:31 -05:00
Zed A. Shaw
fc61ef42ac Figured out the easiest way to set a panel to be centered, but a lot of these config things need to be unified and cleaned up. 2025-01-16 23:07:18 -05:00
Zed A. Shaw
269af02993 There's now a GUI that shows up when you interact with stairs down. 2025-01-16 15:33:24 -05:00
Zed A. Shaw
d2162910f6 Implemented configurable randomization in the world builder, and then got the beginning of devices to work for the next part of going down a level through stairs. 2025-01-14 16:21:41 -05:00
Zed A. Shaw
b16405cfdc Better random entity placement and config of entities is now more generic. 2025-01-13 16:23:33 -05:00
Zed A. Shaw
e9277bf052 Mostly cleaned up world get to handle more rooms and paths, but rando_rect needs to be actually random. 2025-01-12 14:57:54 -05:00
Zed A. Shaw
128fc4f540 Turned on all the warnings I could handle and made them into errors then fixed them all. Worldbuilder needs a refactor in random_path. 2025-01-10 15:22:37 -05:00
Zed A. Shaw
222b39c403 Fixed up building enemies and items using componentsin the JSON. 2025-01-09 14:01:40 -05:00
Zed A. Shaw
9ce4fbd552 Reworked the way that entities are loaded so they're more dynamic and can be configured without modifying C++code. 2025-01-08 16:09:22 -05:00
Zed A. Shaw
f2864a62ee Game now loads random enemies and items into rooms but in rudimentary way. Need to now randomize more of it and make it more robust so only changing the .json is needed to get new effects and enemies. 2025-01-06 15:20:54 -05:00
Zed A. Shaw
8e4add25a9 A little more cleanup and then removing any completed bug notes. 2025-01-05 15:20:20 -05:00
Zed A. Shaw
f35b74f335 Results of today's code review session. 2025-01-05 15:07:30 -05:00
Zed A. Shaw
135d9a128b Basic inventory system working and can pick up items but needs to be reflected in the UI next. 2025-01-03 13:41:57 -05:00
Zed A. Shaw
3d461bce6d Very simple items system to get into the inventory work. 2025-01-01 13:21:01 -05:00
Zed A. Shaw
d8400d0a76 Tinkering with a way to do modal UIs for things like inventory etc. 2024-12-30 09:41:16 -05:00
Zed A. Shaw
59bbae0af0 Added a couple of test enemies to the game for the next stream. 2024-12-28 14:12:05 -05:00
Zed A. Shaw
03c5546cdf World builder now loads the tile map json and usese the keys to figure out how to randomize the floor configurations. 2024-12-28 13:25:23 -05:00
Zed A. Shaw
8a94108874 Entities now look like they stand on the tiles. 2024-12-25 01:29:03 -05:00
Zed A. Shaw
5a6494acf5 Fixing a stupid bug where it would crash because a fact wasn't in the world. 2024-12-19 20:46:47 -05:00
Zed A. Shaw
93f53d1714 Tests are failing but catch2 is too stupid to actually tell me where so here you go. Now if you hit L it'll turn the lights up to max and if you hit P it will show the pathing. 2024-12-19 20:04:10 -05:00
Zed A. Shaw
d916d1c383 A very jank circle algorithm that overdraws many of the lines but mostly works. 2024-12-19 19:02:27 -05:00
Zed A. Shaw
1295e9631d A slightly working flood iterator and a working compass iterator. 2024-12-17 17:32:27 -05:00
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
da0b941dfd A first exploration of doing a matrix iterator. 2024-12-13 16:23:55 -05:00
Zed A. Shaw
ee1e2e5bc5 Started working on a random flood function for paths to do things like fill rooms with stuff. 2024-12-12 11:38:38 -05:00
Zed A. Shaw
ffc787df64 Designer is working great now, and this fixes a bunch of things about the mouse. 2024-12-12 10:14:43 -05:00
Zed A. Shaw
f05f652c26 Fixed the overflows and make the render handle SFML's weird window coordinates not matching world coordinates. 2024-12-11 16:57:18 -05:00
Zed A. Shaw
a9e25668fb Rought font extractor that probably has a memory error causing it to behave mysteriously, and the designer now uses a json file of the characters that will work. 2024-12-11 11:56:37 -05:00
Zed A. Shaw
9ab064126f Before freetype2 use to iterate through the font's glyphs diretly. 2024-12-09 08:25:16 -05:00
Zed A. Shaw
0edd948101 A barely working tool to find font characters and pick their color. 2024-12-07 13:42:30 -05:00
Zed A. Shaw
6b3ce5eb3d Fixed a bunch of random little bugs everywhere. 2024-12-05 10:38:25 -05:00
Zed A. Shaw
2f8c9bd1a9 Change the color namespace to ColorValue. Need to come up with the organizational theme for the code. 2024-12-05 09:24:56 -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
aadf15e439 Created an initial README. 2024-12-02 07:17:46 -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
e86d474c7c Now have more test for the base functionality but need to push render tests and find a way to test the GUI. I've also brought in sol2 for lua integration but not sure what to do with it. 2024-11-30 10:43:25 -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
97255eb813 First coverage reports. Tests don't get near enough coverage but running the program does. 2024-11-29 09:41:02 -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
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
0e8a2e520a Light works with multiple sources and strengths, walls are faked out but I think I may keep that to make it easier to play. 2024-11-27 04:02:57 -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
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
fb1fd9d8bc A bit of some clean up, API unifying, and some performance tweaks. 2024-11-22 23:12:18 -05:00
Zed A. Shaw
15a302d133 Renderer is now more standalone and doesn't try to protect against small maps, that's the GUI's job. 2024-11-21 15:51:22 -05:00
Zed A. Shaw
c8fa68815b A bit more cleanup of render but kind of stuck on what to do further. 2024-11-18 13:29:22 -05:00
Zed A. Shaw
7cb03594a3 Renderer now knows how to render panels as grid/text based on how the panel is configured. 2024-11-18 12:51:57 -05:00