[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vp / vr / w / wg / wsg / wsr / x / y ] [Home]
4chanarchives logo
Modern City Generation
Images are sometimes not shown due to bandwidth/network limitations. Refreshing the page usually helps.

You are currently reading a thread in /tg/ - Traditional Games

Thread replies: 28
Thread images: 3
File: kowloon4.jpg (57 KB, 305x400) Image search: [Google]
kowloon4.jpg
57 KB, 305x400
I've been thinking about this for a while but I want a new perspective.

There are a lot of tools for generating villages and castles and various medieval things, but I need a way to generate a city. An endless, seedy, dangerous city. I've been thinking of various ways to do this:

1.Tiles: Similar to the dungeon dice thing. Generate a large number of tiles to chose from at random to build the general landscape, then use subgenerators to choose the types of buildings, their names (if they have signs), inhabitants, that sort of thing. Positive is that you have a concrete map that can be shown off. Negative is that inevitably you're gonna get repetition, and unless you have a hell of a lot of pieces, it's gonna be obvious quickly. Not to mention that the pieces have to follow some degree of tessellation so they can connect, but which also forces each tile to be rather samey in some ways.

2.Pure text: Generation depending on pure text, something akin to "On this street there are (Variable) buildings, The first is a (variable) named (variable). It's major features are (variable), (variable), (variable)." and so forth. It has the benefit of allowing greater diversity since it's up to me to make it make sense, and doesn't require everything to be modular. Downside is that it is fairly abstract unless I sit down and draw out a map to match it.

3.Generation based on Map Data: This one is a bit different. Because I'm attempting to generate something that already exists, I can just look at existing examples and pull material from them. What this would probably take the form of is me sitting down, finding 20-30 cities and collecting streets in the denser urban and industrial areas. Then, create a generator to select two crossroads from a random city, and supply a bit more info like how many buildings to take from the street or whatever. Then, just use these to build up the area around the players.

Which do you think I should go for?
>>
it does sound interesting. Issue is that while a village in a medieval setting is pretty default, cities all wildly differ. I would be intrigued though, especially with no. 3.
>>
>>44282919
In the setting I have in mind, a bit of nonsense mashups of things wouldn't be too out of place.

Basically trying to do an Urban Dungeon Crawl in a Kowloon like megacity with a hallucinatory 80's vibe and modern fantasy style. Sort of like IVAN crossed with Hotline Miami.
>>
>>44282880
bump
>>
>>44282880
Mmmmm.

If you're going to generate a city, and you don't want to draw a map, then I think tile generation would work. Depending on the size of the tiles, you could have different amounts of buildings per tile. The buidings in the tile could be separately randomly generated.

You could also combine tile generation and text generation. So, say, a pub might be generated on the tile. You can then have a bit of text generated, mentioning its primary features, like in the template you mentioned. Then you can mark the tile with a number, and have a generated note with the same number listing the details of the pub.

TIle #95: This is a pub called [The Eunuch's Balls]; it's main features are [it has no windows] and [the barman is very fat].
>>
One of the downsides with 3. is that I'd still have to figure out a way to do the street plan. I played around with using tiles for that but the layout is much more square and consistent than I'd like; not as meandering and labyrinthine as I'd like.

I suppose I could use an existing village generator just for the roads, or maybe just steal the roads from a real place; though I'd have to figure out a good way to strip the names off googlemaps or whatever.
>>
File: 8SWGryi.png (29 KB, 536x740) Image search: [Google]
8SWGryi.png
29 KB, 536x740
>>44283364
Thats a fair point. A combination of two or even all three might work best. Tiles are just problematic in that they're a bit hard to work with and still make interesting, you know? Make it non-obvious that you just have a bunch of tiles.

I should look into tessellation methods to make something that isn't square. I've already got the method to randomly assign them and generate a map automatically. Used it in a previous project to make Elder god signs.
>>
Here's one other thing people can help with if they have no opinions on the city generation systems.

I'm also generating weapons, enemies, items, all that jazz. Clearly firearms are a thing, but what other weapons would be around in a modern city?
>>
>>44283666
>666
I'm onto your plot to promote violence in our cities, Satan.


