Page 1 of 3

"Editor Strikes Back" - A GUI editor for DSB

Posted: Thu Dec 31, 2009 8:03 pm
by Sophia
Included with the DSB zip is a new program, Editor Strikes Back, a GUI editor for DSB.

It's been called "Minesweeper on Acid" and I guess there is some truth to that: I went with attempting to give a feel for what you were working on rather than to create a truly WYSIWYG experience. CSBuilders should feel right at home, I'd hope.

The first thing you'll have to do to get started is to create a new game directory. You can do that from within the editor, or just make a folder in Windows before you start. This will be where ESB puts your newly created dungeon.lua, and where you can store any other files you need, like graphics or a custom startup.lua. After you've created a new dungeon, you'll be presented with a grid of walls, where, by selecting items from the tree view on the right, you can stick in all the objects necessary. Most that use exvars have a standard selection of exvars predefined when you place them, but if something's not clear, you can always load in the test_dungeon and see what it does, or come here and ask.

At present, it's still a bit rough. Notably, wallset names have to be typed in by hand (but only once), and some objects still don't have convenient editing interfaces. Most do, though-- triggers, monster generators, shooters, teleporters, and such all have easy-to-use interfaces to edit their functionality. The test_dungeon provides a lot of examples of most of the game's objects in use, as well as some additional ones that expand the functionality of traditional DM and show what DSB can do. The test_dungeon's Lua source code also contains examples for adding new objects and adding new spells.

So enough talk. Go download DSB and play with it :mrgreen:

EDIT: Updated link to point to the DSB download page, rather than an obsolete version.
EDIT2: Changed descriptive text to match the current state of ESB

Re: "Editor Strikes Back" - A GUI editor for DSB

Posted: Thu Dec 31, 2009 11:09 pm
by Paul Stevens
Looks very nice.

I did play with it. Could not delete
a club from a cell without first adding
another club. Probably just because I
did not know how.

Also caused a segmentation fault or
illegal instruction or something.

I am sure you will be fixing lots
of little things like that in the near
future. Very nice, again.

Re: "Editor Strikes Back" - A GUI editor for DSB

Posted: Thu Dec 31, 2009 11:31 pm
by beowuuf
I had the same problem with objects. The right click menu jumps directly to the item GUI instead of the tile GUI. Which would be good except to delete individual items :)

Re: "Editor Strikes Back" - A GUI editor for DSB

Posted: Fri Jan 01, 2010 12:24 am
by Sophia
You can delete all object instances on a tile (which will of course work to delete one, too) by shift-right-clicking the tile. Not that anyone could've known that without me saying so, so something more intuitive would probably not hurt, either.

I'm quite sure there are little glitches here and there, but the version I released doesn't have any that I know of. I wasn't able to make it crash by adding and removing clubs, so if any of you can get a crash bug and reproduce it, please paste the stack trace (the long list of function names) that ESB spits out when it goes down. :)

Re: "Editor Strikes Back" - A GUI editor for DSB

Posted: Fri Jan 01, 2010 12:37 am
by beowuuf
AHA!

Re: "Editor Strikes Back" - A GUI editor for DSB

