[GSoC 2011] Visually program procedural cities in Ogre

Threads related to Google Summer of Code
Post Reply
kermit666
Gnoblar
Posts: 18
Joined: Mon Mar 07, 2011 6:29 pm
x 2

[GSoC 2011] Visually program procedural cities in Ogre

Post by kermit666 »

Hello,

I'm beginning work on a MS thesis project where I'm trying to adapt a visual programming language (https://launchpad.net/vide) for automatic generation of procedural cities. Since I'm still researching I'm not yet sure in which direction the whole thing will head, but for now I think one way to go might be to take a set of premade objects and place them (according to the user-defined flowchart) in Ogre, using node coordinates.

Maybe there already exists some library for procedural map generation in Ogre to start with?

I am wondering whether this topic would have any potential as an Ogre GSoC project?

Dražen
Last edited by spacegaier on Mon Mar 07, 2011 7:06 pm, edited 1 time in total.
Reason: changed title a bit
jonim8or
Goblin
Posts: 287
Joined: Mon Dec 08, 2008 4:49 pm
x 10

Re: [GSoC 2011] Visually program procedural cities in Ogre

Post by jonim8or »

Very nice subject. A friend of mine at the Delft University of Technology has done some research on that topic.
But I'm not sure whether it should be part of Ogre. Maybe it should rather be part of Ogitor or Blender. Is that possible as GSOC?
User avatar
spacegaier
OGRE Team Member
OGRE Team Member
Posts: 4304
Joined: Mon Feb 04, 2008 2:02 pm
Location: Germany
x 135
Contact:

Re: [GSoC 2011] Visually program procedural cities in Ogre

Post by spacegaier »

Well, this is for sure nothing for Ogre core, but would rather be an independent plugin. There is also already a more generic plugin development. Serach for "OgreProcedural". It focuses on primitive objects and not on city generations.

And I am not sure how closely GSoC projects have to be tied to the main dev area (so Ogre core). But if this is not a GSoC type project, it would definetly make a nice addition to our plugin collection over at Ogitor. So we would be happy to see you there then :) .
Ogre Admin [Admin, Dev, PR, Finance, Wiki, etc.] | BasicOgreFramework | AdvancedOgreFramework
Don't know what to do in your spare time? Help the Ogre wiki grow! Or squash a bug...
User avatar
Zonder
Ogre Magi
Posts: 1168
Joined: Mon Aug 04, 2008 7:51 pm
Location: Manchester - England
x 73

Re: [GSoC 2011] Visually program procedural cities in Ogre

Post by Zonder »

There is also pged geometry I know it's not buildings but the system was designed so you can procedualy generate forests you just place your own algorithm.

And yes it's not somthing for ogre core really but a plugin
There are 10 types of people in the world: Those who understand binary, and those who don't...
kermit666
Gnoblar
Posts: 18
Joined: Mon Mar 07, 2011 6:29 pm
x 2

Re: [GSoC 2011] Visually program procedural cities in Ogre

Post by kermit666 »

Thanks for all the replies! I'll check out the projects and try to find something that fits best.

I know Blender is a part of GSoC. I'm not sure about Ogitor, but probably a plug-in for Ogre would also qualify as an Ogre GSoC project.
User avatar
spacegaier
OGRE Team Member
OGRE Team Member
Posts: 4304
Joined: Mon Feb 04, 2008 2:02 pm
Location: Germany
x 135
Contact:

Re: [GSoC 2011] Visually program procedural cities in Ogre

Post by spacegaier »

Ogitor is not part of GSoC (yet).
Ogre Admin [Admin, Dev, PR, Finance, Wiki, etc.] | BasicOgreFramework | AdvancedOgreFramework
Don't know what to do in your spare time? Help the Ogre wiki grow! Or squash a bug...
kermit666
Gnoblar
Posts: 18
Joined: Mon Mar 07, 2011 6:29 pm
x 2

Re: [GSoC 2011] Visually program procedural cities in Ogre

Post by kermit666 »

OK, I did some exploration and further consulting with my university mentor...

Our idea was to generate whole scenes directly in Ogre as nodes and entities using small building blocks (such as window, wall & street textures, smaller objects like fire hydrants, lamps...) which would be accessed from the resources/ folder and arranged using various properties such as rotation, position, ...

