venzone-1.1.0.0: 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, the player will die and respawn.
@@
@@
@@ 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!
@@