Various types of knives, including knives where the blade flicks out. Meat knives, outdoorsmanship knives, sailing knives, whatever.
Clubs, cudgels, truncheons. They're sometimes amusing called "life preservers".
Broken bottles, or intact bottles that could be smashed over someone's head or broken against a wall or bollard.
Brass knuckles.
Keys held between the fingers
Hammers, wood-chopping axes
>>
>>44283789
Your assistance shall be remembered, mortal.

I mean, Thanks.
>>
>>44283666

As far as weapons go, really anything. It's a city and as such you can find anything is you search hard enough. It's main difference is going to be in frequency. Knives will be the easiest to find and pick up, almost every house will have a set of kitchen knives that'll do in a pinch. Guns you can certainly find, many much less secure than you would imagine (at least here in America). Then you start getting into the more esoteric stuff.

Imagine a chase scene set through the city, your PC has an appreciable level of acrobatics and maybe some freerunning training. They're going pell-mell through your city generator (which would be one of the best ways to show it off) and you roll up one of your rarer spaces, a hardcore dedicated Renaissance historian's apartment. Sitting in a cabinet in the living room is a modern forged, high quality, mace given to the historian as a Christmas by one of his weirder friends at the college. Just a little bit of spice that'll make it feel more like a living world.
>>
>>44283897
Thats an interesting idea, to bind rare types of equipment to specific map tiles or whatever you wanna call it.

Really, the generator here would be used for generating random loot or the equipment of enemies, that sort of thing. Obviously if someone finds a replica civil war musket or wants to weaponize a barbell, they can do that, but it's not gonna be the norm among the alley way stalking scum of the city.
>>
>>44284007

That makes sense and for the random loot tables the poster above has the right idea. Especially with the keys, hammers and axes I think plenty of the weapons in the city are either going to be improvised melee ones or some variation of knives and guns (with a leaning towards pistols).

You did make me realize that I know way more people than I thought I did who own muskets of some sort though. Probably has more to do with the people I hang out with than anything else but I wouldn't be afraid to whip out some of the rarer or odder things in the tables, humans get weird stuff when we have disposable income.
>>
>>44284349
Thats fair enough.

Hmm. I wonder if the police keep records of things like this? Stuff like confiscated weapons and lists of illegal weapons. That would be a good, realistic place to start from, I think.
>>
>>44284463

More than likely included in the Public Records office, I know that the information is supposed to be available to the public (though the exact degree will vary from state to state) but I have no idea how responsive they would be to someone asking to take a look at the records as part of a worldbuilding exercise for a tabletop game.
>>
>>44284761
http://www.police.vic.gov.au/retrievemedia.asp?media_id=70098

This looks promising
>>
>>44282880
>An endless, seedy, dangerous city.
>Which do you think I should go for?

Markov chain can do the work

>Markov chain?
Imagine you have a map of a good city split into tiles, you check the probability of some tile being of a type X and save this info
After to every tile type you check what tile types are adjacent to this specific tile type and their chances. You do that to every tile and save this info.


Now the generation of stuff begins.
First you generate a random tile based on first info you got.
Then you continue to generate the neighboring tiles based on the chance of having a tile X being adjacent to this tile Y.

This can be done for ever.
>>
>>44284910
I am actually creating a markov chain map generator.
But its not a city one, its a worldmap one.
Its also based on ultima IV map info


But its not infinite.

The main problem I am having is that I have to actually open a picture of ultma IV in 1/1 scale map and check every single tile to see what tile is adjacent to it.

More, because I want my map generator to be even better, as some example, a hill tile being on the left side of a swamp one and a hill being on the right side of a swamp are considered different things.
So when generating tiles on the left side of the tile you are in, you make it based only what tiles can be adjacent on the left side of this tile.

SOME EXAMPLE OF INFO I GOT:

ALL X WITH FOREST BEING ON RIGHT SIDE OF IT
Current is medium Water if right adjacent is forest = 45
Current is shallow water if right adjacent is forest = 5
Current is grasslands if right adjacent is forest = 82
Current is scrubland if right adjacent is forest = 168
Current is forest if right adjacent is forest = 1927
Current is hill if right adjacent is forest = 14
Current is mountain if right adjacent is forest = 4
>>
>>44285013
>>44284910
>markov chain
That looks good...kinda complex. Is this gonna require automation or would you be able to do it on a roll table sort of thing?
>>
>>44285487
>Is this gonna require automation or would you be able to do it on a roll table sort of thing?
Its a computer program, its almost all done.
Getting all this info from map is the hardest part.

