Hacker News new | past | comments | ask | show | jobs | submit login
Using SimCity to diagnose my home town's traffic problem (gamasutra.com)
258 points by Gmo on Feb 19, 2013 | hide | past | favorite | 113 comments



I love simcity, but recently played it and noticed it is really paternalistic.

The attitude towards development it has is very much like China - everything is controlled and all land is owned by the government, and the government's job is to manage zoning, roads, schools, education, in order to make people happy. Nobody actually has any property rights - even trees don't grow without government planting efforts. Farmers can't choose their own crops.

This is actually really different than what happens in the real world. Really, if a community doesn't have a school, people get together and start one. Small civic organizations evolve into permanent buildings, training schools, etc. Pickup sports leagues evolve into organizations that commission their own stadiums.

If there is no fire department, a volunteer one starts. People build churches, or start them at home, whenever they feel the need. But in simcity world, everything good comes from the government.

I love simcity, but I do think it's weird that there isn't a mode where you can just let people build whatever they want. I love the built-in, realistic needs people in it have - but where are the entrepreneurs who will actually start a society, or borrow money to build a building on their own? Where are the rebels who start a revolution if the government doesn't meet their needs?


WTF. Libertarianism is like some grumpy religion, people are always trying to bring it up even when it doesn't fit.

And it's so wrong about how the real world works. If a community doesn't have a school the first thing that normally happens is they form a government and elect a school board to figure how to build and fund it. Same with a fire department, even with volunteers there are a lot of expenses that need to be paid by the town. Even the sports team is normally brought to a town via the work of politicians.

What these government-haters don't understand is that government IS the community. It's how a community comes together to get things done.


Thanks for the comment.

I was more thinking about how things worked from say 1500 to 1800 in the US. During that time, a lot of the things that originate with government in simcity would have been done independently. i.e. religious schools would be started by local enclaves (sometimes with organizational help of government, which they controlled due to being dominant in that area, but not originated from it). In the US at least, land use was pretty free for most of that time, no zoning. Look at the institutions within a gold rush town, for example - although there was a government, they couldn't control much, the people came first and built lots of infrastructure before there ever was a sheriff or mayor. Rollicking, fast-developing cities from that era weren't restrained by zoning laws, and they developed in interesting (not always good) ways. It is interesting to realize that most of the current buildings in the US major cities would actually be illegal under the current law for new buildings.

Rather than from libertarianism, my ideas for this came from a couple books about city planning I've read recently, "The Power Broker", and "The Death and Life of Great American Cities". Neither one is really libertarian, but rather look at how government power can be used or misused in cities. The latter one particularly is not at all libertarian, and is a strong advocate of government intervention into neighborhood design - but, lays out a smarter way it should be done, based on the author's understanding of the way cities work.

Simcity seems to be designed by someone influenced by the ideas criticized in "death and life" - i.e. very strong zoning laws, top-down control and predetermination for how things will work in every neighborhood, high value placed on "open space" without consideration of usage patterns etc.


"What these government-haters"

Hi. libertarian here. I don't hate government. Government is probably a necessary evil.

I hate obnoxious, inefficient, bug-ridden, corrupt, expensive, government. I hate government that says one thing to get elected and then promptly does another. I hate government that ostensibly is an extension of the will of the people and then acts against their expressed wishes.

But I'm not grumpy about it.


Hi. Anarchist here, I do hate government. Government in my opinion is an unnecessary tragedy that has befallen humanity and murdered close to 1 billion people.

This is by far the most intelligent community I have come across in all my internet travels, and if there is any group of people who can think of a way for society to run peacefully, it is this community.

Any problem we have as a society that people currently point to government as a solution, can be solved without resorting to threatening everyone with police action.


It worked in that utopia called Somalia after all. :-)


The non-sharia controlled parts have been better off than they were with their previous government. Their air travel industry is even profitable, more than we can say.

I'd say that's a lot more than you could ask for considering the exploitation of the region.


Kinda sucks if you do live a sharia controlled part then. Here in the UK there are groups who would love to annex of chunks of the country as sharia zones but thankfully the law prevents this.


That was 'libertarian' with a small 'l'.

I'm not dogmatic: if anarchy can work, I'm all for it.


Everybody wants well-run government, that's not libertarianism. Libertarians want less government, not better government.


