tag:blogger.com,1999:blog-3779956188045272690.post8092991816953344198..comments2024-03-18T03:21:55.239-04:00Comments on Procedural World: City LotsMiguel Ceperohttp://www.blogger.com/profile/17586513342346629237noreply@blogger.comBlogger25125tag:blogger.com,1999:blog-3779956188045272690.post-49784225077514221192013-10-10T21:29:28.876-04:002013-10-10T21:29:28.876-04:00The algorithm is quite simple. You start with a po...The algorithm is quite simple. You start with a polygon you want to subdivide. For the largest segment your find a line perpendicular to the segment and that also crosses another vertex in the polygon. If you find more than one of such lines, you keep the longest. Then you break the polygon in two using that line. You have two polygons now.<br /><br />You will repeat this until all polygons have three or four vertices only. Once you are there, a 3 or 4 vertex poly is guaranteed to be convex, so you can easily inscribe a box inside. Due to the nature of the partition you get segments that are aligned for the most part, so the boxes will end up aligned as well.Miguel Ceperohttps://www.blogger.com/profile/17586513342346629237noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-36076867706437214722013-10-09T16:04:16.359-04:002013-10-09T16:04:16.359-04:00Hi, i was hoping to find out, while reading the pa...Hi, i was hoping to find out, while reading the paper, which algorithms were used to construct the blocky building lay out. However, i couldn't find it :)<br />Would you be so kind as to share your algorithm with us? I'm really curious! i would like to use it as well for my own project where i need to create small towns.michaelhttps://www.blogger.com/profile/03733419341327060018noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-11622084327200450262013-03-09T15:51:48.809-05:002013-03-09T15:51:48.809-05:00I used to have a tennis partner. We would play at ...I used to have a tennis partner. We would play at least once a week for years. My elbow was giving me trouble at some point. My partner then said to me: "Miguel, if you cannot play tennis ever again, would you give me your racket?"<br /><br />I rather concentrate on positive scenarios for now.<br /><br />As for Introversion, I do not judge. I am sure they had their reasons. As long as they didn't scam anybody it is all good. Even if they did not deliver a final product, it was entertaining to see them try. I am thankful for that.<br />Miguel Ceperohttps://www.blogger.com/profile/17586513342346629237noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-13749322319126102702013-03-09T12:25:28.116-05:002013-03-09T12:25:28.116-05:00If you DO end up painting yourself into a corner (...If you DO end up painting yourself into a corner (the way Introversion did with Subversion). I hope you'll consider open-sourcing what you have (or just plain releasing it anyway, as a sandbox game). Introversion let a lot of people down when they just shut down Subversion without delivering anything (even an incomplete product).Cool Ranch Lukehttps://www.blogger.com/profile/01893737124521598811noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-12435989854221634362011-08-13T10:39:38.315-04:002011-08-13T10:39:38.315-04:00The first screenshot looks like an aerial photo of...The first screenshot looks like an aerial photo of Southern England.Nick Powellnoreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-1510972266391799912011-08-05T09:56:31.633-04:002011-08-05T09:56:31.633-04:00A very interesting post as always. Coincides with...A very interesting post as always. Coincides with my own (inferior) experiments with procedural city generation chronicled on my own blog:<br /><br />http://jwhigham.wordpress.com/2011/08/05/a-tale-of-two-thousand-cities/<br /><br />I think I'm going to have to revisit this now :-)John Whighamhttps://www.blogger.com/profile/10862563515312224241noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-23304956675825722702011-08-04T22:50:19.106-04:002011-08-04T22:50:19.106-04:00@benj: Thanks for the kind comments. Odds are you ...@benj: Thanks for the kind comments. Odds are you will need to run instead of walking. The indigenous population will use you for target practice.Miguel Ceperohttps://www.blogger.com/profile/17586513342346629237noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-33333790829695721702011-08-04T17:54:08.388-04:002011-08-04T17:54:08.388-04:00only walking in this world would make me so happy....only walking in this world would make me so happy...<br /><br />About the buildings, it would be so cool to add like a "religious" factor... some old temples on top of the mountain for exemple, or hidden in very old caves...<br /><br />Anyway, your work is really amazing ! Keep going !benjhttps://www.blogger.com/profile/14356049564396691176noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-34972101576144069522011-07-31T10:43:54.837-04:002011-07-31T10:43:54.837-04:00@Andrew: How to make an entertaining game. This is...@Andrew: How to make an entertaining game. This is the one million dollar question. It keeps me up at night. It has little to do with procedural generation or any other technology. For now I'm just aware of this pitfall, let's see if I manage to avoid it.Miguel Ceperohttps://www.blogger.com/profile/17586513342346629237noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-57678311042271404942011-07-31T08:38:01.132-04:002011-07-31T08:38:01.132-04:00Is there a point where you're going to start e...Is there a point where you're going to start exploring the game interactions, as opposed to geography/history/politics/layout etc?<br /><br />I'm conscious of the fact that you're likely to end up in a position similar to where Spore ended up (and arguably Love) with a whole lot of beautiful systems interacting in a way that isn't fun to actually play...Andrew Doullhttps://www.blogger.com/profile/11099404183952971291noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-59296668025351265822011-07-26T17:59:07.177-04:002011-07-26T17:59:07.177-04:00Ah. I thought the eventual plan was to bulldoze r...Ah. I thought the eventual plan was to bulldoze rivers to cities similar to the way you make roads during the resource generation step. <br /><br />I know resource is an abstraction, but it still strikes me as a potential chicken/egg problem with industries like farming/mining/foresting/infrastructure, probably because it can be that way so often in real life. Just something to think about.Abnaxisnoreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-20797062337592255172011-07-26T14:52:43.780-04:002011-07-26T14:52:43.780-04:00@Abnaxis: Actually, the order I follow is:
Geogra...@Abnaxis: Actually, the order I follow is:<br /><br />Geography > Politics > Layout > Some Resources<br /><br />Water is part of the geography, so it comes first. I might add some resources like farms in the outskirts of cities. Same as other features like ruins.<br /><br />Also the term resource is somewhat misleading. In some cases terrain elevation is a resource, or vicinity to a different culture is also a resource.Miguel Ceperohttps://www.blogger.com/profile/17586513342346629237noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-83374252504867072102011-07-26T14:25:42.183-04:002011-07-26T14:25:42.183-04:00I am concerned.
I realize you are taking a sort o...I am concerned.<br /><br />I realize you are taking a sort of Bayesian approach to resource placement (i.e. "there is a city here so odds are there is fertile land nearby and resources and water nearby"), but the order you're going about doing things strikes me as very difficult to modify in the future, especially with regards to bodies of water. <br /><br />As I see it, you're going Political Landscape > Layout > Resources. The problem is, some resources (especially water sources) modify the landscape, which will modify the layout, which will modify the resources...<br /><br />Resources which have an effect on landscape may not be part of the current build, but if you ever want to add them it seems the proper order should be Political Landscape > Resources > Layout, to avoid the dependency loops. <br /><br />Maybe I am wrong, but it seems like you could take the same approach you are using for creating city layouts to make resource "zones," then build city layouts from there. It probably won't make any difference in the results you get now, but it should (hopefully) make the system more modular.Abnaxisnoreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-68922761442887522982011-07-26T03:01:37.728-04:002011-07-26T03:01:37.728-04:00Something I found interesting: I happened to be ab...Something I found interesting: I happened to be about 40,000 feet over Chicago a couple of weekends ago. Some things I noticed: 1) Something like 90% of the city was short (1- or 2-story) buildings -- apparently low-density residential and light commercial -- with tall buildings clustered in about 10% of the non-agricultural area. 2) The tallest buildings weren't in or near the "center" of the city, but were clustered next to Lake Michigan. I wonder how typical this kind of pattern is, and what cultural factors might affect these patterns?<br /><br />http://www.millionface.com/l/amazing-scenes-of-world-cities-from-the-sky/ has some good images of cities from fairly high up, including one of Chicago. Also, Google Earth has an interesting "3D Buildings" feature that gives you a sense of the taller buildings in many metropolitan areas.Bart Stewarthttp://flatfingers-theory.blogspot.com/noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-34661589753771348542011-07-25T16:32:44.890-04:002011-07-25T16:32:44.890-04:00Starting to remind me of this now:
http://www.intr...Starting to remind me of this now:<br />http://www.introversion.co.uk/subversion/<br /><br />Keep up the great workKerrashhttps://www.blogger.com/profile/09042605601777730675noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-53968111215833181252011-07-25T12:21:04.845-04:002011-07-25T12:21:04.845-04:00@John Keyworth: Thanks for the link. There is also...@John Keyworth: Thanks for the link. There is also the work done by the CityEngine guys at procedural.com. It is pretty comprehensive, but I think (hope) I can get away with less.<br /><br />I'm going for a world where you can walk around and still be entertained. That constraints the scale of cities. Large cities may become boring soon. For the city sizes I'm going for I suspect too elaborate city planning algorithms are an overkill as they will go unnoticed.Miguel Ceperohttps://www.blogger.com/profile/17586513342346629237noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-30482924501181204962011-07-25T12:12:57.091-04:002011-07-25T12:12:57.091-04:00@Keebus: Yes, I have a different block partition a...@Keebus: Yes, I have a different block partition algorithm that makes facades stick closer to street lines. Some cities will use it more.Miguel Ceperohttps://www.blogger.com/profile/17586513342346629237noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-31454309912718448382011-07-25T12:10:26.004-04:002011-07-25T12:10:26.004-04:00@Anonymous 0..N:
> how do you plan to handle i...@Anonymous 0..N:<br /><br />> how do you plan to handle inner city road?<br /><br />You can see inner city roads already. They form when two blocks touch each other. They will get geometry and texturing depending on the type of civilization and population density.<br /><br />> how you'll tackle the types and locations of buildings?<br /><br />Each civilization type will have a list of buildings type that are likely to appear in a city. This goes from crappy houses to castles, theaters and courthouses. Based on their probability, lot location and specific building rules, I should be able to figure out what type of building is the most likely for a given lot.<br /><br />> Did you say you aren't going to have rivers and lakes?<br /><br />No plans for rivers and lakes for a first release.<br /><br />> Also, how "modern" is the world you're generating?<br /><br />Alternate fantastic universe, but with a realistic feel.Miguel Ceperohttps://www.blogger.com/profile/17586513342346629237noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-14405197388322631742011-07-25T10:40:19.188-04:002011-07-25T10:40:19.188-04:00A paper on generating city layout, if you're i...A paper on generating city layout, if you're interested, focused on deciding what different areas are used for...<br />http://www.groenewegen.de/delft/thesis-final/ProceduralCityLayoutGeneration-Preprint.pdf<br /><br />I'm writing my own (real-time) world generator, so this blog has been very interesting so far. I'm certainly having to investigate using some OpenCL.John Keyworthhttps://www.blogger.com/profile/08166300196571589063noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-6262723612833620752011-07-25T10:32:34.174-04:002011-07-25T10:32:34.174-04:00I have two suggestions. For one, think "wild ...I have two suggestions. For one, think "wild west". Towns might form along central streets and sprawl from there. Since you're doing this after the road system, maybe it would be wise to make a regular distribution of buildings around major junctions.<br /><br />Also, how "modern" is the world you're generating? If it's 1850+ then some cities will be organized along city blocks, a relatively easy thing to generate.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-39227469883215420992011-07-25T10:29:47.940-04:002011-07-25T10:29:47.940-04:00Truly amazing stuff. One only consideration would ...Truly amazing stuff. One only consideration would be about buildings facades. If you take a look at ancient european cities, building perimeters are often not exactly rectangular but their facade follows the street line.<br /><br />KeebusKeebusnoreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-1358320826521537342011-07-25T10:06:11.476-04:002011-07-25T10:06:11.476-04:00Really interesting, I can't wait to see how th...Really interesting, I can't wait to see how this entire project turns out.<br /><br />Did you say you aren't going to have rivers and lakes?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-14810286233170860272011-07-25T10:02:30.817-04:002011-07-25T10:02:30.817-04:00Truly amazing, but I'm wondering how you'l...Truly amazing, but I'm wondering how you'll tackle the types and locations of buildings. Do you plan on using something similar to a simplified Burgess model with a "central business district", or will there just be scattered buildings for now?<br /><br />Sounds pretty complicated, but I really like where you're going.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-16375894177990317132011-07-25T08:51:16.820-04:002011-07-25T08:51:16.820-04:00Dude, you are a god to me. Really.Dude, you are a god to me. Really.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-47151801981109619172011-07-25T07:27:50.324-04:002011-07-25T07:27:50.324-04:00very cool stuff! how do you plan to handle inner c...very cool stuff! how do you plan to handle inner city road?Anonymousnoreply@blogger.com