Topic: New Maratis scene editor based on the FLTK toolkit

Hey community!

If you visited my Maratis git repository on GitHub you may have noticed that I mostly worked on a new editor based on the FLTK toolkit (http://www.fltk.org/index.php). In the making I made some changes which break binary compatibility  so you have to recompile your game plugin with the new SDK headers included in the package.

I want to release a version 0.1 in the near future but want it to be as stable as possible.
Please download, install and test my program if you have time.
Report all issues on the GitHub page : https://github.com/Sponk/Maratis-1/issues

The editor is licensed under the terms and conditions of the GNU General Public License and uses code from the official editor/player.

You should backup your project before testing the software since it is not completely stable yet and could destroy your project. (It never happened to me but safe is safe wink)

There are some changes in the usage of the shadow blur value. In this version suitable values are > 1. Experiment with it a little.

The play feature is not embedded into the editor since FLTK does not allow realtime updates which are fast enough. It will start the player executable instead so you have to use the "Project=>Update player" menu before launching.
It will copy all files to run the player to your project directory.

You can find the source code here: https://github.com/Sponk/Maratis-1

There is no Mac version available since I don't own a Mac. I don't even know if it builds on OS X.

Download links:

Windows setup: http://scary-squid.de/downloads/maratis … -win32.exe
Windows zip: http://scary-squid.de/downloads/maratis … -win32.zip

Linux RPM: http://scary-squid.de/downloads/maratis … -Linux.rpm
Linux DEB: http://scary-squid.de/downloads/maratis … -Linux.deb
Linux *.tar.gz: http://scary-squid.de/downloads/maratis … nux.tar.gz
Linux SH: http://scary-squid.de/downloads/maratis … 0-Linux.sh

Wordpress page (I just wanted to experiment with WP a little big_smile) : http://scary-squid.de/wordpress/

Have fun with it!
Sponk

Re: New Maratis scene editor based on the FLTK toolkit

Wow. material editor, color picker, tweaking values with mouse. etc. Awesome work !
I'm gonna start reporting some bugs soon, first i need to experiment more with it - Great stuff anyway wink

Re: New Maratis scene editor based on the FLTK toolkit

Seems like camera panning is not working or I could not find it out! Zooming step is very small, I think you should increase it a little. Nice work smile

Re: New Maratis scene editor based on the FLTK toolkit

Thank you guys smile

Arclord: You move the camera with the WASD keys like in Torque3D and you can adjust the translation/rotation speed with the edit boxes in the toolbar wink

I need to make it more visible how to control the program. Maybe some sort of mini-tutorial on the first start?

Sponk

EDIT: Fixed typo

Last edited by Sponk (2014-07-07 12:23:29)

Re: New Maratis scene editor based on the FLTK toolkit

Update!

I fixed some major bugs including some random hangs when starting the game in the editor and save problems.

1) Random hangs fixed when running the player in 'profile' mode. All profiling is now done in the player.
2) Fixed a bug in the material editor that prevented the user from saving modified materials
3) Fixed multiple selection in the editor
4) You can now enable/disable the shadow of an object using 'enableShadow' in your Lua script. It is not included in the editor since this would break file compatibility with the official Maratis editor.

5) You can now check if an object exists with 'objectExists(object)' in your Lua script

Test if you didn't test it before and retest if you did big_smile
The download links are the same as before.

Sponk

Re: New Maratis scene editor based on the FLTK toolkit

I finally released version 0.1 of my editor. I fixed all issues I encountered while creating my current game project.
Feel free to try it, send feature requests and bug reports.

You can find the website here: http://scary-squid.de/wordpress
The release on GitHub: https://github.com/Sponk/NeoEditor/releases/tag/v0.1

Have fun!
Sponk

Re: New Maratis scene editor based on the FLTK toolkit

Interesting,

Maratis engine is licensed under Zlib/libpng,
note that MIT is not the same as Zlib/libpng : http://opensource.org/licenses/zlib-license.php