Posted: Fri Jan 01, 2010 6:48 am
by Paul Stevens
Not too sure what I did.
Some sort of dragging but I cannot even
tell you if it was left or right button. :-(

Edit***** Reproducable.
Edit dungeon.lua.
Left button donw at 0,25,7
Button up at 0,25,8
*****


Parsing editor/editor.lua
Parsing editor/editor.lua
Parsing base/global.lua
Parsing base/inventory_info.lua
Parsing base/util.lua
Parsing base/objects.lua
OBJ: 400 system archs
Parsing D:\Downloads\InstalledSoftware\DSB37\test_dungeon/objects.lua
Parsing D:\Downloads\InstalledSoftware\DSB37\test_dungeon/moneybox.lua
Parsing D:\Downloads\InstalledSoftware\DSB37\test_dungeon/multivexirk.lua
Parsing D:\Downloads\InstalledSoftware\DSB37\test_dungeon/throwtrolin.lua
OBJ: 408 total archs
Parsing D:\Downloads\InstalledSoftware\DSB37\test_dungeon/startup.lua
Parsing D:\Downloads\InstalledSoftware\DSB37\test_dungeon\dungeon.lua
Parsing editor/editor.lua
Parsing base/global.lua
Parsing base/inventory_info.lua
Parsing base/util.lua
Parsing base/objects.lua
OBJ: 400 system archs
Parsing D:\Downloads\InstalledSoftware\DSB37\test_dungeon/objects.lua
Parsing D:\Downloads\InstalledSoftware\DSB37\test_dungeon/moneybox.lua
Parsing D:\Downloads\InstalledSoftware\DSB37\test_dungeon/multivexirk.lua
Parsing D:\Downloads\InstalledSoftware\DSB37\test_dungeon/throwtrolin.lua
OBJ: 408 total archs
Parsing D:\Downloads\InstalledSoftware\DSB37\test_dungeon/startup.lua
Parsing D:\Downloads\InstalledSoftware\DSB37\test_dungeon\dungeon.lua
PROGRAM CRASH!
Location: 0 15 2
Reason: Segmentation Fault
Stack Dump:
ESBmain
ESBswproc
ed_main_window_mouseover
ed_paint_teleports

Re: "Editor Strikes Back" - A GUI editor for DSB

Posted: Fri Jan 01, 2010 6:49 am
by Bit
I'd say OHO!

Re: "Editor Strikes Back" - A GUI editor for DSB

Posted: Fri Jan 01, 2010 12:44 pm
by Joramun
:shock: :shock: :shock:

:D :D :D

:mrgreen: :mrgreen: :mrgreen:

Awesome ! Now I'll have plenty of annoying and uselessly curious questions :twisted: , like :
- Why does the spawnburst takes the number of items as an argument ?
- How do I know if the editor has properly uploaded a dungeon.lua file ?
e.g. It seems CSB and DM (translated with RTSB) do work in the editor, but I've no way to know everything is all right.

BUG FOUND : The character variable parsing bugs when using names with SPACES (WU TSE_22 bugs in DM when saved in a new file).
Also, I couldn't know the origin of the bug until I restarted the editor: if I open dm.lua, save it as a new dm_edit.lua file (which will generate a true esb file) and open this new file without closing the editor, it doesn't generate the error code (and crashes esb badly :!: ).

Re: "Editor Strikes Back" - A GUI editor for DSB

Posted: Fri Jan 01, 2010 8:23 pm
by Sophia
Paul Stevens wrote:Looks very nice.
Thank you, and thanks for the bug report too.
Joramun wrote:Why does the spawnburst takes the number of items as an argument ?
Mainly, so it knows the range of items that have been pre-allocated. That way, if something automatically spawns something else (such as a pit automatically spawning a ceiling pit on the next level) it won't try to spawn that item into a slot that will be used later on. There are other solutions that wouldn't have required this extra argument, but that method is by far the simplest. :D
Joramun wrote:How do I know if the editor has properly uploaded a dungeon.lua file ?
e.g. It seems CSB and DM (translated with RTSB) do work in the editor, but I've no way to know everything is all right.
I think that if it doesn't complain about anything while it's loading, it should be fine. ESB uses about 90% the same Lua parsing code as DSB (the only differences are functions that do things that ESB doesn't need to do), and it parses the dungeon into the exact same types of data structures-- so the dungeon you get should be the same. :) I can't be sure, but... I'm pretty sure. :D

Edit: There is actually one small glitch that I've noticed. RTSB didn't assert a wallset for any of the levels, so ESB doesn't find one, and the "wallset" field is blank once you actually start editing. It doesn't actually break anything, though. I'll make it show up as "default" in the next version.
Joramun wrote:The character variable parsing bugs when using names with SPACES (WU TSE_22 bugs in DM when saved in a new file).
Oops, I forgot names could have spaces! :oops:
I'll fix this one too.

Re: "Editor Strikes Back" - A GUI editor for DSB

Posted: Sat Jan 02, 2010 6:27 pm
by Joramun
Crashed ESB by pressing "update exvar" after editing the text exvar from a wall writing.

Code: Select all

Parsing editor/editor.lua
Parsing editor/editor.lua
Parsing base/global.lua
Parsing base/inventory_info.lua
Parsing base/util.lua
Parsing base/objects.lua
OBJ: 400 system archs
OBJ: 400 total archs
Parsing D:\Jeux\DM\DSB\dungeons\cube\dungeon.lua
PROGRAM CRASH!
Location: 0 14 10
Reason: Segmentation Fault
Stack Dump:
ESBmain
ESBswproc
ed_window_rightclick
ESBidchooseproc
ESBdproc
ed_edit_exvar
ESB_edit_exvar_proc

Re: "Editor Strikes Back" - A GUI editor for DSB

Posted: Sat Jan 02, 2010 9:06 pm
by Parallax
I had to check the date just to make it was not April 1st! Thank you Sophia for this editor, and for listening to our collective prayers!

Re: "Editor Strikes Back" - A GUI editor for DSB

Posted: Sat Jan 02, 2010 9:15 pm
by linflas
Parallax' awakening ! Thanks Sophia ;)

Re: "Editor Strikes Back" - A GUI editor for DSB

Posted: Sun Jan 03, 2010 1:09 am
by Joramun
Yeah, and I can say it's pretty good. Dungeon making just takes another dimension !

Re: "Editor Strikes Back" - A GUI editor for DSB

Posted: Sun Jan 03, 2010 2:44 am
by Sophia
Joramun wrote:Crashed ESB by pressing "update exvar" after editing the text exvar from a wall writing.
I think I fixed this-- at least, I can't make it happen any more. :?

Re: "Editor Strikes Back" - A GUI editor for DSB

Posted: Sun Jan 03, 2010 3:36 am
by Gambit37
Wooooooo. When Free Time next knocks on my door, I'll let it in and we'll both sit down together with ESB and a nice cuppa.

Re: "Editor Strikes Back" - A GUI editor for DSB

Posted: Sun Jan 03, 2010 8:19 am
by ian_scho
Congrats and thanks Sophia! But you were making a dungeon simultaneously as creating an editor?! Heroic.

Re: "Editor Strikes Back" - A GUI editor for DSB

Posted: Sun Jan 03, 2010 10:41 am
by Joramun
Sophia wrote:
Joramun wrote:Crashed ESB by pressing "update exvar" after editing the text exvar from a wall writing.
I think I fixed this-- at least, I can't make it happen any more. :?
Ok I quick-recrashed ESB to be sure: if you want to do exactly what I did: add 4 wallwriting on a wall tile (each facing one direction, but I'm not sure that matters), and then edit the first one on the list (probably the Northern one), edit the exvar "EDIT ME" to whatever text you want (mine had two words and a space in it) and then press "update exvar". CRASH :!:

EDIT: I tested a few different configurations. It seems that the editor crashes whenever I edit the exvar(s) of an item which is NOT the last on the list of item on a tile.

Re: "Editor Strikes Back" - A GUI editor for DSB

Posted: Sun Jan 03, 2010 9:25 pm
by Sophia
ian_scho wrote:Congrats and thanks Sophia! But you were making a dungeon simultaneously as creating an editor?! Heroic.
Well, they actually kind of went together, as I started to see situations where hand-coding was too tedious and bothersome. Then I kind of stalled on the dungeon building and just started making the editor wholeheartedly. :)

Re: "Editor Strikes Back" - A GUI editor for DSB

Posted: Sun Jan 03, 2010 10:25 pm
by Trantor
Cool thing that you managed to do that! I'll eventually take a look - when exactly that will be, I don't know...

Re: "Editor Strikes Back" - A GUI editor for DSB

Posted: Mon Jan 04, 2010 8:43 am
by ian_scho
If you build it, they will come!

Re: "Editor Strikes Back" - A GUI editor for DSB

Posted: Mon Jan 04, 2010 9:04 am
by Adamo
Ian Scho wrote:
Congrats and thanks Sophia! But you were making a dungeon simultaneously as creating an editor?! Heroic.
One is usefull for another; editor speeds up building a dungeon.
...............
Sophia, your editor is extremally cool, but is there a way to add advanced functions into it (like items or monsters properities, now you need to manipulate the Lua commands text), like it is in CDBwin editor for example? Now you still have to know Lua a bit to build an advanced dungeon.

Re: "Editor Strikes Back" - A GUI editor for DSB

Posted: Mon Jan 04, 2010 9:06 am
by ian_scho
Adamo wrote:Now you still have to know Lua a bit to build an advanced dungeon.
Some of us consider that as an advantage!

Re: "Editor Strikes Back" - A GUI editor for DSB

Posted: Mon Jan 04, 2010 9:22 am
by Adamo
now you need to manipulate the Lua commands text
I don`t know if I said it right.
for example: now if you want thing to disable self, you need to add a "disable_self = true" command in ExVars window. By "adding" it to the editor, I mean that it could be done with an on/off flag, just like it is in CSBwin editor. But it would be needed to rebuild some parts of GUI in the editor.

Re: "Editor Strikes Back" - A GUI editor for DSB

Posted: Mon Jan 04, 2010 9:46 am
by ian_scho
Ahh, understood. You are right. I was assuming 'advanced functionality', rather than disactivate/activate type actions.

Re: "Editor Strikes Back" - A GUI editor for DSB

Posted: Mon Jan 04, 2010 8:49 pm
by Sophia
Adamo wrote:Sophia, your editor is extremally cool
Thanks. :D
Adamo wrote:is there a way to add advanced functions into it (like items or monsters properities, now you need to manipulate the Lua commands text), like it is in CDBwin editor for example? Now you still have to know Lua a bit to build an advanced dungeon.
Yes, these kinds of features are definitely coming. Like it says in the initial post of this thread, ESB in its current state is still rough and unfinished, but I wanted to offer a chance to play with it as soon as there was something worth playing with. I'll still be refining the interface for choosing targets/exvars/etc., and adding some more intuitive mechanisms for editing all of this stuff. :)

I've already made some progress. The new download available (DSB 0.37a) includes ESB 0.2, which, in addition to bug fixes, includes new features for editing targets and monster generators.

Re: "Editor Strikes Back" - A GUI editor for DSB

Posted: Sat Jan 16, 2010 12:50 am
by Sophia
Another new download available (DSB 0.37b / ESB 0.3) featuring more bug fixes, as well as opby, spin, and shooter editors.

Re: "Editor Strikes Back" - A GUI editor for DSB

Posted: Tue Jun 22, 2010 3:21 pm
by Adamo
Sophia, you`re a geniuos! I took a look deeper and I`m impressed with your editor. It took a while for me to figure out how it works (I used to work on Paul`s editor so far), but I`m slowly starting to get it. Opby, spin... It`s as good as CSbuild. Great work!!

Re: "Editor Strikes Back" - A GUI editor for DSB

Posted: Sat Dec 18, 2010 5:23 am
by Gambit37
ESB looks sweet. Bit confusing after using RTC Ed though! I love that it can take all available space and has a properly scrollable interface -- it's impossible to place teleporter targets, for example, in large RTC levels.

Here's a few quick suggestions/questions:

1) There's an info panel bottom right, but on a widescreen it's too far away to be useful. Could it be made floating and movable anywhere? Actually, same applies to the entire right hand bar (as separate panels).

