MAGE - Level editor
-
- Halfling
- Posts: 68
- Joined: Fri Sep 24, 2004 5:15 am
- Location: Omsk / Russia
MAGE - Level editor
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.
Before we thought it will be internal tool and we didn't going to show it to public. But now we think that it will be good for community to have such tool, so after some time we need for testing we are planning to release sources.
It is very unstable now, but it content all things we planned to develop:
- property system
- event system (borrowed from CEGUI)
- object hierarchy system
We are using Qt 4.0 for GUI, and it is main 3rd party dependency. In other hand, MAGE can be very easily ported to Linux and Mac.
Main disadvantages are:
- Ugly API. It really needs some refactoring.
- Undocumented and uncommented code. Our skills in English are very low, and it is one of our main problems.
So, there is a lot of work to do. But now MAGE does it's main job: load plugin which contents tools, objects, loaders/savers and give this arsenal to user.
Developers can easily write their own plugins for their projects, so core framework (GUI, renderer, input, etc) are premanent, but concrete type of objects and tools are loaded from shared libraries. So, we can say that MAGE is a framework for your own level editor.
We are looking forward for your comments and suggestions and we are going to release sources after about 2 weeks.
Screenshot: http://rewinder.studiodva.com/mage.jpg
WBR, rewinder
Studio "DVA" Team
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.
Before we thought it will be internal tool and we didn't going to show it to public. But now we think that it will be good for community to have such tool, so after some time we need for testing we are planning to release sources.
It is very unstable now, but it content all things we planned to develop:
- property system
- event system (borrowed from CEGUI)
- object hierarchy system
We are using Qt 4.0 for GUI, and it is main 3rd party dependency. In other hand, MAGE can be very easily ported to Linux and Mac.
Main disadvantages are:
- Ugly API. It really needs some refactoring.
- Undocumented and uncommented code. Our skills in English are very low, and it is one of our main problems.
So, there is a lot of work to do. But now MAGE does it's main job: load plugin which contents tools, objects, loaders/savers and give this arsenal to user.
Developers can easily write their own plugins for their projects, so core framework (GUI, renderer, input, etc) are premanent, but concrete type of objects and tools are loaded from shared libraries. So, we can say that MAGE is a framework for your own level editor.
We are looking forward for your comments and suggestions and we are going to release sources after about 2 weeks.
Screenshot: http://rewinder.studiodva.com/mage.jpg
WBR, rewinder
Studio "DVA" Team
-
- Silver Sponsor
- Posts: 1141
- Joined: Tue Jul 06, 2004 5:57 am
- x 151
Rewinder,
Good initiative, although I have mixed feelings with another editor. There are several projects that are still WIP, but none of them really delivered the goods. I don't blame anyone; we are all doing this in our spare time, but I hope one of these projects really reaches the finish. I wish you at least good luck with the project.
Good initiative, although I have mixed feelings with another editor. There are several projects that are still WIP, but none of them really delivered the goods. I don't blame anyone; we are all doing this in our spare time, but I hope one of these projects really reaches the finish. I wish you at least good luck with the project.
-
- Gremlin
- Posts: 150
- Joined: Sat Mar 19, 2005 7:51 pm
- Location: San Jose, Costa Rica
-
- Halfling
- Posts: 68
- Joined: Fri Sep 24, 2004 5:15 am
- Location: Omsk / Russia
No, working on our game project (which is about 70% finished) and on MAGE is our regular work so it gives (at least to us) hope in good result of project.I don't blame anyone; we are all doing this in our spare time, but I hope one of these projects really reaches the finish.
Thanks for warm wordsI wish you at least good luck with the project.
Maybe, maybe... But we develop all our GUI using Qt and don't know mutch about .Net technology. I think property editor and other components can be easily implemented in Qt too, so it makes no sense. But if anyone wants to port MAGE to .Net, you are welcome .Great work man. Though, if Maleficus releases the .Net version, this project could be ported to that, taking advantage of several components such as the property editor and well... everything the .net BCL has to offer.
-
- Greenskin
- Posts: 116
- Joined: Sat Jul 30, 2005 11:11 am
- Location: Vancouver, B.C. Canada
That might be a pain, since mono's System.Windows.Forms is still in development and more or less unusable. I imagine they're using GTK for windowing (since it's crossplatform), and while there are GTK bindings for .NET/Mono, I have no clue how one would get Ogre working with them. Sounds like an interesting project thoughskullfire wrote:Great work man. Though, if Maleficus releases the .Net version, this project could be ported to that, taking advantage of several components such as the property editor and well... everything the .net BCL has to offer.
edit- oh, they used QT. I'm not sure bindings even exist for it. It might though.
-
- Halfling
- Posts: 68
- Joined: Fri Sep 24, 2004 5:15 am
- Location: Omsk / Russia
-
- Lich
- Posts: 1742
- Joined: Tue Apr 05, 2005 1:11 pm
- Location: Gosport, South England
- x 1
-
- OGRE Retired Moderator
- Posts: 20570
- Joined: Thu Jan 22, 2004 10:13 am
- Location: Denmark
- x 179
Re: MAGE - Level editor
This is a very good idea!rewinder wrote: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 appreciated!rewinder wrote:Before we thought it will be internal tool and we didn't going to show it to public. But now we think that it will be good for community to have such tool, so after some time we need for testing we are planning to release sources.
There is a lot of editors in progress right now, but none of them are released or usable as is.
It looks as if your editor is going to be the first one out.
This is more features than any WIP Ogre editor.rewinder wrote:It is very unstable now, but it content all things we planned to develop:
- property system
- event system (borrowed from CEGUI)
- object hierarchy system
Even better!rewinder wrote:We are using Qt 4.0 for GUI, and it is main 3rd party dependency. In other hand, MAGE can be very easily ported to Linux and Mac.
If you decide to open-source it, and give it a proper open-source home (like ogreaddons or Berlios) - this could be improved upon by a lot of english speaking users and/or competent programmers.rewinder wrote:Main disadvantages are:
- Ugly API. It really needs some refactoring.
- Undocumented and uncommented code. Our skills in English are very low, and it is one of our main problems.
This is great news!rewinder wrote:So, there is a lot of work to do. But now MAGE does it's main job: load plugin which contents tools, objects, loaders/savers and give this arsenal to user.
It looks as if you guys did an excellent job!rewinder wrote:Developers can easily write their own plugins for their projects, so core framework (GUI, renderer, input, etc) are premanent, but concrete type of objects and tools are loaded from shared libraries. So, we can say that MAGE is a framework for your own level editor.
rewinder wrote:We are looking forward for your comments and suggestions and we are going to release sources after about 2 weeks.
I will be watching this space, that's for sure!
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
-
- Greenskin
- Posts: 116
- Joined: Sat Jul 30, 2005 11:11 am
- Location: Vancouver, B.C. Canada
I agree.rewinder wrote: I don't think that using third layer over native windowing system is a good way.
I'm not the one who suggested the idea . And I do think it would be more trouble than it's worth. As for .NET, I'm not a fanboy, there's things I don't like. For example, the garbage collector annoys me. Garbage collection is for newbies who don't know how to delete their objects.rewinder wrote: Qt already abstracted from concrete platform, so why you like .NET so much?
Let's just say, I'm more specifically a c# fanboy than a .NET fanboy . My ideal language would be an unmanaged version of c#.
But this isn't a topic for this thread. I'll be quiet now .
Neat project, guys
-
- Halfling
- Posts: 68
- Joined: Fri Sep 24, 2004 5:15 am
- Location: Omsk / Russia
Ruefully, but MAGE in it's current state is very far from complete product. It works now, but our main goal is robust and intuitive API for toolset developers (like Ogre have), and we working on it. Another aspect is user-friendly interface and comfortable object editing (like MAX/Maya have).There is a lot of editors in progress right now, but none of them are released or usable as is.
Anyway, work is in progress.
Yes, of course. Now I'm waiting for project approval in sourceforge.net.If you decide to open-source it, and give it a proper open-source home (like ogreaddons or Berlios) - this could be improved upon by a lot of english speaking users and/or competent programmers.
Yes, I'm quiet too As many peolpe as many tasties.But this isn't a topic for this thread. I'll be quiet now
-
- Goblin
- Posts: 241
- Joined: Mon Apr 18, 2005 5:03 pm
-
- Halfling
- Posts: 68
- Joined: Fri Sep 24, 2004 5:15 am
- Location: Omsk / Russia
-
- Hobgoblin
- Posts: 593
- Joined: Fri Apr 08, 2005 6:08 pm
- Location: WA, USA
Any chance that you could develop your editor in such a way, that later, someone (could be me ) would develop a physics editor out of it?
P.S. By physics editor, I mean being able to create basic shapes, rotate, move, of course, do some funky relation based activities (like adding a joint, motor, etc.), and then later being able to easily read all of it, to produce a physics xml description.
P.S. By physics editor, I mean being able to create basic shapes, rotate, move, of course, do some funky relation based activities (like adding a joint, motor, etc.), and then later being able to easily read all of it, to produce a physics xml description.
-
- Lich
- Posts: 1742
- Joined: Tue Apr 05, 2005 1:11 pm
- Location: Gosport, South England
- x 1
-
- Gnoblar
- Posts: 12
- Joined: Thu Jul 14, 2005 9:44 am
- Location: Russia
Our team has released first version of Mage. You can gain access to it through the sf.net with help the CVS:
MAGE
How to use CVS at sf.net
Note, that the code is too raw and required for refactoring.
some items from the TODO list:
-- Camera Controller(smothly moving, orthographic projection, predefined views)
-- Оbject Selector(different kinds of object picking)
-- Interface improving
-- Docs, new toolsets
If somebody want work with us at this project - welcome
MAGE
How to use CVS at sf.net
Note, that the code is too raw and required for refactoring.
some items from the TODO list:
-- Camera Controller(smothly moving, orthographic projection, predefined views)
-- Оbject Selector(different kinds of object picking)
-- Interface improving
-- Docs, new toolsets
If somebody want work with us at this project - welcome
-
- Gnoblar
- Posts: 12
- Joined: Thu Jul 14, 2005 9:44 am
- Location: Russia
-
- OGRE Retired Moderator
- Posts: 20570
- Joined: Thu Jan 22, 2004 10:13 am
- Location: Denmark
- x 179
What QT should I get in order to use it with msvc 2003 .NET ?The Qt/Windows Open Source Edition only supports the MinGW compiler.
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
-
- Lich
- Posts: 1742
- Joined: Tue Apr 05, 2005 1:11 pm
- Location: Gosport, South England
- x 1
isnt garbage collection slower? (im not sure what that question really related to but anyway)
ive read on some website about garbage collection halting a program for upto a few seconds whilst it did what it was doing. besides, if the garbage collector was going to delete an object, surly it would have to do the same thing as manual deletion, so it would be around the same speed? or even slower? seeing as its doing other things too
ive read on some website about garbage collection halting a program for upto a few seconds whilst it did what it was doing. besides, if the garbage collector was going to delete an object, surly it would have to do the same thing as manual deletion, so it would be around the same speed? or even slower? seeing as its doing other things too
-
- Halfling
- Posts: 68
- Joined: Fri Sep 24, 2004 5:15 am
- Location: Omsk / Russia
Yes, you can set up bodies/joints/collisions as usual and then run physic simulation. It is allowed by MAGE's architecture, you need just implement it in separate toolsetAny chance that you could develop your editor in such a way, that later, someone (could be me ) would develop a physics editor out of it?
MAGE saving all scene data throught abstract Saver class. Your toolset should implement saving method - you can use any format you want.and then later being able to easily read all of it, to produce a physics xml description.
Yes, of course. One thing you need is your own toolset which contents all of tools and objects you need. What kind they will be depends only on your imaginationi was thinking about that for my editor, im making my own file format to hold all info about the scene including physics, AI, sound etc etc
maybe this could be done with this editor too?
Oh... really, Qt/Windows OS works only with MinGW. And we are using commercial version of Qt, so we didn't know about this trouble.What QT should I get in order to use it with msvc 2003 .NET ?
Maybe it is possible to use commercial version of qmake to generate neccesary solution and project files for Open Source edition? I will try it now. By the way, does this solution conflicts with Qt's license?
-
- OGRE Retired Moderator
- Posts: 20570
- Joined: Thu Jan 22, 2004 10:13 am
- Location: Denmark
- x 179
I don't think so. The QT OS license is GPL - there's no (or I failed to find any) mentioning of it not working with msvc - even the INSTALL has a section on msvc. Only when you try and run configure, you will learn that it does not work on anything but mingw if you don't have a license key.rewinder wrote:Maybe it is possible to use commercial version of qmake to generate neccesary solution and project files for Open Source edition? I will try it now. By the way, does this solution conflicts with Qt's license?
Sucks.
But I don't think the distribution of vc project files will violate anything..?
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
-
- Halfling
- Posts: 68
- Joined: Fri Sep 24, 2004 5:15 am
- Location: Omsk / Russia
Step-by-step instructions (it works for Qt 4.0.0, but i think it will work with fresh Qt 4.0.1 too):
1) Download Qt/Windows Open Source.
2) Download this zip file
3) Extract Qt/Windows archive to something like C:\Qt\4.0.0 or C:\Qt\4.0.1 (warning! no spaces allowed in installation path!)
4) Run Visual Studio command prompt
5) Set up env. variables, replacing C:\Qt\4.0.X with your installation path:
6) Extract qmake.exe from qtopen2nmake.zip to C:\Qt\4.0.X\bin\
7) Extract win32-msvc.net from qtopen2nmake.zip to C:\Qt\4.0.X\mkspecs\
8 )
9) Open .qmake.cache in text editor and replace QMAKESPEC=win32-g++ with QMAKESPEC=win32-msvc.net
10)
11) Finished!
1) Download Qt/Windows Open Source.
2) Download this zip file
3) Extract Qt/Windows archive to something like C:\Qt\4.0.0 or C:\Qt\4.0.1 (warning! no spaces allowed in installation path!)
4) Run Visual Studio command prompt
5) Set up env. variables, replacing C:\Qt\4.0.X with your installation path:
Code: Select all
set QTDIR=C:\Qt\4.0.X
set PATH=%PATH%;C:\Qt\4.0.X\bin
set QMAKESPEC=win32-msvc.net
7) Extract win32-msvc.net from qtopen2nmake.zip to C:\Qt\4.0.X\mkspecs\
8 )
Code: Select all
C:
cd \Qt\4.0.X
configure.exe -platform win32-g++ -debug-and-release -shared
10)
Code: Select all
qmake.exe
nmake.exe
-
- OGRE Retired Moderator
- Posts: 20570
- Joined: Thu Jan 22, 2004 10:13 am
- Location: Denmark
- x 179
I had to name the Qt directory: c:/Qt/4.0.0 - otherwise qmake fails.
Then I had to add these lines to the qplatformdefs.h in win32-msvc.net:
That got me as far as compiling qtmain and qtmaind, moc.exe and something else, but the linker dies:
Then I had to add these lines to the qplatformdefs.h in win32-msvc.net:
Code: Select all
#define QT_FOPEN ::fopen
#define QT_FSEEK ::fseek
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
#define QT_FPOS_T fpos_t
#define QT_OFF_T off_t
qtextcodec.cpp
qutfcodec.cpp
qisciicodec.cpp
qtsciicodec.cpp
qlatincodec.cpp
qsimplecodec.cpp
qfontlaocodec.cpp
Generating Code...
cl -c -nologo -Zm200 -O2 -MD -O2 -MD -GR -EHsc -W3 -w34100 -w34189 -DUNI
CODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_EDITION=QT_EDITION_DESKTOP -DQT_BOOTSTR
APPED -DQT_RCC -DQT_LITE_UNICODE -DQT_NO_DATASTREAM -DQT_NO_THREAD -DQT_NO_QOBJE
CT -DQT_NO_UNICODETABLES -DQT_NO_LIBRARY -DQT_NODLL -I"..\..\corelib\arch\generi
c" -I"C:/Qt/4.0.0/include" -I"." -I"C:/Qt/4.0.0/include/QtCore" -I"C:/Qt/4.0.0/i
nclude/QtXml" -I"." -I"C:\Qt\4.0.0\mkspecs\win32-msvc.net" -Fotmp\obj\release_sh
ared\ @C:\DOCUME~1\jacmoe\LOCALS~1\Temp\nm41.tmp
qdom.cpp
qxml.cpp
Generating Code...
link /NOLOGO /SUBSYSTEM:CONSOLE /OUT:"..\..\..\bin\rcc.exe" @C:\DOCUME~1
\jacmoe\LOCALS~1\Temp\nm42.tmp
qbytearray.obj : error LNK2019: unresolved external symbol _compress2 referenced
in function "class QByteArray __cdecl qCompress(unsigned char const *,int,int)"
(?qCompress@@YA?AVQByteArray@@PBEHH@Z)
qbytearray.obj : error LNK2019: unresolved external symbol _uncompress reference
d in function "class QByteArray __cdecl qUncompress(unsigned char const *,int)"
(?qUncompress@@YA?AVQByteArray@@PBEH@Z)
..\..\..\bin\rcc.exe : fatal error LNK1120: 2 unresolved externals
NMAKE : fatal error U1077: 'link' : return code '0x460'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio .NET 2003\
VC7\BIN\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
C:\Qt\4.0.0>
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
-
- Goblin
- Posts: 241
- Joined: Mon Apr 18, 2005 5:03 pm
let's stop hijacking this thread about garbage collection ^^
i made a new thread to talk about :
http://www.ogre3d.org/phpBB2/viewtopic. ... 4865#94865
i made a new thread to talk about :
http://www.ogre3d.org/phpBB2/viewtopic. ... 4865#94865
Benjamin RIGAUD
Software Engineer
Software Engineer