Re: New Maratis scene editor based on the FLTK toolkit

Thanks for pointing out my mistake. I should have double checked it before writing the descripion.
I changed it on the site and in the README. I just have to recompile the binaries to ship with the right README.

I hope it is ok now.
Sponk

Re: New Maratis scene editor based on the FLTK toolkit

For those of you who don't want to compile the code for Neo everytime something updates: Daily builds!

Visit my website and grab them today!

Site: http://scary-squid.de/wordpress/?p=110

Keep in mind that those are directly built from the development branch. That means that you may find many bugs in there.
If you find bugs, please report them on the issues page on GitHub:

https://github.com/Sponk/NeoEditor/issues

Have fun!

Re: New Maratis scene editor based on the FLTK toolkit

I proudly present to you: Neo 0.2

Changelog: http://scary-squid.de/wordpress/?p=114
Download: http://scary-squid.de/wordpress/?page_id=83

Have fun!

Re: New Maratis scene editor based on the FLTK toolkit

Ive tested it. Heres my thoughts:
I dont like the view controls. They might be good, but i would prefer to have second ones similar to blender. The F key is not yet implemented i guess?
Making a prefab and then loading one, results in an empty group. When saving a prefab you have to type the extension or else you would not see it. The group is good, but with drag and drop would be faster to parent the object for the group. View shading mode would be nice to have too.
Thats all for now. smile

Re: New Maratis scene editor based on the FLTK toolkit

Hey Akira_san!

Thanks for giving feedback!
Currently the editor is not yet in a final state so it is very likely to run into bugs.
The controls are similar to the ones in Torque3D. I don't use Blender much because of the controls big_smile
However, the plan is that you can load some sort of "profile" to modify the controls. It's not yet done though.

Drag'n'drop with objects sounds nice. I'll add it to the roadmap, thanks big_smile

The prefab plugin was not tested much yet. I implemented it and tested with a few different groups of objects and everything worked for that test cases.

The error could be in two different (new) code regions that are the new plugin interface and the Lua code itself.
I need some information to identify (i.e. reproduce) the problem:

-> What types of objects did you select when you saved the prefab?
-> What parent-child relationships did they have?
-> Can you post the logfile (In the same directory as the editor.)?
-> Can you post the prefab file?

I hope to catch as much bugs as possible until 1.0 and this is a first step smile

If you experience further issues feel free to open an issue on GitHub: https://github.com/Sponk/NeoEditor/issues

Have fun!

PS: The editor has to be in an writable directory to create a logfile. I should change that.

Re: New Maratis scene editor based on the FLTK toolkit

Here MyGame.7z -> https://drive.google.com/file/d/0B6yNvV … sp=sharing
This is just tests of loading objects.
Edit: The profile option sounds nice. Just to say about the blender controls. I just use the mouse to pan, rot, zoom and i feel at ease. smile

Last edited by Akira_san (2014-08-14 19:07:53)

Re: New Maratis scene editor based on the FLTK toolkit

A few questions:

- Why FLTK?  Seems odd and looks a little archaic compared to other toolkits like Qt or GLFW.
- Why create a new editor rather than simply forking the current one and adding features to it?  The current editor is the nicest open source one I've ever used... 

Also, is it supposed to be compatible with existing Maratis projects?  (your Github FAQ says yes?)  Not working with the YoFrankie demo.

And finally, this page:  http://scary-squid.de/wordpress/?page_id=90  still says Maratis is under the MIT license... 

Oh, and is the engine you're distributing still under the zlib/png license or the GPL license?  Or is it just the editor (like the Maratis editor)?

Re: New Maratis scene editor based on the FLTK toolkit

Akira_san: Thank you for the information big_smile

Hey Mike!
I used FLTK because it was the easiest one to pick up and play with. It doesn't need any meta compiler like Qt does what makes it quite easy to use and port. It worked well for me so I kept using it.