The reason why we would like to do it like this and not create the whole scene in some external model editor (Blender or, if I understood right, Ogitor) is to be able to generate scenes dynamically - they would be generated differently each time the user visited an area, but according to some description the game designer created using the visual diagram editor.

A team of around 4-6 of us will be working on the project and the idea is to have each person do a certain subtask and exposing it as a C++ API:
- creating a single building (complicated by itself)
- generating the street grid and zones
- adding details to a scene - lamps, trees, fire hydrants etc.
(- creating interiors - this depends on the number of people)

I will be building the visual diagram editor, built in Eclipse GMF, and trying to identify the most important parameters and rules that individual modules should expose to the designer in the visual editor to enable him to express himself the most.

What we hope to have in the end is a plug-in for Ogre in the form of a C++ library enabling the user to input his procedural scene description that can be written as pure code in a text file (C++, or maybe even Python, wrapping up a C++ class) or provided using the Eclipse custom made diagram editor (that will generate the code automatically).

I am definitely interested in doing this as a GSoC project and my mentor approved it. I need to talk to the other team-members, maybe they would be interested as well. We will start work on this very soon, but can probably extend the work even through the summer (to make it a summer of code :) ).

What do you say? Would such a project, an Ogre plug-in, qualify for GSoC?
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Re: [GSoC 2011] Visually program procedural cities in Ogre

Post by jacmoe »

I would be an excellent candidate for a component. :)
Not sure whether it would fit as a GSoC project - I'll let the Ogre Team decide that.
Procedural is the future - or so I've heard:
http://altdevblogaday.org/2011/03/20/th ... rocedural/

But, do not cancel the thought of contributing even if this project is not accepted:
We will gladly (I think I can speak on behalf of the Ogre community here) accept a procedural Ogre component/addon/plugin.

I could not only be used for actual games/applications, but also for stress testing.
Would be a matter of feeding it some parameters, flip a few switches and let it generate a huge scene, wouldn't it?
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
kermit666
Gnoblar
Posts: 18
Joined: Mon Mar 07, 2011 6:29 pm
x 2

Re: [GSoC 2011] Visually program procedural cities in Ogre

Post by kermit666 »

Yes, I would definitely like to work with any community members willing to help us. I'm glad you see the potential benefits of such a project.
kermit666
Gnoblar
Posts: 18
Joined: Mon Mar 07, 2011 6:29 pm
x 2

Re: [GSoC 2011] Visually program procedural cities in Ogre

Post by kermit666 »