2) Can the cells.pcx file be enlarged and handle custom object types? It would be very handy to add small icons images for some of my custom types.

3) I'm sure this is a big ask, but when you roll over something and the info panel gives the text description, could it also display the front view or icon of the item in question? Words and numbers are not as quick to understand as pictures... ;) The same applies to any place in the editor where you're looking at lists of items -- these really do need visuals to be truly useful.

4) I don't understand how to place items in the dungeon? I saw the Edit Menu says A to add, but how? Nothing happens when I click on a tile. EDIT: OK, I worked it out. Sorry, but the method for placing items is totally unintuitive and unfriendly. Are you willing to take suggestions on a better user interface for this? It could really do with simplifying. (RTC Ed is better here: right click a tile, click add, select from a list. Much quicker than in ESB.)

5) Can the location picker window be made stretchable?

6) Find Insts: a match is highlighted in the popup window when selected. If you click "Go Here in main View", the highlight is lost -- can you put one in?

This is definitely a cool start to a promising editor, but the lack of visuals when selecting items from lists is a big problem IMO. Also, having to type in things like portrait names and sound effects will be a big productivity killer: you need dropdown lists for these too. RTC editor has some issues, but it's visual and list based selection methods really make dungeon editing much faster which is why us visual people love it. If you could extend ESB to match RTCEd in these regards, you'd definitely get a convert :-)