I didn't fork the existing editor because I first did not even have the intention to do any forking. I just wanted to play with it and see what can be done with Maratis. At some point I thought: Hey, you should share this with the world. And I did that.

Another reason is: The current Maratis editor is a mess code wise. No documentation or comments on how to use MGui, many hardcoded things in the editor itself. Then you have no support for modal dialogs or more advanced widgets. There is a reason for the existance of MGui2. You can't extend the current code in a straight forward way. FLTK on the other hand has plenty of documentation and examples on how to get things done. Nonetheless, the Maratis editor is an astounding piece of software. But like every software it has certain flaws that I did not want to have. My software has different flaws. It is solely up to the user to decide what he wants to use.

Yes, Neo is back compatible to the official Maratis editor.
For me the YoFrankie demo works fine: https://imgur.com/Z9qqRgI

I guess "doesn't work" is a pretty broad description. What exactly is wrong when you load the project?

About the licensing thing: Thanks for pointing out the page. I will correct this post too and will then (hopefully) have an licensing error free site big_smile.

About the licensing situation:
Well, it is pretty much what is stated on the (correct) front page. The engine itself is zlib licensed and the editor and player are GPL licensed. I do not intend to distribute a modified Maratis in the first place but an editor based on Maratis which (the editor) is licensed under a GPL license. That's why you have to agree to the GPL when using the setup for Windows. That MIT issue was a misunderstanding on my side and is not correct.

I hope that all your questions are now answered smile

Have fun!

PS: The SponzaFPS demo and every other Maratis projects I tested worked too. Keep in mind that you have to recompile all plugins to use the bundled player wink

Re: New Maratis scene editor based on the FLTK toolkit

Akira_san: I tested your project. The first thing I noticed is: All your textures are cluttered around in different places that are not in your project directory. Copy them all to "maps" and let the meshes use them there. Then: I guess you saved your prefab outside of your project directory. You shouldn't do that since all paths are relative to your project. Best practice is to make a "prefabs" folder in your project and save them there. Then everything should work.

I will include a warning for saving outside the project.

I hope this helps.

Re: New Maratis scene editor based on the FLTK toolkit

Sorry, entities show up in the side panel and a few bounding boxes appear, but no objects.  When I press play a separate window opens but is just white.

I'll try it again when I get home, see if there's anything I need to recompile or run it in the terminal to see what the errors are...

Last edited by Mike (2014-08-14 22:06:59)

Re: New Maratis scene editor based on the FLTK toolkit

Well i was exporting meshes from blender for testing so i didnt copy paste the textures to the maps folder. It looks like the save prefab, saves to ../C:/Users/Plamen/Desktop/MyGame/meshs/A_Test_3_Objects.mesh, so changed it to ../meshs/Torus.mesh. Just like you said, and that works, but it should save to the Maratis folder without the "..c:".
Open recent would be nice to have too. I guess center around selection and camera view is on the todo list too.

Re: New Maratis scene editor based on the FLTK toolkit

This programme does not work on my Toshiba laptop running Windows 7  - 64 bit!

Message comes up when running:  Missing MSVCP100D.dll. 

So I downloaded it tried to run following putting this file into the Neo 1.1 main directory,  Still did not work!  So put into the Windows/System32  directory.