I may have skipped over some steps in my thinking.

But yes, a small government with few to little power is what we need.


Yes, because big business doesn't have enough power yet already.

That's who would step in. You would reduce the size of government and corporations would just fill the power vacuum.

But we all know who funds the Libertarian party anyway - corporations or billionaires (who own corporations).


> Yes, because big business doesn't have enough power yet already. > That's who would step in. You would reduce the size of government and corporations would just fill the power vacuum.

Because that hasn't happened already, even with a huge government.

> But we all know who funds the Libertarian party anyway - corporations or billionaires (who own corporations).

Corporations are actually government entities. One of those handy things that help businesses get big enough to manipulate governments.

A business doesn't just apply as a corporation for tax benefits, it also does so for the limited liability. So when they unwittingly contaminate your property, or accidentally poison you with rancid meat, the owner of the corporation won't have to sell their house to settle the lawsuits that follow their companies negligence.

So that government you think protects you from big business, passes the risks that business owner would normally have to take upon himself, onto you.


While I have no issues with these arguments or their intent, I feel like this is not the forum for such a discussion. There are much better venues for political discourse than HN - let's keep it about tech.


> What these government-haters don't understand is that government IS the community. It's how a community comes together to get things done.

Government is the monopoly on force used to enforce a communities policies.

You do not need to threaten people with violence to get things done.

If you are not threatening people with violence to get things done, if all participation is voluntary, then you are not using a government to get things done.


True to some extent. Though in many countries the government has to give planning/zoning permission at least. And notice how in all versions of Sim City most buildings do appear and 'grow' by themselves.

So it is not as bad as you make it sound.

Also in many European countries at least, schools and other educational institutions are commissioned and payed for by the government. The same for fire-departments.

Sports-stadiums, and churches are an edge case, but in most cases at least part of the funding is provided by government, and in most, if not all cases (all stadiums, maybe less so for smaller churches in industrial zones) special planning permission is required (for health and safety, noise, transport considerations, etc).

So yes, there is more paternalism in Sim City than in the real world, but it is not as far off as you suggest (not for Europe at least) (revolutions, or at least riots, would be a nice addition to the game)


I don't know about later versions, but SimCity 2000 did have riots.


Isn't SimCity as fun as it is because the player has godlike power over everything?

I can't imagine SimCity: Libertarian Edition being as much fun if you just sit back and watch entrepreneurial sims do everything themselves, followed by sim corporations taking over your sim world.


When a game plays itself too well without user input, some people feel that takes away the fun [1].

[1] http://www.youtube.com/watch?v=KWbLOFGSEDo


You don't control a whole country, you have on city (or now "region"). Any it's made so that Sims only move to your city if you provide everything. They wouldn't move to a new city where there is nothing, no schools, no fire department. I think that's close to the real world. If there is a new town or new part of a town to be build, no one would move there unless some people in charge decide to provide basic services.


"They wouldn't move to a new city where there is nothing, no schools, no fire department. I think that's close to the real world."

Eh. The real world has a lot of examples of people doing exactly that.


I think you should be playing Civilization V.


Simcity Libertarian edition - I'd love that.

No, really, I would.


In the original Sim City my brothers and I eventually figured out the solution to ALL traffic problems was to simply never build roads and only use rail lines. Apparently sims were much happier waiting for hours or even days for a train to finally pass their out of the way residential area.


The train animation didn't reflect the underlying traffic simulator. And yep, that was the trick.


Subways can be even better, since they leave the surface clean for other things.


Original Sim City didn't have subways, just railways with very sparse commuter trains.

I tried the all-rail town, too. There was a persistent alert to "build more roads".


You could have a few sparse roads to get rid of that alert, and all things are good. Also, bulldozing congested roads was a net positive.


The Victorians figured that out when there were just horses...


He should have built the town in mirror image so as to account for driving on the right. It may be that the interaction of various turns across the road have an impact.


That was my first thought too. It surely would make a difference as in one case a busy road moving to another via a left turn can simply filter in and in the other it has to wait for the opposite flow of traffic to clear.

Is there a widely available traffic profiling tool like Sim City without the extraneous "fun" parts?? I assume there's some sort of gui based analysis prog that city planners use?


Sim City should be a recommended game for those taking Geography, especially in HS.

