I desire to build a "3D City Builder" GAME with Blender - Is it possible?

A true 3D City Building Game much like Cities XL and with the same concepts of the Sim City series. It would take place on a large world-map probably the size of our very planet…A large and I mean very large extensive map.

However I want the game to be able to load portions of the map as you approach it and delete portions from the memory that you are no longer near, as to retain performance of your PC upon a map this large.

Is there any way to achieve all of this with Blender alone?

I wouldn’t see any reason why not. It would be difficult though, and what youve explained so far sounds very ambitious and complex. Youd have to build the whole system by hand pretty much. There are some ‘systems’ with BGE which could be very handy however, like the new dynamic loading, and some kind of LOD script (a lot of those around these days). Not to mention many other components which youd need to develop.

Do you have much experience with game development?

And Im hoping your very fluent with programming to even consider something like this?

AD is indeed correct that it’s very possible with the BGE, but you will have to learn programming to make this game - make no mistake about it. If you don’t know about Python in the BGE, or just want to learn a bit about it, you can brush up on it on my game development site, Game Up!

I haven’t really gotten into Programming. I’ve done some game development with click team products - CNC / TGF / Multimedia Fusion… and on a latter note, even a little bit of Dark Basic but never made anything major with DB… No, I don’t know C++ or Python… But I’m willing to learn it where I can. The idea has been lingering in my head for a good while now and I really would like to see it developed…

I hope you know that it would still take months/years to finish something like that alone? ^^
If you don’t know programming or 3D … it’s more like years. Just because you would have to learn the basics first and then try to understand the full game pipeline do produce something like this.
Don’t wanna crush your dreams, but start with something small or find a very good team and work at least 12h a day, then it might be possible.

The BGE does not support streaming content (continuously loading content). But with 2.5 you can load additional content form external files.
The downside is it is single threaded. Which means the game would freeze on loading large amounts of data. You can avoid that by loading small parts only. But this is still not that stable as far as I know. (It works but has some issues).

You can look for “dynamic loading” or LibLoad

Just to note, Cities XL never had true, streaming maps for extremely expansive cities.

You click a location on the planet and you select from a bunch of pre-made maps, from what I’ve read about the game it doesn’t even generate a map based on what part of the planet you clicked on to match the location.

So a true, streaming planet-sized map for cities hundreds of miles in length would actually be something not yet seen in a city builder (and these games usually use state-of-the-art engines designed especially for that type of game), and optimizing something like this while rendering the activity of a city and the vehicles and buildings would require you to be extremely skilled in coding knowledge.

It’s certainly an ambitious project, but if you’re in it for the long haul then you could achieve something like this in BGE (Blender Game Engine). Or at least learn enough while using BGE to make advised choices on how to move on.

Python’s a pretty easy language to learn as far as scripting languages go, and Blender and BGE’s Python api is very well developed. Knowledge that you learn while writing the code for your game might also help you develop tools that you can use in Blender to help build your game’s models.

Yeah, I definately knew it wasn’t going to be an easy endeavor but I wanted to know if Blender was capable of doing it. I didn’t know Cities XL didn’t generate a map based on the location you selected. Yeah, it’s something revolutionary but I also don’t think it’s been thought up by any City Simulator. I believe they are state of the art engines, but I also believe they’re optimized primarily toward the way they are built, as in, I don’t think a streaming map was ever an idea for the games.

But yes, I am prepared for to take years to complete as I will need to learn a good bit, and I have some open passive time for it when I’m not studying in college… so it’s fine. Where should I begin?

I don’t know what you’re skill level with blender and python is, but I’d start with reading a byte of python or dive into python to get the basics of python down, while following some BGE basics tutorials. Then while you’re brushing up your skills to tackle the project, plan and research like crazy! Start breaking the project down into smaller chunks and working out what needs to be done to make it work. Probably worth doing a few ‘proof of concept’ .blends to see if you can get your ideas working in isolation.

Excellent, I’m executing my first “Hello World” command. I actually remember this from Dark Basic… so maybe I stand a shooting chance? Hope so…

With games as complex as SimCity, just knowing how to do ‘Hello World’ isn’t exactly going to cut it for proving skills as it literally only needs one or two lines of Python with no loops or statements.

You may need to know how to loop through lists, create dictionaries, execute logic based on multiple nested conditions, and work with arrays and that’s just scratching the surface.

If you need help with python, I could help you out with examples, demos and explanations.


Ace is right, but don’t worry so much about that stuff yet - just get a simple version of your game up and running, first. If you can add objects with Python and position them where you want, that’s enough for a start. From there, you’d expand your game and make it more complex. Once you’ve got the ability to place objects (like buildings), you would do well to add things that go around those objects (like roads and cars). Basically, just work on it bit by bit.