Re: "Editor Strikes Back" - A GUI editor for DSB

Posted: Sat Dec 18, 2010 6:13 am
by Sophia
Gambit37 wrote:There's an info panel bottom right, but on a widescreen it's too far away to be useful. Could it be made floating and movable anywhere? Actually, same applies to the entire right hand bar (as separate panels).
That's a good thought. I'll look into this!
Gambit37 wrote:Can the cells.pcx file be enlarged and handle custom object types? It would be very handy to add small icons images for some of my custom types.
Yes, it can. Right now, the method is a bit clunky, for same reason most things are clunky in DSB: they're good enough for me and there wasn't really much interest in anything better. I posted a thread about it here, and nobody ever replied. So, if you're interested in this, let me know what would work best for you, and I'll see what I can do.
Gambit37 wrote:I'm sure this is a big ask, but when you roll over something and the info panel gives the text description, could it also display the front view or icon of the item in question? Words and numbers and not as quick to understand as pictures... ;) The same applies to any place in the editor where you're looking at lists of items -- these really do need visuals to be truly useful.
I don't understand the reasoning behind this one, but I'm a coder, not a visual person. Us coders are weird. You can ask T0Mi all about it. It might be a moot point really because I'm not sure how I'd go about getting ESB to load just the icons for files anyway. The only thing I can think of at the moment is for it to load all graphics, which is not exactly ideal.
Gambit37 wrote:Sorry, but the method for placing items is totally unintuitive and unfriendly. Are you willing to take suggestions on a better user interface for this? It could really do with simplifying. (RTC Ed is better here: right click a tile, click add, select from a list. Much quicker than in ESB.)
I don't agree with this one at all.