Actually, getting the info of the map, writing this info on the code, and writing how each tile is (their pixels, as program will generate a picture) is all what is left to do
>>
>>44285798
another thing, IN THEORY it wouldnt be impossible to do with tables, but would be a pain in the ass, more pain in the ass than creating a fatal character
>>
>>44282880
Here's what I used last time I generated a city :
https://www.youtube.com/watch?v=NsNP8-S5ygE
>>
>>44285798
would you mind explaining it a bit more for me? In more depth?

I don't think I'm grasping the specifics.
>>
>>44282880
Number two, but visual.
The first bilding is a (hospital), it is (large) and (rather old) looking.
(It has a (small radio tower) (on the roof))
The entrance is on the (left) side of the building.
Now, just create some models for each individual option. Of it has a modifier just add a filter to the texture, brownish for old, shiny for new-looking, and maybe use multiple models for the same object so that one building can look different from another building with a similar description.
>>
>>44283501
Tile modifiers should work.
A T-section for example could be bussy, calm, or a constant traffic jam traffic wise, and rich, medium, or poor in building quality or whatever.
This would make every tile unique and avoid eversame roads.
You could also do meta-modifiers.
Assign a certain area a specificntrait, for example rich or poor, then generate the tiles and have every tile check what kind of area it is in. If the tile is in a rich zone it can pick from very rich, to rich, if it is in a poornzone it can pick from very poor to poor.
Same could be done for other traits at the same time, traffic, age of buildings, infrastructure quality, crime rate etc.
All of these traits could be assigned to areas in an overlapping scheme, this means that you end up with districs of different sizes and shapes which can then be filled wittiles which will then choose from the list of modifiers available to them.
>>
Just had an idea for the tiles.
Let's say that the tiles only generate roads, and not alleyways.
After the road is in place another script runs across the tile and places alleyways to separate the unspecified space that is not road. After the division process is done a dice is rolled depending on how densely populated this part of the town is to determine how many buildings there are on this tile, it then decides if a separated area is a building or empty space.
Sage becausr I am already clogging this thread up with my bullshit
>>
I wouldn't bother with street layout. Do a map with blobby neighbourhoods and mark links between them. I mean walking, but also big roads that link many areas, subway stations, etc. Then text and lists describe each neighbourhood.
>>
File: 22222222.png (500 B, 42x48) Image search: [Google]
22222222.png
500 B, 42x48
>>44286613
markov chain is a pain in the ass to explain and my english skills arent the best ones but I will try

imagine the picture is a entire world.
4 out of 9 tiles are water
2 out of 9 tiles are grass ones
3 out of 9 tiles are scrubland ones

To generate an random map made by markov chain, first we generate the first tile at random, its actually semi-random and its based on the info we got before.

Imagine I roll a water tile.
This will be a tile of my map.

Now lets get a little more info from the map to continue to explain how generation works.
5 out of 9 times, a tile that is adjacent to a water one will be a water one
3 out of 9 times, a tile that is adjacent to a water one will be a scrubland one
1 out of 9 times, a tile that is adjacent to a water one will be a grass one.

So we already have already generated one tile on the map we are doing.
This tile is a water one.
Now we select a empty tile adjacent to it and select how it will be.
To do it, we roll a random tile based on previous info we got, as some example the chance of this adjacent being a water one is 55.55555% (5 out of 9) chance of being the one, grass has 11.11111% ( 1 out of 9) chance of being the one......


This is basically how it works.
Thread replies: 28
Thread images: 3

banner
banner
[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vp / vr / w / wg / wsg / wsr / x / y] [Home]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
If a post contains personal/copyrighted/illegal content you can contact me at [email protected] with that post and thread number and it will be removed as soon as possible.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com, send takedown notices to them.
This is a 4chan archive - all of the content originated from them. If you need IP information for a Poster - you need to contact them. This website shows only archived content.