Dialog Extension 2.0 Devlog

Justin

  • *
  • Posts: 4589
For about half a month I've been working primarily on updating the dialog extension. One of the key features of the next update will be that the different dialog plugins will finally be truly separated again. This means you can pick and choose which features you want to add to your dialog system, and it also means you can write your own plugins and they'll work just like the built-in ones.

For now they'll need to be written in Haxe, but eventually I'm planning on integrating Design Mode with it so you can write your own dialog plugins with Stencyl's blocks.

« Last Edit: November 02, 2015, 07:02:13 pm by Justin »
For Live Support: Join our discord server and ping me @justin.
I'm most often available between 10am and 10pm Japan time. (GMT+9)

Justin

  • *
  • Posts: 4589
For those curious, you can see my development updates on Github, too.

Dialog Extension 2.0
- Open Issues
- Closed Issues
For Live Support: Join our discord server and ping me @justin.
I'm most often available between 10am and 10pm Japan time. (GMT+9)

Justin

  • *
  • Posts: 4589
I caught a lot of flack for the difficult process of updating the extension last time I made some changes, so one of the things I've put a lot of effort into is making the extension more tolerant of things being done out of order, and missing dependencies.

If you're updating to the newer format for the extensions (as of about a month ago now?), as an example, a user might first enable the Data Structures extension before enabling Dialog. Previously, that would cause an error, some annoyance, maybe even data loss. Now, instead, it loads all the information up as "unknown" types, and waits for other extensions to be enabled to try understanding what it all means.

I've also made sure that the transition from a monolith style object to a bunch of smaller plugin objects will be as smooth as possible, so users won't have to make any changes before things work.
For Live Support: Join our discord server and ping me @justin.
I'm most often available between 10am and 10pm Japan time. (GMT+9)

Justin

  • *
  • Posts: 4589
An idea I experimented with was to add icons to make things easier to find and understand. Not sure I like how this example turned out, but if there's anybody who's design-conscious and can think of better ways to present information, I'm all ears.

For Live Support: Join our discord server and ping me @justin.
I'm most often available between 10am and 10pm Japan time. (GMT+9)

Justin

  • *
  • Posts: 4589
Another problem that needs to be fixed before the release is the array interface. I ripped the current one almost directly from Stencyl, and it's pretty terrible. I'll see about making a smoother one that easier to use. Maybe an in-between of the "Standard" and "Simple" editors.

For Live Support: Join our discord server and ping me @justin.
I'm most often available between 10am and 10pm Japan time. (GMT+9)

yoplalala

  • *
  • Posts: 1632
Quote
"Next update will be that the different dialog plugins will finally be truly separated again. This means you can pick and choose which features you want to add to your dialog system, and it also means you can write your own plugins"

Nice work Justin ! Maybe I'll start using the dialog extension :)

For the list editor part,  it could be cool if you could have lists in lists ( and maps in maps). That's what I miss in Stencyl.

Justin

  • *
  • Posts: 4589
That shouldn't be hard to implement. In fact, I have a screenshot from when I was first developing the Data Structures extension (about a year ago) that shows lists inside lists.

For Live Support: Join our discord server and ping me @justin.
I'm most often available between 10am and 10pm Japan time. (GMT+9)

Justin

  • *
  • Posts: 4589
I got everything put together and the sample game is compiling again!



Unfortunately something got a little weird along the way...

In any case, hopefully it won't be too much longer.
For Live Support: Join our discord server and ping me @justin.
I'm most often available between 10am and 10pm Japan time. (GMT+9)

Justin

  • *
  • Posts: 4589
The above problem was fixed. Turned out to be as simple as it looked.

And I've start on the array editor.

Keyboard controls to move up and down, multi-select with ctrl and shift, remove with "delete". Edit the currently selected item with double-click or by pressing enter. Press "n" to create a new item in the list (tentative, will change if there's a better idea).

It might end up being kind of awkward, as before, if dealing with lists inside lists. Best case would, I guess, be a 2D list with a specific number of rows and columns, like a spreadsheet. But working with variable-length, variable-type embedded lists won't look too bad, as long as the embedded lists are pretty short (a few items max).
For Live Support: Join our discord server and ping me @justin.
I'm most often available between 10am and 10pm Japan time. (GMT+9)

BMJ

  • Posts: 278
Justin,

Thank you. I'm very happy to see this update -- looks like some nice improvements have been made, but I didn't see anything listed about the image scaling issue. Is that being adressed in this update at all?

Justin

  • *
  • Posts: 4589
It's easy for me to lose track of things, so I probably wouldn't have done anything about that if you didn't remind me. I'll take a look! :)
For Live Support: Join our discord server and ping me @justin.
I'm most often available between 10am and 10pm Japan time. (GMT+9)

Justin

  • *
  • Posts: 4589
Progress!

By "editing" the last row (either by double clicking or pressing enter), it expands the list with a new item and then starts editing the new item. New rows can be inserted in the middle of the list, too, by hitting 'n'.
For Live Support: Join our discord server and ping me @justin.
I'm most often available between 10am and 10pm Japan time. (GMT+9)

Justin

  • *
  • Posts: 4589
The array editor is generally finished. It's pretty buggy when trying to do nested arrays, but I'll put that off for later. It works fine for one-dimensional lists of simple data.

The big issue now is that it's too difficult to do simple things. Like, start a new game and get some quick dialog up and running. I guess I should be installing a very basic preset when it's enabled for a new game.
For Live Support: Join our discord server and ping me @justin.
I'm most often available between 10am and 10pm Japan time. (GMT+9)

Justin

  • *
  • Posts: 4589
At least the whole "custom plugins" thing works. That's another thing that takes too many steps though.

For Live Support: Join our discord server and ping me @justin.
I'm most often available between 10am and 10pm Japan time. (GMT+9)

Justin

  • *
  • Posts: 4589
Also, small improvement to image scaling. 9-slice images can have their center tiled, and the border can be specified with all four sides instead of two corners.

For Live Support: Join our discord server and ping me @justin.
I'm most often available between 10am and 10pm Japan time. (GMT+9)