Story editor

From Post-Apocalyptic RPG wiki

Jump to: navigation, search

Deprecated code proposal.png This article features a deprecated code proposal.

Deprecated Proposals are no longer considered for implementation. This does not necessarily mean that they are completely rejected but for now have been set aside.

A proposal for a graphical editor for Story and Dialog elements




The editor will implement these two specifications


  • Provide a graphical tool for creating and editing Story scripts for the Story engine
  • Improve workflow over text base editing of the scripts
  • Provide a visualization of the connections and dependencies of the Story



The editor will be written in python using the wxPython gui library. Initially it will provide two main pieces of functionality.

  • A UML style dependency graph which will show the connections and inter-dependencies of the different story elements. The graph will be movable and connections between different elements will be able to be created and removed in this view.
  • An editor window in which you can create and edit individual story elements. There will be two views in this editor window.
    • The first is a simple text view in which raw scripts can be written. Once the format is concrete this should be able to provide code completion, syntax highlighting, and syntax checking.
    • The second view will be a graphically oriented editor. Dropdown menus will show the various script options and, as options are selected, new dropdowns will be added for the new variables.


The script editing portion should be able to make use of the same library for reading and writing scripts that the game engine will use. Since this library does not yet exist it will probably become part of the development cycle.

The editor should be able to read map files and enumerate the various objects so that their names and properties can be used in both code completion and can appear in the dropdown menus.

Syntax checking should be provided by the script parser.

Features Wishlist

  • The ability to start a game at any point in the Story Tree would be very useful.


The BlueJ visualization screen is similar to what I envision for the graph. Bluej.png


Since there is not a lot of code existing for the Story engine some of that needs to be done. We need a grammar for the language and at least the beginnings of the library. Much of the framework of the editor can be written without this, however.

Personal tools