daid / EmptyEpsilon

Open source bridge simulator. Build with the SeriousProton engine.
https://daid.github.io/EmptyEpsilon/
GNU General Public License v2.0
528 stars 176 forks source link

Visual editor tool for missions #401

Open lunerfox opened 7 years ago

lunerfox commented 7 years ago

So I've setup a somewhat serious bridge (DMX lights, web server, props...etc) and play with friends on a semi-regular basis; The overall feelings have been very, very positive; Everyone seems to have something to do (including Relay, with the new hacking mini-game), and is engaged throughout the experience.

The biggest issue I'm dealing with right now as a GM is actually the lack of content; I see this as one of the biggest areas of improvement that would bring more interest to the game for a large number of people who might want to contribute but is put off by the programming aspects required.

What are people's thoughts on the development of a visual editor for scenarios? What kind of challenges are there? Would it be useful? What would be the best way to implement it?

daid commented 7 years ago

Well, I'm using the GM screen as partial visual editor. As you can copy all or the selected objects to the clipboard. This could be expanded into a full scenario editor?

I'm not sure which parts you want to visualize? Things like a scenario flow? Bit like a flow diagram?

lunerfox commented 7 years ago

I think you have the right idea; Since the mission scripts tend to follow patterns that would suit a state diagram (with superstates). Where superstates represent a mission objective, and the states represent a step towards the objective. Since there is a pattern emerging, it might be worthwhile to see if a framework should be defined to make building scenarios easier.

The GM screen is a fantastic tool to setup the initial scene, expanding it to a full scenario editor would be a reasonable step, expanding both a GM's capability to create a scenario both on-the-fly and offline.

Another potential benefit of a visual editor is to encourage the usage of code modules. If the visual editor allows defining scripts to load at certain states (OnEntry/OnExit/During), missions can be broken down into snippets that would make it easier to debug and scope.