Still does not work!!  :-(

Re: New Maratis scene editor based on the FLTK toolkit

Hey MaratisFan!
Are you sure you downloaded the release version and no daily build?
Daily builds require some debugging dlls to be installed for easier debugging. The release version however does not.
I checked with Dependency  Walker and the current release does not link to MSVCP100D.dll.

If you already downloaded the right file you could try to redownload it. Could be that the setup got damaged during the download process.

The release can be found here: http://scary-squid.de/downloads/neo/Neo-0.2.0-win32.exe
Keep in mind that Neo 0.2 is still in a very early alpha stage so problems are very likely.

I hope this helps.

Akira_san: I tested and it seems that the code to turn absolute file paths into relative ones expects an '/' at the beginning of every absolute path. It's a rather simple fix. Open recent will be added when option saving is available.

Thanks for participating!

Re: New Maratis scene editor based on the FLTK toolkit

Mike: What graphics hardware do you use? It could be a problem with the new shader code which requires a newer OpenGL standard than the one used in the official Maratis (It uses the texture gather extension for faster soft shadows).

We could probe all graphics features in future and only enable the ones that will run correctly.

Re: New Maratis scene editor based on the FLTK toolkit

Thx.

Re: New Maratis scene editor based on the FLTK toolkit

Sponk wrote:

Mike: What graphics hardware do you use? It could be a problem with the new shader code which requires a newer OpenGL standard than the one used in the official Maratis (It uses the texture gather extension for faster soft shadows).

We could probe all graphics features in future and only enable the ones that will run correctly.

I use Intel HD 4000 on Ubuntu 14.04 (so graphics drivers are Mesa 10.1.3 which implements OpenGL 3.3).  Anyhow the new shader code does seem to be the issue - here's a paste of the error that comes up:

ERROR OpenGL : unable to compile shader
0:1(1244): error: no matching function for call to `textureGather(sampler2D, vec2)'; candidates are:
0:1(1247): error: type mismatch
0:1(1962): error: no matching function for call to `textureSize(sampler2D, int)'; candidates are:
0:1(1964): error: operands to arithmetic operators must be numeric
0:1(1971): error: operands to arithmetic operators must be numeric
ERROR OpenGL : unable to compile shader
0:1(1298): error: no matching function for call to `textureGather(sampler2D, vec2)'; candidates are:
0:1(1301): error: type mismatch
0:1(2016): error: no matching function for call to `textureSize(sampler2D, int)'; candidates are:
0:1(2018): error: operands to arithmetic operators must be numeric
0:1(2025): error: operands to arithmetic operators must be numeric
ERROR OpenGL : unable to compile shader
0:1(1352): error: no matching function for call to `textureGather(sampler2D, vec2)'; candidates are:
0:1(1355): error: type mismatch
0:1(2070): error: no matching function for call to `textureSize(sampler2D, int)'; candidates are:
0:1(2072): error: operands to arithmetic operators must be numeric
0:1(2079): error: operands to arithmetic operators must be numeric
ERROR OpenGL : unable to compile shader
0:1(1573): error: no matching function for call to `textureGather(sampler2D, vec2)'; candidates are:
0:1(1576): error: type mismatch
0:1(2291): error: no matching function for call to `textureSize(sampler2D, int)'; candidates are:
0:1(2293): error: operands to arithmetic operators must be numeric
0:1(2300): error: operands to arithmetic operators must be numeric
ERROR OpenGL : unable to compile shader
0:1(1419): error: no matching function for call to `textureGather(sampler2D, vec2)'; candidates are:
0:1(1422): error: type mismatch
0:1(2137): error: no matching function for call to `textureSize(sampler2D, int)'; candidates are:
0:1(2139): error: operands to arithmetic operators must be numeric
0:1(2146): error: operands to arithmetic operators must be numeric
ERROR OpenGL : unable to compile shader
0:1(1640): error: no matching function for call to `textureGather(sampler2D, vec2)'; candidates are:
0:1(1643): error: type mismatch
0:1(2358): error: no matching function for call to `textureSize(sampler2D, int)'; candidates are:
0:1(2360): error: operands to arithmetic operators must be numeric
0:1(2367): error: operands to arithmetic operators must be numeric
[ Info ] Render version : 3.0 Mesa 10.1.3 in draw

Re: New Maratis scene editor based on the FLTK toolkit

Ok, I included a more compatible fallback shader that will be loaded if OpenGL >= 4.0 is not met. That includes OpenGLES on Android or the RaspberryPi.

However, you are now able to get a newer (development) version as a daily build. Please tell me how that works for you.

Have fun!

Re: New Maratis scene editor based on the FLTK toolkit

Thanks for the update Sponk.  It is now working!!!