(This is a repost from my blog right here: http://nighttimedeve...9/its-done.html)
It's done. It's over. I turned in my bachelor thesis. Life has me back. Yea, last post was a month ago. Sorry about that. But between my application for an awesome job in a german games company and my bachelor thesis there was no time for nothing.
So let's talk business. Though my bachelor thesis is done my project is not. But I haven't told you about all the features that went into it yet anyway. Last time I really talked about the project I told you about the street generation system. Then I told you how to find lots in that streetsystem. Today I'm gonna talk about making buildings. And thats really simple. Our buildings will only consist of blocks. Not in the minecraft kind of way tho. For the buildings I chose a very geometric architecture style. The art déco style will serve us just right for
Of course to create a foudation for our geometry we will use the L-Systems again. I won't make any friends if I post the definition of the L-System here again. I think most readers will understand it as "cryptic formulas". All you need to know is, that we take the bounding box of a building at the beginning then split it up and shrink parts of it, so it stays in the bounding box. We can use this by utilizing parametric L-Systems that use two vectors as parameters. Those vectors define the minimal and maximal point of a box. In the end we have a long string that is defining a lot of boxes. There also have to be different kinds of boxes. So the L-System knows how it may change them during the generation process... in the picture on the right you can see how the bounding box (green block on the left) gets split up.
The different colors mark the different types of blocks. When we parse our string with the instructions for the building we just create geometry data for a lot of boxes. Oh, and don't forget that you should use different textures for the roofs. Just with one type of buildings your end result may already look something along the lines of this:
If I think about it, this is a bad example picture because you cannot see any buildings up close. But I'm too lazy to take a new screen now. XD
That's all folks.
Till next time