And yes, we aim to make creating big maps an easy task, achievable within minutes. Not exactly by setting up a few parameters (that's something projects like Suicidator (http://arnaud.ile.nc/sce/) already do), but by creating some sort of a flowchart* (or altering an existing one) in a visual editor.

__

*This is actually the main focus of the scientific part of my thesis - I believe that a good way to describe complex maps like cities would be somewhere in the middle between parameters (limited expressiveness) and L-grammars used in applications such as CityEngine (http://www.procedural.com/cityengine/features.html) (too complicated for people without a strong background in programming) - using rich visual editors and OO principles. This idea is something that will hopefully evolve during the semester and get a more precise shape as we start building such a system.
User avatar
spacegaier
OGRE Team Member
OGRE Team Member
Posts: 4304
Joined: Mon Feb 04, 2008 2:02 pm
Location: Germany
x 135
Contact:

Re: [GSoC 2011] Visually program procedural cities in Ogre

Post by spacegaier »

jacmoe wrote:We will gladly (I think I can speak on behalf of the Ogre community here) accept a procedural Ogre component/addon/plugin.
Yes, procedural sounds good, but my only fear: This proposal is about a very, very specific type of procedural creation: Cities. So in order to be something that many Ogre users can profit from it would need to be more generic, so some sort of mixture between very detailed implementations such as the city part as well as the more general shapes and stuff as e.g. the "OgreProcedural" addon already provides.

So perhaps some sort of design/architecture with some generic base classes/features that then can be easily extended/enhanced to suit specific needs such as the city generation bit.
Ogre Admin [Admin, Dev, PR, Finance, Wiki, etc.] | BasicOgreFramework | AdvancedOgreFramework
Don't know what to do in your spare time? Help the Ogre wiki grow! Or squash a bug...
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Re: [GSoC 2011] Visually program procedural cities in Ogre

Post by jacmoe »

That's probably not a big deal, as long as the interface would allow for rooms instead of city blocks, and archways instead of roads, etc.
Then it probably could generate dungeons as well. :wink:
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
kermit666
Gnoblar
Posts: 18
Joined: Mon Mar 07, 2011 6:29 pm
x 2

Re: [GSoC 2011] Visually program procedural cities in Ogre

Post by kermit666 »

Yes, we could probably allow the user to import the modules he/she wishes to use in designing the scene. That would allow for generalisation in the sense that any type of module could be written in the future to allow for other types of scenes to be generated - for example some space station generation. It's hard to predict right now whether this will be possible to achieve in a couple of months, though. But in any case, I think that if some sort of basic city generation would be successful - as a sort of proof of concept example, then a natural way to evolve would be to broaden the domain.

Should I try and put together an official GSoC topic proposal, then? Or is it better to wait for someone authorized to give a "go / no go" decision here?
kermit666
Gnoblar
Posts: 18
Joined: Mon Mar 07, 2011 6:29 pm
x 2

Re: [GSoC 2011] Visually program procedural cities in Ogre

Post by kermit666 »

We formed a team at the University of Vienna, because several of us doing master or bachelor thesis projects showed interest in the same topic - procedural generation in Ogre. There is 5 of us and we started preliminary work already.

We talked between ourselves and everybody would like to participate on this as part of GSoC as well. We'd be willing to work with Ogre mentors and do the additional work (documentation, Ogre plug-in integration) over the summer to comply with the Ogre requirements on top of our university requirements.

If it turns out this doesn't qualify as a GSoC project (either because of the topic or because of the team size) we're going to do the project anyway and would like to keep in touch and include people from the Ogre community. Maybe we could create a subforum or a section somewhere on the Ogre forums for easier communication.

We talked about work organization and positioning within Ogre and like the idea mentioned before of making it a more general procedural generation project that would be capable of customization for specific purposes, with the ability to generate cities being our proof of concept set of modules that we would like to see working.

I attached some rough sketches from our first group meeting. These are roughly the tasks we had in mind for the five of us:
- a visual interface in Eclipse for the generation procedure definition and a generic module interface specification that all the modules need to comply with
- four sample modules:
------------------------------
|-- city layout (roads grid & zoning)
|-- individual building generation
|-- street details generation (positioning lamps close to roads, trees in the park zones, fire hydrants, traffic lights...)
|-- populating pedestrians and cars in the city that move in some patterns (this is an expansion of an existing project at our university)

All five of us plan to submit individual applications (after tomorrow - when they are open) with more details on each of these subprojects (and our own qualifications).
kermit666
Gnoblar
Posts: 18
Joined: Mon Mar 07, 2011 6:29 pm
x 2

Re: [GSoC 2011] Visually program procedural cities in Ogre

Post by kermit666 »

OK, I've put together an official proposal and uploaded it on the GSoC page (though I'm having some trouble with the formatting since I wrote it in LaTeX and didn't have time to convert it to HTML).

Here is the pdf file for now.
kermit666
Gnoblar
Posts: 18
Joined: Mon Mar 07, 2011 6:29 pm
x 2

Re: [GSoC 2011] Visually program procedural cities in Ogre

Post by kermit666 »

Hey all!

A shame we didn't get the GSoC project (though expected to a certain point). Congratulations to the people who did!

OK, to keep true to our promise to try working on this project as a community project, regardless of GSoC, we would like to open a subcategory or at least a topic somewhere on this forum. What would the best place to talk about additions of this kind be?
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Re: [GSoC 2011] Visually program procedural cities in Ogre

Post by jacmoe »

Using Ogre in Practice would be a good choice. :)
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
conkienlua
Deactivated User
Posts: 5
Joined: Tue Sep 20, 2011 6:57 pm

Re: [GSoC 2011] Visually program procedural cities in Ogre

Post by conkienlua »

I've found a solution to using a native mouse cursor for ogre. I'm going to use wxWidgets & Ogre together by passing a pointer to the wxWindow into the createRenderWindow as a param titled "externalWindowHandle".

This approach is available as a non working sample from the source based release of ogre. Also more recently used in the Mage project to create a visual scene editor for Ogre.

I initally used the main window hWnd to create the ogre render window but found that the screen coordinates were offset by the toolbar and could not be corrected. So instead I opted to use a nice window manager wxAui that provide dockable
Post Reply