MAGE - Level editor

A place to show off your latest screenshots and for people to comment on them. Only start a new thread here if you have some nice images to show off!
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Post by jacmoe »

@rewinder:
Great to see that MAGE is progressing nicely! :)
Very promising. 8)

@Jerky:
I moved Morgoth out of this showcase thread.. :wink:
User avatar
rewinder
Halfling
Posts: 68
Joined: Fri Sep 24, 2004 5:15 am
Location: Omsk / Russia
Contact:

Post by rewinder »

Hello again and sorry for long silence. :oops:
I made really little in past mounth (was busy at primary job and at home), but basic functionality is now available under wxWidgets.

Also please note that I have moved from SourceForge to another SVN server (thanks to Sulring from Russian Ogre Community site :wink: ). So now if you want to checkout sources, you need TortoiseSVN or something similar.

SVN repository URL: svn://ogre3d.org.ru/mage/
User avatar
rewinder
Halfling
Posts: 68
Joined: Fri Sep 24, 2004 5:15 am
Location: Omsk / Russia
Contact:

Post by rewinder »

Image
Just a loaded level from our game. Shows that anything seems to work except GUI :)
User avatar
rewinder
Halfling
Posts: 68
Joined: Fri Sep 24, 2004 5:15 am
Location: Omsk / Russia
Contact:

Post by rewinder »

I have just finished basic PropertyGrid support and made some improvements in object picking system. Our level designer now works with MAGE version based on wxWidgets, so I think Qt-to-wxWidgets port can be marked as completed :wink: .

Here is screenshot wich shows GUI layout changes since Qt version and also shows MAGE's future roadmap.
Image

I know that wxWidgets-based GUI is not so eye-candy like Qt-based, but I think, more comfortable for user. And if MAGE is first of all an editor, it's interface must be usable for end user. So I have a question - what interface layout will be more comfortable, what changes MAGE needs to be more pretty?

And last. MAGE really needs API documentation and some tutorials. I can write it by myself, but my english as you can see is quite bad :( So I will be obliged if somebody will help me in correction of my language mistakes :? , and of course if anybody wants to help in MAGE development, you are welcome.

WBR, rewinder.
User avatar
Jerky
Orc Shaman
Posts: 791
Joined: Wed Mar 02, 2005 4:13 am
Location: Springville, Utah
Contact:

Post by Jerky »

First, lemme say great work! It is refreshing to see constant progress on something for a change :).
rewinder wrote:I know that wxWidgets-based GUI is not so eye-candy like Qt-based, but I think, more comfortable for user. And if MAGE is first of all an editor, it's interface must be usable for end user. So I have a question - what interface layout will be more comfortable, what changes MAGE needs to be more pretty?
I do not know about WxWidgets, so this could be a dumb question. Is there a gui editor in it? I know cegui has one. If so, the gui could be remedied, although it is workable at the moment.
Erik Briggs (Jerky)
My Blog
Project Wish
Image
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Post by jacmoe »

Nice to see MAGE progressing! :)
rewinder wrote:I have just finished basic PropertyGrid support and made some improvements in object picking system. Our level designer now works with MAGE version based on wxWidgets, so I think Qt-to-wxWidgets port can be marked as completed :wink: .
Congratulations on a job well done! 8)
rewinder wrote:what interface layout will be more comfortable, what changes MAGE needs to be more pretty?
UI is difficult, no matter what the GUI is.
Maybe if you look into native look and feel - on Windows you link in a look'n'feel manifest to make it theme-aware.

Perhaps a look at the Chronos Editor could give you some ideas? :)
User avatar
xavier
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 9481
Joined: Fri Feb 18, 2005 2:03 am
Location: Dublin, CA, US
x 22

Post by xavier »