When I first started playing, I was reacting to situations - fires, disasters, as they happened, which was already too late.

Or I'd build all the fire stations in a nice row, or police stations all in a ordered block of land, then get frustrated when they all jammed each other trying to get out and answer calls. My tactics from Red Alert isn't going to work here.

Can't wait for the latest SC!


Just so you're aware about the new SimCity, it requires a constant internet connection to play, and there's no way to save/load previous versions of a city. You can't mess around and experiment without doing irreversible damage, which was a big part of the fun.


Does this mean you also can't exchange cities? What sort of foolish design decision is that?


sadly, EA is ruining what looks like an otherwise very promising game with DRM and DLC


I don't think they're ruining it. Some people don't care about DRM / DLC with gaming (like myself). I just want the best possible gaming experience.


Yeah, until they shutdown the server shortly after the next Sim City is released, making your old game unless. EA has a habit of doing things like that.


That's a good point, but by then I probably won't still be playing the game.


The last two sentences you wrote are incompatible.


I usually play Sim City by finding the unlimited money cheat and getting a large amount of money before I start. I can then build whatever I want. I enjoy the city design part of the game, not the economic part.

I doubt that this way of playing will be possible in the new Sim City.


I was worried about DRM, but the beta convinced me it was worth it. Server-side simulation processing makes the game run lightning fast.


The simulation was a huge resource drain in SC4. So I can see how offloading it would be a speed up. That said, if it's such a drain on today's insanely powerful desktop computers, they must have an insane backing server infrastructure in place to support it. I've got 50W worth of processing power available for the sim engine (investing half of my CPUs; still far more power than I had for SC4), are they going to put up 50W of processing power while I'm playing?

I can't imagine they've really got that. Either GlassBox is simplified, or made more efficient, or important parts of it are run locally. Either way, using it as a reason to have it online-only is a sham. It's just DRM, the same kind as Assassins Creed's online-only protection.

I'll buy it anyway. I wouldn't even care about the DRM, it's everything else that I'm hearing that scares me.


I don't know the details about which parts of the simulation are run locally and server-side, but the fact that your cities are "always on" (i.e. other players' cities can trade and visit your city even if you're not playing) tells me that a good portion of the resources/traffic simulation is run on Maxis servers.

It may be not be a valid reason for you, but Sim City ran significantly faster than Civilization V on my machine. To me, they both perform a massive number of simultaneous simulations, and Sim City's performance is near instantaneous.

That said, there's one huge factor none of the beta players can take into account when judging Sim City's performance: no one has been able to build massive, multiple-city metropolises, as play time was limited to hour-long sessions.


The game can actually go on for a few minutes when you lose connection. So I don't think there is much of the simulation happening server-side.


Yep, one of the developers mentioned that everything is verified server side, but the temporary offline mode indicates that its not that important.


I'm just curious, why are you using Watt as a unit here? Is that like, half the TDP of your CPU or something?


Something like that, yes. Watts seemed like the most universal unit to use. The point being that even if they're really efficient, they'd still be using 25W x the number of concurrent clients in power, which is just absurd especially since they're not charging monthly. They're not doing any kind of complicated simulation on the server side.


So it's fine to save your game into /dev/null as long as the game is lighting fast? How does that justify DRM?


If I recall correctly, this is only the case for the beta version of the game so that people can become familiar with the gameplay but won't be the case for the retail version.


It is the case for the retail version as well, always on connection is EA's mantra.


I was referring more toward not being able to save/load but as I read this awhile ago, the case may have changed.


I don't think that's an option when you have neighboring cities that are played by other people.

I believe your city will impact theirs and vice-versa.


Wait, so what happens if I build lots of nuclear plants then let them all melt down? Does that affect neighboring cities that other people are actually playing?


I believe it is designed to affect neighboring cities, yes. And this is basically what happens in real life... and then war.


Any idea how they are going to handle griefers then? I can't imagine they are just going to ban people who habitually don't take care of nuclear plants placed on the map's edge.


Ah EA, creating a 'market' of open source clones, like CorsixTH and surely one of Sim City. This time we're being pushed to the clone before the original is dead.


Is there a city simulation open source game of reasonable complexity?


There are multiple open source options. The Lincity wikipedia link, http://en.wikipedia.org/wiki/Lincity, cross references many of them.


