Commit Graph

60 Commits

Author SHA1 Message Date
Charles Peyrat bcfde6fa49 Move code around so loops placement isn't stopped by walls 2021-01-21 03:27:31 +01:00
Charles Peyrat 5981927dac Optimization for the loop placing algorithm 2021-01-21 03:26:54 +01:00
Charles Peyrat 38878687c4 Add new room type : rectangular rooms 2021-01-16 00:35:41 +01:00
Charles Peyrat c854d41579 Fix merging mistakes and chunk rooms 2021-01-11 01:18:20 +01:00
Charles Peyrat 5aaef15b2b Add new room type : chunk rooms 2021-01-10 23:38:29 +01:00
Charles Peyrat ca67d5d7f4 Merge remote branch 2021-01-10 23:02:34 +01:00
Charles Peyrat 099a0eab31 Add comments and docstring 2021-01-10 22:54:48 +01:00
Yohann D'ANELLO 0ea10546ac
Fix merge issues 2021-01-10 22:19:15 +01:00
Yohann D'ANELLO 9df1ac7883
Linting 2021-01-10 22:08:42 +01:00
Charles Peyrat 12e19759aa Implement populate method, so map generation also handles entity spawn 2021-01-10 21:49:39 +01:00
Charles Peyrat e639ad6255 Getting to full cover, and minor fix to bug that allowed corridors to create loops in a room, resulting in implacability 2021-01-10 21:48:12 +01:00
Charles Peyrat 26e66a5796 Implement method add_loops along with tests 2021-01-10 21:30:18 +01:00
Yohann D'ANELLO d8d0bc6190
Fix the end ladder 2021-01-08 20:00:10 +01:00
Charles Peyrat 9e099d0715 Ladders should spawn with no wall nearby 2021-01-08 19:50:27 +01:00
Charles Peyrat 7e14122b8c Randomly place exit ladder 2021-01-08 17:25:52 +01:00
Yohann D'ANELLO df2c1a4b55
Add ladder on the start position 2021-01-08 17:10:42 +01:00
Yohann D'ANELLO 8e7029e34d
Fix walls 2021-01-08 17:10:30 +01:00
Yohann D'ANELLO afaa9d17cd
Linting 2021-01-08 16:55:02 +01:00
Yohann D'ANELLO 9b853324ad
Drop first version of random walk 2021-01-08 16:52:38 +01:00
Charles Peyrat c216a6089e Add a break so that generated rooms arre only placed once 2021-01-08 16:51:04 +01:00
Charles Peyrat 785ac403e3 Forbid walker from ever reaching the outer most edge of the map 2021-01-08 15:56:30 +01:00
Charles Peyrat 5424c7cd98 Nicer default parameters 2021-01-08 15:20:32 +01:00
Charles Peyrat dab84738d9 Remove the starting room door only if it really shouldn't be here; also account for the new randomized placement in removing lone door tile 2021-01-08 15:18:13 +01:00
Charles Peyrat 8d7e264381 Fix a bug where the generator could crash by trying to place the starting room out of bounds; starting room position is now random 2021-01-08 15:06:38 +01:00
Charles Peyrat fab1bee8d8 Force loop entrance to get coverage 2021-01-08 14:52:59 +01:00
Charles Peyrat c06f903a16 Fix a typo that made corridors unable to be built 2021-01-08 07:41:00 +01:00
Charles Peyrat 641f5c7872 Make generation more sparse by asking for extra space around rooms; also add out of bounds option to Map.neighbourhood 2021-01-08 07:38:47 +01:00
Charles Peyrat 605696dddd Revamp door placing algorithm so that it generates cleaner doors; also remove lone starting room door from level 2021-01-08 07:36:31 +01:00
Charles Peyrat 5ba07afc9f Fix typo in parameter names 2021-01-08 07:05:02 +01:00
Charles Peyrat e21d4d230c Add missing termination condition 2021-01-08 07:04:24 +01:00
Charles Peyrat b0ac580677 Fix place_walls, that placed floors instead ... 2021-01-08 07:03:49 +01:00
Charles Peyrat d362bdc949 Fix place_room and add missing argument 2021-01-08 06:58:02 +01:00
Charles Peyrat 9c252a2bbc Correct out of bounds errors and add missing arguments to range call 2021-01-08 06:54:01 +01:00
Charles Peyrat 20cbf546f9 Correct formulas for random enumeration of a grid 2021-01-08 05:21:31 +01:00
Charles Peyrat 49e261557c Fix typos 2021-01-08 05:14:46 +01:00
Charles Peyrat abbad0f352 Fix formulas in place_room and room_fits 2021-01-08 05:14:32 +01:00
Charles Peyrat 05ccd0e339 Circular rooms should not try to generate any holes if their radius isn't large enough 2021-01-08 04:51:20 +01:00
Charles Peyrat c6f66d95f2 Fix typos 2021-01-08 04:48:32 +01:00
Charles Peyrat 6fbc757f1e Implement method place_walls 2021-01-08 04:43:10 +01:00
Charles Peyrat ffa7641b21 Made Map.neighbourhood a static method 2021-01-08 04:36:57 +01:00
Charles Peyrat 3229eb8ea7 Implement place_room method 2021-01-08 03:45:26 +01:00
Charles Peyrat 42f0c195aa Add prototype for create_random_room; change return value of attach_doors and create_circular_room so we have info on door direction; minor syntax change 2021-01-08 03:43:20 +01:00
Charles Peyrat ddbd0299a0 Implement method room_fits 2021-01-08 03:38:37 +01:00
Charles Peyrat 5cbf15bef5 Return value of Generator.run should be a Map 2021-01-08 03:37:10 +01:00
Charles Peyrat bb3422f7d8 Add main generation loop 2021-01-08 03:19:59 +01:00
Charles Peyrat 5579f5d791 Room now can now generate with a corridor; implemenent door placement finding 2021-01-07 07:06:08 +01:00
Charles Peyrat 9fb366aaab Make name follow style convention 2021-01-07 05:02:49 +01:00
Charles Peyrat f5e5e365d4 Starting the implementation of the new map generator 2020-12-18 20:02:37 +01:00
Charles Peyrat ba3d979f9c Fix syntax error 2020-12-18 18:10:52 +01:00
Charles Peyrat 5fbb918132 Add walls even to map borders 2020-12-18 17:05:50 +01:00