rewinder wrote: And last. MAGE really needs API documentation and some tutorials. I can write it by myself, but my english as you can see is quite bad :( So I will be obliged if somebody will help me in correction of my language mistakes :? , and of course if anybody wants to help in MAGE development, you are welcome.

WBR, rewinder.
Your English is more than adequate -- in fact, it's better than many native English-speaking individuals around here. ;)

Is MAGE finished enough that it can be used outside your project? If so, I'll be happy to lend a hand with documentation -- our project is just about ready for level editing so the timing is propitious (and of course since I've turned into mainly a tools developer for us now, I'd be happy also to help development in whatever way I can).
User avatar
Chris Jones
Lich
Posts: 1742
Joined: Tue Apr 05, 2005 1:11 pm
Location: Gosport, South England
x 1

Post by Chris Jones »

Is MAGE finished enough that it can be used outside your project? If so, I'll be happy to lend a hand with documentation -- our project is just about ready for level editing so the timing is propitious (and of course since I've turned into mainly a tools developer for us now, I'd be happy also to help development in whatever way I can).
i was wondering this too. the OGE project, altho we have only just started it and is only in planning stage currently, we will need a level editor etc in the future, i was wondering if itll be easy to use/integrate for different engines
User avatar
Game_Ender
Ogre Magi
Posts: 1269
Joined: Wed May 25, 2005 2:31 am
Location: Rockville, MD, USA

Post by Game_Ender »

I am a wxWidgets developer and I might be able drop a patch by from time to time if you get a SVN or CVS setup. One thing I am curious about is how cross platform is the method you are using to embed the Ogre window in the wxWidgets, and do you support mutiple view ports? I think an ability to layout view ports like you can do you in UnrealEd or Blender will be of big benifits. The Ogre community is really neededing a good cross platform editor, I hope this will be it.

Some wxWidgets specific issues you might want to look at:
-A docking window toolkit: wxIFM is the most feature rich, but I don't know how well it works on linux and its creator is working on a wxWidgets competitor called OMGUI so I don't know how long it will be supported. wxDockIt, is old an soppesdly harder to use and less advanced than wxIFM. It is less active than wxIFM. wxAUI is the newcomer to the group, but I think it looks the best. It does not currently support docking tabs, but it is on the roadmap.
-XRC: if you aren't already using XRC to layout your dialogs and panels I would consider it. Using XRC allows people to use many different 3rd party tools to edit the GUI. I have full version DialogBlocks and have succesfully updated Code::Blocks guis, even though no one else on the project uses DialogBlocks.
Your English is more than adequate -- in fact, it's better than many native English-speaking individuals around here. Wink
I can be very guilty of this sometimes :oops:.
User avatar
xavier
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 9481
Joined: Fri Feb 18, 2005 2:03 am
Location: Dublin, CA, US
x 22

Post by xavier »

Game_Ender wrote:The Ogre community is really neededing a good cross platform editor, I hope this will be it.
Agreed...I can stop working on ours and leverage MAGE and get back to actual logic coding if this works out. :)
User avatar
Rodif
Halfling
Posts: 46
Joined: Wed Nov 30, 2005 6:40 pm

Post by Rodif »

It looks like he is already using wxAUI.
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: MAGE - Level editor

Post by jacmoe »

The MAGE 'sales pitch' really caught my attention:
rewinder wrote:Hi all.
Our team is working on level editor for our game. We call it MAGE (Multi-purpose Abstract Game Editor). When we started to develop it we keep in mind one thing: reusability. Our goal is make it as abstract and multiporposional as possible.
I seems like the moment we all have been waiting for is arriving!

Very cool that xavier, Game_Ender and Chris Jones (OGE) are willing to jump on the MAGE bandwagon!
I means that MAGE is about to leap forward! :)

I am perfectly aware of the PLSM2 editor in progress - but I suspect it to last awhile before the editor and the GOOF framework is released to the masses..

And, since MAGE is designed that way, it would be a matter of GOOF enable it by writing a plugin, am I right? :wink:
User avatar
Chris Jones
Lich
Posts: 1742
Joined: Tue Apr 05, 2005 1:11 pm
Location: Gosport, South England
x 1

Post by Chris Jones »

does MAGE require/force ogre to render into it? because i was thinking, if OGE does use it, at least for a first level editor (we havent actually discussed this yet), could we get our engine to render into it? it will be ogre, but it would be better if we could integrate our engine fully

if that makes sense?
User avatar
Game_Ender
Ogre Magi
Posts: 1269
Joined: Wed May 25, 2005 2:31 am
Location: Rockville, MD, USA

Post by Game_Ender »

Rodif wrote:It looks like he is already using wxAUI.
I stand corrected. Now if only there was integration between wxFlatNotebookand wxAUI, so we could have full tab based layout functionality.
User avatar
rewinder
Halfling
Posts: 68
Joined: Fri Sep 24, 2004 5:15 am
Location: Omsk / Russia
Contact:

Post by rewinder »

First of all I would like to say thanks to all your good responses. Nice to hear them :)
I do not know about WxWidgets, so this could be a dumb question. Is there a gui editor in it? I know cegui has one. If so, the gui could be remedied, although it is workable at the moment.
Yes, there are some editors available.
AFAIK most commonly used is CodeBlocks, but it is shareware and costs about 60$
Another commercial tool is wxDesigner. It costs about 129$. I didn't tried it, but most likely it generates XRC like DialogBlocks.
Of course these tools can be used in development and I will take a look at wxDesigner today. But I also must say that it will be useful only for dialog windows because main window interface "generates" in run-time and have many plugin-depend places.
Maybe if you look into native look and feel - on Windows you link in a look'n'feel manifest to make it theme-aware.
Perhaps a look at the Chronos Editor could give you some ideas?
Yes, I see at it's screenshots at the moment %). It really feature-rich and well-designed project. I like material editor and material preview window, but I want them to be separated from MAGE (separate plugin or maybe separate tool, but I prefer plugin). Anyway, Chronos is good project which can aims development in correct way.
Is MAGE finished enough that it can be used outside your project? If so, I'll be happy to lend a hand with documentation -- our project is just about ready for level editing so the timing is propitious (and of course since I've turned into mainly a tools developer for us now, I'd be happy also to help development in whatever way I can).
Yes, I think now MAGE can be easily built and used in other project, but be ready to stroke Ctrl+S more often than usual :oops: :wink:
i was wondering this too. the OGE project, altho we have only just started it and is only in planning stage currently, we will need a level editor etc in the future, i was wondering if itll be easy to use/integrate for different engines
Hmmm. Do you mean game or rendering engine? If you speak about abstraction from rendering engine, I must say that now it is not possible, sorry. :( It will be great feature, but we should abstract from every part of OGRE (scene graph, meshes, animations, materials and textures, resource management, etc). I thought about such feature, but did not decide to implement it. It is important subject for discussion.
I am a wxWidgets developer and I might be able drop a patch by from time to time if you get a SVN or CVS setup.
Yes, there is SVN repository located at svn://ogre3d.org.ru/mage/. I would like to setup something like Trac (a project management system used at Chronos site) - it will bring issue tracker, patch tracker and wiki.
One thing I am curious about is how cross platform is the method you are using to embed the Ogre window in the wxWidgets, and do you support mutiple view ports?
I think it is portable enought because I pass HWND using 'externalWindowHandle' param during createRenderWindow(). It works with both OpenGL and Direct3D without any changes.

Code: Select all

Ogre::NameValuePairList params;
params["externalWindowHandle"] = Ogre::StringConverter::toString((size_t)GetHandle());

mOgreRenderWindow = Ogre::Root::getSingleton().createRenderWindow("MageRenderWindow", size.GetWidth(), size.GetHeight(), false, &params);
Multiple viewports is my todo list, but there is one nuance: we cannot implement viewports like separate RenderWindows because OpenGL rendering system doesn't support it (it can manage only one window at time). Multiple viewports should be implemented like separate OGRE's viewports in one rendering window. But I can be wrong, so correct me if I am :).
wxIFM is the most feature rich, but I don't know how well it works on linux and its creator is working on a wxWidgets competitor called OMGUI so I don't know how long it will be supported.
Hmm. I must look at this project. wxIFM, as mentioned in feature list, supports docking tabs, which is great ability I think.
Now I'm using wxAUI, but I didn't heard anything about wxIFM. wxAUI is simply to use and eye-candy, but docking tabs is great benefit. Another solution, as Game_Ender said, is using wxFlatNotebook. As I can understand, it supports drag-and-drop tab movement, yes?
I seems like the moment we all have been waiting for is arriving!
You right, man. Cheers :)
And, since MAGE is designed that way, it would be a matter of GOOF enable it by writing a plugin, am I right?
Absolutely. I have brief look at GOOF map editor discussion and can say that anything including physic simulation can be implemented in MAGE.
does MAGE require/force ogre to render into it? because i was thinking, if OGE does use it, at least for a first level editor (we havent actually discussed this yet), could we get our engine to render into it? it will be ogre, but it would be better if we could integrate our engine fully

