General purpose level editor (3D games)
Miscellaneous Forums/General Discussion/General purpose level editor (3D games)
I would like to know what do you except from a General Purpose Level Editor for your 3D games.
I need your feedback especially in export futures.
Don't hesitate to be detailed as much as you can
Thanks
What do you have in mind?
- The ability to import .b3d's
- The ability to export the level as a .b3d, so it may be taken apart when you load it into your game. Ie. Find child and get individual meshes.
- The ability to put down waypoints.
- The ability to link waypoints to each other. Ie. Click on a waypoint and find out what other waypoint nodes it connects to, for the purpose of pathfinding.
- The ability to add custom properties to each entity. Usually this is stored in the entity name. Just as long as it's accessable when you load the level.
- The ability to add textures to meshes/entities, after loading them.
- The ability to view animations of meshes. And/Or set animations from within the editor, and save this information with the entity. Again, maybe to the entityname field.
- Portals are important i think. When you run over a node for example, show a part of the level, and hide another part, to keep the surface/polycount down.
I started a world/level editor for my game. It was turned out to be basically a game maker type app. Most of the stuff set up in the editor, would just plug into my engine and it would deal with the input. You would create portlas and events and scripts in the editor.
Quick fps mode...maybe with collisions working. The person editing can set the scale of the camera ellipse, and fov.
Realtime and optimized lighting system built in.
Working doors and platforms as standard.
- Fog and skybox settings
- Entity placement with duplication that maintains all settings such as autofade, scale, rotation, etc. settings via sliders with the option of manual input of values
- Grass placement
- Water meshes with adjustable scale, height, etc.
How important is a grid option?
Hujiklo: Can you give us more details about optimized lighting
_33: I am planning to start a general purpose 3D level editor and before start coding I want to have a taste from people they may need such a program
I'd need this for the game project I started. I talked a bit with RifRaf, because he made a neat level editor. It's always a case of wether the goals are met between the guy making the level editor, and the guy planning a game, because the underlying game idea may not be compatible with the level editor. But if you want to collaborate, I have a game plan that would require a decent l evel editor.
I teamed up with b32 a while back but he's on something else, and don't see him much now. So, I'm kind of wondering when I'll get to complete this game!
Here's a question for you, what do you plan to write it in and how do you intend to tackle the GUI?
The
editor I'd been building a while back (was put on hold during school) was more or less how I wanted GTKRadiant to go. Bit more 3DS-like, but maintaining the features about Radiant that I liked (e.g., curved surfaces/patches, textures in a map were always visible in the texture selector, easy to use interface, etc.).
I agree, the interface is the most important things :o) Got to be simple and easy to use.
This is what I specialize in.
http://www.leadwerks.com
Can your 3d world studio import and export .b3d's yet?
It exports .b3d.
It imports .x files. There is a tool available that will convert .b3d files into the editor's faster-loading model format, and it will convert a whole directory in one batch.
Suppose that could be handy, as i'll be importing in meshes with no custom data etc. I'll need to have another look at it. Thanks :o)
Here is what I collected in my mind considering your suggestions:
1.General
---------
1.1 Native Windows GUI
1.2 Import 3D file formats supported by Blitz3D (X, .3DS, .B3D, MD2, BSP)
1.3 Cached meshes
1.4 Paint brush style placement (for grass objects)
1.5 Export to ASCII text file format
1.6 Undo/Redo
2.Scene
-------
2.1 3D grid support
2.2 Single or multiple object selections
3. Object handling
------------------
3.1 Create custom properties for each loaded object
3.2 Copy, Delete Move, Scale, Rotate function for single or all selected objects (in combination with grid option)
3.3 Sequence animation editor for animated meshes
3.4. Set all object properties supported by the Blitz3D command set (color, alpha, fx etc.)
3.5 Mesh aligning
3.5 Mesh evenly layout
4. Texturing
------------
5.1 Assign textures to objects
5.2 Set position, mode, scale, texture properties and all Brush properties for each object
5.3 Set animated texture properties
5. Terrain
----------
5.1 Create Terrain from height map
5.2 Set all Terrain properties supported by the Blizt3D command set
Ross C:
The ability to set way points with Path Finding capabilities I think is beyond the scope of a program like this
Take a look here:
http://www.blitzbasic.com/Community/posts.php?topic=73941Hujiklo & stayne:
The futures you purpose I think are covered using some of the above. For example: If you want to have a camera for your level just place a single mesh and setup custom properties such (far clip plane, near clip plane, camera cls color etc.)
Pure Can Soda & Ross C:
My development tools are : C++ and Blitz3D SDK. I think thay are capable to help me complete this project.
_33: Of course I want to collaborate but I don't want to be responsible for delays in your project because I am in the very early stages and I don't know yet what hard going may encountered. Edit: In any case you can email giving me more details about your needs.
For hardware lighting I was thinking about the fly through or fps view modes...optimized as in it won't just use a 100 lights that have been placed down but limit them wisely by zoning or distance or in view, I'm not sure...not that important I know - I just thought of it.
if you add some sort of lightmapping, this tool could be the editor for mods/addons. so everyone could expand the game with new levels and models.
i wish you good luck for this and i am having an eye or two on you ;)
winblitz3d would be great for this.
Thing is :o) You don't need to implement the pathfinding. Just allow the placement of waypoints. You just stick the link info in the custom properties manually when your using the editor :o)
I think once you start implementing AI features like waypoint placement or pathfinding you'll have a hard time keeping things generalized...and even worse you'll have a hard time keeping people pleased without continuously adding AI features.
Hmmm, it's not really AI features. It's just a waypoint. Or a node. Or a pivot when you break it down :o) You build you own engine to look for pivots, read the extra info entered by you in the editor, and use this to determine what function that pivot would perform :o)
So, just put support in for placing pivots, and put support in for adding extra info attached to each entity. If you have Fredborgs Gile[s], he has a custom properties box you can enter anything you want into. The idea is you load the level into your game, and your own code determines what the informations does. This is usually stored in the EntityName, so you don't need to read extra files and such :o)
What I do is place point entities in 3D World Studio, and give it a classname like "ai_node". Give one node a name like "node01" and give another node a value like "target"="node1". The point entities will be exported in the .b3d file as pivots, with all the keyvalues stored in the entity name, like this:
"classname"="ainode"
"target"="node01"
"name"="node02"
Then when you load the .b3d file in Blitz you can re-create the node relationships and use them for AI pathfinding. There might be some code examples of this if you look for my old Blitz3D stuff (look for "Singularity").
Pete (IPete2) has also done a good amount of stuff using point entities in the editor. Here's a video showing particle emitters and other entities he has placed in the editor:
http://www.leadwerks.com/files/Ancient_Tomb_2005.wmv
If anyone needs help with 3DWS' point entities let me know, I use it daily.
Hi again,
I am "refreshing" this thread because I wanted to let you know that the project of a general purpose 3D level editor is started.
Here is a short video of what I have done so far:
http://www.moraldigames.com/videos/Textures.movThe basic framework is complete. Most of what you are seeing here is customizable. From keyboard shortcuts to grid colors (even grid snap sensitivity) because I believe good handling in entity placement in a program like this is essential
There are a looooot of things to implement but I managed to override the most difficult technical issues for me
Will it be compatible with the 3D format of the GameMaker Pro?
I didn't decide what formats will support.
It seems impossible because this editor is based on Blitz3D SDK with DX7 support. I suppose GameMaker Pro supports DX7 and above... :(
Well, the 3D support of GameMaker Pro is actually really basic... Think of Quake (1) like graphics :)
Thanks PIXELstir. I will see what I can do. I don't know what is their format or even if it is an open format...
I haven't read the entire thread yet, but here's what I think.
- Support for terrains plus buildings, and maybe something for caves too.
- Have an easy way to load a map, plus all the objects. Perhaps an include file function to load the entire thing.
- An easy interface is a must. Not everything has to be easy, but putting a standard map together, plus texturing, should be a quick and painless task. Documentation or in-app hints should explain how to get the not-so-common tasks done.
- Easy object placement, and support for many types of games.
- Easy importing of various map segments would be nice, from other editors.
- Placement of miscellaneous objects for use in the game. Like player start points, enemy spawn spots, etc - nothing built into the editor, just allow objects to be placed for whatever the map needs, plus some info attached.
Thanks Storm8191.
Can you please give some details about caves and supporting for many types of games?
Thanks
z4g0:
It looks very promising judging from screen shots. Do you have a time plan for completion?
I started my editor because I didn't find something to fit my needs but yours seems veeery good.
I think the biggest problem with your editor, z4g0, is the UI. It is, for lack of a better word, very childish. I don't mean amateur, but rather that it looks like it was made for children. In addition to this, it's horrible cramped. and seems to require constant adjustment just of the UI itself to do any work. Any editor where you have to spend more time fiddling around so you can actually see something instead of being able to work on content is a problem.
Nah IMHO it looks very cool and offers plenty of information at once, still allowing to focus on the parts I want with changing the window sizes, but that's only my opinion.
Looks good but only if at least half of that can be switched off or moved into own "subwindows"
because that thing there right now looks massive flooded and hard to use even on my 1680x1050
yep.. could seems a UI for children, but I don't thinks that's a bad thing: Is only a bit funnier than the boring grey standards XD. Anyway I have already set 2 'skin': this blue and a sober light grey / orange (obviusly users could add their skins).
On 'usability', just added to the ToDo list, some buttons that allow to switch between the 4 main viewports with only a click, if the 'trackball' will result uncomfortable ;)
@Moraldi: can't plan a release date, but I invite you to continue your editor! Competiton will make both better :)
Moraldi, any possibility to get the UDrop source...? :)
angel martinez:
You mean this one in the
toolbox or Unlimited Drop Pro?
I mean the one in the toolbox.
angel martinez: check your email...
After a month of inactivity in the development of Unlimited Drop Pro I started again.
I want you to show two more videos.
The first one demonstrates how you can create a new Actor:
http://www.moraldigames.com/videos/Actor.movThe second one demonstrates the Texture Editor:
http://www.moraldigames.com/videos/Painting.movTexture and Actor Type Editors are completed. I will post videos about these in next days (perhaps tomorrow)
More goodies will follow such as:
1. Animation Sequence Editor
2. Collision Properties Editor
3. Custom Properties Editor
4. Scene Management
Looking good Moraldi what are you using for the GUI?
Thanks boomboom
GUI is based on wxWidgets. This GUI library is superb.
This looks nice but seems like a huge pain in the botty to use. I hate being forced to use a gizmo to negotiate around a map. What's wrong with the keyboard and logically using the arrow keys?
I might have missed something but I couldn't personally use this at all (not with the limited amount of patience I have right now any how)...but it looks nice, and I'm sure it'll get better and better from here. Keep going.
I notice that the buttons\gui gets a bit mangled when in the lower screen res...and why no full screen non-windowed mode?
Hujiklo: Thanks for your comments. They help me to 'drive' into the right direction.
About gizmo:
I thought that gizmo its a standard for all 3D applications they respect itself :)
But please be patient because you didn't see the entity placement capabilities of Unlimited Drop Pro... :)
About no full screen mode:
I believe that a non game application need to run in window mode because the user might want to run 2 or more applications at the same time. Besides this is the logic of multi threading and multi tasking of modern OSs
Find some time and finish a short video for Actor Types:
http://www.moraldigames.com/videos/ActorType.mov
Directing all movements through a gizmo might be the norm for 3D modellers or even Map\World editors I don't know - what I do know is that dropping hundreds or even thousands of 'objects' around a map is time consuming enough without being bogged down by oversize or partially hidden gizmos, with 2 axes forever locked out, and worse still, then having to ask permission from another tool bar to rotate etc.. these things should be streamlined as possible...I would do all forward\back\left\right movements by keyboard and maybe a one mouse-button down to rotate...or as an extra even allow an FPS mode, which would be what any FPS maker would want anyhow I think.
I thought window mode in Blitz was very slow? This is why I think full screen is better...I notice the fans start trying to levitate my computer when in windowed mode at any rate.
Excellent tutorials for new users by the way!