Today I haven’t worked on the game, somewhat disappointing to myself. I write this blog post late at night, so it’ll be technically uploaded the day after what I’m discussing. Regardless, I’ll be writing about some general conceptualization of what I wish to do, partially since I want to see how long I can keep up with updating a blog about development.
So, Procedural Generation is quite a complicated topic and I’m unsure if I can do it justice with writing like this. I’ve tried explaining the draconic horrors of what I’ll be attempting to friends of mine and it seemed to them that this subject matter is trivial, so I’ve vastly undersold it in the past.
So beginning with the base we have to start with generating the general shape of the house. This is very simple we only have to make a rectangular shape.
But, while houses are generally rectangular they’re very rarely only a rectangle. So maybe we should add something, like another rectangle.
And then we’ll need an entrance so let’s try and place one along the edge of the rectangle.
This image probably makes it way too big but oh well. Then we need to entrance to be pretty on the outside so we should add a porch or something.
Great now we have an entrance way chose with style for the player to see. Now we should probably start figuring out rooms and stuff. Now would probably be a good time to make some adjustments to the image to better display my thoughts.
Since the second rectangle was added early we should simply treat it as analogous with the original. This’ll make dividing rooms a little easier. So now we have a shape we need to know what kind of rooms we’ll be making. This is the important part of the process, loading the game with information on rooms, how they’re styled, the furniture that fits into that, etc. is the really big part of this, even if making the specific code for the house design is new to me similar things with dungeons have been done historically, leaving many examples for me to imitate. So in this case let’s say we’re designing a small street house. Houses require a living room, placed within 1-2 rooms of the entrance. This’ll be my way of making sure the layout is somewhat sane. Through a process of radiating chances we’ll have deterministic odds determine the layout. There’s a term for this somewhere in my brain that I learned over years of studying game design but unfortunately it’s lost on me. I’ll probably discuss this concept more in depth some other time.
Anyways since its either the first room or linked to the first room we’ll just make it so the first room will be the living room. But what will the bounds be? Well since we already have a line to follow we’ll fill some space and follow a guideline to how big a living room should be.
This is pretty big comparatively to the size of the house but we’ll be making a small house here anyways. So let’s apply this process a few more times to get all our rooms.
So now we have our rooms we have a good floor plan. From here we have to place doors which then allows us to place furniture, etc. But honestly I’m very tired from working all day on other projects so I think expansion of all of this will be saved for some other time, maybe when I’ve done some actual coding on the topic.