if that makes sense?
As I said earlier, I didn't thought MAGE will need such functionality. But maybe it deserve development time because it already needed by 2 people.
I stand corrected. Now if only there was integration between wxFlatNotebook and wxAUI, so we could have full tab based layout functionality.
OK, I think it is way we go. wxFlatNotebook can be used not only in docking tabs functionality, but in some other places of UI.

I will make website in 2 or 3 days (I'm not owner of server where SVN is located) and think over all of resopnses and suggestions said here to make official roadmap. And I think that first of all we must "file off" current features before introducing new others.

rewinder.
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Post by jacmoe »

rewinder wrote:
And, since MAGE is designed that way, it would be a matter of GOOF enable it by writing a plugin, am I right?
Absolutely. I have brief look at GOOF map editor discussion and can say that anything including physic simulation can be implemented in MAGE.
GOOF is much more than that - in fact, the physics bit is only a tiny piece of the puzzle.
GOOF is described here:
http://www.ogre3d.org/wiki/index.php/Ga ... _Framework

I think it will be a long while before falagard releases this, so no rush. :wink:

And I don't agree that MAGE should be able to handle generic renderers - base it on Ogre.
But the various gameformats could/should be implemented through plugins.
User avatar
Chris Jones
Lich
Posts: 1742
Joined: Tue Apr 05, 2005 1:11 pm
Location: Gosport, South England
x 1

Post by Chris Jones »

i never said anything about other renderers! all i asked was about integrating a game engine that uses OGRE, for example, instead of MAGE initialising ogre, the engine could do it, then pass a pointer to MAGE or something like that
User avatar
Game_Ender
Ogre Magi
Posts: 1269
Joined: Wed May 25, 2005 2:31 am
Location: Rockville, MD, USA

Post by Game_Ender »

rewinder wrote:Of course these tools can be used in development and I will take a look at wxDesigner today.
I currently use DialogBlocks in just such a manner, and it is a great tool to work with. My application has custom main frame and then all the external dialogs are done with DialogBlocks. It so very easier to get those sizers exactly right when you can lay them out visually. It is definitely worth the price, if you are student it is definitely even more worth it because of the student rate. I recommended XRC because it would allow people to use different tools.

Yes, there is SVN repository located at svn://ogre3d.org.ru/mage/. I would like to setup something like Trac (a project management system used at Chronos site) - it will bring issue tracker, patch tracker and wiki.
I would be awesome if you get Trac setup, it is a very great tool. I have been following it for a long time. I look forward to trying to get this to work on windows.
Multiple viewports should be implemented like separate OGRE's viewports in one rendering window. But I can be wrong, so correct me if I am :).
You are right about this, I am hoping this bug will be fixed in Dagon. The window handle method is going to have to be written for at least for linux, because you need to transform the value wxWidgets gives you into what Ogre wants. This was just a gtk macro so it shouldn't be to hard.
OK, I think it is way we go. wxFlatNotebook can be used not only in docking tabs functionality, but in some other places of UI.
Currently you can't actually use wxFlatNotebook for docking tabs, but you can use it to have draggable tabs in other places in the UI. I would probably just wait for wxAUI to support dock-able tabs and go with their implementation when it comes.
User avatar
Jerky
Orc Shaman
Posts: 791
Joined: Wed Mar 02, 2005 4:13 am
Location: Springville, Utah
Contact:

Post by Jerky »

Rewinder, maybe I missed it. What version of Ogre do you compile this against? I am trying, using VS 2005 express. Getting some errors that im sure come from me using CVS head of Ogre main. I would like to see this new version in action on wxwidgets, if you can help me out :).

Keep up the great work.
Erik Briggs (Jerky)
My Blog
Project Wish
Image
Kerion
Goblin
Posts: 235
Joined: Wed Feb 05, 2003 5:49 am
Contact:

Post by Kerion »

Has any thought gone in to adding advanced material and shader editing to MAGE? Specifically an artistic pipeline.

I ask, because I am currently working on such a project, using some of the new UnrealEd 3 features as my inspiration. I guess the question is: Do you plan to keep MAGE a simple level editor, or would you be interested in moving more towards a complete content solution?

If I am going to be doing the work anyway, I might as well integrate it with an editor that the community seems to be backing :) I am currently working on a visual shader creation tool using wxWidgets. This will be one of the "modules" that makes up the artistic pipeline I am envisioning.
User avatar
rewinder
Halfling
Posts: 68
Joined: Fri Sep 24, 2004 5:15 am
Location: Omsk / Russia
Contact:

