tag:blogger.com,1999:blog-84497477956902885512024-02-07T19:32:38.931+11:00Scene City's BlogArnaud Couturier (piiichan)http://www.blogger.com/profile/10272780494734182069noreply@blogger.comBlogger14125tag:blogger.com,1999:blog-8449747795690288551.post-15733036830588199592015-07-24T22:44:00.000+11:002015-07-25T00:49:27.112+11:00Scene City 0.8 releasedGreat news,
<p>
today I just released v0.8 of my city generator.
</p>
<p>
As <a href="http://blog.cgchan.com/2015/07/back-to-addons.html">I explained in more detail before</a>, I rewrote it as a collection of three Blender addons.
</p>
<h2>What's new</h2>
<p>
Here is the list of the new features I added
</p>
<ul>
<li>rewritten as a pure Blender addon for the best runtime stability and integration into Blender. So the circle is complete ;)</li>
<li>separated into three addons: SceneCity, SceneTerrain, SceneSkies</li>
<li>so it's now possible to use the skies, the terrain generator, and the city generator independently</li>
<li>terrain mesh resolution setting restored</li>
<li>free version of SceneSkies available. Full version not available alone, but bundled with SceneCity</li>
<li>terrain generation improved with shape presets: eroded mountains, eroded craters, mountain chains</li>
<li>terrain generation can be from a user-defined texture</li>
<li>terrain can be exported as RAW and standard grayscale image</li>
<li>more HDR skies added for a total of 10</li>
<li>cities no longer require the center of the terrain to be flat, generator will try to build where there's space available</li>
<li>improved water shader for the lakes and seas: looks more realistic</li>
<li>removed space character from all included textures and models files, for easier support on Linux</li>
</ul>
<br/>
<h2>SceneSkies free download!</h2>
<p>
On the road to offering a free version of SceneCity to everyone, I proudly present you the free version of SceneSkies, one of the three addons that make SceneCity.
</p>
<iframe style="width:854px; height:480px;" src="//www.youtube.com/embed/kB0upKPG_Tk" frameborder="0" allowfullscreen></iframe>
<p>
<a href="http://cgchan.com/scenecity/sceneskies.html">Learn more about it and download the free version.</a>
</p>
<p>
I found it surprising how close Andrew Price and I released the same kind of addon, at the same time. Funny timing! But we offer different skies: he apparently is using photographs of real skies, I take the CG skies route. I must admit <a href="http://www.blenderguru.com/tutorials/make-realistic-outdoor-lighting-cycles/">his addon, Pro Lighting: Skies</a>, contains way more skies than SceneSkies: 80 vs 10, but SceneSkies' are really different from each other, and also more dramatic looking with god rays, and a bonus sky with epic monstruous clouds(!) SceneSkies supports Blender Internal. I'll also add many more in the next versions. Anyway his addon looks really cool too! In the end there is no better choice, only more choice, so it's a good thing for every Blender user ;)
</p>
<br/>
<h2>What next?</h2>
<p>
You probably noticed there is no new feature for the buildings and roads, disappointing for a city generator isn't it. Well rest assured, now that the terrain and skies are pretty robust, it's time for the next version 0.9 to be exclusively for the buildings and the roads. Cool things are on the menu. Check below
</p>
<ul>
<li>restore building generation (node-based?)</li>
<li>allow use of user-made buildings, roads and materials</li>
<li>material generation and randomization</li>
<li>free version</li>
<li>OSM support</li>
<li>bring back night time</li>
<li>objects population on the terrain: trees, grass, rocks etc...</li>
<li>performance: add option to use dupliverts for objects placement</li>
<li>add option to build city as single mesh</li>
<li>allow packing of city in .blend file (eg for rendering on farms)</li>
<li>additional road placement algorithm that will fill the whole terrain</li>
</ul>
<p>
This is not a list of planned features, only the things I'm considering. You'll be notified as I add new features during the development of the next version, to be released in three months, in October.
</p>Arnaud Couturier (piiichan)http://www.blogger.com/profile/10272780494734182069noreply@blogger.com7tag:blogger.com,1999:blog-8449747795690288551.post-78621245641307863202015-07-16T16:22:00.001+11:002015-07-16T16:35:52.223+11:00Stop doing what you wish you DID Start what you wish to DO<p>
I constantly remind myself how many times I've fallen into that trap. Sometimes I still stumble: I start a new modeling, game or programming project, each time thinking how great and wonderful ideas I have. I'm full of enthusiasm, and, it seems, of energy, so I jump into it. But after a week or two I hit the hard and cold wall of reality: "This is going to be a lot more difficult than I thought". I realize either I don't want to spend so much time and energy, or I simply don't have the skills to achieve my initial grand vision. Then my excitation diminishes, until a point where I just abandon, frustrated to have once again fallen into that annoying circle.
</p>
<p>
I've been thinking: what's the problem with that state of mind so many developers seem to have difficulties with. Always overestimating our skills, always underestimating the difficulty of the task. I often realize afterwards "Was I stupid? How could I ever do THAT? I've never done, even once in my life, A, B or C and I'm already looking at Y or Z!". There is <a href="http://makegames.tumblr.com/post/1136623767/finishing-a-game">this post</a> about how not to fall into that trap. It's about game programming, but it applies to any kind of project. This excellent post explains HOW not to fall into the trap, I'll explain WHY this trap appears in the first place: ego.
</p>
<p>
We all want to do something that lasts, something that impresses, most often for no reason other than to flatter our ego. I've been programming for 10 years now, I'm quite experienced in a lot of languages and technologies, I don't count anymore the languages I can use. I can also model pretty much anything not extremely detailed. So, having all those self-learned and ironed skills under my belt, I often find myself wanting to start tons of new projects that sound exciting. I tell to myself I'd be so proud if my family, or my friends, or the world could see that. Perhaps I could even get rich. Or I'll have fame, or the girls. But all that is no more than wishful thinking. I know it is. I don't want to DO it, I want to have it DONE, that's a subtle difference, but an important one.
</p>
<p>
I can tell this mind trap happens all the time, and even if experience can mitigate it, it still happens, and I know it will again for me. All is not that bad though, I learned my own limits for a start, then a few useful skills here and there. But mostly it's taxing on the motivation side, you feel like you can't ever achieve anything...
</p>
<p>
So what if, instead of starting something with a big plan to please and dominate the world, you just start doing what YOU enjoy, right now. Don't worry about big plans and designs, you can always change or improve things LATER. Don't worry about success and popularity, if you produce anything good it won't be difficult to convince others LATER. Don't worry if it has already been done a thousand times before, it will always be unique to you. Just make that very first step, the one which is fun, the first one you want to take. At the beginning of a project, or of a new undertaking in an existing one, don't think about showing it off, talking about it, or posting about it. Keep it for yourself, at least in the first month. If you can do it WITHOUT FRUSTRATION, then it means you've found something you like to DO, and not wish you DID.
</p>
<p>
By doing things we love to DO, we can achieve big things. Perhaps not ground breaking, perhaps not big for the world, but at least big for us. What counts is when we achieve something that matters to US, even when it's just a pet project or a prototype. We're the first and the most important audience. We automatically instill love and passion in what we enjoy to do, others around us inevitably notice it. I'm not saying not to care about your users and viewers by being selfish and blind, but the job HAS to be aligned with what YOU enjoy to do. Sometimes it's not easy to make the difference between ego and deep desires, but with a calm mind in a relaxing environment, like under a hot shower or in the bed, you should know.
</p>
<p>
Follow this advice. The greatest benefits will be a motivation boost, and an improved self-esteem. More self-esteem translates into a better life, in every aspect.
</p>
Arnaud Couturier (piiichan)http://www.blogger.com/profile/10272780494734182069noreply@blogger.com0tag:blogger.com,1999:blog-8449747795690288551.post-3887689956235165702015-07-05T19:47:00.000+11:002015-07-05T23:48:29.300+11:00Back to the addonsHi city lovers,
<p>
I have great news for you: new stuff is coming very soon. But first, here is the state of Scene City's development.
</p>
<p>
Since I released the current version 0.7, I've received largely positive feedback, and people are happy with it so far. Thanks to all of you for your support, Scene City is getting better and better.
</p>
<h2>Standalone app? YEAH!... well not so much...</h2>
<p>
After shipping version 0.7, I reassessed my goals for Scene City and what it should be. I was really happy with the features and direction I was taking, except for one thing: development was painful. A long, frustrating development process, which would have inevitably led to a lower quality application. So I had to change something radically.
</p>
<p>
The painful development part was the fact that I decided to develop a standalone application rather than a "simple" Blender addon like I did before. I had several reasons to do so (users could test the app without Blender installed, realtime 3d previews, cool factor, zero installs...) but I primarily wanted to have a universal app that could export to Blender for a start, then to Unity, and later to other software.
</p>
<p>
That sounded like a smart idea... on paper, because once I finished version 0.7, I realized making the app work, then ALSO the Blender part work was almost doubling the workload(!) I missed the famous <a href="https://en.wikipedia.org/wiki/KISS_principle">KISS principle</a>. It's much much better to have something simple that works right now, rather than a promising pile of complex code that might lead to something useful.. or most probably to nothing at all.
</p>
<p>
I also realized once I was done with 0.7 that exporting a city, while extremely easy and useable, is a 2 step process, and will never be as direct as when you have the features right inside Blender, like an addon does. Sure the standalone app is easy to launch and all, but it's still a step that could be avoided. An addon has the added benefit of context: it is "blended" in Blender. It makes itself invisible, it does its job then disappears when no longer needed, and that's precisely what good software is.
</p>
<p>
Since it'll be the same kind of issue with any other application SceneCity might support later, I decided to drop the standalone part, and revert back to a good ol' Blender addon. Hence the long time I took after 0.7 until today: re-designing and re-coding the app as an addon. Lesson learnt the hard way, but that's what makes software development interesting ;)
</p>
<h2>Huge download size fixed</h2>
<p>
With 0.7 there was another issue I was concerned with: download size. A mammoth 2GB! And with all the content I'm adding with each new version, I had to do something.
</p>
<p>
Why is Scene City so large?
<ol>
<li>
in the current state, you download 3 versions of SceneCity: one for Windows, one for Mac, and one for Linux. So you basically download the app 3 times... That's inefficient I know, but it's the simplest and quickest solution I found for me and for you.
</li>
<li>
Then for each version, the resources that take most disk space are bundled twice: once to be used in realtime in the generator (the standalone app) and once again in a zip file which is uncompressed when exporting to Blender. What takes a lot of disk space are the 8k HDR skies, more than 200MB, then the terrain preset textures, another 150MB.
</li>
</ol>
By making an addon I solve both problems at once: the addon will work in Blender no matter what platform it runs on, and you only need the files for Blender. It's fixed: Scene City's download size went from 2GB down to about 200MB. Also thanks to <a href="https://developer.blender.org/rBae45496812a46b084">an update to the OpenEXR library in Blender 2.75</a>, the skies textures now only take 16MB.
</p>
<h2>Scene City 0.8 will be a Blender addon... No? Three addons?</h2>
<p>
Scene City has 3 components working together, but that could be used independently: the skies, the terrain generator, and the city generator. Perhaps some people may be more interested by one or two parts, and not so much by the other. It's also a good design practice to make smaller parts work together rather than having a monolithic engine.
</p>
<p>
So I split Scene City into 3 addons: one for the skies, one for the terrains and one for the roads and buildings. That doesn't change much for you, except that you can use them independently if you wish. They still work together if needed, as expected. I might distribute them separately in the future, but for now I keep them bundled together when you buy and download Scene City.
</p>
<p>
Scene City 0.8's release is this month, more news will follow!
</p>
Arnaud Couturier (piiichan)http://www.blogger.com/profile/10272780494734182069noreply@blogger.com3tag:blogger.com,1999:blog-8449747795690288551.post-58454223555697744572014-09-27T10:43:00.001+11:002014-10-05T08:22:16.446+11:00News from the programming trenchesHello guys :)
<p>
after all this time, all those months of silence and wandering in technological lands, my work and research on my city generator are finally coming together for the next version, to be released in a month at best, two at most. Since I'm very bad at guessing my remaining workload, let's say 2 months.
</p>
So, what's the state of the generator ? Well, here is a screenshot of the realtime renderer (work in progress still)
<img src="https://pbs.twimg.com/media/BycqDlPCEAAU_wM.jpg" />
And here is an older image of a Cycles render (WOOHOO :D)
<img src="https://pbs.twimg.com/media/ByGdoWNCMAA7vZW.jpg"/>
<p>
First, I'll change the name of the generator. "Suicidator" was good as long as it was a pet project. Now that I'm bringing it to the next level, a proper name is required. I'll announce it when the time comes. Just know that it'll be much more suitable ;)
</p>
<p>
The next public version won't be 0.6, but 0.7. This is because 0.6 was such a huge task, I didn't realize I was running straight into a wall, trying to code everything from scratch, especially the 3d renderer, and the asset manager (see <a href="http://blog.cgchan.com/2013/03/inside-city-generator.html">this previous post</a>). Instead, I did the wiser choice to step on the broad shoulders of a category of software whose work is just that: realtime 3d rendering and asset management, namely game engines.
</p>
<p>
The two big popular ones being Unreal Engine (UDK and now UE4) and Unity. Since I had previous experience with Unity, and since it's using C#, a programming language I absolutely love (very similar to Java. Some say it's a messier language than Java, I say it's Java on steroids), I went the Unity route. Now I can concentrate on generating pretty cities.
</p>
<p>
All the building models are hand-made for now. I'm working on a building generator, but the results aren't up to the quality standard I'm targeting. That means purely random buildings will be for a later version. For now, the free version will have a collection of finely crafted pre-made buildings, and the paid version will have even more of them, for a more varied-looking city.
</p>
<p>
Notice the buildings are correctly placed, no more ugly overlapping. All the materials work in BOTH Blender Internal AND Cycles, WOOHOO :D. So you'll just choose the renderer you prefer. More rendering engines could be supported in the future, if there is enough interest. I'm thinking about LuxRender especially, since their integration with Blender is pretty good. Notice also how you can now zoom down to the street level. This is a huge step forward, compared to previous versions, where the cities looked kind of good only from a far distance.
</p>
<p>
For the (temporary) bad news: version 0.7 doesn't support population maps and height maps, all the streets are axis-aligned (that means no more curved streets) and the night version of cities is disabled.
</p>
<p>
All these features will be restored back in future versions. I think it's best for you guys to have fewer features, but with better quality, ease of use, and support. This is why I invested so much time and money to bring you the best automatic cities possible for Blender, at an affordable price. Right now, I concentrate on usability first, and visual quality second. I'll integrate more features properly later, keeping my two priorities in mind.
</p>
<p>
That's it guys! I hope you're as excited as I am for the coming version 0.7. I remind you that I post on my Twitter account almost daily about my progress (those screenshots above are from Twitter). See you very soon.
</p>
Arnaud Couturier (piiichan)http://www.blogger.com/profile/10272780494734182069noreply@blogger.com10tag:blogger.com,1999:blog-8449747795690288551.post-59532169570580880762013-10-11T16:10:00.001+11:002013-10-11T18:54:16.811+11:00Most wanted features survey result<p>
I asked you <a href="http://blog.cgchan.com/2012/07/city-generator-06-update-1.html">some time ago</a> what you wanted most for version 0.6 of my city generator. The survey is now closed, so let's have a look at the results.
</p>
<img src="https://chart.googleapis.com/chart?cht=bhs&chs=345x510&chbh=24%2C6&chco=8787f0%7C7c7cef%7C1515e3%7C0a0ae1%7C9191f2%7C0000e0%7C2929e5%7C1f1fe4%7C9b9bf3%7C3434e6%7C4949e9%7C3e3ee8%7C5353ea%7C7272ee%7C6868ed%7C5d5deb&chxt=x%2Cy&chxl=0%3A%7C0%7C4%7C8%7C12%7C16%7C20%7C24%7C1%3A%7COther%7CMore%20terrain%20opti...%7CMore%20streets%20opti...%7CPhysically%20enable...%7CRavaged%20cities%7CI%20don%27t%20really%20ca...%7CCycles%20materials%20...%7CFaster%20generation...%7CMuch%20larger%20citie...%7CA%20live%20preview%20of...%7CBuildings%20don%27t%20o...%7CExport%20the%20cities...%7CPlaceholders%20in%20B...%7CMaterials%20options...%7CA%20building%20facade...%7CBuildings%20archite...&chxs=0%2C000000%2C12%2C0%2Clt%7C1%2C000000%2C12%2C1%2Clt&chds=0%2C24&chd=t%3A19%2C19%2C3%2C5%2C17%2C21%2C20%2C4%2C1%2C22%2C11%2C11%2C10%2C9%2C3%2C9"></img>
<p>
I've had 184 participants, which is not bad. I'm no statistician, but to me the sample is large enough to be somewhat representative of my user base, or so I think. Some people may have answered more than once by looking at the answer dates. At least it's better than nothing.
</p>
<br/>
<h2>1 - Cycles materials generation</h2>
<div style="color:#00ee00"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHm27ksv4pilgPGDzZtFYxXq0P6Av7DScCD-o6XZq7hLhmBrQjnDxFrA8x3sLtC-7sNwgJet3s51do56yRl4LRekhzRbKs4eEigrKhs9SoXM9AWhPIMAwqNQwASPNwfsvAsuTcOXOqydML/s800/Apps-clock-icon.png"></img>Under work for 0.6 ...</div>
<p>
This one I also wanted before I created the survey. Having realistic lighting will make the city look more believable. I'm about to tackle it, but with OSL, that should be easy (read: not too hard)
</p>
<br/>
<h2>2 - Buildings don't overlap on each other and on streets</h2>
<div style="color:#00ee00"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiU2Asofv4sIgy1JvruJ32UZxK5IPwMOgDxBFWC34W5PeoXe7k3wuNXjzCXK7so9psmYLdp1sgsOb0O7maG_ob58S2yR0H16LGi0Nj5_gCAdxYIAAi9OVDuNzdRKWBtNg99R4GxK2t76VDB/s800/tick-icon.png"></img>Complete and ready for 0.6</div>
<p>
Good news, it's partially the case in the coming 0.6. The buildings are still overlapping, but the streets are always clear of buildings and obstacles, because they're grid-aligned. I know having straight roads only is a restriction, but I can always add curvy roads later: I'd rather have clutter-free straight roads right now than unusable randomly shaped ones.
</p>
<br/>
<h2>3 - A live preview of the city while tweaking its parameters for fast feedback</h2>
<div style="color:#00ee00"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiU2Asofv4sIgy1JvruJ32UZxK5IPwMOgDxBFWC34W5PeoXe7k3wuNXjzCXK7so9psmYLdp1sgsOb0O7maG_ob58S2yR0H16LGi0Nj5_gCAdxYIAAi9OVDuNzdRKWBtNg99R4GxK2t76VDB/s800/tick-icon.png"></img>Complete and ready for 0.6</div>
<p>
No longer will you need to switch between the generator and Blender: see your result immediately. Export to Blender when you're happy.
</p>
<br/>
<br/>
<p>
The three most wanted features will be in the next version. The rest perhaps, but most will have to wait a little longer.
</p>
<br/>
<h2>Custom responses</h2>
<p>
Some people also took the time to write exactly what they need, so here are their responses:
</p>
<ul>
<li>Ability to define where streets are and how large</li>
<li>Generate city from street map (splines)</li>
<li>MAP!</li>
<li>Interior</li>
<li>Street Light Poles</li>
<li>Medieval</li>
<li>v0.6 looks promising :-) - Mac compatible - larger area - higher blocks - style e.g. sci-fi - switch day/night after built</li>
</ul>
<p>
Thanks to those answers. In short, you also want various architectural styles, better street control, and customizable city (to some extent) AFTER it's been generated, which means once it's in Blender. <em>Noting on my TODO list...</em>
</p>
<br/>
<img src="https://chart.googleapis.com/chart?cht=bvs&chs=186x150&chbh=%2C6&chco=ffb442%7Cffa621%7Cff9900%7Cffce85%7Cffc163&chly=70%7C56%7C42%7C28%7C14%7C0&chl=1%7C2%7C3%7C4%7C5&chds=0%2C70&chd=t%3A12%2C39%2C69%2C42%2C22"></img>
<p>
Finally, on a scale from 1 to 5, most people think of the city generator as being moderately useful, while slightly more people find it very useful than those who don't. So the end result is positive :)
</p>Arnaud Couturier (piiichan)http://www.blogger.com/profile/10272780494734182069noreply@blogger.com4tag:blogger.com,1999:blog-8449747795690288551.post-43179172019672474932013-05-21T20:27:00.000+11:002013-05-21T20:27:36.063+11:00City Generator 0.5.7 released SCG 0.5.7 is out. Get it now! It is a minor release, compatible with Blender 2.67. As always, remarks and bug reports are welcome. Arnaud Couturier (piiichan)http://www.blogger.com/profile/10272780494734182069noreply@blogger.com2tag:blogger.com,1999:blog-8449747795690288551.post-39568688331805254592013-03-14T09:16:00.000+11:002013-03-14T15:56:46.858+11:00Inside the city generator<p>
I've been very busy coding the next version of SCG. I've made a lot of progress. Especially on the supporting parts of the application, namely the nodes and the 3d renderer.
</p>
<p>
In every software, there is a huge part the developers have to deal with, and we don't even think about as users : it's the code architecture. By architecture I mean how things are logically represented in the code, how they interact, and how they ultimately serve both the users AND the developers, to make their life easier. That last part, "easier", takes a lifetime to master. For one usable feature, there are tens of small supporting features underneath. For example, when you rename an object in Blender, the developers had to make sure no other object in the scene has the same name, and to rename any other object having the same name to something else, by appending .001 for instance. But wait, maybe another object has that new name too, so we have to check that again, and act accordingly. Those are the kind of issues a developer must take care of all the time, more than implementing the next killer feature. These details constitute what makes an app usable, versus an app which may look cool, but nobody uses because it's a pain.
</p>
<p>
So what does SCG's architecture look like ? From a high level point of view, it can be viewed as a set of subsystems. We call an app's architecture "code plumbing" because it's like plugging things together. <a href="http://blog.cgchan.com/2012/07/city-generator-06-update-2.html">I considered using the Netbeans Platform</a> specifically to save me some work and to avoid coding the plumbing myself, but I realized it's over-sized and over-complicated for my needs.
</p>
Here are SCG's subsystems
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiURGLc5xhTrtW5A2gz99Hx0uhgW4KlFQLvQnoj8ZxY8xDZh7Arg9mrNPOsoFhuae_wVLtXPHrmBwYlEEEwFaFrV16q08IWw-3m83JlWdKO8J0N_1POMvbukFEy226Nx4RrsKWrjQ5Cloqj/s800/SCG%2520architecture.png" alt="SCG's architecture and subsystems"/>
<a name='more'></a>
<ul>
<li>Nodes</li>
<li>Terrain</li>
<li>Roads</li>
<li>Buildings</li>
<li>Content management</li>
<li>OpenGL 3D renderer</li>
<li>Save / load</li>
<li>Export</li>
</ul>
<p>
In reality all of them are more or less inter weaved, though a good developer (which I strive to be :) will keep things clean and separated as much as possible in his/her code, for clarity's sake.
</p>
<p>
The nodes subsystem manages the node-based workflow. It's similar to how Blender's material nodes work. It handles everything from the core concepts (nodes, connections, message passing from node to node etc...) to the GUI and how we interact with it.
</p>
<p>
The terrain, roads and buildings subsystems implement the core features of SCG. They form the heart of the app: they allow us to generate cities. In the software development's jargon, these parts form the "business logic" of the app, the things we really need to get the job done. The rest is supporting code. Though they're the meat of the app feature-wise, core parts usually are very small in terms of lines of code compared to the supporting parts.
</p>
<p>
The content management's role is to retrieve, store and make every resource the app needs available to the other subsystems. Images, icons, 3D models etc... These resources should not be stored twice in memory, and the content management subsystem makes sure that doesn't happen.
</p>
<p>
The OpenGL 3D Renderer renders the city preview. Every change you make to your city settings is displayed in realtime via the 3D renderer. For now it uses OpenGL up to version 1.5, called the fixed-function pipeline. OpenGL 1.5 is old, therefore compatible with virtually every graphics cards out there, even the dreaded (from a developer's point of view) Intel integrated graphics (ouch! But they're getting better). On the other hand, OpenGL 1.5 is much more limited than modern OpenGL (3.0 up to 4.3). You can't do all the fancy stuff you see in the latest AAA games nowadays. However for SCG 0.6 it'll be more than enough. I often read online many people complaining about fixed-pipeline, in favor of shaders, stating that it's too limiting and difficult to develop with. On the contrary, I enjoy coding with the fixed-pipeline: it's rather powerful, and more than enough for A LOT of applications. Blender for example, still uses some fixed-pipeline functionalities for it's viewport.
</p>
<p>
The saving/loading subsystem allows us to save city projects as XML files, and load them back. Those files are plain text files that can be easily edited or created from scratch in a text editor if needed.
</p>
<p>
Finally the export subsystem optimizes and exports cities for the outside world, for example to Blender, but later also to other applications and renderers (Unity3D).
</p>
<p>
You now have an understanding of SCG's architecture, that is, how it is structured code-wise. Hopefully, if you've read down to this point, I didn't lose you :)
SCG 0.6 will be done when all those subsystems will be. So I better keep going !
</p>Arnaud Couturier (piiichan)http://www.blogger.com/profile/10272780494734182069noreply@blogger.com0tag:blogger.com,1999:blog-8449747795690288551.post-37758793487887923392013-02-23T16:53:00.000+11:002013-02-23T16:53:52.904+11:00City Generator 0.5.6 released SCG 0.5.6 is out. <a href="http://cgchan.com/suicidator">Get it now!</a> It is a minor release, compatible with Blender 2.66.
<a name='more'></a>
As always, remarks and bug reports are welcome. Arnaud Couturier (piiichan)http://www.blogger.com/profile/10272780494734182069noreply@blogger.com4tag:blogger.com,1999:blog-8449747795690288551.post-15511606668966166922013-02-21T11:59:00.001+11:002013-02-23T10:38:22.763+11:0010 tips everyone should know for better renders of cities<p>
Below I list a few basic tips on improving realism when rendering your cities, for achieving greater impact through camera settings and positioning, colors, render options, and lighting. These can be used in any software, not only in Blender. I don't consider myself a great artist, but I should share my limited knowledge with you :)
</p>
<p>
There is no "good" or "bad" shot. It depends on what you're trying to achieve. Maybe one may not like your top view of simple-looking, grid-aligned buildings, but if this is your way of picturing a city, then you succeeded.
</p>
<p>
In this post, I assume you want to render realistic cities. Follow the next recommendations to make your cities a bit more believable, and to show them under their best angle. Of course, experimenting is still very important.
</p>
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOuaArWj0C6LS56tBsV2-jaioE75SvC3ItY6UlJ4CXzmEJtJH8lvMiYCivoSiBjW3iI9QwkNJ5tbS8_LfXWqxWI5MAhWTySBR3_PEZzVng7KgXbgbt0-sFRBxZNC5Ai9cpgnQQt9mMAdMK/s0/12.jpg" alt=""/>
<a name='more'></a>
<br/>
<br/>
<p>
Let's say we have this basic render of a SCG city below.<br/>
Let's improve it now.
</p>
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh7ABcKKCDkqzkxFE2oXV1sEe3DoydKGtbOl7DRREV71of7nKe19-S9S2JBxndlk6LISGbAihhYjFAeopaP4gg9J86ts1MZs-HZONE4fXBAVkkLxmn20zRC68FcCESUMIrnDudWTz2doJC/s0/1.jpg" alt=""/>
<h2>1) Use the Sun + Sky + Atmosphere + Ambient light</h2>
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggLzlDGagP-ys8xEYLYXX_eOJiPW0cF505irwleMuJoLnfZH2G7Qs9rmGLwOxqsG8SIo1Wcn6l6a_FpxdrbDNt3UUfWa5Aeg0FfSyi7JZ21sBHCHkM41U4ziLmoxIp6waQBtE_P7dLt5R2/s0/2.jpg" alt=""/>
<p>
Easy to setup, the <a href="http://wiki.blender.org/index.php/Doc:2.6/Manual/Lighting/Lamps/Sun">sun</a> with <a href="http://wiki.blender.org/index.php/Doc:2.6/Manual/Lighting/Lamps/Sun/Sky_and_Atmosphere">sky and atmosphere</a> turned on will make your city look much better instantly because its colors are taken from real measurements.
</p>
<p>
Play with its orientation and strength for a good mix of shadows and lit areas. Prefer a sun orientation of about 90 degrees relative to the camera.
</p>
<p>
Once you have a sun, don't let your pitch black shadows scream "THIS IS FAKE!" Add a low intensity (0.2) hemi lamp to make them more subtle.
</p>
<h2>2) Turn on Ambient Occlusion</h2>
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlqNqtk88QJCIYk3LHNtW9M33hn3xBA7d6a02-OXaK1QHM6kWh1sI3Zna3-EZ7CBUIp0B-qiPjV7zJO_xXXrYQntV5QjhJ85MnHREHFF8wJK77WX-dW24LRtrRLf868cOb3h_4jGXM_SGW/s0/3.jpg" alt=""/>
<p>
Easy to setup as well, <a href="http://wiki.blender.org/index.php/Doc:2.6/Manual/Lighting/Ambient_Occlusion">ambient occlusion</a> will add a bit of depth to your buildings.
</p>
<h2>3) Choose the adapted Camera Lens</h2>
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3xTaNLKaxhz8wDwqoQGdWdRXdbE-q9TIOvnp58zp2Pt7vS3ol1EYC991N5kxKSNpbVcmjO9H-3vUhNMxxvHlrS9hFBC_w-tWug6SdX_uS3iETET7dU6jJdVjFUVGD9G-xq7v1Ojtzxn9b/s0/4.gif" alt=""/>
<p>
Low focal length gives more dramatic results, with high perspective distortion.<br/>
High focal length looks like a zoomed in view from an helicopter, which looks good too.<br/>
Choose the most adapted to your needs, or leave it to the default of 35, which is the closest to our eye.
</p>
<h2>4) Position your Camera carefully</h2>
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr_QrRKJaUR9_cmdOt7yVbUwFJdwCStFybUosyRFDQqwYgDnWeYVjNBGM_XvI2QNTBEs9L4J7brogGisAB7ZWBrXHWMvhywieQJDdDQT9rZSTmK0Y1DCCGNwkiRSNGWPNeedFDlXzqP-n5/s0/5.jpg" alt=""/>
<p>
Depending on what you want to show, the position of the camera is very important. There is no all-in-one solution, but usually,
</p>
<ul style="list-style:square">
<li>prefer showing short buildings in the foreground, and tall buildings in the background</li>
<li>let tall buildings overlay on top of the sky if possible</li>
<li>make sure most buildings show 2 sides (viewed from the side)</li>
<li>put the horizon line at 1/3 or 2/3 of the picture, to respect the rule of thirds</li>
<li>if you want to show a large area, include close details in the foreground</li>
<li>include high contrast areas, eg dark ones in the shades vs bright ones well lit by the sun</li>
</ul>
<h2>5) Use few colors</h2>
<p>
Don't use too many colors, and make them rather pale. Cities are mainly made of concrete, metal and glass, all of which are colorless and grayish, so choose your textures accordingly.
</p>
<p>
I will add a lot more textures for you to choose in SCG 0.6, including many types of concrete, metal and glass.
</p>
<h2>6) Post-process your renders</h2>
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1pTNTWayCmZ8wleLz_VtxXBlVhznDEKD7-fK1n-zjKEeAUjnOh8SqDx4hxbXGc0YZdd6J3X_M-ufVgKlCDf2_tNaw8daGKWaUQ0snMi5FyD4Q40TxZMvfpWGIeM8itRpAq4E5YKkLz8Y9/s0/6.jpg" alt=""/>
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIXIlFtK_yLff2ngZj8uBiO96ubBejwxep_u6qfxg-cQJ_zYine9GcG0GqjhRnG1wAHZjSVnlzrJEuZE6JjcH29CvC8d6aaNtSNc7D_0qY2Y8sN5V29eS3B9NH0S3_YmZsLv7y9x4g_A_j/s0/7.jpg" alt=""/>
<p>
Don't hesitate to play with contrast, tint and dominant colors to alter the feeling of the city.
</p>
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj55dsdA8qh4GotNENrOLH3GCmGkW6Rof_3EAGorH-vTozCU5iI2pLgv3XyHtYXdxhT63SftX22sDCkHA4z0JJ2CcjywHlWbjs5eiEw9_ElDUPoQLOCW4a5BUrf3BqFFMjOXLyEWKIF2XtW/s0/8.jpg" alt=""/>
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5JD3dQm4Hdcf0gdpA6CHauyR7BiDzhNhdTiggX-o1sM_LESLH-HhzlZuCI2Tvjoipx_jNH6DIrgFM04aDssnakOFHoQxi2YZdQMe1AIjySBFsLNPx60AET6Wei1EwgD9YSykawroVyWA8/s0/9.jpg" alt=""/>
<p>
You can play with Blender's scene <a href="http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.64/Color_Management">color management</a>, <a href="http://wiki.blender.org/index.php/Doc:2.6/Manual/Composite_Nodes">compositing nodes</a>, and external imaging software like the <a href="http://www.gimp.org/">GIMP</a> or Photoshop to post-process your pictures.
</p>
<p>
To have the most control over your lighting and colors during post-processing, save your renders as HDR images, for example in the OpenEXR format, then tone map using specific software, such as the free <a href="http://qtpfsgui.sourceforge.net/">Luminance HDR</a> (recommended) or <a href="http://www.hdrlabs.com/picturenaut/index.html">Picturenaut</a>.
</p>
<h2>7) Use halos for night scenes</h2>
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgubLaS0vEaJyKu-UZXpSY1U6QFmCWn7sDo2jCseETfepCqReYgQzoZdzutDo5a5o6X7n4PswLrfs-xmQI_Rbu5xBiqdgu8kTJ5Yq8l7NiXEse-LJrcpw2OQN5PtmROQdMZbZe4kqB1rbPk/s0/Suicidator_City_Engine.jpg"/>
<p>
Less easy to setup nicely, halos can truly set apart the look of your city, or totally ruin it if overused / misused.
</p>
<p>
With many small and strong halos placed in the streets, you can fake how lights sort of glow at night. With larger and weaker halos placed a bit randomly in the city, you can fake how an entire city emits light in the atmosphere surrounding it.
</p>
<h2>8) Use mist</h2>
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeWQ53Mfk2gnKo2Lb4EKP65KK6rXGh7Jk-bXyEmTvIds3wQIn7we8migHKp-bMf8SQtk_lIgbQUYkzf8bQcfRAIs1OxgJIJTOnNup9Yqp85AjTMmiz1tXAIfGGEEf6hZVG518FgAMrUGp1/s0/11.jpg" alt=""/>
<p>
Another easily setup option that will immediately enhance the look of your city. Do not overuse it though, make it subtle. A light mist is useful to add depth to a render. Strong mist changes the mood of the render to something gloomier, darker and scarier, because we humans are afraid of what we can't see.
</p>
<h2>9) Use an HDR environment</h2>
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOuaArWj0C6LS56tBsV2-jaioE75SvC3ItY6UlJ4CXzmEJtJH8lvMiYCivoSiBjW3iI9QwkNJ5tbS8_LfXWqxWI5MAhWTySBR3_PEZzVng7KgXbgbt0-sFRBxZNC5Ai9cpgnQQt9mMAdMK/s0/12.jpg" alt=""/>
<p>
Even a basic textured cube looks 10x more realistic with a real and pretty background. Add HDR lighting to the mix and your lighting setup is basically done automatically.
</p>
<p>
You can create HDR environments yourself, but it's out of the scope of this post. You can find a lot of them online for free, but their quality varies.
</p>
<p>
In SCG 0.6 (<a href="http://blog.cgchan.com/2012/08/city-generator-06-update-4.html">currently in development</a>), you'll have a collection of high quality HDR environments to choose from, ready for your cities.
</p>
<h2>10) Use a good renderer</h2>
<p>
<a href="http://wiki.blender.org/index.php/Doc:2.6/Manual/Render">Blender Internal</a> (Blender's original built-in renderer) is good for the artistic freedom if offers and I hope it won't go away anytime soon. However it has so many options... Unless you know what you're doing, so many little things can go wrong, and they require an experienced artist's eye to notice and fix. It's not a great choice to achieve photo realism.
</p>
<p>
Many other renderers nowadays are already tuned out-of-the-box for realistic rendering: <a href="http://www.luxrender.net/">LuxRender</a> is my favorite, <a href="http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles">Blender Cycles</a> (Blender's second built-in renderer) is also good. These renderers give very good results with minimum efforts, because they closely reproduce how light behaves, relieving us from doing it ourselves every time. They don't guarantee wonderful results automatically, but a better start.
</p>
<p>
Here is a list of <a href="http://www.blender.org/download/get-blender/external-renderers/">free high-quality renderers</a>.
</p>
<p>
For now, SCG only supports Blender internal, but version 0.6 should support Blender Cycles, and LuxRender in later versions.
</p>
<h2>The End</h2>
<p>
With only a few steps that took us 15 minutes, our render is already greatly improved. There are still many things you can do to make it even better.
</p>
<p>
Don't hesistate to look at <a href="http://goo.gl/IHnB0">real pictures</a> for inspiration. There is also a <a href="http://www.blenderguru.com/videos/how-to-create-a-city/">tutorial on BlenderGuru</a> about making cities by hand.
</p>
<p>
BlenderCookie.com also has great tutorials on <a href="http://cgcookie.com/blender/2012/08/21/blender-photography-tips-01/">composition</a>.
</p>
<p>
So now go render amazing cities :)
</p>
Arnaud Couturier (piiichan)http://www.blogger.com/profile/10272780494734182069noreply@blogger.com2tag:blogger.com,1999:blog-8449747795690288551.post-36270744682755262882012-08-12T18:12:00.000+11:002012-08-12T22:01:40.867+11:00City Generator 0.6 update 4<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEIUWkQVAAK0XNr4ktUFYV8s2JHe_ixpX3EPqisUXF9vmMycPzxLXg-HNSl3wl7MNtxgZQvBb7-5E-QlnmbsByFdo3MLoH9evYHmOYxN3IhUG5rssvaVpnQcxQkaR4zeFj2yQPb-D4AjY1/s1600/first+water+in+preview2.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEIUWkQVAAK0XNr4ktUFYV8s2JHe_ixpX3EPqisUXF9vmMycPzxLXg-HNSl3wl7MNtxgZQvBb7-5E-QlnmbsByFdo3MLoH9evYHmOYxN3IhUG5rssvaVpnQcxQkaR4zeFj2yQPb-D4AjY1/s800/first+water+in+preview2.jpg" /></a>
<i>The city generator's 3d preview in its current state. The GUI controls are still missing, I'll add them at the very end. Notice that almost all elements (terrain, buildings, roads, water, sky) are shown, and this is in realtime (free navigation). Changes are applied automatically as you set the city options (city size, buildings height etc...)</i>
<div style="margin:auto; width:100%;"><iframe width="640" height="480" src="http://www.youtube.com/embed/aIAAwNbejM0" frameborder="0" allowfullscreen></iframe></div>
<p>
The development of the next version (0.6) of the city generator is moving forward. I was a bit slower in the last 2 weeks because I was watching the olympic games (I took two weeks off just for that). I'm back on track now.
</p>
<a name='more'></a>
<p>
<a href="http://blog.cgchan.com/2012/07/city-generator-06-update-3.html">The last time</a>, we saw the new road layouts allowing non-overlapping buildings. Remember from <a href="http://blog.cgchan.com/2012/07/city-generator-06-update-1.html">the initial plan for 0.6</a> that we want a realtime preview of our city before sending it to Blender for further editing and rendering. The other important requirement was it must be a standalone application rather than a Blender plugin.
</p>
<p>
Below I show the work done at various stages over the last weeks.
</p>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4F02AU-nJNPgUR_IsHspgak69-3bjKz-MA_Sclf9v6YUYEeMh3PZEVszDuHd4zGx5CyXJl2oX49INo0zmR0t7bhCjeBkRpU-Fu_pRRyKztsneJ07uml_TXQGXkwxw24UgNBwEdVP5soO6/s1600/SCG+OpenGL+preview.png"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4F02AU-nJNPgUR_IsHspgak69-3bjKz-MA_Sclf9v6YUYEeMh3PZEVszDuHd4zGx5CyXJl2oX49INo0zmR0t7bhCjeBkRpU-Fu_pRRyKztsneJ07uml_TXQGXkwxw24UgNBwEdVP5soO6/s700/SCG+OpenGL+preview.png" /></a>
<i>
A very humble beginning: the all mighty terrain grid, with random vertex colors. I was learning how to do 3d with Java OpenGL. Note that the 3d preview is no longer in Blender, but directly in the city generator's window, because it is no longer a Blender plugin, but a standalone app
</i>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZIVdGmSzvjLGOltGKhDj6u096tK6cPd6Ypkli_kV9HN63hRq0-Nok1wPFXl_XbKNvuknhajw6r36htIWlk98_pU5-n5-AAgMnIg6tPVUc2VsgZcdTU98VTXDlt6aioQDorjoNT8VpXpZn/s1600/first+interactive+3d+preview+++export.png"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZIVdGmSzvjLGOltGKhDj6u096tK6cPd6Ypkli_kV9HN63hRq0-Nok1wPFXl_XbKNvuknhajw6r36htIWlk98_pU5-n5-AAgMnIg6tPVUc2VsgZcdTU98VTXDlt6aioQDorjoNT8VpXpZn/s640/first+interactive+3d+preview+++export.png" /></a>
<i>
The plane is now deformed, and we can see some random features
</i>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKC7_xb3McAmnvJQSelJMvp4jncZVOezNR3t1ASYoAe-7uZBZopwcY5RrFpyKBfLvERS69ZD18i_3VKoiqCfdyd80kmPKKvgEeSCLzU85EmzDcRBZF8dKEOnX5t70tQOosr1yqdN5EVgTU/s1600/first+buildings+preview.png" ><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKC7_xb3McAmnvJQSelJMvp4jncZVOezNR3t1ASYoAe-7uZBZopwcY5RrFpyKBfLvERS69ZD18i_3VKoiqCfdyd80kmPKKvgEeSCLzU85EmzDcRBZF8dKEOnX5t70tQOosr1yqdN5EVgTU/s700/first+buildings+preview.png" /></a>
<i>
After the terrain, buildings wireframe placeholders, randomly colored
</i>
<p>
For the 3d rendering I use OpenGL. The problem with OpenGL is that you have to use C or C++, there is no built-in way to call it from other languages, such as Java. Fortunately, clever people have already made it possible to call OpenGL from such languages, through what we call <i>bindings</i>. There are several OpenGL bindings for Java, most notably <a href="http://www.lwjgl.org/">LWJGL</a>, made specifically for games (for instance Minecraft uses it).
</p>
<p>
I chose <a href="https://jogamp.org/">JOGL</a>, Java Binding for OpenGL, because it is more generic and offers a bit more control. I needed to integrate an OpenGL context in a GUI, and JOGL allows that very elegantly.
</p>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhl4sDArlHFq4wQttbvswtIVTfXhlnhsNDezcCV0P6Rn6N95Dd9fH0E1X8plccmJfInHHcrgUxUDdidWSaOjp80O1bodhEw6IUiHx0BHU-Q9udgHnph7aHuxgvvpiwXTrMSvh0oIVXOPeAh/s1600/first+terrain+smooth+solid+rendering.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhl4sDArlHFq4wQttbvswtIVTfXhlnhsNDezcCV0P6Rn6N95Dd9fH0E1X8plccmJfInHHcrgUxUDdidWSaOjp80O1bodhEw6IUiHx0BHU-Q9udgHnph7aHuxgvvpiwXTrMSvh0oIVXOPeAh/s700/first+terrain+smooth+solid+rendering.jpg" /></a></td></tr>
<i>
The terrain and the buildings are now solid-shaded. Notice the terrain is also smooth-shaded. No textures yet
</i>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBKVvad21ynwt7eQAnLKZTBf1lpqjohm5CNupR_9wyji86Tefiq1FVHJp4toAsYYPKXS7xvTFe_EZLRGUUmUPhEHw5dyONMBR0bITRa4UZnndE3fY8aWOesQ6mbTLsMmd4cearPJdvVdwb/s1600/first+textured+terrain+based+on+steepness.jpg" ><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBKVvad21ynwt7eQAnLKZTBf1lpqjohm5CNupR_9wyji86Tefiq1FVHJp4toAsYYPKXS7xvTFe_EZLRGUUmUPhEHw5dyONMBR0bITRa4UZnndE3fY8aWOesQ6mbTLsMmd4cearPJdvVdwb/s700/first+textured+terrain+based+on+steepness.jpg" /></a>
<i>
I tried my hands at texturing. The terrain is a 2d grid, deformed along the vertical axis. Each tile has a texture applied onto it, grass or rock, depending on the height. Notice the ugly seams, due to <a href="http://en.wikipedia.org/wiki/Mipmap">mipmapping</a> that occurs from a certain distance. I fixed it in later stages.
</i>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUhb69N9f9vIcMImJT0HUR-JlVIDEdj4yqtQ-JcROalrEeW5rfDAS27Qmcsn2WnJebOpbnwqzN9pPVlLO-yxtn7ucyJ2Axm1TOYQjZn02jteKpPIEnvdAn8QScd21IN25Eraj0AJWqvO6q/s1600/textured+terrain2.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUhb69N9f9vIcMImJT0HUR-JlVIDEdj4yqtQ-JcROalrEeW5rfDAS27Qmcsn2WnJebOpbnwqzN9pPVlLO-yxtn7ucyJ2Axm1TOYQjZn02jteKpPIEnvdAn8QScd21IN25Eraj0AJWqvO6q/s700/textured+terrain2.jpg" /></a>
<i>
Same textured terrain, with buildings placeholders
</i>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhV7l3l7gsCDlHu1e2L3wP2UFD3bEJ0p4SZPT5KZVFs6SCyRHeLeDPssGRylBsVA1IUwAHGTn4HhjuA3qOm6xad_cBkUsUavfh9mM1yotp8OoHS8zAB8GFhK8lumkXns8Wr9k-Iva9jmrk/s1600/first+textured+unity+export.jpg" ><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhV7l3l7gsCDlHu1e2L3wP2UFD3bEJ0p4SZPT5KZVFs6SCyRHeLeDPssGRylBsVA1IUwAHGTn4HhjuA3qOm6xad_cBkUsUavfh9mM1yotp8OoHS8zAB8GFhK8lumkXns8Wr9k-Iva9jmrk/s700/first+textured+unity+export.jpg" /></a>
<i>
I could export the result to the game engine <a href="http://unity3d.com/unity/">Unity</a>, so that you could use the cities in your games or realtime 3d visualization. Although it worked, I will tackle proper export to Unity in the next version
</i>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilwyw0GHFc7f3xugiKsyF1AxJ4U023vApVhTaWR4v54l5c4C0m6jrfvvWyoETrVCZ-astt5tRaCEkao0NqM5re3oEII9YLDdsK7J0rVKtPbZEzely5h9F7fIRa9C0jfBu3zQhyphenhyphenCb8KfGPZ/s1600/first+Blender+viewport+with+building+meshes.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilwyw0GHFc7f3xugiKsyF1AxJ4U023vApVhTaWR4v54l5c4C0m6jrfvvWyoETrVCZ-astt5tRaCEkao0NqM5re3oEII9YLDdsK7J0rVKtPbZEzely5h9F7fIRa9C0jfBu3zQhyphenhyphenCb8KfGPZ/s700/first+Blender+viewport+with+building+meshes.jpg" /></a>
<i>
I modeled a simple building by hand in Blender, then used it the city generator. Notice this image is a screenshot of the Blender interface, so the export-to-Blender feature is working here
</i>
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDXPuYNCyE5PNrsjxoMabts-OnUyC2UeLhKMDeukm6WwPfSFDmjDqwrvZcKR7G1DfX8aVFtlLgo9z2HD5aBXVgcAZ9XPlJ9wlYRv5pl7cR-yWSHOZa3eSZZWpxXUamclOTkL65XM-l3dHU/s700/first+Blender+export+with+materials+created.jpg"/>
<i>
I added textures to the building, they look better now, and allow very close shots. They're still hand-made though, and not by the city generator. This will be fixed shortly :)
</i>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSEuT7742ZH01_NyBh5KhyphenhyphenPyOksfzUgCLSnQFrW6kv_iaJA9OHPSzh47uTLC5e64rh6WsmmQErAj3Shr1fsH5A2ZPapnBwFz07o20RnLGtqxKKs7TOKoyngmOPZUaMAsUdrED7edUMuh1F/s1600/first+roads.JPG"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSEuT7742ZH01_NyBh5KhyphenhyphenPyOksfzUgCLSnQFrW6kv_iaJA9OHPSzh47uTLC5e64rh6WsmmQErAj3Shr1fsH5A2ZPapnBwFz07o20RnLGtqxKKs7TOKoyngmOPZUaMAsUdrED7edUMuh1F/s700/first+roads.JPG" /></a>
<i>
The first roads. The layout is constructed, and its visual representation is starting to appear as squares on the ground
</i>
<p>
With such drastic required changes, I rethought the application from
scratch. So I started a new code base, reusing some old code from 0.5
where I could, and rewriting the rest. I have<br />
<ul>
<li>to catch up with the
functionalities of version 0.5</li>
<li>to add the new planned features</li>
<li>AND to
allow future growth of the application, because I don't want to be
rewriting the whole thing with every new version.</li>
</ul>
</p>
<p>
I rewrote 0.4 because 0.2 and 0.3 were mostly coding exercises. Then I
rewrote 0.5 because I needed more horse power and more control, so switched
from Python to Java. And now I'm rewriting 0.6, because I need
the ultimate freedom a standalone app has compared to a plugin. I have a clearer
vision of where I'm headed, so hopefully adding features in future
versions will be much quicker.I hope to reach version 1.0 by the end of the year, although 0.7 seems to be a more reachable target.
</p>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvDAUqdLz7tHbD1FQwqomroJMtWUCXMNT6N_6tC-X43h6EovDuzfuPO79NNOGwOlFwpAEfBXfS1DyMW4Ya1U3I_UDH_-pa7bQgvDOUqrQVva7AH6yz0ErrJmxpfWh0GvvRlPvK89GnxtEs/s1600/first+scaled+UVs+on+sidewalks.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvDAUqdLz7tHbD1FQwqomroJMtWUCXMNT6N_6tC-X43h6EovDuzfuPO79NNOGwOlFwpAEfBXfS1DyMW4Ya1U3I_UDH_-pa7bQgvDOUqrQVva7AH6yz0ErrJmxpfWh0GvvRlPvK89GnxtEs/s700/first+scaled+UVs+on+sidewalks.jpg" /></a><br/>
<i>
After more work, the roads look a lot better. Notice how sharp the roads and their markings are, and how close we can look at them, compared to the previous version. That's because roads are now 3d meshes, and no longer simple textures applied on the terrain, above the grass texture layer. I might add the possibility to use textures for the markings though, if one wants to make them look washed or dirty
</i>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiisxlWYWTgKW6Jij3XlIWQNjVFku1hK8QheNnJ0EuCmBCA7Vvn7u9WXimLkBO-VjTFZOoFG5xQ5knH0aWos65AxJu2yOe6AjNX5-gcm4hcTiUeqORMuw3KiwFo6pOF2CZ7CrJ0iYzUKL9l/s1600/first+pedestrian+markings+on+X+crossings+close.jpg" ><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiisxlWYWTgKW6Jij3XlIWQNjVFku1hK8QheNnJ0EuCmBCA7Vvn7u9WXimLkBO-VjTFZOoFG5xQ5knH0aWos65AxJu2yOe6AjNX5-gcm4hcTiUeqORMuw3KiwFo6pOF2CZ7CrJ0iYzUKL9l/s700/first+pedestrian+markings+on+X+crossings+close.jpg" /></a>
<i>
Same as above, but rendered with Blender internal
</i>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTxRmPsCbivn6dv3PRQgpLlyG42YLBvmZJLgBFixkq2GDEWeGUmiaxvt05I9QO71kaUIUta9kF-mPGlbObj0qZ-RtVnbcNqk-rlELvZpINztjL9Pu5FR4lKGQKtnanr0hebrl3IYL9HH4d/s1600/first+pedestrian+markings+on+X+crossings.jpg" ><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTxRmPsCbivn6dv3PRQgpLlyG42YLBvmZJLgBFixkq2GDEWeGUmiaxvt05I9QO71kaUIUta9kF-mPGlbObj0qZ-RtVnbcNqk-rlELvZpINztjL9Pu5FR4lKGQKtnanr0hebrl3IYL9HH4d/s700/first+pedestrian+markings+on+X+crossings.jpg"/></a>
<i>
Pedestrian crossings are a new feature, and look very sharp and very good.
</i>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-0VPUC_r5fukQzYtM75SIDcvVRcnccP2sI8bCNXrlbrdMdJG4ROXpJASrulHYqS-Knk01fHJ2rzjITZRal4yhNO6GjIDkIOrWZyPkgRMX_DmxjKJyZ7NNP_Br7-Y7El4rBO_17t4XAqXW/s1600/first+skybox+in+preview.jpg" ><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-0VPUC_r5fukQzYtM75SIDcvVRcnccP2sI8bCNXrlbrdMdJG4ROXpJASrulHYqS-Knk01fHJ2rzjITZRal4yhNO6GjIDkIOrWZyPkgRMX_DmxjKJyZ7NNP_Br7-Y7El4rBO_17t4XAqXW/s700/first+skybox+in+preview.jpg" /></a>
<i>
The preview looks much better with a proper scene background. It's a skybox, and I pre-rendered the scenery with the powerful <a href="http://www.planetside.co.uk/">Terragen 2</a>. There will be several background and lighting/environment presets, such as morning, rainy, dusk, night, Mars ;) etc... I'm still thinking whether or not to export the skyboxes and the environment settings along with the city...
</i>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEIUWkQVAAK0XNr4ktUFYV8s2JHe_ixpX3EPqisUXF9vmMycPzxLXg-HNSl3wl7MNtxgZQvBb7-5E-QlnmbsByFdo3MLoH9evYHmOYxN3IhUG5rssvaVpnQcxQkaR4zeFj2yQPb-D4AjY1/s1600/first+water+in+preview2.jpg" ><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEIUWkQVAAK0XNr4ktUFYV8s2JHe_ixpX3EPqisUXF9vmMycPzxLXg-HNSl3wl7MNtxgZQvBb7-5E-QlnmbsByFdo3MLoH9evYHmOYxN3IhUG5rssvaVpnQcxQkaR4zeFj2yQPb-D4AjY1/s700/first+water+in+preview2.jpg" /></a>
<i>
And finally I added some natural-looking (hopefully) noise over the terrain, to simulate organic changes of the terrain color (like in 0.5), and a transparent water plane for lakes and rivers (new in 0.6)
</i>
<p>
The remaining features are:<br />
<ul>
<li>the buildings like in 0.5<br />I'm not sure I can honor the <i>Buildings architecture options</i> requirement in time. See <a href="http://blog.cgchan.com/2012/07/city-generator-06-update-1.html">the requirements for 0.6</a></li>
<li>the GUI controls</li>
</ul>
I cannot give a release date yet, but it's a matter of weeks now. I aslo decided to change the name to something more... well, related to the topic :)
</p>
<p>
I'm having a great time coding version 0.6, and I really hope I can make you rule with awesome 3d cities soon. Stay tuned !
</p>Arnaud Couturier (piiichan)http://www.blogger.com/profile/10272780494734182069noreply@blogger.com23tag:blogger.com,1999:blog-8449747795690288551.post-74303230722264445462012-07-23T02:10:00.002+11:002012-07-23T02:11:06.272+11:00City Generator 0.6 update 3We're already more than 3 months into the next version of the city generator, and version 0.6 should already be in your hands by now.
As always I'm over ambitious with timelines, and unless I'm working full time on this, it's difficult to keep the deadlines under control.
Especially office work is always busy at this time of the year.
<br />
<a name='more'></a><br />
I did put the GUI problem on the side. That's important, but I've "wasted" too much time.
For now I'll concentrate on the features, implement the GUI as I go, and we can always change things later.
Let's see non-overlapping buildings, since a lot of people have asked for it on the <a href="http://blog.cgchan.com/2012/07/city-generator-06-update-1.html">poll</a>.<br />
<br />
Let's do something simple: if we keep the roads axis-aligned, that means parallel to the x and y axes, it should be easy to keep each building on it's own dedicated area, which won't be some randomly complex polygon, but a good old rectangle. This is what I've done before, remember from the
<a href="http://cgchan.com/suicidator/examples">gallery</a> ?
<br />
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjibjOCE2_W46dVC7BbVldRq0DfklLpkoZ1vOH9lEAealXywgDCXRwp-4urXBn5a4AY1vH_BRLHakJ5KyRUQj9ASrLPya7f3Q8Ldl6a6AsF6yDa7EO1Xafdgu6isxCNhs40MJqcYRT7cxVF/s800/axis-aligned-streets-0.PNG" />
<br />
So here we go, axis-aligned streets. Magnificent aren't they :)
I took a rectangle, subdivided it recursively until I reached a minimum size for the city blocks.
It's amazing how everytime you come up with an idea, you later realize it already exists. This road layout is what we call a <a href="http://en.wikipedia.org/wiki/Treemap">treemap</a>, a way to represent hierarchical data, where the rectangles are proportional to the size of the things they represent, for instance files on a hardrive.
<br />
This is a bit boring, let's add some randomness and variations to the simple layout above.
<br />
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjD6uh3y4CsPOoutjLQ7YmXInbhD-AD2jHNt30AwPyu2zgTJAth0vj1c6PwrPbZpXH8tfQf5MzMyBOh24Dubjq1D1km7ebHBFNn4TYdd0vH_Gm6yURCgpDG7trGBZgbP6gCtd1b7tuwDF3t/s700/axis-aligned-streets-3.PNG" />
<br />
That's better. We even have city blocks in different colors. That will later be useful to differentiate building architectures, such as commercial, residential and industrial like in the SimCity series.
<br />
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhhC-sWGFOfadtjwRgS7kg3AJHp23L4ju0ywbY-OHAfLxowV6488xQNvfMKenj3ADwmIANNYxON3ICKGuiDRVb1Ghtfx5OkYEwCRu4gG1VoBVWrELhQA384h37nPiUlbWxF2V511_3dohI/s700/axis-aligned-streets-7.PNG" />
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKQU6xLfaUSXXdPNjVhV7mCJeoQ2nufcbuSwUkA8MkSTiCo96PF0G-kXFpY9XvlFyeh0AMFn0kdM60zYJMvsLydqMKR7hOfT8v84I68LWocuiYOzR3Bhb_lKUyjCUaSsb0mhB1iCFiu8L4/s700/axis-aligned-streets-8.PNG" />
<br />
The benefits of this approach? It's simple to generate, fast and memory efficient. The problem is that the roads don't curve, for now.
<br />
All of the above images are generated in realtime by SCG, so as we change the settings, the preview is immediately visible.
The more detailed version looks as follow, but this is still intended as a preview, not the final quality texture or anything.
<br />
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwR1TsGatUUvQdcIU9F5Z5ABiE8mCLv_gxXq9Rs2Sdq8Ofm2gy2w2pRMsLE-JzpBnOnLuTnLQJllAB12IvzpH5ArQMKWT-oHoRnf8dL7E8o395O_dduDf5qyA7uJsKCGKHbPmcEaqN21xQ/s800/axis-aligned-streets-9.PNG" />
<br />
If we take the simple 2d view and map it onto a plane in Blender, with a few low poly cars added to have an idea of the scale, it gives
<br />
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4vAIpAyVg1JnmgYSgxOuAgsLXHMH-q1QPP7stOOioFiKpZDvf2EMWpqq4CdvMblWzS_xYKGLnjTdss95UKU-wIrAF01NUdrBNgZJHWlj6ZNxSqyDmHhe0cSa7JxJWIK1U4okA2LJ1ksS0/s800/axis-aligned-streets-14.jpg" />
<br />
Next time, we'll start to have 3d buildings from these layouts, and textured roads.Arnaud Couturier (piiichan)http://www.blogger.com/profile/10272780494734182069noreply@blogger.com4tag:blogger.com,1999:blog-8449747795690288551.post-88530811932569507202012-07-23T01:56:00.001+11:002012-07-23T01:56:26.817+11:00City Generator 0.6 update 2<h2>The GUI, a chore ?</h2>
<p>
In the last weeks, I've been thinking about the GUI (graphical user interface).
You know: windows, buttons and other visual elements
we're all used to interact with in our digital lives.
</p>
<a name='more'></a>
<p>
I personally find coding GUI elements quite fun.
But the reason why a lot of developers don't like making GUIs is because it isn't solving
the core problem, such as making cities. When a developer is spending days "just" for coding a new
panel for the user to, say, design a building facade, that developer isn't actually coding
the building facade functionality, but only the visual interaction with that functionality.
</p>
<p>
Users won't (often) thank a developer for a great GUI, because a great GUI is invisible, intuitive.
It should let the user do the job without standing in the way.
However users will thank you (and maybe pay) for new features,
so developers prefer to spend time on new features, and less on the GUI.
It's also a lot more fun to code new features rather than to code buttons.
</p>
<h2>The GUI, a friend !</h2>
<p>
But the GUI is what the user sees. It's ALL that he/she will ever see of the software.
He doesn't care about how well-crafted a piece of code is, or whether the application has a thousand hidden features.
All the user cares about is USABLE features.
</p>
<p>
I have limited experience with making complex desktop applications, and I struggled for several weeks just
to have an idea of how the user should interact with the GUI in SCG.
</p>
<p>
There will be many more settings in future versions, therefore the current GUI won't scale without becoming a huge mess
of buttons and sliders.
</p>
<img class="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjK0K9kEBrBhVhhSTf4XKtZEOKyvxeG9d6ieDdcPRtQPreiZDAm8DoQTGKQK40E07R3efOWSWmA2TG5c4BMMW87SpzXWB9iQXiZtsEs-TNG5Pypr7qE4kYjrCyvEt-Aa2PQMy8CMJSjI8Wc/s300/gui-wont-scale.png"></img>
<p>
So I was looking for a way to see as many settings as possible
while keeping things manageable for the user. After some thoughts, it seemed a tree view would be effective, like a hierarchical file explorer.
I looked at different applications that have such views, but their tree views are too simple for SCG's needs because they don't provide controls on
each row, only an icon and some text.
</p>
<p>
<strong>I finally found the solution, guess where ... in our beloved Blender.</strong><br/>
The outliner is just what we need: it gives us a nice organized view of a lot of data AND
each row can have multiple controls.
</p>
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjz1J04yUq5qHaJXvqTpl-dJ7y7Cahw4-GmqY_O3kpd9APwZPJPzTG0YeRnCRF6c3l1dlFcqD72sxWhC2U_jYfRg0yqfvypwnf_0prJk8kG2UWNu5zCXV254yP0i41E40G3wdG8To4uEN8t/s300/blender_outliner.png"></img>
<p>
There's even more! I didn't know that, because I never took the time to explore the Blender's
outliner more deeply, but it can show other things than objects in the 3D scene. It can show keymaps,
preferences, libraries, and more. I've coded something similar for organizing SCG's settings,
no need to re-invent the wheel, thanks Blender devs!
</p>
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhe0vSo3CHFfsD68J17RqZn77pPPklH2zJVged3mwFiAeaV4a8arROyghfGCv0OXmdnXooEc27rlYgb0I7rI5p6IvD0ml__K_2eX08I5y_Dg_AXnaIJcDGEH2-iPMzBW34WmOAo85BOKH3u/s500/blender_outliner_datablocks.png"></img>
<p>
So this is what I came up with
</p>
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDF6qJdVJMwdLM6x4lBXirvUt49YS2zp8Hv1DvjCmAW0iquzE_4UynlaSLkZPBSaehZk-wlYJ8bawvoH1KUz9Mhc_7k7f1yocFoZPRwtmVkqhxmYoL_jTv22vlB0M4F3sEg4ozl1yvDmLL/s600/gui-first-tree-hierarchy.png"></img>
<p>
We have a nicely organized view of all the settings.
</p>
<p>
I was happy with that solution for a while.
And then, yet again, I remembered there is a category of tools, called Rich Client Platforms, RCP, that are
specifically designed for my purpose: easing the development of desktop applications. Stupid me !
</p>
<p>
Since SCG is coded in Java, I had to find a Java RCP. There are basically 2 options:
the <a href="http://netbeans.org/features/platform/">Netbeans Platform</a> from Oracle,
or the <a href="http://www.eclipse.org/platform/">Eclipse Platform</a> from IBM.
They offer more or less the same functionalities, but because I develop SCG with the <a href="http://netbeans.org/">Netbeans IDE</a>
already, I chose the Netbeans Platform.
</p>
<p>
Here is what I could make after a few days playing with it.
</p>
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdp-rhpZs7lcc7JnqJo1ByEJV8mTrIWSrh1ozN0oWjpufTAaah1x409hjleLWZgK9hXw7Hm_cyWtaE_HH6XFWCAOJX1kANWb45whD8YZufG7JcxquemOvRNJ3xV-Shr-bm12s8qcb6yJ5Y/s800/new-gui-rcp-ok.png"></img>
<p>
As you can see I'm planning to have each city as a project.
So we'll be able to have multiple cities.
There will be previews, and there will be textures and materials options.
</p>
<p>
The Netbeans platform is powerful, but big and complex. I have to learn how to use it properly as I go, and that takes time.
However on the long run, it'll pay back. From that screenshot alone, it's clear
we're a step ahead of SCG 0.5. It'll be easier for you to use, and easier for me to expand.
</p>
<h2>SimCity 5</h2>
<p>
Maxis has announced two months ago that they're working on SimCity 5, planned to be released in 2013.
While I won't buy the game (I find modern games boring), I really like their teaser video. I'll keep it as a reference.
</p>
<iframe width="560" height="315" src="http://www.youtube.com/embed/zJx4RZq4Nw4" frameborder="0" allowfullscreen></iframe>
<p>
The first and only SimCity I've ever owned and played was SimCity 2000, one of my first games on
my first computer, a Macintosh LC if I remember well. That was some cool game! But it was a sandbox game,
without particular goals, and it gets boring once you've discovered all the different aspects of the gameplay,
and all the different buildings. Now I prefer by far the Impression Games: the mythic Caesar 3, Pharaoh and Zeus.
These are deeper, and I still play them occasionally. Nostalgia...
</p>
<p>
I'm going back to work. More news as soon as I have enough to show off.
</p>Arnaud Couturier (piiichan)http://www.blogger.com/profile/10272780494734182069noreply@blogger.com0tag:blogger.com,1999:blog-8449747795690288551.post-79249612754957567272012-07-23T01:52:00.000+11:002012-07-23T01:54:33.669+11:00City Generator 0.5.5 released<p>
SCG 0.5.5 is out. <a href="http://cgchan.com/suicidator">Get it now!</a>
It is a minor release, compatible with Blender 2.63.
</p>
<a name='more'></a>
<p>
As always, remarks and bug reports are welcome.
</p>
<p>
Hopefully this is the last update before SCG 0.6, due in 2 months.
I haven't posted any development update yet, because there isn't much
yet to show.
</p>
<p>
It doesn't mean there is nothing new though.
I've been working on the GUI and restructuring the code, so that
future updates will be
easier to code, and therefore will allow me to deliver new features to
you guys more often.
I should be working on the real meat by the end of this week.
I'm eager to get to this point!
</p>Arnaud Couturier (piiichan)http://www.blogger.com/profile/10272780494734182069noreply@blogger.com1tag:blogger.com,1999:blog-8449747795690288551.post-44632817292159850052012-07-22T18:15:00.000+11:002013-10-11T16:19:12.051+11:00City Generator 0.6 update 1<p>
So, after 2 months of technical challenges, I finally managed to finalize <a href="http://cgchan.com/suicidator">the city generator's website</a>.
I learned <a href="http://drupal.org/">Drupal</a> along the way, which took me a fair portion of that time.
But now I have a (roughly) working website that will allow me to keep you updated with development news
and to host other projects I might get into in the future.
</p>
<a name='more'></a>
<p>
If you notice a bug, or anything wrong with SCG's new website, like missing images, malformed layout, etc...
please let me know by sending me an email.
</p>
<p>
The <a href="http://arnaud.ile.nc">old SCG website</a> will remain open until this one is fully ready.
</p>
<h2>Battle plan for SCG 0.6</h2>
<p>
Now, back to cities :)
</p>
<p>
From today, I'm starting to work on the next version, 0.6.
So here comes the fatal question: what features to add or improve?
</p>
<p>
There are so many exciting features to add, the choice is difficult.
Some features can be difficult to implement, some are prerequisites for others, some are not exciting but useful,
some are useful but not exciting.
However, I've decided that the most important is to not get carried away.
I will consider in priority what most people are missing.
And what's needed to make SCG not a mere toy, but a useful tool.
Another important consideration is the time I have to implement those features.
I give myself about 3 months for 0.6, with only a few hours of work a day.
</p>
<p>
So here is what I will be working on for 0.6
</p>
<h2>City preview, for fast feedback</h2>
<p>
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYV9RKJ9i-kSt_v0DWWadEKiKCnVD2OeO27wJ6lo-uL6JW-a4gQJ44mmtjHGxYZvxbq29kI87f16LEDUzwpLLIBtyG7xxfn1_c4YFJPBIBhRmRpEQYH4BlrGk-Uq1tSghMvTwRWxvGXfaV/s0/google%2520maps.png"></img><br/>
Currently creating a city is like betting: set a few settings, hope it will look good, repeat and rinse.
A better approach would be to at least see <strong>a map of our city</strong> before we send it down to Blender for editing and rendering.
Any change to a setting altering the terrain or the streets would be instantly visible. Only the buildings would still
need rendering in Blender to know their final aspect.
</p>
<h2>Buildings architectures, for variety in geometry</h2>
<p>
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY2o9RMXNuMwQCw1pSGlqgy3pHBSUGWjETCHg5CIfN1mgGVJ8c94lsebTjNSOtc0sbkwcoQqOL8HTMWBccGAjpiksdmMwqaU0LEgpjXvmf30cxTHM8v9YTp3Q-wCOytzxnzdZLaL_pIvb3/s0/primitive%2520shapes.png"></img><br/>
Right now we have no control on the buildings shape. This is a serious handicap that needs fixing urgently.
Architectures should allow us to design our buildings ourselves. One of the first architecture option a lot of
you have asked for is buildings fitting perfectly along the streets.
There should be an option to tell the generator we want no buildings overlapping other buildings, or overlapping streets.
</p>
<h2>From addon to standalone application, for a better user experience</h2>
<p>
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlmDK1LG7wy6_H0lk0_3aUsQIW_YV2fABCvvj1sXVgzEXpJhaF7W9C1ghkUm3ZDU2e_Wq-PxUtDPS7JYplGSFe-xrPRa5BBhzMp59MmWrm7q1C8jVfF8OkW6nemBdzwUILU2NJ77x-d3OK/s0/executable.png"></img><br/>
SCG will no longer be "simply" a Blender addon, it will be a full, independent, in-all-its-glory ;) desktop application.
<ul>
<li>
This means a simpler installation. There should no longer be that nasty Java-fixing part.
No more fiddling with environment variables. SCG should work right away, as long as Java is installed on your computer.
</li>
<li>
It will be simpler to launch, a double-click on the SCG icon in your window manager should launch it.
</li>
<li>
It will also be faster, since opening SCG always takes a second or two, the time for Java to load itself.
That (minimal) startup cost will be reduced to only one time.
</li>
<li>
Of course, SCG's primary target is Blender, so the SCG Blender addon will have to be installed.
But you will be able to use Blender's "Install addon" button, which puts the Python script in the proper place
for you, no more "SCG is not listed in Blender's addons, WTF?" errors :)
</li>
</ul>
</p>
<h2>... and more</h2>
<p>
There will be other minor improvements, such as saving / loading / resetting the city parameters.
The minimum Java version will be increased from 5 to 6. All of you still on Java 5, please upgrade.
Java 6 was released more than 5 years ago, so it should be the standard minimum verson by now.
</p>
<div style="text-align: center;">
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVDmBUwkdrCDMSehMlNntA33sNV1_9mWA0RqEjJwMF2BOZsobxQEJTPpyoCrmQ8CrZvpJ_Ps0v93RVqYllVbgD0Kycg23hedM12nCqKTVkMP9qwR5L9LB-YfsRJYjrvHs468D7lCZgifTA/s144/arrow.png"></img>
</div>
<h2>But what do YOU think ... ?</h2>
<p>
While I'm working on these new features, I'd like you to take a few seconds to answer this little poll below.
Please be honest, and answer only once. Thanks :)
</p>
<div style="color:blue; font-size: 1.5em;">Survey closed. See the results <a href="http://blog.cgchan.com/2013/10/most-wanted-features-survey-result.html">here</a>.</div>Arnaud Couturier (piiichan)http://www.blogger.com/profile/10272780494734182069noreply@blogger.com0