Has either of these been 100% confirmed or are they just rumored?


Source: http://pc.gamespy.com/pc/sim-city-5/1224978p1.html

    [...] As anyone who's played one knows, one of the simplest pleasures
    of any SimCity game, dating back to the 1989 original, is the 
    consequence-free "What if?" scenario. The kind where you obliterate 
    your city by triggering an apocalyptic wave of fires, earthquakes, 
    tornadoes, and monster attacks, then time-warp it back to pristine 
    condition by loading a saved game. When I asked Lead Producer Kip 
    Katsaelis if the 2013 SimCity would allow that same pleasure in its 
    Glass Box-powered cities, the answer was a simple, disappointing "No." 
    The online connectivity Maxis has built in means that reloading saved 
    games will be impossible, even when no one else has a city in your 
    region.


Maybe it's not such a bad thing.

Spreading around saved game files and using tools to mess with the games memory to cheat is something that has prevented a true Ranking system and online play in almost all games.

These server-side requirements would mean that the $ is stored server side and it will be harder to cheat.

It was pretty much either have always on connectivity or require punkbuster and disable many online cooperative features.

Fine EA. I'll accept it.


How does "ranking" work for a sandbox game? The concept wakes no sense. Simcity doesn't have kill/death ratios or something. You can't have a global leaderboard, because there's no winning. It's not clear that "cheating" is even a problem. If you want to play online with your friends with unlimited money, go ahead! Why the hell not?


Maybe they are trying to teach kids things like debt to income , budget management, loan basics, and concepts like "there is no redo in real life" rather than basing everything on a kill/death ratio.

You can easily develop a way to rank how productive, profitable, clean, and happy cities in a game like SimCity are. If you weigh these factors and provide a number then you have a ranking. Maybe global leaderboard was a bad example but there are numerous other features that might require this kind of online only gameplay that we haven't experienced yet.

I say don't knock it until you try it. Not the beta, not the videos of others playing, the real game.

If the new strategy really kills the game then I'm sure someone will create a fake server patch or method of playing offline.


> "there is no redo in real life"

Psychologically speaking, failure is not a good teaching tool. Learning is much more effective through experimentation and success.


That's completely the opposite of why games exist. If I didn't want a chance at forgiveness, I would just play real life.


There a lot of great, fun games with no redo. The entire concept of a roguelike is based on death being permanent and having to start over. FTL, Spellunky, The Binding of Isaac and Dungeons of Dredmor are all recent examples of games that embrace this unforgiving play-style.

However, I think forcing this into Sim City is just a bad idea, and contrary to my expectations from such a game.


Different games exist for different purposes. Not every game allows infinite saves and redos.


> Not every game allows infinite saves and redos.

I would argue that every single-player game is forced to allow infinite saves and redos, by the fact that virtualization with memory snapshotting exists. (For a networked game like this one, you must just first reimplement a "private server" for the client to talk to, and then run that within the same virtualized container, so that a snapshot tracks their combined state.)


You would be the mayor/god of multiple cities? How?


I agree with your sentiment, but one approach to 'winning' SimCity: http://www.vice.com/read/the-totalitarian-buddhist-who-beat-...


Personally speaking, I value being able to have more fun over having worldwide rankings. Does every game need to be competitive?


FWIW, Geography major student do have access to professional traffic simulation software (e.g., TrafficSim, SUMO, .etc) if they are interested in research topics related to traffic. I am not sure what algorithm Sim City uses, but I am assuming they are not as complicated as these professional software.

Perhaps that's the point of your suggestion, to lower the entry level to these field, or for a broader audience.


Well he specifically said he was particularly referring to High School students, not college undergraduates majoring in Geography with access to sophisticated, professional traffic simulation software.