Post by rewinder »

What version of Ogre do you compile this against?
I'm using OGRE 1.0.6 and wxWidgets 2.6.2 but I think MAGE will compile successfully with any OGRE from 1.0.x branch and any wxWidgets 2.6.X.
You can e-mail or pm me compilation errors - maybe I can help.
Has any thought gone in to adding advanced material and shader editing to MAGE? Specifically an artistic pipeline.
Good question thought it is one big thing in my todo list. Of course, MAGE needs such functionality because material creation is big part in game content production workflow. Any project using OGRE as rendering engine needs WYSIWYG material editor because artists mostly are not familar with scripts - they need GUI solutions with immediatly results displaying. Anyone understands it.
So one question: should it be separate tool or additional plugin for editor? NB material editor cannot be implemented with SDK which MAGE now have because there are a lot of additional GUI stuff in implementation (now plugins are just able to 'tell' about object properties and methods).
Another internal 'editor' MAGE should have is a particle editor. If it will be implemented as separate tool, three editors instead of one will be really complicating. So I think best solution is to improve plugin abilities in GUI management and implement these editors just as additional modules. There is not many work in SDK extension, and main part is material editor itself. So if you interested in development of such plugin, contact me and we could discuss implementation details more thoroughly.
User avatar
Falagard
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 2060
Joined: Thu Feb 26, 2004 12:11 am
Location: Toronto, Canada
x 3
Contact:

Post by Falagard »

I agree, regarding materials being important part of art creation pipeline.

I'm planning on creating a unified material system for GOOF which means that you won't be using Ogre .material scripts at all. The artist will create or edit a material using a simple dialog that asks them for textures, colours, specular, reflection, etc. and store those values in an xml file. Then the material will be created at runtime by GOOF.

Clay
User avatar
rewinder
Halfling
Posts: 68
Joined: Fri Sep 24, 2004 5:15 am
Location: Omsk / Russia
Contact:

Post by rewinder »

Hm, but what about shaders, texture animations and other 'advanced' features of OGRE material scripts?
By the way, take a loot at Unreal Material Editor: http://www.unrealtechnology.com/screens ... Editor.jpg
As I can understand it generates pixel shaders at end.
User avatar
Falagard
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 2060
Joined: Thu Feb 26, 2004 12:11 am
Location: Toronto, Canada
x 3
Contact:

Post by Falagard »

A set of common shaders will be provided for things like normal + specular, normal + specular + reflection, etc. It'll dynamically choose the appropriate shader based on the options you've selected. At the same time, if you want you can specify a custom shader in the settings dialog and it'll use yours instead of dynamically trying to choose one, or you can simply provide a completely custom .material script instead of using the GOOF material system. But basically it's easier to have a unified material system with a set of common shaders used by most objects.

And it's a good thing (based on my experience) to be generate materials programmatically because you don't have to worry about a thousand materials sitting in different .material files, and all the parameters that you have to pass to your shaders having to be specified properly in all those files. And then later on if you add a new parameter, having to go through all those files to update them. I guess it could be automated by using Ogre's material parser and writing some code to iterate through the files, but painful.

Regarding the unreal material editor, that's fine for defining a material template... but you wouldn't want to have to do that for every material used in the game. You'd want to define the template up front and then just have artist say... yup, texture 1 is this, texture 2 is that, and here's the bump map. Not have to do all the linking and hooking up each time.
User avatar
rewinder
Halfling
Posts: 68
Joined: Fri Sep 24, 2004 5:15 am
Location: Omsk / Russia
Contact:

Post by rewinder »

Good day.
I have news about MAGE's site and SVN repository. I have tried to install Trac in our environment, but no results. Then I looked at Google and found free SVN hosting with Trac support. I played with them and think that it is enought for first time.
So you can find Trac for MAGE at https://opensvn.csie.org/traccgi/mage/trac.cgi/
SVN repository movement is not finished yet, so repository url is old: svn://ogre3d.org.ru/mage I will move repository in 2 or 3 days (cannot contact with current svn server administrator)

Basic wiki layout is complete, but it is quite information-less :) But basic compilation instructions can be found there.

2 Falagard
Great solution as it seems to me. I was allways messed with problems you described in you post so I think GOOF material system will be claim.
Post Reply