AdvertCity - "Facebook Simulator 2014, but with more cyberpunk!"
25 replies, posted
[QUOTE]A cyberpunk advertising tycoon strategy game, set in massive procedurally generated cities with a retro vision of cyberspace.[/QUOTE]
[QUOTE]Broke? Looking to work from THE SKY? Join us in AdvertCity! A huge, procedurally generated place, just waiting to be sold all kinds of junk by YOU![/QUOTE]
AdvertCity is a game where you advertise stuff. And do so at a very morally questionable level. And it's got some really badass procedural generation stuff. It's hard to explain, but it [B]LOOKS AMAZING[/B]. Seriously, read this:
[QUOTE]Explore a massive procedural city, and plaster your adverts all over it. Float around cyberspace and get paid for posting links online. Make your mark on a complex economic ecosystem, direct the future of the city, and cunningly work your way to the top.[/QUOTE]
AdvertCity is set in a huge procedurally generated cyberpunk city, with glassy water and very abstract visuals, built on top of an incredibly high fidelity simulation. Right now, it's already really detailed, but more is being planned - eventually, the developers want a fully simulated city, where the actions of single people all individually affect the high level simulation, to a huge extent. It'll even have little details, like the lights in buildings switching off all one-by-one as the denizens sleep and go through their lives, and the unpredictability of technological phenomenons such as memes and viral videos affecting the gameplay overall.
The game is set in a futuristic yet bleak world where advertising is everywhere, and you are part of it. You need to advertise for companies, try and maintain your relationships which these companies, and even eventually work up to a huge power, buying out corporations and expanding through both legal and illegal means... but always immorally. Eventually, a citizen can't look anywhere without seeing an advertisement on a billboard, in a shop window, on their phone, on blimps, or anywhere, really!
The game is made by people who love the technology behind it, and spend a lot of time reading up on studies and academic papers researching population densities, land values, terrain effects, and of course advertising. They are committed to having versions of the game on all platforms, and have written their own in-house engine so they aren't held back by any limitations. Every CPU calculation is used to the fullest, meaning even the biggest and most complex cities can run well on old hardware.
[B]Buy it on the Kickstarter early for a reduced price!
looks real cool.
I wish it would explain gameplay a bit more.
it feels like they ripped the subversion (introversion software) city generation bits
[QUOTE=LordCrypto;44354999]it feels like they ripped the subversion (introversion software) city generation bits
Hello, author of the city generation here! I signed up here just to chat about this and answer any of your questions :)
The introversion guys based the generator in Subversion on a [URL="http://dl.acm.org/citation.cfm?id=383292"]Siggraph 2001 paper by Parish and Muller[/URL] which is quite well known, you can see a PDF of it [URL="http://graphics.ethz.ch/Downloads/Publications/Papers/2001/p_Par01.pdf"]here[/URL]. This has actually been a standard go-to for large city grid generation for a long time, and I did initially start by looking at the same paper when I first investigated procedural city generation. This is a very well-known paper - it's cited as a source in most procedural generation discussions, and is even a footnote in the [URL="https://en.wikipedia.org/wiki/Procedural_modeling"]wikipedia page on procedural modelling[/URL]. It's also generated a lot of secondary literature, some of which is scattered across the web but some of which is locked away in academic papers behind paywalls.
However, the method they apply has a number of serious shortcomings - they attempt to model an iterative process as a mathematical L-system, which, although a wonderful exercise in esoteric mathematics, isn't really well suited for fast generation or flexible rules. A very detailed analysis of their model and its flaws is found on [URL="http://mollyrocket.com/forums/molly_forum_730.html"]this very informative Mollyrocket forum post[/URL], and anyone considering implementing a version of Parish & Muller's algorithm should definitely study that first. In fact I believe the Introversion guys have implemented at least some of the modifications recommended in this post.
Muller went on to produce further papers on procedural street layout, and a particularly interesting one was presented seven years later at Siggraph 2008: [URL="http://www.sci.utah.edu/~chengu/street_sig08/street_sig08.pdf"]Interactive Procedural Street Modelling[/URL]. This is interesting because it introduces the concept of tensor fields; their previous work only allowed for population centres and heightmap adjustments, and you can see this reflected in the radial / terrain-following style of Introversion's cities. Tensor fields allow far more subtle local relational layouts, however, such as closely packed neighbourhoods that are aligned in a particular way, while being bisected by major roads at odd angles.
My own work builds on all of these ideas, so it's not surprising that there's some similarity (and the fact that these do reflect real street maps quite realistically, so there's bound to be some convergence!). However, I rejected all use of L systems, and avoided the excessively simplified solution in the Mollyrocket post as well; The bottom line is that L-systems come from the conventions for procedural generation of plants, and sometimes landscapes. It's easy to see why - they're well suited to making things like ferns, and [URL="http://www.gamesitb.com/SurveyProcedural.pdf"]this procedural generation overview paper [/URL]has some great examples of L-systems used to good effect.
However, real cities just don't really work like that - roads don't grow like branches on a tree. However, cities do tend to over time grow outward, and there is some merit to following the overall streets-first mapping approach, which is why I chose to do it this way, only without the L systems. (Side note: other methodologies for generating cities do exist in the literature, such as [URL="http://www.academia.edu/2852785/Procedural_city_layout_generation_based_on_urban_l and_use_models"]simulation of land use[/URL], or [URL="http://mcajournal.cbu.edu.tr/volume17/v17no1p9.pdf"]population based[/URL], or[URL="http://ccl.northwestern.edu/papers/ProceduralCityMod.pdf"] a fusion of methods[/URL] - however these tend to be far slower to execute and either require very in-depth simulation, or produce excessively coarse and undifferentiated results).
I do apply something a little similar to the tensor fields, but they're maps calculated on a mix of realtime procedural projection and cached data about population layouts and terrain features (such as different terrain types, gradients, altitudes, population densities, whether the region should be considered urban or rural etc); the result is something that has the subtlety of the tensor field system, yet generates much larger cities than are feasible with the L-system at a far higher speed than possible with that design. The AdvertCity generator is an object-oriented system of roads, junctions and buildings that can be adjusted on the fly to interact with their immediate surroundings, so roads meet and cross at specific junctions, branch and fork (something not used in the L system design), and can also spontaneously degenerate from paved roads to footpaths etc as appropriate, due to terrain or other aspects of the landscape. Different classes of road or path can also have entirely different rules and code for how they react to different terrain types and other features, so it's possible to build a much more dynamic overall city map with those.
You can still get roads following coastlines, and motorway bridges spanning bodies of water that smaller roads don't try to cross:
But also more subtle mixes of straight and curved road segments, roads that are wiggly in the small scale to go around small obstacles but take a consistent route over a larger scale, and get evenly sized city blocks even in curving neighbourhoods:
It's also possible to get more realistic country roads that fork into a loop around a feature like a lake (see the background of the top image in the original post) or footpaths that can ascend to the tops of nearest hills by the easiest way possible, make realistic country walks and so on.
You can see more screenshots of differently tweaked iterations of the algorithm I'm using in [URL="https://www.facebook.com/media/set/?set=a.608993889189575.1073741830.361227683966198&type=3"]this album of development screenshots[/URL].
Here's a timelapse video of the process of researching and programming a previous iteration of the city generator, which the one in AdvertCity is based on (strobe warning!):
If there are any questions about any aspect of the city generator, I'll be happy to go into plenty of detail :)
Will there be smaller towns branching out a few miles from the city, or suburbia? I really like medium-small sized cities/towns in general, so I'm pretty curious about that.
[QUOTE=Incoming.;44356826]Will there be smaller towns branching out a few miles from the city, or suburbia? I really like medium-small sized cities/towns in general, so I'm pretty curious about that.[/QUOTE]
There are definitely suburbia as distinct from the inner centre, and the engine understands the concept of suburbs (different traffic requirements, different travel direction requirements) as opposed to inner city or rural areas, but we're aiming to keep the overall playing field fairly centralised so you don't have to wander around too far. You do still get naturally outcropping villages in parts of the map, though - I'll try to post a few screenshots of some of those.
The buildings are generally larger and taller than they would be in a contemporary city because this is a future cyberpunk setting. Early on in the project we were actually considering making the settlement a domed city, and we may still do that. What do you think of the idea? If that ends up happening, there will be smaller satellite domes over the smaller villages out from the centre, and covered road tunnels leading between them.
The generator can scale very well to different sized settlements - if there's demand, we could allow players to choose the size of the playing field for each game. Right now you can set the generation seed at startup, and different seeds already create very different looking cities, and they do differ in scale too. The only issue with smaller settlements is there may not be room to get in all the megacorporations that give the game variety!
[QUOTE=SlowRiot;44356114]Hello, author of the city generation here! I signed up here just to chat about this and answer any of your questions :)
the fact that you came here and gave me the smackdown with a hella informative post
Screenshots as promised from before: Naturally outcropping villages in parts of the map - you can see one of those in the top left, here:
(also a path heading up to the mountain in the top right - I've turned down antialiasing so that the smaller paths are more obvious from far away in this view)
Here's a view from above a small four-house village, about 20 miles out from the city:
Cyberspace perspective on two out-of-town settlements
(click for full resolution)
Is the game engine planned to include comprehensive mod support? If so, it would be great to repurpose your incredible simulation and mod in SimCity like building functionality.
I don't normally fund kickstarters unless they look really promising and are near release, but you definitely know what you're doing, and it seems realistic and reasonable enough, in addition to something that I'll find interesting. Put up £8, about the best a uni student can do!
The more I looked at it the more I like it. I've grabbed an early bird Beta access, looking forwards to what you guys will do! Also looks like I'm the first Early Bird Backer! Go me!
[QUOTE=LordCrypto;44357321]the fact that you came here and gave me the smackdown with a hella informative post
Dude, you got fucking rekt, that was amazing.
And SlowRiot? You probably earned me as a backer with that.
[QUOTE=SlowRiot;44357144]Early on in the project we were actually considering making the settlement a domed city, and we may still do that. What do you think of the idea? [/QUOTE]
Could be used to hide imperfections of the city generation. Most of the generators around make it look like it was all planned out before the first stone was even placed (like 500 years into the future). In a domed city it makes sense as your space is limited.
the roads form a dong
[editline]27th March 2014[/editline]
Congratulations on passing the Kickstarter!
Kickstarted, I love city simulation so I'm looking forward to this.
Looks like the Kickstarter was more than successful.
We're at spam, hoping for more tech trees to be unlocked!
Y'all want brain implants, right?
Hey all, just a quick update on this thread - we reached and exceeded our kickstarter goal, and unlocked all the megacorp and tech tree stretch goals :) A big thank you to those of us who supported us, and for all of your feedback! If there's any interest, I'll post any new developments to our city generator here as we make progress with the game.
Definitely do, we love it when devs are active here. Eagerly following, sad I missed the kickstarter.
I really wish I hadn't missed this kickstarter. This looks like an amazing project!
Saw this a while ago and sadly held off backing, absolutely gutted I've missed it! Certainly looks liek a clever concept!
Hello again! A lot of our early testers' feedback went along the lines of wanting to see more detail in the cities, so we've been working on some procedural textures for buildings and roads, as well as improved realism in lighting. Here's an update with some of the latest screenshots (click for higher resolution):
[T]http://i.imgur.com/HgiAsKe.png[/T] [T]http://i.imgur.com/hLi91Pb.jpg[/T] [T]http://i.imgur.com/LbIxm9U.jpg[/T] [T]http://i.imgur.com/3ilklmQ.png[/T] [T]http://i.imgur.com/xTXPHuU.jpg[/T] [T]http://i.imgur.com/kd7ko3I.jpg[/T] [T]http://i.imgur.com/XqsOOgY.jpg[/T] [T]http://i.imgur.com/wAybIgf.png[/T]
From the technical point of view, for those who are interested, what you're seeing is:
* Procedural building textures are composed of lit apartment windows; they're grouped together in bunches, and how many are lit in a given building depends on its population and the time of day. For instance, in an under-populated building, some apartments' lights will never turn on at all, at least until the population increases.
* Building textures also have reflectivity maps baked into them, which define which areas are shiny windows, and which are matte sections between floors. Because this is a futuristic cyberpunk city, all the buildings are shiny metal and glass, in contrast to many modern cities which have more building variety - texturing a dystopian cyberpunk city is easier, since buildings look more similar overall in this particular sci-fi vision. Most of the apartments and offices have fluorescent lighting, and this fits into the overall colour balance of the scene.
* The individual appartments have detail hinted at procedurally by subtle colours in the windows. Window light patterns do not repeat even on identical buildings, which took a bit of playing around to achieve.
* From a distance, the population differences between buildings and parts of town are easily seen by the variations in their overall brightness.
* The lighting for buildings is computed per-pixel now, which allows us to do proper specular reflections from the glassy surfaces - the buildings glint in the moonlight. This also increases the visual variety of the city form a distance, although it looks best while moving - still screenshots don't really do it justice.
* The roads have procedural textures reflecting their realistic numbers of lanes, with anything from one-way single-lane residential roads to eight-lane motorways (or no lanes, just clear tarmac for footpaths).
* The traffic directional flow is rendered in shader, so the orientations of the lights is always correct; In the city pictured here, they drive on the left (like in the UK and Japan), so the white lights coming towards you are always on the right and the red lights going away from you are always on the left, whichever angle you face the road from. It's a subtle effect, but a very important one to get right, I think.
* Most importantly, all of this is done in compatibility with OpenGL2.1, so even older graphics hardware, Intel embedded chipsets and Macbooks will have no trouble rendering these scenes. In fact, with the optimisations I've made to the lighting, it runs even smoother than it did previously!
Let me know if you like what you see :)
Hey folks, just wanted to resurrect this thread to post an update - the game is finally finished, and is available to download at [url]http://voxelstorm.itch.io/advertcity[/url]. Enjoy!
And one final thread resurrection (I promise!) to announce that we're now on Steam :)
Also, new trailer:
Sorry, you need to Log In to post a reply to this thread.