Adding an object in RTC:
:arrow: Right click the tile.
:arrow: Click "Edit."
:arrow: Click "Add."
:arrow: Find the right tab for the object you want to add and click the object.
:arrow: Click the proper subtile position.
:arrow: Click OK.
:arrow: Click OK again.
:!: Repeat the whole thing to add the same object anywhere else.

Adding an object in DSB:
:arrow: Find the object in the right-side tree, which is sorted by object type and then object class.
:arrow: Click the tile and subtile for the object you want to add.
:idea: If you want to add the same object anywhere else, just click again.

How is the RTC method quicker or better?
Gambit37 wrote:Can the location picker window be made stretchable?
Not easily, unfortunately.
Gambit37 wrote:Find Insts: a match is highlighted in the popup window when selected. If you click "Go Here in main View", the highlight is lost -- can you put one in?
This should be pretty easy to do. I'll look into this one, too.

Re: "Editor Strikes Back" - A GUI editor for DSB

Posted: Sat Dec 18, 2010 9:32 am
by Gambit37
Sophia wrote:
Gambit37 wrote:Sorry, but the method for placing items is totally unintuitive and unfriendly. Are you willing to take suggestions on a better user interface for this? It could really do with simplifying. (RTC Ed is better here: right click a tile, click add, select from a list. Much quicker than in ESB.)
I don't agree with this one at all..... How is the RTC method quicker or better?
It's a user experience and a productivity issue. It may also be a difference in the way coders build, vs. visual designers.

When I'm building a dungeon, I have the mouse near the tile I want to edit. (In fact, most people move their mouse near the thing they're looking at on screen -- go on try it, you probably don't realise you're doing it!) So I want any popups or tools to be near the mouse too. Fitts agreed.

If you have to move the mouse to side of the screen, there can be a cognitive disconnect between what you were just looking at, and what you need to find in the sidebar. It's even worse if you're on wide screen with a large dungeon (which is why floating popups would help). Although Fitts law states that controls at a screen edge are easier to acquire, it doesn't work in the case of ESB, because the item tree is not on the *actual* edge of the screen.

I think the ESB "view sidebar -> select group/item -> find tile in dungeon -> place item" is more confusing than doing it the RTC way: in RTC you're looking at a tile and you right click the same tile to add something right there: the popup appears right there where you're looking. That's instant localised feedback and you're making the most of the simplest interaction the user can do (clicking on the spot where the cursor is currently); that's also better usability all round, and I think it's a more likely way that people design dungeons. I'm not sure that many people search through a list and *then* find the tile to place it on?

In ESB, each time you move the mouse to the sidebar and away from your target tile, you're breaking the cognitive association between what you were working on elsewhere on the screen. The big plus with ESB over RTCEd though is the fact that the item selector stays on screen in the last state you used it; that's much better than RTCs strangely ordered tabs.

Ultimately, the task is the same: place an item on a tile by selecting from a list and it probably takes a similar amount of time in both editors. But I'd argue that the initial interface to getting that task done is more intuitive in RTCed because it's better designed for the contextual user experience.

To add extra objects to the same tile in RTC, you simply click Add again, because the popup is still there. And you can edit all the objects from the same popup too. I agree that ESB is quicker if you're adding lots of items of the same type at the same time, but I don't think many designers work this way -- I'd guess that most actually work on a small piece at a time and need a few different item types for each thing they build.

Neither editor is perfect for these tasks, but I'd argue RTCEd is overall more usable because it keeps the designer's focus right there in the same screen space.

I'm not trying to bash ESB because I'm a RTC lover or anything. (RTCEd still has many problems after all). I'm genuinely interested in these kinds of design issues because I deal with them in my day job, and I think I can help improve ESB with the experience I have in this area. Would it help if I mocked up some examples?

I'd be interested to run some usability tests on this too. Set some tasks and get people to do the same thing in both editors ;-)

Sophia wrote:
Gambit37 wrote:I'm sure this is a big ask, but when you roll over something and the info panel gives the text description, could it also display the front view or icon of the item in question?
I don't understand the reasoning behind this one, but I'm a coder, not a visual person. Us coders are weird. You can ask T0Mi all about it.
That right there is exactly the issue ;-) Coders need visual and user experience designers to help make their stuff more usable :-) As a visual person, I react to imagery. It's more cognitive effort to process a list of numbers or names, than a string of pictures. Didn't you ever scroll down the item list in RTC and identify what you wanted by looking out for its picture?