Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

DarkBASIC Professional Discussion / How many of you build your own level editors?

Author
Message
wattywatts
15
Years of Service
User Offline
Joined: 25th May 2009
Location: Michigan
Posted: 3rd Apr 2013 19:11
I'm just curious, as setting everything up inside dbp has become completely monotonous. I have the placement down fine already, as I can set the objects up in an editor like 3dws or mapscape and then just load them into dbp, but with bump mapping and seperate textures, texture scaling and collision data it just takes a long time now to get everything set up properly.
So I'm thinking about building an editor that will export the objects and all code pertaining to them so I can just copy and paste that export and not have to deal with it.
Just wondering if this is common among other users or not, I know at least a few people on here have mentioned editors they've built.

http://mattsmith.carbonmade.com/
Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 3rd Apr 2013 19:41 Edited at: 3rd Apr 2013 19:42
Some guys around here use a third party editor, some build their own; I do a combination. It's all in the planning; use the best tool for the given job.

Some people will tell you, no just use Blender; or just use Mapscape; just build your own editor with object placement; just use an external editor and load objects at limb positions; but at the end of the day it is the case of what works best for the game itself and your objectives not on some third party opinion.

Mobiius
Valued Member
22
Years of Service
User Offline
Joined: 27th Feb 2003
Location: The Cold North
Posted: 3rd Apr 2013 19:53
I'd recommend creating your own editor, however I'd suggest doing whatever your comfortable with.

With pre-built editors, you save some time and can get right to the actual level creation, but perhaps take more time in getting the output to work with your game.

With a custom editor, it'll take longer to get to the actual level editing, but the output will work with your game as it's custom made for it.

I live for video games! (And beers, and football, and cars!)
See what I live for here: [url]http:\\www.TeamDefiant.co.uk[/url]
chafari
Valued Member
19
Years of Service
User Offline
Joined: 2nd May 2006
Location: Canary Islands
Posted: 3rd Apr 2013 19:55
Hi wattywatts, I use my own level editor as I do it for fun like a challenge, and I have been trying all kind of editors ...dungenon terrain and even editor for my own objects. That is a question of what we need...there are of corse a lot good programs that facilitates our work out there .

When we start making an editor, we hardly sleep at night, but at the end we get a good result.

Cheers.

I'm not a grumpy grandpa
Jimpo
20
Years of Service
User Offline
Joined: 9th Apr 2005
Location:
Posted: 3rd Apr 2013 23:01
I tend to just build my own level editors. With my last big project, I had very specific wants for what I needed from a level editor (set up waves of monsters, script NPCs, puzzles, and quests, straight from the editor, etc). Sometimes you just can't find an editor that does everything you need, so the best choice is to build one yourself. Plus you know that the files it outputs will integrate with your game's code.

It takes time to build an editor, but once you do, it greatly speeds up development. Though if you just need a generic way to place objects in a scene, use an existing editor and speed up development even more.

wattywatts
15
Years of Service
User Offline
Joined: 25th May 2009
Location: Michigan
Posted: 4th Apr 2013 01:44
I think I'm going to build one for fun at least, grid based so it's easy and what not.. I've never been a great programmer so maybe this will help. Thanks for the input everyone.

http://mattsmith.carbonmade.com/
WLGfx
17
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 4th Apr 2013 03:42
If you've been programming for some time then maybe it is about time you did write your own level editor. It helps something huge in the long run because as you develop it along the way. You add more to it, and your ideas for the game become more real, especially with the extra things you add to it.

Whether you've been programming for years, or just for a short time but at least have a grip of what you can do with it, a level editor puts "your own ideas" to the test.

It is nice to take time out doing something random like this. And maybe it will be useful in the end. Good luck bro.

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
wattywatts
15
Years of Service
User Offline
Joined: 25th May 2009
Location: Michigan
Posted: 4th Apr 2013 05:14
Thanks! I started it tonight, so far so good. I've been programming since I was 12, with qbasic on our old 386. So that was almost 20 years ago, and to be honest I still don't know a lot.

http://mattsmith.carbonmade.com/
Maxxim
12
Years of Service
User Offline
Joined: 1st Apr 2013
Location:
Posted: 4th Apr 2013 08:50
I am working on it right now. Used to create an editor based on DB terrain matrices, but found out that they don't offer enough contol and got to start over.

Do you think it is right to start to work on you project with the level editor? I think yes, it is worth to create the tools you need first, especially if your game contains more than one level.
Mage
Valued Member
18
Years of Service
User Offline
Joined: 3rd Feb 2007
Location:
Posted: 4th Apr 2013 09:12
The easiest thing to do is make a program that can pick and place objects. All that takes is a bit of keyboard input commands and some file commands. Then add a key that lets you save a list of the objects and their XYZ and Angles into a file.

It's a basic starting point.

