Not logged inOpenClonk Forum
Up Topic Development / Developer's Corner / OC Editor Stream
- - By Sven2 [us] Date 2016-11-04 17:36
I'd like to do a live stream to show off the editor (see clonkspot forum). Ideally I want to stream my screen and show a network session with 2-4 people, so the scenario grows while I talk about all the new features and we build e.g. a simple settlement adventure round together.

My idea would be Sun 11/13 8pm german time (2pm EST). Would anyone be willing to join?
Parent - By Maikel Date 2016-11-04 19:33
I am on a plane then, I could potentially do Sa 11/12 8pm to 10pm.
Parent - - By K-Pone Date 2016-11-05 13:04
The american date format is sooo confusing... :(

Anyway, I'd like to join the stream.
Parent - By Luchs Date 2016-11-05 13:45
He obviously means the eleventh or the thirteenth Sunday.
Parent - By Sven2 Date 2016-11-11 05:58
Hm, too late to arrange things and I'm super busy :( - maybe next week?
Parent - - By Sven2 Date 2016-11-19 22:10
Okay, looks good. We'll stream tomorrow 8 P.M German time ( = 2P.M E.S.T.) to show the new editor. K-Pone and Wipf will join in voice, but if anyone else wants ot help out you are most welcome.
Parent - By Newton [de] Date 2016-11-20 00:27
Cool, I try to be there. Please announce this also in the clonkspot forum! (Can you start announcements in this forum?)
Parent - - By ala [de] Date 2016-11-21 22:25
Sadly I couldn't be there, will there be a video?
Parent - By Zapper [de] Date 2016-11-23 11:08
This video is private. Sorry about that.

Did you want "unlisted" instead of "private"?
Parent - - By Newton [de] Date 2016-11-23 13:00
Hey Sven, be sure to know that I absolutely appreciate the work you did with the editor. For the most part, it turned out so good, so usable, so feature-rich that I am super happy that you started this project. I really can't wait for version 8. However, amongst all the praise, I have to address one issue I see with the editor which feels like is growing and growing the longer you work on the editor without having a real user-base which can give you feedback from using it:

I watched the video again on twitch. I have to say, the editor still (or already?) feels over-complex. There is so much clicking through menus and comboboxes for just a few lines of code that I think I would not use these functions myself.

I know it is geared towards newbies who cannot script, but I'd say what feels complex to me will feel even more complex to newbies. It is yet another tool they'd have to learn. I find it odd to have functionalities in an editor that experienced developers wouldn't use because they seem too cumbersome but which should be used by newbies.

Of course, that is just my opinion after watching and re-watching the stream, so I'd really recommend to give the editor some exposure to the public by releasing version 8 now and let it grow and refine over the years by real-user feedback rather than developing more and more complex features "in the box".
Parent - - By Clonkonaut [de] Date 2016-11-23 17:29
I have to disagree there. The editor actually eases a lot of otherwise bothersome processes - even for experienced developers. Of course, as soon as you want something more complex, you need to switch to script. But for a first draft, the results are very good. The code is well made and easy to work with (and actually not that uncomplicated to do properly, with the symbiosis between Script.c and Objects.c).
Bothersome tasks include things like placing levers and connecting them with doors. Doing this script-only includes a lot of playtesting to see if you managed to place everything correctly in the landscape and so on. Dialogues and/or sequences do require a lot of clicking around but also a good deal of remembering the interface of our respective libraries. I don't think that doing this in script is faster or easier than in the editor; but then maybe I am not that proficient in these libs.
Reply
Parent - - By Sven2 [us] Date 2016-11-23 18:31
I think we should make the scenario script.c directly accessible from the editor. However, you are definitely right about scripting complexity. When I wrote my first script in Clonk 4, I only knew BASIC and scenarios I downloaded from e.g. Schosch's Clonk Archiv looked like this (from memory):

Initialize:
  ScriptGo(1);

Script1:
  Message("Horst: Hallo Spieler! Finde meinen Goldklumpen!")

Script10:
  if(Not(FindObject(GOLD, 10,10,200,200))) goto(10);

Script15:
  Message("Spieler: Hier ist dein Goldklumpen!");
  GameOver(2000);


It was really hard for me, but I managed to understand things and script my first scenario! Now, a typical script looks like this:

/**
  Tutorial 01: Wandering Wipf
  Author: Maikel
 
  First introduction to the world of OpenClonk: explains basic movement controls.
 
  Following controls and concepts are explained:
   * Clonk HUD
   * Walking and jumping with WASD
   * Scaling, wall jump and hangling
   * Swimming, diving and breath
   * Liquids: water
*/

static guide; // guide object

protected func Initialize()
{
  // Tutorial goal.
  var goal = CreateObject(Goal_Tutorial);
  goal.Name = "$MsgGoalName$";
  goal.Description = "$MsgGoalDescription$";
  CreateObject(Rule_NoPowerNeed);
 
  // Place objects in different sections.
  InitStartLake();
  InitCaveEntrance();
  InitHangleSection();
  InitCaveCenter();
  InitGoldMine();
  InitCaveExit();
  InitVegetation();
  InitAnimals();
 
  // Environment.
  var time = CreateObject(Time);
  time->SetTime(18 * 60 + 30);
  time->SetCycleSpeed(0);

  // Dialogue options -> repeat round.
  SetNextMission("Tutorials.ocf\\Tutorial01.ocs", "$MsgRepeatRound$", "$MsgRepeatRoundDesc$");
  return;
}

// Gamecall from goals, set next mission.
protected func OnGoalsFulfilled()
{
  // Achievement: Tutorial completed.
  GainScenarioAchievement("TutorialCompleted", 3);
  // Dialogue options -> next round.
  SetNextMission("Tutorials.ocf\\Tutorial02.ocs", "$MsgNextTutorial$", "$MsgNextTutorialDesc$");
  // Normal scenario ending by goal library.
  return false;
}
...


I don't think that I would have had a chance to figure out wtf is happening there. Some things may be easy to understand, but the sheer volume of concepts and functions is just intimidating.

So even if we make scripting more accessible, we'd need something easy to get started. Maybe small sample scripts, etc.
Parent - - By Newton [de] Date 2016-11-23 20:54 Edited 2016-11-23 21:00
Okay, you have a point.

Edit: It is an interesting development. At the start, most of the functionality was in the engine code, the script language was simple and did not have many features. Now, much more of the game logic is in script and the script is much more powerful now. But now, it has become so complex, that we do need another layer of simplification. ;.( Are we going in (20-year) circles?
Parent - By Sven2 Date 2016-11-23 22:35
If we add Clonkonaut's idea of a flowchart, we will be at the next layer already ;-)
Parent - - By Anonymous [de] Date 2016-12-13 03:37
/me drowns in Nostalgia

Sometimes I wonder how many of the old folks are still around and what they are up to. How long has it been now? Maybe it's time for a reunion party?
Reply
Parent - By Maikel Date 2016-12-13 10:47
Anonymous was never part of the old folks though!
Parent - - By Sven2 [us] Date 2016-11-23 18:28 Edited 2016-11-23 19:02
Thanks for the feedback.

I agree that some of the features have become complex to a point where it's easier to script. This would include conditional actions, variables, the wizard's staff, number pads, etc.

However, two points in defense of the current design:
1. Getting started should be easier. There always seems to be a big jump from playing to editing because you need to know too much to even write a simple scenario script. My idea is that players can start out simply and move on to more complex features.
  Step 1: Draw a map and place objects. This should be really easy now.
  Step 2: Discover object properties. E.g. place a moving brick and adjust its movement range. Place a spawn point and set its spawn object. Place a clonk and enable its AI. Place a switch and connect it to the door.
  Step 3: Action properties. Play a message when you interact with a clonk or switch
  Step 4: Sequences, Triggers, etc.
I don't think players are too stupid to understand more complex concepts. It's just that they won't arrive there.

I think that right now, steps 3 and 4 are not natural yet. If you place a dialogue, you have to find the "Dialogue" property and then figure out why there's a "Sequence". My current idea would be to add links to step-by-step tutorials to the welcome page and to the help menu (as a video or as a simple wiki page). But if you you have ideas how to make the interface more natural to understand, please let me know!

We're also missing a lot of the "Step 2" elements. I think if every object in the original pack had 2-3 simple properties you can set, you can already build some really nice maps without having to understand dialogues and sequences.

2. Independent of newbie-friendliness: Building things together in network mode is fun! I think that it was pretty cool to build e.g. the parkour test scenarios where everyone was designing different sections between the checkpoints. For editor sessions like this, the more complex actions are not a problem because we know how to use them.
Parent - - By Clonkonaut [de] Date 2016-11-23 20:04

> I think that right now, steps 3 and 4 are not natural yet.


It seems that these kind of flowchart interfaces (http://www.musicianeer.com/temp/interpolation_graph.jpg) are the way to go with displaying such no-code-approaches. Those are usually easy to understand.
Reply
Parent - By Newton [de] Date 2016-11-23 20:57 Edited 2016-11-23 22:51
Flowcharts, hmm. Come to think of it, this is how the game designers used to give us programmers the documentation on how a more complex dialog should work if you click here, there etc. in my last company. Not that fancy of course, just copy pasted images with arrows etc.
Parent - - By Luchs Date 2016-11-23 20:29

>I find it odd to have functionalities in an editor that experienced developers wouldn't use because they seem too cumbersome but which should be used by newbies.


I think there is potential to make the editor work well even for experienced developers. The great thing about working with the editor is that you never have to restart. Everything you change is immediately there to try out.

It would be great if regular Clonk development could be more like that. There is already some support for reloading scripts, but it's not very useful for developing scenarios (for example, the scenario script isn't reloaded).

Reloading scripts while keeping state is clearly a hard problem, but maybe the editor could have some built-in restricted editing facilities?
Parent - By Sven2 [us] Date 2016-11-23 22:20
Reloading the scenario script should be trivial. And restarting the scenario without reloading everything is already supported in the editor.

Unfortunately, script reloading is generally broken right now. I think function pointers get lost.
Parent - - By Newton [de] Date 2016-11-23 22:57
Oh, perhaps another feature request after watching the stream: the object definition list seems kinda clumsy. A quick filter field on top of the list like in the preferences dialog in Eclipse would help much. Also, displaying the items as pictures of their title graphic (instead of name) could also make it more accessible. (You know, like in the old Clonk Planet Scenario Options dialog)
Parent - - By Sven2 Date 2016-11-23 23:40
Filter field: Yes, good idea
Pictures: Won't that make all the entries pretty large? I always found the Clonk Planet scenario options dialogue incredibly clumsy to use.

Another idea for the object creator would be to hold down Alt to "pick" a definition by cliking an existing object. Similar to how you pick the landscape material while drawing.
Parent - - By Wipfhunter [at] Date 2016-11-24 16:40

> Pictures: Won't that make all the entries pretty large?


Perhaps only show the picture of the selected object in the list?
In my opinion a picture is useful to distinguish between objects with similar names, or when you search for an object but don't know the actual name by heart.
Reply
Parent - By Sven2 Date 2016-11-24 19:08
Hm, as a search result it may make sense because you do not see the whole tree any more.

Of course it would also make the editor more "playful" which is probably good. I'll play around with it when I find the time.
Parent - By Maikel Date 2016-11-27 23:04
I have managed to watch the replay, and it is very nice, I even learned some new things. Especially on the front of enemy AI I think we'll be able to explore lots of interesting possibilities.

Also we should have a stream to make a tower room soon.
Up Topic Development / Developer's Corner / OC Editor Stream

Powered by mwForum 2.29.7 © 1999-2015 Markus Wichitill