EPC2016 - Joris Dormans - Cyclic Dungeon Generation

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
now the mic is working I'll make it a bit quieter okay I will now introduce the next speaker that's yours da mods he from from lugar motion he is both a lecture and he is building actively finds the time to build games which is pretty hard trust me and he will be talking about the cyclic dungeon generation right about his in the context of his new game unexplored is it the game is currently on Steam early access so just like the previous game make sure you buy and every this one you can all we can already get it from stain so I'll leave this in for all the years so thank you the trick of me being a lecturer and building a game is that I don't lecture as much so it's and yes you can already buy the game you can do it right now if you want to but I'm I'm here to talk about cyclic dungeon generation which is an idea that came up while I was working on this game that sort of for me revolutionized the way I thought about how to random generate dungeons but let me talk a little bit about the game first to give you the proper context of the techniques and I'm going to talk about so the game that we're working on is called unexplored and unexplored is a very in many ways a very traditional roguelike world light do you want to call it it's a dungeon crawling game a little over a year ago I was working on a game it was much more ambitious using similar techniques but because it was so far out there we thought let's step back let's focus on the techniques first make sure that we can get the gameplay and the technology work together and just do that with a game that follows all the tropes that we can think of so we looked at nethack we looked at broke we looked at all the traditional ropes out there rock guys out there and thought okay let's let's let's do this and the only difference is we're doing it real time so the game in in game it looks something like this it's top-down you run around as a little character your swords Tigers are all these things you go the premise is very simple there is you're in the dungeons of doom you need to stave off all these other creatures that are going around there you try to make your way to level 20 where you can find the angle of the Endor and then you have to make your way back up again so so far that's that's that's very typical roguelike what's also very typical roguelike is that there's a lot of combat so you'll encounter a lot of monsters but because this is a real-time game that draws a lot of inspiration from a top-down Zelda games and even though the gong that can get quite messy and there's a lot of effects magic and things there's a lot of things you can take it you have to take into account a large part of the gameplay doesn't really stem from combat that's a major thing in indie game but there's also another major thing thing in this exploration you want to feel yet that you're dungeoneering you want to explore these levels and there is more lock and key puzzles and lock and key type of mechanisms then you would typically find you know in a roguelike and to keep that together we needed to start generating levels over the level of suffocation or sophistication that's just a little bit different from from a roguelike so normally do it because if you look at a game like rope which is a very good level generation by the way it's a good game but it's writesteps a number of problems so for example it is always generating a apart from the entrance to level to the exit of the level that's unobstructed by any doors or lot of things there is locks in the game that are all always optional whereas in this game actually there is locks in that actually sort of hinder your progress that are sort of halting what you need to do and then you need to find a key before you can progress so here's here's a level that we've been generated by the game and there's going to be a couple of others as well and what we decided to doing at one point is making these levels follow different types of rules than what you'd normally seen in he woke likes in the sense that they sort of generated in circles there's always circles that you go go around with these we saw in a couple of talks earlier that that loops make a small level much harder which is actually very interesting quality of the other level and we make a lot of use of these things and we're actually quite happy with the results so there's a lot of things in the generator can do it can generate rooms and cave-like structures there is different types of terrain they can work with it's the vegetation I don't know why but that somehow it feels interesting to have trees in a dungeon even though there's no light but nobody nobody complains about that it's it's it it makes the game look a little bit more alive I guess that's it's always a good thing and we've been generating a lot of these things and this is not just this is just picked from a series of twenty levels I did for all the loves that are in a level then I picked some of them that we're looking more this is distinctive but there's not a big sampler to tease from so I'm quite happy with the results but we started not seeing a couple of things and one of these things is that actually if you if you're generating levels it's very easy to go overboard it'll in a lot of sense so it's if you it's free content right so you can if you have a level of size X you can make it double size ex-chief very cheaply but it's actually typically it's not what we end up doing because I found that if the levels are smaller and more consistent and they are much more interesting so this is for example a level where you have to fight a dragon and I really like this level to layout because it's it's mostly a lake of lava and a small path around it and it's actually already very good and the gameplay says it saves itself this and there's also a lot of weird things that the generator is already doing that were surprises to me and it also has to do with there's a couple of themes in that get activated and they're not get activated that were that were more interesting for example this is a level that's unfortunate I've got the screen capturing a debug build sort of some debug information there as well that it sort of blew my mind for them in the first time I saw because it's there's this sort of open platforms that you have to runarounds and there's a big chasm all rounds which you can fall into this is the walkways connecting these things and it's also a lot of teleporters connecting these platforms it was very interesting and very difficult to play through and I never ever programmed anything like this into the game it's just a happy happy coincidence of a lot of things that were going on such as the cyclic level generation but also the selection of different themes that level generator was working with in this case it's you know the the themes that the generator was restricted to it's it's basically make everything room like so no caves but have chasms in between and use teleporters as one possible way of navigating and then came up with this and I for one I'm quite happy with results and the the games already know early exit so we get a lot of people playing and those people actually spend two 300 hours in the game already since then even though it's out there for only a couple of months so for me that means something it's it's already shaping up the things that I wanted to do and I think the the cyclic generation is a very key element of why that why that's the case one particular response I'm pretty proud of is by the website called different games that are no can you familiar with that website but it's it's they're very critical about things they're really happy being very negative about a game if the game sort of if it's justified they always did they pretty justified in the critique but they they're pretty can be pretty harsh and they reviewed a early version of the game and one of the things that they said is that well if they if we told them this these levels were put together by a programmer not a designer but a program they would believe it and for me that's already sort of a victory I want these levels to feel different from just any random regenerated thing I really want them to feel like they were put together with some sort of intelligence and if even if a critical game likely from games is getting that making making lots lots of progress there so the key elements of why this is working is is in the cyclic what we call cyclic attention generation and what's very important about this is that if you look at the way a lot of Dungeon generators work is that they have a sort of branching structure as the core technique of what they're doing so typically you start somewhere you have an entry point in the level you might have a call and you draw a branch to towards that goal or maybe and then you can branch out from there and I put templates for Rome's attitude instruction at that structure grow and then you end up with something like a tree and for example broke does this exactly and but the broke does it sort of reconnect the branches at random points to make loops as well because loops are a far more interesting structure but we came up with idea was okay what if we don't use the simple path as the decor a core structure of the art engine generation but what if we generate cycles from the start so the thing that we do is if we start somewhere and there's a goal in the dungeon we actually do not generate one or two paths once parts leading from the start to the goal and one that's not another that's probably going to be used for way back and and that way you can instead of branching you start again sort of nesting and adding these these different cycles on top of the structure and he get up with you get end up with much more interesting structures and the oranges of this idea yeah you got a love for annoys you seen him before they came to me when I was participating in a workshop in Canada doing a lot of things about mathematics and games but we we did a one day with a group of very smart people we did a one day challenge for ourselves to a theory gem can we make a generator for parks for interesting part that you can have a walk through so we came up and we did some research I looked at the urban landscaping theories about landscaping and urban planning and we also looked at the theories of hypertext to understand flow and this is actually where the cycles came from and at one point that the whole idea of cycles sort of clicked and what we ended up doing to generate these very simple park like structures is that we be sort of saying well let's have a body of water and then have a path follow the body a circle around the body of water and then designate other areas and have passed a circle day of those things as well so you can actually sort of Ness all these cycles and you have actually very easily without much work we ended up with a sort of template that for us felt like okay this is this is a very interesting space it can imagine if this if you would add more trees and more stuff make it make it look make it look more beautiful you can already have interesting walks in an area like this so when when we discovered this and I got home I really immediately obviously wanted to build this into in the game that I was working on but I also notice that there's some something about these cycles or something about loops that is very very important that I've that are somehow missed before that and if you don't use those cycles you're really missing out on something that's somehow quintessence it was a quintessential true to game design and one of the things that because I get came home spent some time with my family and I have a daughter of three and I immediately noticed that she she loves cycles this is cycles is the way that during children actually are experiencing the world so we went out on a trip providing about skills and having a picnic somewhere and we're in the field and it was just one table around a field and because an open field is not very interesting to my daughter but if there's something in there if he starts running circles around it and and that's that's amazing and also we visit we eat a lot of good friends and we've always bring her along so she and she knows all the big advantages and the big interesting things about the houses of all our friends and my friends he has a house which is very popular with it because you can make figure eight in that inside that house so you can run and then you can you can go from the bathroom to the living room for to the kitchen to the and you can keep on running that like that and and I said it sort of this is this is a very important way of experiencing space this is this is something that comes natural to us and that's that's that has a very power and that we need to tap into so I was already working on this level generation thing so I started looking at hand-drawn dungeon map sorry if you need a few google Benjen dragon maps and and design and start looking at noticing these cycles everywhere if you look at this is not something that generative is it just this is something that's been designed by hand and there's all these interesting ways that this level comes with comes around and it's not that many cycles there might be two or three loops in this level but they're all in the right places and it's so important that you have these cycles there and these dungeon dragons designers they always know where to put the secret shortcut right in the right place to make to complete that cycle so you can have the long way round and the short way round and that's that's a sort of power that you need to tap into if you want to make the levels that you're generating feel feel this have the same quality and then I also started to realize something else important and that is these cycles they sort of represent updated the the cyclic structure really sort of poor growth for grounds the growth of the player as I told you a Zelda was a big inspiration for our games and if you look at what Zelda games dude it's it's always not it's deceiver the hero story this is typically their hero story and Zelda level design is is structured in such way that you always notice that you're growing right you find this very cool item which allows you to unlock new paths and then you go but you cycle back to the place where you before but you couldn't continue but you where you can continue now so we actually feel an experience that you have become a more powerful character in that world and cyclic structures really really enable you to do that sort of thing the problem is however that cyclic structures like this they might not really come natural to a computer for me the advantage was actually that the technique that I was working with to generate all these dungeons actually made a lot easier to implement these things so I'm going to talk a little bit about the implementation here and the way I generate these dungeons is by using transformational grammars you might have had these in class before it's very very simply put you have a simple structure such as I have this I can say this these two connected rooms and then if I find this effect I can replace it with something else such as a one room that has a key and another room that's locked off and then I can find that's rectum replace with the other and then Avenue in structure and I can start looking for and other patterns to replace traditionally it is is obviously this is done with a text context grammar but you can easily do this with tiles grab graphs you can do this with 2d shapes with 3d shapes a different a lot of different things and I was already working with this in a developer tool called a new scope we're going to show you the in in a while to handle these things for my for myself and if you interested in in getting more background on that I actually published the paper 2010 sort of that's a starting point for me in this direction which is a good starting point for you to start reading a few listings but if you if you applied it to Dungeon generation you can you can imagine it starts out like this I have a room so I'm generating a dungeon so I might have room that's saying well a dungeon consists of a number of rooms and then a goal any goal is a dragon and Emelin Vienna in this case and room so if I start out with the dungeon and apply these rules you can imagine there is a sequence of rooms with an entrance at one point and the enemies and that sort of thing and these transformational grammars they do have some problems associated with them I remember that I don't know if you ever heard of Michael Matthias but he's a he's a big name in computer console generation he's done a lot of research in America and he wanders approximately said how do you control how do you control these crimes I never got them to work for me how do you actually make sure that they don't spin off and create endless endless lights things and that and explain to it well I cut a number of corners and I say well I don't let the grammar decide always which rules to apply I use something like a recipe that sort of sort of specifies okay apply these rules apply them a couple of times and in that way I can control and this is a very important step to keep these things under control and also what's very important if you work with it this technique is not to try to make one big grammar for everything but instead try to make very specific grammars to do very specific things probably saw in the presentation buy materials that they have these three steps in the generation are actually something very similar except that I don't have three steps I have 44 steps but if you can code that you can sort of group them in a very very similar premise similar steps and every step has a single purpose grammar associated with it and it makes one very simple transformation and then you end up with a new intermediate level design that might look like the box that Matias Sheldon and you end up with something that was more like the levels that I just showed and if you don't believe it's 44 steps I think there's 44 circles in this in this image and this is actually screenshot from desculpe showing the the level generator for and explored and every circle is actually one of us this one so the grammar associated with it the diamonds there are actually checks so I do also what Matias does if sometimes I check if the grammar still follows a couple of rules and then I either start all over again or just step a few steps back into the process too and we regenerate this is this is one way of controlling the confirm the quality so it is very important to see that these grammars they're not generative because that's what the the mistake and Mike Matheny was making it was thinking of generative grammars where you have one starting point and then have the grammar run amok and then come back with something else so it's it's transformative it's it's taking one step at a time and try to keep all these things under control in a multi multi generative a multi step of a generation process and for to have a sort of loop inside and explore it and what is in that game it sort of looks like a little bit like this so there is I started out with an initial graph representing notes rooms that are connected and then I started putting things in there so I could say well I'm going to populate this room has a key or a monster it's connected to this room at one point translate that into tiles increased resolution and add a lot of detail and pop and and populate that and the entire thing to create at that level however the initial the fact that initially the level design and the level structure is represented as a graph this is this is very powerful for me because actually graphs are very good at representing cycles tiles might not be very good at representing cycles but graphs are and and because I can use this graph grammar and and and you scrub the graph logic I can actually handle these cycles much more easily than than anybody that's because it's very unusual to use with the work with graphs like this in it becomes much more powerful and we get to understand sort of ralph frerichs and as I said grammars they have basically the same thing as a string grammars are except this there's a few more missiles on bells but for example if you have a start a graph representing started in goal it's easy to create a cycle because I can say well there's one path leading me on one way and another path leading the other way and there's other rules so they can specify well if you have a goal that's followed by something on a longer path I actually can lock the goal in a different in a new nodes and put the key in the path a little bit longer a further away and I can also have a rule that says I'm going to arbitrarily grow a structure by placing another node in between so you can fairly easily see they're generating structure from a starting goal into something like this is is something that's it's very easy to do with and with graph grammars and this is what I do a lot graph grammars applied like this sometimes has the advantage that there is no topology so there's no fixed place where these need to be that can be an advantage it can also be a disadvantage in my case I work with a very strict grid and then put places in inside inside the denotes but that's just another type of relation you know you can think of those as a connection in third I mentioned in this case but this is actually a graph from from the the that's been generated by the generator in the game where you have all these nodes and what a node might be that might be rural it might be tunnel that might be an open body of water and there's different connections such as doors or doors open doors and windows is spaces you can see through in this connections between those keys that you can find it unlock certain places but so I had these techniques I started putting these together and all of a sudden my design space exploded because I found that these graphs they're very very good at representing some very key elements of level design for dungeon generators in a slightly more abstract representation I started to see all these these patterns so if I have a cycle and the cycle typically has a start and a goal whatever they go might be that might be dominant of the end it might be an intermediate goal such as a key that you need to find I got started see there are different ways of complete of changing that graph into interesting structures solely based on the length of the paths so for example if you have a long cycle with whether the path over in the path back going a and B above long you can you can replace that structure by some interesting things so for example you can actually not say about B is also an alternative way of getting to the goal and because there's now two ways I can you can say well one is filled with traps the other is filled with monsters or something else or if they're equally long but what I can do is I can have a path of you find it looks nice waiting to pass on and then you have a fourth so you can only pass in that direction to find the key then you have to make your way back to the starting point and make your way back to the to the lure but you're not quite sure what the way is there is there's different ways of doing this if you have a cycle where a is long and B the return path is very short there's different patterns that you might want to apply for example this would be a very good position to have a secret secret shortcut right or something that you open up from the formula from the other direction but if you have a secret shortcut that the play can open up you can reward players for exploring a little bit better and having a nice shortcut the thing the the one on the right I also like very very much that's what I'd like to call the dramatic cycle is why you sort of it's like a complete cycle that you sort of show the player in the beginning where the goal is and then have to play you sort of try to find this way or a right way around the level and make make it and you can actually reveal other things you can say well the goal is going to be dragon and then you have a lot of anticipation on the part of the player of what to expect and what sort of tools there they might find you can also do a very simple high-risk high-reward structure so I have a short part but it is more dangerous than the long path so which part are you going to choose this is the other the other instance where you have a short path over in the long return and there's also interesting things you can do for example I like the one on the top right where you have a goal and easily so you set out to find the key and immediately find the key but the way you just got used to get to the key actually sort of collapse behind you and now you're sort of stuck in a dungeon and you don't know how to get back which is it's a powerful it's a powerful structure there's also other things you can do so for example you can you have to find a key very quickly but then try to learn deeper into the level and get an get him or her into more trouble than she signed up for so there's a lot of things there's also you can have if the cycle is very short and to begin with there is other things you can do example I like the idea of absorbing monster so there's a small cycle and interconnected rooms you can have dangerous monster just going circles in that room and it already creates an interesting challenge in itself there is also you can have a reward baseball that's very quickly to find but it's the danger there as well sort of so you can sort of really play into again that one thing that I do in the game is actually sort of show the player a room and then if they go into the room close the door behind them and sort of make them feel stuck and then they have red and teleportation Scrolls or Scrolls of descent to actually sort of escape the room this was also escape generated but it's it's not the escape that they want to have and this is this is this is just a small subset of the things that actually I'm using already it's and it's and all these these patterns that I came up with that to me about a day or something even a day to come up these fellas it's over he's to come up with the parents it's it's it's long much longer time to implement them but it's it's for me it's a testimony to the powerful power of these cycles to express actually these these things that we know about level design and here's an sort of an advanced cycle and I like to use any game that really makes it again more zell days more zelda-esque and that's sort of a key item cycle so in the indie game like in Zelda you can find these powerful weapons things that are also function as it as a key so for example there's a horn of blasting that you can use many ways but it it also opens up pathways and one way I use that is that you have your level five and there's a pathway that needs to be opened by the horn blasting and that will need to set level seven eventually but you can also make it way too into level six where you can find the this particular horn and level six might actually have this its underlying structure with another within a few other cycles attached to it but not that many and which is a key items like where you sort of start when you come across these locks that are themed so they they're open a ball by the horn of blasting and at one point is sort of your passive off the anteroom you have the key item and the only way out is actually using it so yes we have sort of mini tutorial on there and if it was truly zelda-esque that the middle of a mini bus would be there as well or you meet the mid-level mini boss just before actually getting the key item and then you and then you can actually make your way back back up or another way to progress and it this is this is this is following the level design of zelda and it actually allows me to generate these structures and it's and that's really really important so I'm going to take a little time to show you actually do the scope itself so you can sort of see what the what's in there because everybody was showing tools or something that's probably showing the air tools I'm pretty sure my tools so this is this is just this is a part of the of the generator and if eyes executed it's it's starting to generate the level that's it so it's it's making its way doing all the all the green dots are now executed and it's working on a particular thing you can see there is branching out so sometimes things things get to go back to branch out and and branch back together and there's a couple of checks in there but the starting point I'm looking at a screen that it is completely finished but that's because it's a an image but the starting point is as I said it's already it's very simple it's it's a fixed size actually it is depending on the level of the dungeon it starts with four by three by four and it ends up with being five or five or something not so big because if we much bigger dungeons or not not necessarily more fun but it's just an empty graph with notes and then the first thing it does it's running on my surface tablet so it's a little bit slow first thing it does it's actually saying well I'm going to put in one main cycle and in this case they're not quite sure what it shows but there is already it says there's an entrance and some points here there's a goal here you can see there's there's a path leading to the to the goal and there's a couple of keys and locks in here so for example it says there's a key here that allows you to continue on this side of the path and then you find a key to actually unlock the goal so it's it's a double key cycle screen and then you can add some extra cycles in there because you would but it did in this case so for example editor cycle on top here actually showing you above bonus of reward in it in a different room so it's not a complete insight that you can follow but it's a sort of look ahead into what might come up and made patrol cycle here so this is part of level it put an enemy that's actually patrolling this area of the level and so it's it's and one important thing is that at this stage I'm just using very generic labels for everything so I'm talking about locks and keys but what they might be in the game is is is it can be something completely different and it's going to be the determinant later step lock and a key might be literally locking a key it might be leave around a door which is a it's almost literally locking a key but it might also be something like you find this potion of fire resistance and the the door that the key unlock that you need to unlock that you get past is something that that causes a lot of fire damage might easily be so it might not be as binary as you actually think and actually the game tries very hard the generator tries very hard to make this locking Keys as varied as possible based within the themes that it is allowed to have valves for example can also be different things so if all can be a one-way teleporter but it can also be a door that it can be only open from one side to another so and it's acts are specifying more things for putting enemies in there it actually expanded the structure a little bit because it ran out of space and I need to add one more room it's good couldn't play it otherwise so and at one point this is the most detailed graph the generator is producing the the layout is this wrong doesn't really matter at this point and the game actually knows about this graph so the game is told about these things so it knows about all the relationships about of the items and you can tell if an item that is being destroyed is actually key item that needs to be that needs to be found by the player to actually progress I'm going to back to get back to in a second and then what it does it's it's converting these two tiles so it's saying all this structure yes he said gonna make that into tunnels I'm going to enlarge the structure and put the certain number of doors that are key barriers that there might be water or laughs I have big britches across them whose rooms it's already this decided there's going to be some some extra lava here to make it more interesting and it's going to add some set pieces to it so a little set piece for the entrance and that sort of thing and then it does something interesting as well for example here I just use a very simple noise generator to create this sort of pass for of places where get chasms and and and and trees might grow so the purple is chasms the green is vegetation and I simply superimpose that on top of the terrain well there's a lot of a lot of trees here that never grow because there's no space but you can see some other places and easy to chasms there and it's a simple superimposition of these things with some some rules and then it and at one point you end up with a fully decorated thing in it it's it's putting in at patrol points it's putting in places where a noise is noise generators in this case I'm experimenting with wind as well that comes up comes up from the chasms which is a feature that's not yet any game that will be soon so it's it's generating all these things inside this wonderful - I have been working on however if you do content generation like this you end up with a lot of problems because as I said a lot of roguelikes are sidestepping a number of problems and challenges by not having very critical not very having hard blocks I have problems with a lot of things in early access right now people are reporting things back so it says sometimes they're easy to solve right so and that's quite and it's not very clear to see but I notice two columns that are supported in such way that actually the player cannot progress and it's actually a blog it in the generator it's easily easily amended because it's a very simple and danced upon a column between two walls right so that's easy too easy to fix but it was but there is different same goes for the turret that's blocking a doorway there's weird things such as windows that are going nowhere or sometimes you know the players spawn outside the level and sometimes you have to be very pragmatic about ok what how do you solve these for example if the players ever outside the level I'm just going to teleport them back to the to the to the to the propeller to the stairs because this I don't know what went wrong I don't care what went wrong but I wanted the player actually can't continue and that's he that's very easy to do sometimes some some things I haven't solved so this is a level it consists almost only of doors I don't know what happens I suspect something in the memory management of the the play that's a report of this thing there was an issue there and sometimes things are more damaging for example here you can see a leave her being spawned in a place that play could not reach to this poor player spent to I was trying to solve this puzzle which obviously it was no no puzzle it was just a bug and and the play players can get stuck with this and try as in might it's I find it's almost impossible to get weed out all these weird educators all these weird things that might go wrong sometimes no it's it's it's a problem of the generator sometimes it's players doing weird things I never foresaw foresaw and they get stuck in places and you can blame themselves and often they do but yeah they're not not not wrong actually also blaming the game that for allowing them to get in this place in the first place and and not allowing them a way out so I needed a solution for this and the solution just improve the generator to all these these problems are gone is not never gonna work especially because I'm just the only guy working on this and it's never going to happen it's just too much work if it's if it's going to be possible at all but luckily the a glucose is again mr. Onur offer part of this videos we talked about this and in a different setting and he and I sort of started thinking and sort of so I think okay if I detect something going wrong I can sort of make the game sort of have this Dame's ex machina function where the game steps in say well I'm sorry you're stuck here you have a scroll that will allow you to escape or if you have the key that you need or I'm gonna open this door for you and that and that and so I wanted to do something like that just detect on the fly if the player ever is going to be in a state that's it's a that's impossible to reach and then but they accidentally but if you're gonna do that just be very blatant about it and make it into a mechanic and I did so there was a button on the top right so that says pray for help so every time that the player feels that they're stuck or anytime they want to actually they can click that button pray for help but most of the time nothing happens because then because are figuring this in this game and they don't always answer answer but what actually do when people are pressing that button is sort of I have this graph notation of the level at the same time so I'm doing a check in the background saying okay the player is he's in the middle of Isis the arrow bot saying play and next to the entrance and all the white nodes are actually places that are the game knows about that the player can reach it this moment but the red things he can't reach right now there's no way the game actually foresees the player can reach this thing and that's probably because it's a bug and because I don't want to run this test all the time to pray for help button was actually very good solution I'm run this test every time a player enters a level so you can sort of see okay there's a person level that player can never reach and you can you can fix this and be blatant about it or not whatever you want but I don't want to run this s all the time every time to play it up something or every time to do so why not put in a button and every time to play things they need help they can add these became conscious of try and find the solution and I think for me this is this was an important step because trying to do level generation in a way I'm trying to do it you never you never get to sidestep this bullet in any other way right so and if I'm not going to sidestep it and I'm a made might want to sort of incorporate it just take the hit and try to turn it into something something else into a new wonderful mechanic and that sort of sort of works for me so that's about it we have some time for questions so if you have questions any questions yeah I'm adding more interesting features as well there's there's a couple of things I want to add more mystery to the game right now I'm so I need I need early access for a project like this because I can go through all the levels myself and there's all these things that people are finding that they never thought of also the feedback is been very good and I like their to have this this environment where I can test okay and for example it does one feature that I want to do is to have parallel floors so that is two alternative way down ways down and I can foresee a lot of things that can go wrong with that and as long as I'm in early access I can get away with it so but it's I hope to be in early access for a couple more months and then the next to be done with it and then actually continue to the next step because I want to use these techniques for a more ambitious game for something that's that's that's actually more adventurous and just hacking slashing your way through a dungeon but I needed to prove that actually I can control these techniques first well there is I'm not the only party in this or somebody else here from the universe Applied Sciences which also part young but I think we can open up this it's pretty safe to say that that will make this available in some form especially if you're interested in in in pushing pushing pushing games and do some research around it as well right right I'll go back to the slide for you it's a long way back there it is so if you have a grammar as it is on the left right so you can start with a dungeon and then you have rooms and rooms you can't be replaced by rooms plus another room or or rooms but a room and enemy or entrance right so this right now if just roll the dice which ever really gonna apply there's no way you can tell up whether you're gonna end up with two room three rooms four rooms five rooms or million rooms it's all possible it's very it's it's ending up in a million rooms it's a very small chance yeah but it can keep on going and you don't want that in many cases because that's it's a there's a lot of problems there's different ways of designing around it you can make it grammar the tiny grammar to sort of terminate automatically and and and and sort of avoid these things but it's actually very hard so what I did is create a recipe like this and saying well I'm not gonna apply any rule that I can at any moment and I'm going to do this in a very fixed sense so I'm gonna say well I'm gonna start with the start symbol which is dungeon then I'm going to rule it right to rule start which is the topmost rule then I'm going to reiterate the rule goal we're not other options in this case but still and then I'm gonna say man execute rule grow which can be any of the two rules grow for 3d to x + 3 T 2 is if you ever play dungeon dragons you merely know what it means that means just any random number between 3 and 6 so that allows me to make sure that there is anywhere between 3 and 6 rooms in this dungeon and then there is an entrance and then the rule enemy so how many enemies are actually I don't know at this point how many enemies are in the dungeon still I might have made a more sophisticated recipe for the footage so I say well for every enemy I'm going to ask you to rule enemy so I made sure that every enemy is set to something more specific than just generic enemy sometimes I do here and that's actually for a previous game that we did and it was actually very interesting to do because they had a sort of a mixture of things in there and the recipes would actually be generated in that game and it was actually very powerful - that's something you can do how I deal with increasing difficulties end right right the thing is that one thing I didn't show you is that this generator this huge thing is generating one floor but the game consists of 20 floors right and before it's actually starting to generate any floor it makes a plan for the entire dungeon saying on level 2 are you going to find a bow and arrow which means on level 3 there might be interesting tests for you if you want to get some bones rewards using the bow and arrow but not on that funny anymore because it's long gone you might repeat that structure you might and and in that way I can sort of control the progression through the dungeon but it's also actually another step before they switch it's not as big as this one it's it's I think it's about 15 grammars or something that that sort of regenerates the plan and it does does interesting things so it says ok if I'm going to have a fire dragon that not 20 then I want to have the player to be able to find something that's going to protect him or her from fire at level 18 but that thing might be protected by another boss which might be themed in definitely there might be a known on earth boss that does a lot of stunning damage or whatever and then I want to spawn something level 15 and it might help the player against that that sort of thing so that's actually the way the whole dungeon is plan and pasted and and there's where things that a die so one thing I find if you control the difficulty too tightly it's get it's getting a little boring but sometimes now there is they know that sometimes you don't you can say well level seven it's called the gauntlet and it's going to be ridiculously difficult you just have to run through you just forget about trying to find everything that's on this floor just get the hell out of here and and and be on your way that's what I think so but ya know they actually have to make a something that's actually complicating my generation by a lot I don't know why I said this vote for myself but it's but it's actually something new so every possible you can go all the way down and you have to be able to go up so if you miss the key somewhere and for a critical thing because you fell down a chasm to the level below the level has to be in writing such way that the other could be key is going to be actually also be available on the other side so you actually have to make your way and this actually makes this for something that one of the structures are show you so you start unlovable and you find the exit the entrance of the staircase down very quickly but the way the bridge that you cross to get there is destroyed and if you certainly when you have to go back up again you have to find the long way around and one spoiler alert if you if you're on your way up you'll be chased this is not something that you know when you start at the first time but there is one those the big guardian of the end oh that's actually going to chase you out of the dungeon some people actually try to defeat it for some very rare breed managed to do so but it's a sort of a thing you you supposed to be chased out of the dungeon which puts a lot of tension to or this thing and then the reversibility of the levels is also a very important feature in how people actually strategize in the game so but it's said that's a there's a completely different discussion so I there was last question so thank you all and I will be here very shortly after the run very quick
Info
Channel: BUas Games
Views: 7,070
Rating: undefined out of 5
Keywords:
Id: mA6PacEZX9M
Channel Id: undefined
Length: 51min 9sec (3069 seconds)
Published: Fri Nov 18 2016
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.