Talk:Game Design Procedural Procworld Real men don't draw buildings
Anonymous February 25, 2012 at 4:27 AM
I think there's some potential for a marriage between parametric and procedural modeling. Designing a house with various parameters is already being done by engineers making technical drawings. Not only can those parameters (eg width, height, number of windows) be changed to produce an infinit number of instances, but the structured nature of the drawings also provides enough information to merge it with procedural techniques for adding detail.
MCeperoG February 25, 2012 at 9:24 AM
Yes, the potential is huge. The challenge is how to visually edit grammars. Having some parameters is one thing, but written grammars are very powerful. They allow you to exploit recursion and abstraction, elaborate expression, without these you would end up with very homogeneous buildings.
CityEngine has some visual editing, but it is somewhat limited compared to what can be achieved with written grammars.
I think the way to go is to find a small subset of grammar operations that can produce complex results and also can be expressed and edited visually.
-=Y=- February 25, 2012 at 5:06 AM
Impressive. how many hours it took you to write it?
This show power of procedural architecture, you need only one artist (with programing skills :D) to create whole city. with it, you need only cerate style not every instance of it (aka one building in that style).
MCeperoG February 25, 2012 at 9:25 AM
It took less than one hour, but I knew where to go. I also cheated and pasted a couple of small rules at the end for the shingles.
Anonymous February 25, 2012 at 6:28 AM
CGA Shape seems highly interesing and there are a nice bunch of detailed publications, http://en.wikipedia.org/wiki/CityEngine (publications at the bottom)
MCeperoG February 25, 2012 at 9:29 AM
I have borrowed heavily from CityEngine. Their papers helped me a lot, even when I chose a different approach.
Michael Goodfellow February 25, 2012 at 7:30 AM
Have you seen Shamus Young's Pixel city?
http://www.youtube.com/watch?v=-d2-PtK4F6Y
MCeperoG February 25, 2012 at 9:31 AM
Yes, I saw it log time ago. One of the best demos I have ever seen.
kayahan February 25, 2012 at 3:41 PM
That looks remarkably powerful! But I can see what you're saying about being intractable to an artist - it is really verbose. Are you thinking of simplifying the grammer into a set of functions with an API? Something like this:
House SimpleHouse( Wall1Definition, Wall2Def...); Wall Wall1Definition(HasDoor = True, Windows = 1,...);...
Maybe?
MCeperoG February 25, 2012 at 4:04 PM
Well some of the grammar features are redundant. They are there just to make the programming easier. If writing programs is not required, it is possible to keep a small core of operations that are still able to do everything you need. I have already identified this core, what I'm missing is a way to input these rules in a 3D viewer with just a mouse. Ideally no keyboard input should be required, even for complex grammars like a castle. That is the challenge I see. kayahan February 25, 2012 at 4:35 PM
Oh, cool. I get what you mean. Also curious, what are you using to do the parsing of the grammar rules? MCeperoG February 25, 2012 at 5:16 PM
I'm using the GOLD parser: http://www.goldparser.org
Aroidzap February 26, 2012 at 2:55 AM
Hi, can I ask you which API do you use? I don't know, if it is right question... I mean win32 api or mfc etc...
MCeperoG February 26, 2012 at 7:56 AM
The UI uses .NET components. I got some free third party components for the panel docking and the syntax-highlighted editor. Previews are done with OpenGL. There are bits of win32 everywhere. AroidzapFebruary 26, 2012 at 5:02 PM
thank you :)
-=Y=- February 26, 2012 at 3:43 PM
how will this building look when you import it to your landscape? it will be integrated with rest of geometry or will be independent model?
MCeperoG February 26, 2012 at 5:37 PM
Buildings are voxelized and blended with trees and terrain. It is a unique geometry mesh for everything. I have posted about this in the past, you should be able to find some screenshots as well. -=Y=-February 27, 2012 at 1:57 PM
and how it looks after mesh optimization? house have some small detail, hat can be lost after that. it would be great if you post some screen shots of it.
MCeperoG February 27, 2012 at 3:42 PM
It looks pretty much the same. Terrain and trees have more detail than architecture, houses help keeping polygon counts low.
Anonymous March 27, 2012 at 6:06 AM
Very nice!
Ape June 3, 2012 at 7:27 PM
I would imagine that different words could be pre-rendered in a sort of pallet, and that they could be painted together by drag and drop.
Some of the words could have more interactive elements. A wall, for example, could be drawn and windows painted on it.
The more advanced artits would mix the paints and define how the various parameters can be tweaked.
The key to doing this would be to develop a way to say "windows CAN go into walls" while mixing the paint.
Anonymous March 9, 2015 at 8:10 PM
This is a really interesting aproach, one thing that bothers me is : How high is the polygon count of those models? the way I see it, each of those bricks is a mesh, with a few polygons. Are you performing some sort of simplication algorithm? Any tips on that?