Van B
Moderator
22
Years of Service
User Offline
Joined: 8th Oct 2002
Location: Sunnyvale
Posted: 4th Apr 2013 10:44
I think it's always best to make your own - that way you have complete control over how it all works and can add to it as you add ideas to your game. Most importantly is you'll have WYSIWYG (what you see is what you get), anything in your editor should look the same as it will in your game, shaders, textures, everything. Using an existing editor like Mapscape is fine if you plan to use Evolved's shaders and techniques, if your doing things your own way then the only real option is to do the editor your own way as well.

If at all possible, I like to have the editor as part of the game, or directly linked with the game, to allow instant testing and again, WYSIWYG editing. Failing that, I'd try and use seperate source files, so basically an engine source that has all the engine stuff - and have that included in the game and editor.

Also... the more time you spend polishing the editor, the faster your workflow - It's always a benefit to spend time adding features like undo, emergency saving/backup, pleasant user interface etc etc. It saves time in the long run, I find that a bad editor produces bad levels. Even if nobody else will ever see your editor or use it, still spend that time, code it like your making it for someone else. A nicely made level editor will inspire you in the long run.

I got a fever, and the only prescription, is more memes.
Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 4th Apr 2013 13:49 Edited at: 4th Apr 2013 14:14
If you are going make a game that is retro, sandbox, creative; or something realistic with lots of time on your hands as a hobby then ignore this post; in view Van B's post, building and improving the editor is improving the game. But, if you are going for a realistic or detailed game as a serious venture then 'hold it, hold on for a moment here!!'

Now I really, really hope people don't think I am saying not to create a level editor here... I am not disagreeing with any comments, just adding some real case scenarios and promoting third party tools a little bit more for what they are worth.

My game is half level editor; I have my own level editor which has some features not even in Blender; I've been using 3d level editors since the days of Counter Strike and Half Life. Level editing is a significant part of my game's gameplay so it is natural for me to build one. I spend 2-4 hours a day level editing, and have been doing this non-stop in my current project since September 2012. Like I said in the first post, I do a combination; 75% of the work is STILL done in Blender and 3DWS.

Most people can't navigate Blender well enough to use it as a placement editor, the documentation is like a bible, it is deep; but you can navigate in blender better than all the other editors when you look more deeply into the control panel; you can go from one part of an earth to another part of the earth right up next to a light bulb in a room with all but two mouse wheel scrolls if you learn your stuff and tweak your settings. Blender has a light mapper... it has scripting, create tools in there... It can generate cities... It can generate Ivy plants along walls and floors. It can export XML, create database references in there... It can generate terrains in numerous ways, all with caves. You can create terrains in Blender using heightmaps, and have BT Terrain simply use the same heightmap. Objects have custom properties, did you know that? Edit the directX exporter and output your own settings; you can animate your settings.... I can go on and on. 3DWS can bake realistic textures, and I mean really really realistic.

My message is what I said in the first post:

Quote: "It's all in the planning"


Plan it, which involves learning the tools. According to my plan, which is in two word documents covering game-play, production and delivery; I personally need to be using third party tools where possible because my level editor has to focus on complex functions; EG: real time maze generation, real time object editing, real time stuff; everything else is sitting there in these third party editors, it's just a matter of learning them and not reinventing the wheel; your plan might turn out different, it might say that the tools are not available, that's where your editor comes in.

Don't go over board here too early and start creating features before planning, you will not save time building the game if you create level editing features you don't need.

Plan it otherwise you will use up the limited time creating a nice level editor that you will not use.

Think about the game you are creating and how realistic it needs to look, and how much time you have, decide what features to build and what not in a plan. Do I need to program this tool, 'can Blender generate these caves for me? Should I use 3DWS create static cubemaps for me?' It doesn't need to be an architectural data analytic rule book, just a few pages will do; jot down what player will do in the game and how it is possible to create the expedient as easily as possible; writing it down means you will not forget.

As stated it is easy to create placement tools, but do you really want to create a tool that can create detailed scenery? Skyscrapers? Homes? Tunnels? Caves? Cables? Pylons? Furniture?

Do you really want to get into using DarkLights to create your own light-mapping? Will dark lights give you the results you are after? Are you going to use Dark Lights with shaders? What method will you use to get Dark Light UV coordinates to work with shader UV coordinates. Find out.

Put it in the plan.

Some people go further with making their own terrain editor; if its open world, then maybe yeah. Just back up decisions with clear evidence that you truly need features.

Van B
Moderator
22
Years of Service
User Offline
Joined: 8th Oct 2002
Location: Sunnyvale
Posted: 4th Apr 2013 15:26
For me, the best editor I've ever used is the map editor in Farcry3. Easy terrain modelling, and placing pre-fab models. Blender is a modelling package, and no matter how many features it has or how well it does them - it can't cover all the bases that you'd need when writing a game. You could build a whole levels geometry, terrain even using Blender, but you'd still need to take control over things after that.
For example, placing physics objects - you'd want to control that yourself, specify the properties and collision mesh and that sort of stuff. Same goes for things like doors, and objects that have to move.
Terrain is a tricky one as well - I mean you'd get better performance by using BlitzTerrain and a shader than making your terrain in Blender - plus it's always handy to have direct access to the heightmap data. We have to consider terrain a lot, as DBPro can struggle with terrain that isn't optimized.

