World Editor based on the SceneViewer

Hi!



I would like to try making a world editor with basic entity system. The world editor is supposed to be an extension of SceneViewer.



Normen, i know i already asked you about the documentation and first steps. But could you post links here again.

Thanks man!



Also if someone wants to help in making the world editor, so i will be glad! I suppose to make an open source project on GoogleCode.



And i will call it like simpleEditor… or even simpleEngine if there will be an entity sistem too…

Its in the wiki and SDK manual itself: https://wiki.jmonkeyengine.org/legacy/doku.php/sdk:development



Note however that there is some pretty big changes due in the SDK… For what you want to do (manage an entity system) you do not really need the scenegraph in the first place as all code and entity data handling is mostly database code and logic code that probably even runs on another thread.



This means you probably should create a global TopComponent that allows you to manage this (database + entity base code and loop). If you can have some kind of file format (e.g. some descriptor file for database etc. connection that later the AssetManager can load and construct an entity system from) then you can add support for that (theres a wizard for new file formats) and make separate windows for each file to manage the settings of this entity database/data.



For the connection to the SceneGraph I suggest not opening a scene yourself (this will probably be deprecated) but listen to selections of Controls and introducing your own control that you can e.g. attach to a rootNode to have it display a given set of entities. E.g. you fetch a set of entities from your db that have a ModelInfoComponent and a LocationComponent that is within the visual range of the camera and give it to that Control and it loads and attaches the models and puts them to their location and then subsequently updates their location / moves them with interpolation.



By having this Control you already get a lot of options (the controls Bean properties, which is the getter/setter pairs) into the UI and you can connect the data inside the SDK using your own Entity-Management TopComponent which is listening to the selection events (described in wiki) and sets the appropriate data to the Control. This way you can make an empty scene and add e.g. a terrain, add your Control to the rootNode, select the entities in your own window and press a button to apply them. Then you will see your guys move around in the scene, whatever plugin opened it in the first place (Terrain Editor, Scene Composer etc.)



Hope this helps

Netbeans gets tricky when you want to have other plugins use your classes; say if you want the scene composer to use your game’s classes that extend Node or something. Each plugin has a separate class loader, and you have to hack it a lot to get your class recognized in other plugins.

Something to keep in mind.

Thanks guys…