Level editor tools topic

Blitz3D Forums/Blitz3D Programming/Level editor tools topic

DRH(Posted 2012) [#1]
Basically I want input from others on how I should structure or otherwise setup some of my tools in my level editor for the project I'm working on. Starting with copy and paste functions, I am building the tool as a realizable array that when using it your first click sets the origin x,y,z in the level array and the next click sets the rectangle or box's end size which is used to set the width, height, and depth of the copy and then immediately changes tools to paste so you just have to click and it will paste every time from then on until you reset the copy tool or change to another. The question I have and want input on is whether I should make this tool only effect one layer, the one you started on, and paste to one layer, or should I have different buttons for each type of copy/paste, or just set it as a multilayer tool from the start? It would be much easier to set it as a one layer copy/paste tool but if I expand the game engine to say 5 or 7 or more layers for the levels, the level editor can already do this, then I'd think the tool would be excellent if tied with a (cover or fill) set of options, where cover fills in all spots in the targeted area and fill only effects the ones that are empty space, this way you can set out your puzzles and then later insert backdrops and foregrounds all at once without disturbing your previous work. Since I don't have a go back function in the level editor yet it might cause issues but the that's my next question, should I go to the trouble of having undo and redo buttons and functions? Most mistakes can be quickly fixed easily enough, VS the difficulty of putting in an undo tool. Well, let the discussion begin. I know this is not a programming code issue so much as a design aspect topic so I hope there is no problem with me posting it here. I cant think of where else to put it...


Kryzon(Posted 2012) [#2]
Make use of paragraphs please (i.e, hit the Enter key more often)! it makes it easier for us to understand how you're building your thoughts.

Anyway, my opinion has been for a long time that you should not make your own, custom level editor from scratch when there are other alternatives available.
If you have access to a modelling application that supports a script-based API (3DS Max, Maya, Blender3D, SoftImage, LightWave, among others), you can easily build your own custom level editing pipeline within that application.

Taking for example 3DS Max. You can program some very advanced stuff using only the script API they give you; you have access to the same GUI API this software's native tools are programmed with, and you can program your own tools.
You also have a file I\O API, so you can write\read virtually any kind of data with the scripts, in whatever fashion you want - like outputting a "level definition" data file for your game engine to use, for instance.
In the case of 3DS Max, MaxScript is so integrated into the software that most of the native interface is built straight from assorted "official" scripts that come with the software.

The sole reason for using an already-made solution is that you'll instantly own yourself a solid base to start working from: you'll get all the "centuries" of improvements that have been put into that software in terms of navigation, interface design, shortcut keys, camera system and general functionality - a level of quality that would take quite a while for one to reach on his own (and sometimes not reach at all, depending on his sensibility).
In other words, you'll repurpose most of the software to work as you need.

http://www.gamasutra.com/view/feature/132263/an_environmental_pipeline_in_.php?print=1
http://www.gamasutra.com/view/feature/131453/using_max_script_for_building_game_.php?print=1
http://www.gamasutra.com/view/feature/131787/maxscript_30_for_game_development.php?print=1

PS: I blew 3DS Max's horn here because I make use of it, but like I said at the beginning: there are other solutions that provide you with a script API such as Maya (with MEL), Blender3D (with Python) etc.


DRH(Posted 2012) [#3]
I decided to build everything from scratch because I'm creating custom types of enemies ans level data that requires that I already understand what I'm working with. The level system I'm using allows for very large levels defined by a very simple array.

Because of the new engine type, and the fact that I haven't used any other tools before, I figured it would be best to use the menu editor I had already challenged myself to make. In doing so I've created an engine that I not only grasp completely but have the freedom to expand and alter as needed to change the challenges.

Also, this has given me a way of showing off my skills as a programmer, whether they be as good as I think they are or as bad as they really are, ha ha, the level editor is nearing completion regardless and after I finish all of this games art I can truly finish the editor and move onto the engine proper which is in early alpha at this point.

This topic was meant for peoples input on what they would prefer as a tool and how they would envision its use, so that I can produce a better product. Once the engine is complete I may give away a free copy of the editor and the engine while I develop the game proper for future sale.

Now, any thoughts on my original post and the type of copy/paste tool that you would prefer?

I appreciate all input, even if it is not what I intended to ask for. I appreciate the fact that most people work with already created content tools but have chosen to instead make my own so I may call it my own and give it to those who would use it.


DRH(Posted 2012) [#4]
I had thought that this topic could be one that people would enjoy discussing. I had hopes to receive input as to new ideas for tools and frustrating tools to fix and how to fix them.

Well, after this post if no one adds anything I'll let this die, but I want to give it one last chance considering that I'll be finishing up my editor and eventually making it freeware once it can handle multiple art resource files and multiple projects.

Are you all sure you don't have any ideas to add or debate?

Mind you, this editor will probably be what I setup for the bulk of my projects, even after Swapshot is done and I move onto my other dreams and visions.