A look at the new Script Editor

Alex
I've redesigned the Script Editor again for Beta 2 - I think it's pretty cool. Let me know what you think!

http://www.textadventures.co.uk/blog/20 ... -0-beta-2/

Pertex
Hmm, I am not really sure about it. Perhaps its to early to say something about it.
It looks a bit difficult to me. Lets look at the "print"-command. Why must I choose "message" or "expression"? Could not be any message handled as an expression? And how to you want to handle fontcolour, -size or tagged text?

The "Set Variable" is only for the first call of the variable and there will be an other command for changing the values of an existing variable (like in Q4 I think)? Perhaps the expression dropdown could become a bit large and overcrowded

Alf
I like it, Alex. It reminds me a lot of Intellisense in all the Microsoft programming environments.

So far, the only hurdle I see with Quest 5 is, not what you can do, but trying to figure out what you *should* do. For the beginner/novice, that will be the greatest obstacle. Of course, that is where tutorials, demo code, and the forums come in.

Not just games, I also see quest as a great foundation for creating training courses.

Thanks again for all the effort you put into Quest. I look forward to the finished product!

Alex


It looks a bit difficult to me. Lets look at the "print"-command. Why must I choose "message" or "expression"? Could not be any message handled as an expression?



Yes, any message can be handled as an expression, so if you want to type your message as an expression there's nothing stopping you - but you'd need to remember to put the quotes around it.

The message: Hello, world!
Is equivalent to the expression: "Hello, world!"

In most cases, I imagine most people will just want to print simple messages, which is why "message" is the default - I don't want people to have to worry about quotation marks. But if you switch to "expression", your message is automatically converted.

We have to do it this way, because unlike Quest 4, we don't use in-lining. In Quest 4 if you wanted to add a variable to a message, you added it by surrounding it in "#" characters. We don't do that in Quest 5 (well, it could still be added I suppose).

Hopefully you'll see it's fairly intuitive when you play around with it a bit.


And how to you want to handle fontcolour, -size or tagged text?



Fonts: Currently, you'd have to use a script command to change the font. We should probably add some XML markup to allow you to change it within a printed message, so in that case you could type the XML markup directly into the message, but I'd probably also add a "formatted text" option to the drop-down too. This would increase the size of the textbox, display formatted text, and add a formatting toolbar (using the existing Editor RichTextControl).

Tagged text: I think XML markup is not the right way to do this. I'd probably add a separate command instead of "print", to allow you to specify a dictionary to use for the drop-down list.


The "Set Variable" is only for the first call of the variable and there will be an other command for changing the values of an existing variable (like in Q4 I think)?



No, there's only one "set variable" command.


Perhaps the expression dropdown could become a bit large and overcrowded



Maybe eventually, but the design could be refined in that case, maybe to pop up a searchable tree, similar to "Add script command".

Pertex
I am not convinced of this system yet. Advanced user will work with an external editor, something like "Set output=output + getDescription(house.alias)" is done quicker with it. I think you cant read the code really good (like Q4). In Q4 it was nearly impossible to use/understand nested if-clauses in the editor. It would be interessting to see an example with if-clauses in Q5 :D

Alex
If advanced users want to edit code manually, that's totally fine. You can switch back and forth between code view and "friendly" view. But it's very important that people with no programming experience can get started quickly. I know that many people have had their first taste of programming from using Quest, and I think it's important to try to continue that. There are teachers out there who are getting kids creating games in class, which is brilliant, and I believe the new script editor will help Quest to provide an even better introduction to programming.

I think the new v5 editor is more intuitive than the v4 editor - I don't see how it could be harder to read code in v5 than it was in v4. In v4 you have the code in two different places - once in the list at the top, and then underneath after you've clicked an item. In v5 I've just combined the two. You can still read off the script in plain English, but now you can directly click each parameter to edit it immediately.

This means for nested "if" clauses, as you mention, it's much simpler, as each nested "if" script is editable within its parent script. You don't need to open up separate Script Editor windows to "drill down" into a deeply nested script.

Pertex
Yes, I am sure that you will do the best. Lets wait for the result. I recommend a inline-help (for every command).

Pertex
Hi Alex,
I just played with a new version of Q5. Yes, you are right. Its a help for newbies to create scripts, but as I said, you cant read the script any more. In my example there are only 7 lines of code but it needs the whole screen to display them. :(

I thought about a solution of this problem to get both advantages. One thing could be a new option just right to the "pop out"-Button to display a "code view"-window with all the code under this option. Just to show the code, but no possibility to edit code there.
It would be another (additional) possibility to change the view of the single lines if they lose the focus. If the user leaves a line, all the buttons, textboxes, dropdown of the line are replaced by a line showing the scriptcommand as simple text. If you later click into this line, it would be replaced by the inputfields of this command.
script.jpg


Support

Forums