City building games

Started by
7 comments, last by markr 18 years, 7 months ago
Is there any resources for people building City Building games, like sim city, Zeus, Pharoh?
Advertisement
I'm not aware of any, although that's a pretty broad topic. Is there any specific area that you're looking for resources in? Graphics? Simulation programming? Artwork?

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

uhm.. well those games shouldnt be too hard.
I assume you know how to program? If not learn a programming language first.
Try to invest some time in game programming in general before you start building "city building games".

Than just try to create a simple game were you can build houses. The houses will bring people to your city etc. without eletricity water roads etc. Stuff like that will come later. I would use a 2 dimensional vector as grid to store all houses and other buildings. The vector will be off type "GridClass" which contains info like what type of building etc. Than build a function that draws all buildings on the screen, it shouldnt be too hard.

Work this further out.
I hope it helps.

Greetings,
Toadhead
You might want to take a look at these tutorials that go over RTS game programming, since most of these "simulation games" are really RTS games with lots of extra goodies. Anyways, good luck! Just as a teaser, you might want to look at Sim Urban made by GameDev's own Ben Woodhouse (benjamin bunny )
My main intrest is the formulas for handling the simulation; I've made a frogger clone, but i looking for my first full project.
Considering the lack of information on this still of game, I wonder if anyone would be intrested in an article on the making of this style game. I figure giving my self 80 hours worth of work towards the game with entries describing the process I go through.
In my experience, simulation tends to be a rather drastically underdocumented realm of programming. Generally speaking, the best simulations (in terms of games) come from a complete and solid understanding of what you're simulating (a city) and how to remove elements of the real model to make it fun. In practice, the "making it fun" bit is substantially harder than it sounds.

The first important step to developing a simulation is to determine your problem space. What will you simulate? Population growth and decline? Happiness of citizens? Traffic? Natural disasters? The trick is knowing what you are simulating and what you are adding to the simulation as decorative polish to make it more interesting. For instance, SimCity does not simulate natural disasters, although they do occur within the game. From this you can build a feature list of sorts that nails down the core dynamics of the game.

To start off with, you'll want to get a good feel for the simulation features. How do they behave in reality? What do they do in response to various pokings and proddings? Are they easy to destabilize, or do they have a tendency to attract to certain states and remain there? What factors contribute to the behavior of the simulated system, and in what ways?

Now the hard part begins - and this bit takes a lot of experimentation. How can you chop away at the real model of the system, pare it down to something that is both manageable to code and to play, and then adjust the normal behaviors so as to create something believable if not entirely true-to-life? Unfortunately, there's no silver bullet here. Every field is different, and everyone's vision for their simulation is different. What makes a great SimCity probably doesn't make a great Warcraft. What makes a good Orbiter definitely doesn't make a good Elite. Everyone has to take some inspiration, guidance, and restraint from their chosen problem space, and mix it up with some imagination, challenge, and creativity to make it work.

Unless you're only aiming for a very simple and inflexible simulation, I'd suggest a lot more than 80 hours. Simulations have a way of growing up, developing a lot of teen angst, and being extremely rebellious - they don't behave in a nice, well-regulated manner. There will be a lot of temptation, and indeed a lot of need, to experiment with different models, different equations, different constants and coefficients. Simulations are invariably chaotic by nature - they have an extreme sensitivity to subtle changes in their numbers and internal workings. The tiniest changes will spawn cascades of unforeseen - and unforeseeable - consequences.

Simulation development is addictive. It can be very frustrating and confusing, but it's supremely rewarding. If once you start down the dark path, forever will it dominate your destiny...

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

I not planning on working toward a complete simulation. Maybe later, but now I basic play on building a game where the objects interact and the player has control over the placement of building. My goal is to build a game that has 10 buildings, walkers, and resources that can be used. I figure to be a success it needs each of these items to play a significant role in the game world.
Clearly there are significant design issues you have to consider, many of which have been mentioned.

Most of these games are relatively straightforward, from the point of view of the "standard" game elements. They're usually square-tile based (although some have isometric view), and nothing terribly tricky actually happens.

Getting the basic structure going however will take you a little while.

You'll have to consider
- Managing the data for buildings and mobile objects
- Pathfinding (probably) - although SimCity itself never did any of this, all of the traffic was just simulated at a high level, not individual cars
- Being able to load / save the map, buildings data etc - a load / save facility is pretty much a necessity in these types of resource management game.

Personally I find them really interesting, and I'd like to see more people trying to develop them. We seee lots of "How do I make a MMORPG" - but very little "How do I make a resource management game?"

Mark

This topic is closed to new replies.

Advertisement