It's all a matter of perspective I think - If I was making a FPS for example, I'd make buildings and furniture etc in a modelling package, no doors or moving parts on the actual objects, maybe some placeholders for doors that can be hidden, like a box as a stand-in door. Then I'd make an editor to handle the terrain and object placement. I'd have door objects assigned to those placeholder limbs, I'd add physics objects with the editor - but the bones of the actual level would still be done in a modelling package... the editor would be for what happens next, taking control of things and adding game logic.

A level editor won't ever replace a modelling package, you need both. Even Mapscape is not the sort of thing most people would use for a modern style FPS. It's good, but as I said it's no modelling package. Scaling, rotating, and positioning is all I'd use a level editor for when it comes to actual models.

Performance is the main issue - with your own level system you can add in LOD objects, LOD terrain, culling etc etc which is really vital these days if you expect DBPro to cope with a modern FPS game. I think that using something like Blender alongside your own level editor would be the best solution. I prefer to use Rhino3D because it has awesome geometry addition/subtraction with it's NURBS - it makes designing buildings a breeze and has a really logical way of working. Any modelling package that your comfortable with is probably fine, and for a large scale model, like a big internal building level or cave network then Blender is well worth considering. It depends on the project and how complex or big the levels are.

I got a fever, and the only prescription, is more memes.
Ortu
DBPro Master
17
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 4th Apr 2013 21:39 Edited at: 4th Apr 2013 21:46
blender has come a very long way and has not been just a modelling package for some time now.

Quote: "Terrain is a tricky one as well - I mean you'd get better performance by using BlitzTerrain and a shader than making your terrain in Blender - plus it's always handy to have direct access to the heightmap data. We have to consider terrain a lot, as DBPro can struggle with terrain that isn't optimized."


you wouldnt export a terrain object, you can bake the mesh to a heightmap and use that with blitzterrain as normal. blender can edit terrain height maps using a mesh, a sculpt, or the heightmap image directly, or all three in tandem, you can use custom brushes on any of these as well as layers and blend modes in the internal image editing such as you would find in photoshop. you can also paint textures directly to the surface and bake that out as well.

Quote: "For example, placing physics objects - you'd want to control that yourself, specify the properties

with your own level system you can add in LOD objects, LOD terrain, culling etc etc

"


blender has physics objects and fields available for placement and with detailed settings options, you could even setup and manage scene lighting settings, animated camera paths etc and virtually everything allows the setting of custom properties essentially any variable/value you want.

for instance you could define properties for an object 'lod1'="obectX_high.x", 'lod2'="objectX_mid.x", 'lod3'="objectX_low.x"

physics settings can be read directly from the physics panel with no need for custom property definitions.

all of this data can be accessed, formatted and exported for use with dbpro (xml, custom format, whatever) with a little bit of python scripting, which can also be done from the internal console.

Van B
Moderator
22
Years of Service
User Offline
Joined: 8th Oct 2002
Location: Sunnyvale
Posted: 5th Apr 2013 00:12
Hmmmm... maybe time I had another look at Blender. Not that I have any projects that warrant it, but it sounds like Blender has come a long way since I tried it last.

I got a fever, and the only prescription, is more memes.
Ortu
DBPro Master
17
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 5th Apr 2013 07:11
there was a huge jump (last year?) between the 2.4 series and 2.5 series, the current 2.6 series keeps getting better and it may just be me but it feels like their development cycle is speeding up. current release is 2.66a and gives significant sculpting advancements: sculpt masking and dynamic topology

Sasuke
19
Years of Service
User Offline
Joined: 2nd Dec 2005
Location: Milton Keynes UK
Posted: 5th Apr 2013 22:39 Edited at: 5th Apr 2013 22:40
Editors are tricky cause it's depend on what your game needs. But when it comes to Engine Specific Editors make sure to set up parts of your engine first that your editor will run off. For instance, key to any engine, an Asset Database which stores all the information about your assets. Secondly you want an entity system, entities will handle the visual representation for your asset that they reference. With these set up, we can make a contents browser, selection and manipulation(Gizmo) system and we can start producing something along side the development of your engine. The alpha state editor will be the test room for the development of your engine so it's best to set up these key things for efficiency.

The reason for this is we'll only develop the tools we need when we need our engine to do something. Rather than implementing everything at once. Our engine and editor will develop hand in hand. If we think our engine is ready for animation, then we can add it to the engine and update the editor to communicate with the engine. This way we won't make any unnecessary tools our engine might never use.

"Get in the Van!" - Van B

Login to post a reply

Server time is: 2025-05-17 15:54:32
Your offset time is: 2025-05-17 15:54:32