packages feed

venzone-1.0.0.2: stories/z_editor.vns

@@
@@                      STORY WRITING EXPLAINED
@@                      -----------------------
@@
@@ By reading this file you will be able to write your own Stories.
@@ Consider sending them to me (fa-ml@ariis.it) when finished!
@@

@@
@@ Lines starting with @@ are comments and thus ignored by the
@@ interpreter.
@@ Comments *cannot* appear inside rooms, just between them.
@@

@@

@@
@@ Story files have `.vns` extension and use a UTF-8 encoding.
@@ Your editor is probably already doing the Right Thing®.
@@ If problems arise, you can easily check/convert (e.g. on notepad++
@@ the encoding is shown on bottom-right corner and you can change
@@ it with "Format > Encode in UTF-8").
@@

@@
@@ At the beginning of each Story file you will find three global
@@ arguments: story_name, room_size, start_room.
@@ Each argument follows this syntax:
@@
@@      argument_name: value
@@
@@ `room_size` is the mandatory size (rows by columns) of each Room.
@@ Tip: have your text editor display trailing whitespace!
@@

story_name: Story editor
room_size: 24 48
start_room: Editor one

@@
@@ Each room is composed by:
@@     - a title (starting with "# ");
@@     - the level itself (expressed in plain characters);
@@     - and exits (starting with ">>> ").
@@
@@ so the levelmap is sandwiched between the title and the exits. Note
@@ that you can have multiple exits by simply stacking them, like e.g.
@@
@@      >>> N -> Big room
@@      >>> S -> Beach
@@      >>> E -> Prison cell
@@

# Editor one
:                                               
:                                               
:    @                ®Want to write your®      
:   ---               ®   own levels?    ®      
:                                               
:                                              :
:                                              :
:                     b                        :
------------------------                       :
                                               :
                                               :
                                               :
                                               :
                      ----------------|---------
:                                     |         
:                                     |         
:  ®Open stories/z_editor.vns with®   |         
:  ®a text editor for instructions®   |         
:  ®         and examples.        ®   |         
:                                     |  ®-->®  
:                                     |         
:wwwwwwwwwwwwwwww-                    |         
:wwwwwwwwwwwwwwww:::::::::::::::::::::::::::::::
:wwwwwwwwwwwwwwww:::::::::::::::::®Square room®:
>>> E -> Editor two

@@
@@ Whenever '@' reached the edge of the room map, the game will try to find
@@ the appropriate exit listed beneath the level data. If such room does
@@ exist, you will get a crash with an error!
@@

@@
@@ VALID LEVEL TILES:
@@
@@     - solid platform.
@@
@@     : another kind of solid platform.
@@
@@     = yet another kind of solid platform.
@@
@@     i invisible solid platform.
@@
@@     . background tile (non-solid).
@@
@@     % (where % is any of R Y G B P C), color dot (`.`). Colours are
@@       Red, Yellow, Green, Blue, Purple, Cerulean
@@
@@     * Stars, collectible, used to unlock Lock platforms.
@@
@@     # (where # is any digit from 1 to 9), Lock platform: will behave
@@       like a solid platform and dissolve when player collects at least
@@       # stars.
@@
@@     @ spawn point. Character will restart here after dying.
@@
@@     | ladder tile (can be climbed).
@@
@@     w water tile, hazardous
@@
@@     A spike tile, hazardous
@@
@@     x transparent, non-solid tile. The parser will check for rooms with
@@       mismatched dimensions. This is quite useful, but how to draw a room
@@       with an unoccupied, empty space on the right then?
@@       Here is where 'x' is useful: add one to the bottom-right of your
@@       room to state "this is not an error, I am fine with this room
@@       design" to the game.
@@       Since the tile is not otherwise useful, use it only when the
@@       parser complains about your map.
@@
@@     prop chars: any character sandwiched between '®'s loses any function
@@                 and becomes a non-solid, background tile.
@@                 Useful when you want to write something in the room and
@@                 not having it treated as a real tile.
@@
@@     d or f: dumb enemy (falls off ledges). 'd' moves West, 'b'
@@             moves East.
@@
@@     f or j: smart version of 'd', 'f' moves West, 'j' moves East.
@@
@@     v Flying animal, drops pellets which kill the player.
@@
@@     o falling projectile.
@@
@@     k or y: blade-throwing Krampus, 'k' moves East, 'y' moves West.
@@
@@     , Stinging nettle (a poisonus plant), cycles between states ('.',
@@       ';' and 'A'), hazardous when fully grown (green `A`).
@@
@@     X Longana (a water witch), hunts the player, flying. She is not
@@       stopped by walls or any solid tile.
@@
@@     S (experimental -- will be displayed in game as '.') permanently slows
@@       the player down for this Story.

# Editor two
                                                
®    A                                      ®
®   / \                                     ®
®   / \  A                                  ®
®   / \ / \                 Happy writing!  ®
®    |  / \         :                       ®
®,_*.|  / \        .:.                      ®
®     \_ |      c  ,:,                      ®
®       \|     cSs ,:,                      ®
®         \_   s|s .:.                      ®
®           \*__|___|___                    ®  :
®                       \                   ® ::
                                              ::
                                              ::
                                        +     ::
                                             :::
                           -|----------------:::
                            |                :::
                            |                :::
                            |           **   :::
                            |           **   :::
                            |                :::
::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::®Glimpse of forest®:
>>> W -> Editor one

@@
@@ For obvious reasons, do not use tabs while writing Story files.
@@ Of course you can use your ASCII-art editor of choice too, and
@@ paste he result in the relevant section of your Story file.
@@ Find the ASCII editor I used for "The Orcolat" here:
@@
@@      http://www.ariis.it/static/articles/venzone/ascii-mapper/index.html
@@

@@
@@ A useful tool to develop stories is `watch mode`.
@@ Open your editor on the story you are modifying and start venzone
@@ like this:
@@
@@      venzone --watch path/to/story.vns
@@
@@ Watch mode automatically reloads the map every time the .vns file
@@ is saved. Now just edit the story on the left, see the game automatically
@@ update on the right, play test immediately!
@@ Tip: change `start_room` to play test different parts of the game.
@@ You can exit this loop by using Ctrl-C.
@@

@@
@@ If you find a bug or feel need new features, contact me at
@@
@@     fa-ml@ariis.it.
@@
@@ Happy writing!
@@