MAGE - Level editor
- jacmoe
- OGRE Retired Moderator
- Posts: 20570
- Joined: Thu Jan 22, 2004 10:13 am
- Location: Denmark
- x 179
- Contact:
- rewinder
- Halfling
- Posts: 68
- Joined: Fri Sep 24, 2004 5:15 am
- Location: Omsk / Russia
- Contact:
Hello again and sorry for long silence.
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 ). So now if you want to checkout sources, you need TortoiseSVN or something similar.
SVN repository URL: svn://ogre3d.org.ru/mage/
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 ). So now if you want to checkout sources, you need TortoiseSVN or something similar.
SVN repository URL: svn://ogre3d.org.ru/mage/
- rewinder
- Halfling
- Posts: 68
- Joined: Fri Sep 24, 2004 5:15 am
- Location: Omsk / Russia
- Contact:
- rewinder
- Halfling
- Posts: 68
- Joined: Fri Sep 24, 2004 5:15 am
- Location: Omsk / Russia
- Contact:
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 .
Here is screenshot wich shows GUI layout changes since Qt version and also shows MAGE's future roadmap.
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.
Here is screenshot wich shows GUI layout changes since Qt version and also shows MAGE's future roadmap.
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.
- Jerky
- Orc Shaman
- Posts: 791
- Joined: Wed Mar 02, 2005 4:13 am
- Location: Springville, Utah
- Contact:
First, lemme say great work! It is refreshing to see constant progress on something for a change .
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.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?
- jacmoe
- OGRE Retired Moderator
- Posts: 20570
- Joined: Thu Jan 22, 2004 10:13 am
- Location: Denmark
- x 179
- Contact:
Nice to see MAGE progressing!
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?
Congratulations on a job well done!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 .
UI is difficult, no matter what the GUI is.rewinder wrote:what interface layout will be more comfortable, what changes MAGE needs to be more pretty?
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?
- xavier
- OGRE Retired Moderator
- Posts: 9481
- Joined: Fri Feb 18, 2005 2:03 am
- Location: Dublin, CA, US
- x 22
Your English is more than adequate -- in fact, it's better than many native English-speaking individuals around here.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.
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).
- Chris Jones
- Lich
- Posts: 1742
- Joined: Tue Apr 05, 2005 1:11 pm
- Location: Gosport, South England
- x 1
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 enginesIs 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).
- Game_Ender
- Ogre Magi
- Posts: 1269
- Joined: Wed May 25, 2005 2:31 am
- Location: Rockville, MD, USA
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.
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.
I can be very guilty of this sometimes .Your English is more than adequate -- in fact, it's better than many native English-speaking individuals around here. Wink
- xavier
- OGRE Retired Moderator
- Posts: 9481
- Joined: Fri Feb 18, 2005 2:03 am
- Location: Dublin, CA, US
- x 22
- jacmoe
- OGRE Retired Moderator
- Posts: 20570
- Joined: Thu Jan 22, 2004 10:13 am
- Location: Denmark
- x 179
- Contact:
Re: MAGE - Level editor
The MAGE 'sales pitch' really caught my attention:
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?
I seems like the moment we all have been waiting for is arriving!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.
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?
- Chris Jones
- Lich
- Posts: 1742
- Joined: Tue Apr 05, 2005 1:11 pm
- Location: Gosport, South England
- x 1
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?
if that makes sense?
- Game_Ender
- Ogre Magi
- Posts: 1269
- Joined: Wed May 25, 2005 2:31 am
- Location: Rockville, MD, USA
I stand corrected. Now if only there was integration between wxFlatNotebookand wxAUI, so we could have full tab based layout functionality.Rodif wrote:It looks like he is already using wxAUI.
- rewinder
- Halfling
- Posts: 68
- Joined: Fri Sep 24, 2004 5:15 am
- Location: Omsk / Russia
- Contact:
First of all I would like to say thanks to all your good responses. Nice to hear them
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.
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 .
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 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.
Yes, there are some editors available.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.
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.
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.Perhaps a look at the Chronos Editor could give you some ideas?
Yes, I think now MAGE can be easily built and used in other project, but be ready to stroke Ctrl+S more often than usualIs 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).
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 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
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 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.
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.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?
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, ¶ms);
Hmm. I must look at this project. wxIFM, as mentioned in feature list, supports docking tabs, which is great ability I think.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.
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?
You right, man. CheersI seems like the moment we all have been waiting for is arriving!
Absolutely. I have brief look at GOOF map editor discussion and can say that anything including physic simulation can be implemented in MAGE.And, since MAGE is designed that way, it would be a matter of GOOF enable it by writing a plugin, am I right?
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.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?
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 stand corrected. Now if only there was integration between wxFlatNotebook and wxAUI, so we could have full tab based layout functionality.
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.
- jacmoe
- OGRE Retired Moderator
- Posts: 20570
- Joined: Thu Jan 22, 2004 10:13 am
- Location: Denmark
- x 179
- Contact:
GOOF is much more than that - in fact, the physics bit is only a tiny piece of the puzzle.rewinder wrote:Absolutely. I have brief look at GOOF map editor discussion and can say that anything including physic simulation can be implemented in MAGE.And, since MAGE is designed that way, it would be a matter of GOOF enable it by writing a plugin, am I right?
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.
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.
- Chris Jones
- Lich
- Posts: 1742
- Joined: Tue Apr 05, 2005 1:11 pm
- Location: Gosport, South England
- x 1
- Game_Ender
- Ogre Magi
- Posts: 1269
- Joined: Wed May 25, 2005 2:31 am
- Location: Rockville, MD, USA
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.rewinder wrote:Of course these tools can be used in development and I will take a look at wxDesigner today.
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.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.
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.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 .
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.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.
- Jerky
- Orc Shaman
- Posts: 791
- Joined: Wed Mar 02, 2005 4:13 am
- Location: Springville, Utah
- Contact:
-
- Goblin
- Posts: 235
- Joined: Wed Feb 05, 2003 5:49 am
- Contact:
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.
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.
- rewinder
- Halfling
- Posts: 68
- Joined: Fri Sep 24, 2004 5:15 am
- Location: Omsk / Russia
- Contact:
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.What version of Ogre do you compile this against?
You can e-mail or pm me compilation errors - maybe I can help.
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.Has any thought gone in to adding advanced material and shader editing to MAGE? Specifically an artistic pipeline.
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.
- Falagard
- OGRE Retired Moderator
- Posts: 2060
- Joined: Thu Feb 26, 2004 12:11 am
- Location: Toronto, Canada
- x 3
- Contact:
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
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
- rewinder
- Halfling
- Posts: 68
- Joined: Fri Sep 24, 2004 5:15 am
- Location: Omsk / Russia
- Contact:
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.
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.
- Falagard
- OGRE Retired Moderator
- Posts: 2060
- Joined: Thu Feb 26, 2004 12:11 am
- Location: Toronto, Canada
- x 3
- Contact:
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.
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.
- rewinder
- Halfling
- Posts: 68
- Joined: Fri Sep 24, 2004 5:15 am
- Location: Omsk / Russia
- Contact:
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.
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.