Commit graph

38 commits

Author SHA1 Message Date
Zed A. Shaw
58fae858ff You can now go down to new levels but the whole setup isn't very good. I need to now move to having a global/master World and one for each level so I don't copy the player and other important things around on each level. 2025-01-25 14:07:02 -05:00
Zed A. Shaw
2825faf038 You can now go down stairs to new levels, but when you do you become stairs or a random monster. 2025-01-24 13:47:00 -05:00
Zed A. Shaw
3344181a47 Cleaned up all the places I was doing push_back({constructorvar1, constructorvar2}) to use emplace_back(constructorvar1, constructorvar2) every other use should be only for actually copying. 2025-01-22 07:38:49 -05:00
Zed A. Shaw
3a16595ca7 A few small changes so that the player's lightsource is just like any other entity lightsource components. 2025-01-18 14:44:46 -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
7acbd0379f There's now a config to control the random world gen a bit. 2025-01-14 15:16:24 -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
cb976a69a9 Map gen now works again and the enemy density is toned down. 2025-01-12 15:20:19 -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
80ef052e15 Fixed a problem in the world builder after a refactor then made it do less random paths. 2025-01-10 21:36:14 -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
f3f875ee80 Initial changes to clean up the code. 2025-01-10 11:12:14 -05:00
Zed A. Shaw
d6916b675e Enemies can be tagged as moving randomly, but it's very subtle. 2025-01-09 14:25:34 -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
6cabd62c7f There's a simple death screen now and you can exit. More work on what death means later. 2025-01-07 14:07:10 -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
3d461bce6d Very simple items system to get into the inventory work. 2025-01-01 13:21:01 -05:00
Zed A. Shaw
28d19d80a2 Fixed worldgen to only use tiles without collision in filling rooms, then a couple more changes to lighting so that if the light is <= 1 it just assumes the base light strength which ends up looking nicer and more like the kind of light I want. 2024-12-29 04:53:59 -05:00
Zed A. Shaw
8d661b785b World builder does a better job of placing entities in rooms and not walls. 2024-12-28 13:32:18 -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
6b4bc6cc11 fixed the map generator doing paths that hit the edge which made it look like the map was out of bounds. 2024-12-28 12:37:19 -05:00
Zed A. Shaw
194cc6664b Lighting is working way better and now for world generation work. 2024-12-28 12:04:21 -05:00
Zed A. Shaw
9c03e850b5 Now have more fancy rooms with different floors to play with. 2024-12-27 12:52: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
857cd2f910 Circle iterator now compensates for the matrix size and won't overflow. 2024-12-25 01:15:33 -05:00
Zed A. Shaw
35f2defc11 Better lighting and a circle algorithm that works more reliably. 2024-12-25 00:27:45 -05:00
Zed A. Shaw
03fe9b3d01 I can now create any tiles I want. First version is just one room will have a circular pool in it. 2024-12-24 03:26:06 -05:00
Zed A. Shaw
7fe6ad174d Now have a configurable displayable tilemap to do better tiles. 2024-12-24 01:36:25 -05:00
Zed A. Shaw
290affa49a Upgraded to the latest winlibs/gcc 14. 2024-12-20 16:53:03 -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
8e470df554 A bit of late night work designing the little iterators. 2024-12-14 11:00:52 -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
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
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
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