A better (and perhaps cheaper) solution would be to use either Cities in Motion which has a good transportation model, or Cities XL (I'd suggest the 2011 version for price and performance over 2012) which has a good balanced play as the cities grow in size. These seem from initial new SC exposure, to be better models for teaching and from a learning perspective. As well the saved games feature (hardly a feature, more a necessity for most of us) is far more valuable for teaching lessons, which the new SC lacks.


There is also Mobility (http://www.mobility-online.de/en/informations/generalinforma...). It was designed by a university and auto manufacturer so they put a bit more thought into their traffic algorithms. I feel it is a bit eurocentric because there are a lot of things they do in Europe which we do not do here as far as traffic management goes, but it is an interesting simulation/game to fool around with. Since the German federal government also played some role in its development, you will see more of a bureaucratic approach to the game.


FTA: "...including the fact that once I'd built East Didsbury, the strip of shops in Northenden stopped making as much money as they once were, and some were even beginning to close down as my time ran out. Walk along Northenden high street, and you'll know that feeling."

This is interesting. Urban planners out there, do these types of simulations occur before an area is zoned?


The problem with a lot of small to medium sized towns is that the people in charge of making zoning decisions are just local good ol' boys (or girls) who got voted in office because people knew who they were. They are in no way qualified to make these kinds of decisions.

And so you get what you get.


But I bet those people would love to get their hands on a game that helps them simulate their decisions.


s/voted/appointed/ in most cities.


My uneducated opinion is that appointed/career people tend to do better. You do not want to get politics involved, that tends to screw things up.


Having politicians appoint people they know is not going to be demonstrably better than having those same politicians ask people they know to run for that office instead.


Who do you think appoints those people? It's all about politics, either directly or indirectly.


There are ways of shielding those decisions from politics. Relying on appointed people is one such way. No shielding is perfect – but it’s better than nothing.


You can do a lot of analysis for urban planning. ArcGIS is a very powerful piece software that will handle mapping and some types of analysis. And i2maps is a geocomputing environment that will handle traffic analysis

Microsimulation of Seattle traffic: http://ncg.nuim.ie/i2maps/projects/transportation/index.html

Foot traffic simulation: http://ncg.nuim.ie/i2maps/projects/simcampus/index.html


I was just reading the Environmental Impact Report for rebuilding a Safeway supermarket in Oakland, and it does in fact have a section about predicting whether the store will "blight" any other nearby retail areas by drawing too much business away from them.

(They conclude that it will not have such an effect, even though there are already vacant retail spaces right across the street from the Safeway site.)

But just because the studies are done doesn't mean people will make the decisions that optimize everybody's lives. Every town wants the tax revenue from a new big box store, even if it means destroying the retail economy of the next town over.


I'm not sure urban planning has the same impact in 'old' towns; Northenden has been around for a thousand years and other than being engulfed by Wythenshaw hasn't really undergone dramatic redevelopment.


I had the opportunity to play through both betas, and I'm fairly certain we haven't even scratched the surface of the interesting "experiments" we can do with it.

I'm still purchasing this game, but I do wish EA would consider not forcing you to connect to their servers at all times.


Too bad it has horrible DRM.


Anyone have info about the beta program? Simcity 2000 was my favorite game on my 486. 3000 and classic were flops... this looks really really good.

As for the article, really interesting. Sounds like proof of the power of SimCity's engine. Would be more interesting to see him fix his issue.


I got into the final wave of the beta over the weekend.

Absolutely buying this on release day - gorgeous game and IMO a large improvement over previous installments. The only things that bother me is the limited size of the map (unsure if it's a beta thing or not) - if I can't build a megacity I'm going to be sorely disappointed.

Traffic model, economic model, new zoning model, and new utilities model are all IMO simplifications that make the game more fun, but does not remove depth. For those who haven't followed the game: power, sewage, and water no longer require power lines/pipes/etc, and travel along roads. They propagate along roads outwards from their generation source (water towers, power plants, sewage plants, etc) until their capacity is reached. There's a great animated overlay view that lets you monitor the state of each of these pretty easily.

The biggest pleasant surprise was how well it ran. I pushed all settings up to max and it didn't even flinch. SimCity 4 in contrast got insanely slow when your city became even slightly large - even on today's hardware.

The ability to monitor cashflow is also a welcome change. Instead of having to dive into your balance sheet to figure out your fiscal position it now shows a very clear flow rate (negative or positive) next to your balance.


The map size as seen in the beta is about the same size as what will be seen in the retail version. The argument for this is that the new SimCity runs a much deeper simulation compared to previous titles, and that bigger maps would drastically reduce game performance.


Indeed, the city size is pretty limited. I don't think with their new GlassBox engine, your hardware is able to support big cities.


What video card are you using? Mine was apparently too old, so I'm looking for a new one.


Two GTX570's in SLI - I'm surprised all the newfangled overlays and postprocessed effects ran so well, though the real surprise is that the CPU-side simulation didn't eat my computer for lunch. SimCity 4 for mid-sized cities and above still kills a i7.


Sim City 4 is single threaded and only uses one core, which is why it is so slow on new hardware.

The other major drawback to Sim City 4 is that there is a bug which prevents rich ($$$) Sims from working in the High Tech industry. The only way to fix this is to use a 3rd party mod.


There are many problems with SC4. The most egregious one (for me anyways, someone who likes to build insanely dense cities) is that pathfinding "bug".

The short version is, your sims must find a reasonable commute from home to work, otherwise your economy stagnants and unemployment runs rampant. SC4's pathfinding heuristic disallows a sim from going backwards to go forwards.

This creates many transportation deadzones and a lot of unintuitive bottlenecks. You will literally see sims live directly next to a subway station that takes them directly to work, but they will drive instead.

There is a mod to fix this, but the performance impact is expectedly awful.


Ugh. It's been a while since I played, so I had forgotten about this.

It's not as bad as you described it. It's even worse.

The hack the creators of SC4 used to get around the problem of traveling the same path twice in one trip is responsible for a large waste of CPU cycles. Essentially, the hack allows the Sim to "forget" how he got to a certain location and start a new trip to the final destination. The downside is that this is that all of the information from the previous leg of the trip is lost, and the algorithm must run again. There isn't a 1:1 ratio between the amount of citizens and CPU cycles wasted, because as your city grows the path each citizen must take becomes more complex and consumes more cycles.

You can read more about it here, at a third party fan site. [1]

[1] http://sc4devotion.com/forums/index.php?PHPSESSID=fcff28ec82...


Two GTX570? And you are surprised that it works well? :D


The beta testing is all done. The game comes out in two weeks.


Microscopic traffic simulation is a difficult problem to solve, it's not car movement, it's driver's behaviour. The model has to be good enough to reproduce the current situation and, what is the most important part, be able to test realistically future scenarios.

In any case the new SimCity looks fantastic, maybe we can exchange our simulation model (Aimsun) for their graphic engine :)


I haven't been this excited for a game to come out in probably more than a decade.


Me too. I had the chance to play the beta last weekend and even with reduced functionality the game was quite a lot of fun.

I rarely if ever play games and I'm certain this will be a terrible time suck.


I agree, its simulation has depth that rivals Civilization V. And even better, the game's simulation is run on the Maxis servers so it doesn't lose speed with larger cities. Sim City 4 and Civ 5 both have problems with processing large maps. Totally worth the DRM for me.


Here is the first of 3 videos explaining the simulation engine: http://www.youtube.com/watch?v=vS0qURl_JJY


I wonder if adding toll booths on either end of the city would be a viable-enough source of income to make up for the terrible traffic in the city.


Unless you can build cycle tracks there's no point.


You can't. It's a super car-centric game. You can't even build pedestrian-only streets or lanes. Light rail is married to roads. There's no way to set bus routes, buses will visit every single stop in town. Oh and subways don't exist either.

Hopefully there's a 'rush hour' style expansion that lets us simulate cities other than Los Angeles.


There is a pedestrian only road, but at the moment its tied to the university as a plopable. But a developer mentioned that he would have a look at it.


It seems to me that they blundered when it comes to marketing. If they had just called it SimCity Online and promoted it as an MMO, no one would get upset about the persistent connection requirement and no save/load functionality.


That may do more damage than good. [Franchise] Online titles tend to be met with suspicion and disinterest from gamers who traditionally enjoyed the franchise.


It's already SimCity Online in everything but name, and many gamers who traditionally enjoyed the franchise are exceedingly sceptical about the changes. Might as well call a spade a spade.


I think the solution, at least where you create everything, is buses that go non-stop between major hubs. And with traffic lights synchronized to allow them to hit their top speed. And, where possible, set the speeds high.

If every spoke is timed so it takes the same amount of time, you can minimize how long people have to wait. Make everybody get on at one end of the bus and exit at the other and hub stops can be short.

You'd have to walk to the nearest hub and from the one closest to your destination. But you need the exercise anyway.

And charge tolls for passenger cars that vary with demand, something that would work without recreating the roads.


I would love to see someone do this with the Holland Tunnel traffic on both sides.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: