Garrett (garote) wrote,
Garrett
garote

Designing game maps over email

Somewhere I have the Applesoft BASIC program I wrote to translate these drawings into the binary format we used for maps in the game. But Zog's source material here, with its annotations and quirks, is artistic in its own right.

TROLLS BLOCK SYSTEM (Zog, 8/29/92)  PRINT 'N SAVE!

* In the following solids:  R = Red       G = Green
                            B = Blue      Z = Grey

XR, XG, XB, XZ  -- Raised 3-D geometric blox
[R, [G, [B, [Z  -- Concrete (question blocks w/o questions!)
#R, #G, #B, #Z  -- Smashable brick blocks
?R, ?G, ?B, ?Z  -- Question blocks (of course!)
!R, !G, !B, !Z  -- MushRoom in a ? block
@R, @G, @B, @Z  -- An invisible block, most likely just a ? with a coin.


One complete vertical pipe with         One complete horizontal pipe with both
both ends flanged:                      ends flanged: (Rarely used, so far..)

[PP]  << Pipe tops                      Q1------Q3        (Yeah, it's ugly,
|PP|                                    Q2======Q4          so what?)
|PP|  << Pipe sides
|PP|                            Pipe segs w/ green: (not always indicated
(PP)  << Pipe bottoms           {P, P}, *-, *=       in my maps, unfort.)


$$ << Coin        $C << Cola        $B << Beer        ^^ << TNT?
$P << Pizza       $H << Cow Meat    Is there anything else??


Rocky ground: /RRRRRR\        Green mound ground: /ZZZZZZ\   (/Z and Z\ with
              RRRRRRRR                            |......|   a green bkgnd
                                                             will be /B and
                                                             B\ .)
Big white block:  /000000\       Wood blocks:   /WWWWWW\
                  |;;;;;;|       (without sky   |wwwwww|
                  |;;;;;;|        shadowing)    |wwwwww|AWWWW\
                  \______/                      |wwwwww|fwwww|

Shadows for white blocks
and wood blocks:         /0000\
                         |;;;;|f. << Side shadow is 'f'
                         |;;;;|f.
                         \____/f.
 Bottom shadow is 'h' >>   h.h.g. << corner shadow is 'g'

So, on sky: f. g. and h.
   on wood: fw gw and hw
  on white: f; g; and h;


Puffy sand dunes: /VVVVVV\                 Sand shadows: VVV\
(without sky      |vvvvvv|      /VVVV\                   vvv|# << round= c
 shadowing)       |v/AVVVVV\    |vvvv|                   vvv|# << bumpy= d
                  |v|avvvvv|    |vvvv|                   vvv|# << straight= e
                  |v|avvvva|AVVVA\cvv|
                  |v|avvvva|evvva|dvv|     So, on sky: c. d. and e.
                  |v|avvvva|evvva|evv|        on dune: cv dv and ev
                  |v|avvvva|evvva|evv|


Background stuff:
                                                        /\
A palm tree:  pPPp     Some green hills:    /\        //..\\    /\
              qQQq                        //..\\    //......\\//..\\
                Q5                      //......\\//........./......\\
                Q6                    //..........\......../..........\\
                Q6                  //..............\..../..............\\
                Q6
                Q7

Notes:
* Did you notice that all the "A" or "a" blocks are "ANAL???"
* Yes, there are more backgrounds to come...
* I am also sending the first map. Take a look and tell me what you think. It al
so has one underground room, like one of the SMB2 jars.

Level 1-3:

NOTES: Add more coins and yummies and background stuff!... Also, I have realize
d that I don't have enough wood/white block shadows to cover the 2 opposite shad
ow corners... (Huh??) Well, don't worry, all in good time. Just try the map and
see what you think!  One more note: As you can tell, there are still no real bac
kground blocks (except shadows and platform fills, big deal...) I will design co
des for those and foward them to you!

Now, here it is, LEVEL 1-3: (?)

0:=1-2-3-4-5-6-7-8-9=1=1-2-3-4-5-6-7-8-9=2=1-2-3-4-5-6-7-8-9=3=1-2-
0>
1>
2>                               ?R
3>       ?G
4>
5>                                             /ZZZZZZZZZZZZZZZZZZ\
6>             /ZZZZZZ\                        |zzzzzzz?B?Bzzzzzzz|
7>             |zzzzzz|      [G#R[G#R[G        |zzzzzzzzzzzzzzzzzz|
8> RRRRRRRRR\  |zzzzzz|                        |zzzzzzzzzzzzzzzzzz|
9> RRRRRRRRRR  |zzzzzz|                        |zzzzzzzzzzzzzzzzzz|
A> RRRRRRRRRR  |zzzzzz|                        |zzzzzXBXBXBXBzzzzz|
B> RRRRRRRRRR  |zzzzzz|                        |zzzzzzzzzzzzzzzzzz|
1:=1-2-3-4-5-6-7-8-9=1=1-2-3-4-5-6-7-8-9=2=1-2-3-4-5-6-7-8-9=3=1-2-
0>
1>
2>
3>     /0000\
4>     |;;;;|    /0000000000000000\        /WWWWWWWW\    /WWWWWWWWW
5>     \____/    |;;;;;;;;;;;;;;;;|        |wwwwwwww|    |wwwwwwwww
6>               |;;;;;;;;;;;;;;;;|        |www!Bwww|    |wwwwwwwww
7>             /00\;;;;;;;;;;;;/0000\      |w/00000000\  |wwwwwwwww
8>             \__/;;;;;;;;;;;;|;?G;|      |w\________/  |wwwwwwwww
9>               |;;;;;;;;;;;;;\____/      |wwwwwwww|    |wwwwwwwww
A>       [PP]    |;;;;;;;;;;;;;;;;|      /WWWWWWWW\w|    |wwwwwwwww
B>       |PP|    |;;;;;;;;;;;XR;;XR      |wwwwwwww|w|    |wwwwwwwww
2:=1-2-3-4-5-6-7-8-9=1=1-2-3-4-5-6-7-8-9=2=1-2-3-4-5-6-7-8-9=3=1-2-
0>                               |PP|    |PP|                    @R
1>                               |PP|    |PP|            pPPp
2>                               (PP)    |PP|            qQQq
3>                                       (PP)              Q5
4> WWW\    /0000000000000000\    ?R                  #G#G#GQ6#G#G#G
5> www|    |;;;;;?G;;;;/WWWWWWWWWW\                  #B#B#B[B#B#B#B
6> www|    |;;;;;/00000000\wwwwwww|                        Q6
7> www|    \_____|;;;;;;;;|wwwwwww|                        Q6
8> www|          |;;;;;;;;|wwwwwww|                        Q6
9> www|        /RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQ7
A> www|        RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
B> www|          |;;;;;;;;|                            RRRRRRRRRRRR
3:=1-2-3-4-5-6-7-8-9=1=1-2-3-4-5-6-7-8-9=2=1-2-3-4-5-6-7-8-9=3=1-2-
0>                                 qQQq    RRRRRR    pPPp    [R
1>          pPPp               pPPp  Q5  RRRRRR      qQQq
2>          qQQq               qQQq  XRXRXRXRXRXR      Q5
3>            Q5                 Q5  Q6pPPp  Q6        Q6  [R
4>            Q6                 Q6  Q6qQQq  Q6        Q6        [R
5>            Q6               XRXRXRXRXRXR  Q6        Q6
6>          [B[B[B               RRRRRR  Q6  Q6      [R[R[R
7>            Q6               RRRRRRQ6  Q6  Q6        Q6      [R
8>            Q6             RRRRRR  Q6  Q6[G[G[G      Q6
9>            Q7           RRRRRRQ6  Q6  Q6  Q6        Q6
A> RRRRRRRRRRRRRRRRRRRRRRRRRRRR  Q6  Q6  Q6  Q6        Q6    [R
B> RRRRRRRRRRRRRRRRRRRRRRRRRR    Q6  Q6  Q6  Q6        Q6
4:=1-2-3-4-5-6-7-8-9=1=1-2-3-4-5-6-7-8-9=2=1-2-3-4-5-6-7-8-9=3=1-2-
0>               [R                  [R            //....\\
1> [R                  [R                  [R    //........\\    //
2>       [R                  ?R                //[R..........\\//..
3>             [R  pPPp            [R        //................\...
4>                 qQ[R                  [R//........../BZZB\....\.
5>     [R            Q5    [R            //....?R......|....|..../B
6>           ?R      Q6          [R    //..............|....|....|.
7>                 ?RQ6              //[R..............|....|....|.
8>   [R              Q6  ?R        //........[R........|....|....|.
9>         [R        Q6        [R//....................|....|....|.
A>               [R  Q6        //....[R................|....|....|.
B> [R                Q6[R    //............[R..........|....|....|.
5:=1-2-3-4-5-6-7-8-9=1=1-2-3-4-5-6-7-8-9=2=1-2-3-4-5-6-7-8-9=3=1-2-
0> /\
1> ..\\
2> ....\\                        #R#R#R
3> ......\\
4> ........\\
5> ZZZZB\....\\Q1----XGXG----Q3              [B?B!B[B    Q1------XB
6> .....|......Q2====XGXG====Q4                    [B    Q2======XB
7> .....|........\\  |PP|                                        |P
8> .....|\.........\\|PP|  Q1------------XGXG------------Q3      |P
9> .....|..\.........{PP|  Q2============XGXG============Q4      |P
A> .....|....\.......{PP|                |PP|                    |P
B> .....|......\.....{PP|\\              |PP|                    |P
6:=1-2-3-4-5-6-7-8-9=1=1-2-3-4-5-6-7-8-9=2=1-2-3-4-5-6-7-8-9=3=1-2-
0>               ?B?B?B|ww|?B?B?B        RRRRRR
1>   Q1----Q3          |ww|                RRRRRR        #B#B#B
2>   Q2====Q4          |ww|              XRXRXRXRXRXR
3>     |..|    Q1------XGXG------Q3                          /\
4>     |..|    Q2======XGXG======Q4                        //..\\
5> XB------Q3                                  XRXRXRXRXRXR......\\
6> XB======Q4                        /\  [PP]      RRRRRR..........
7> P|  |..|                        //..\\|PP|        RRRRRR........
8> P|  |..|                      //......{PP|      //..RRRRRR......
9> P|  |.Q1--------------XBXB------------XGXGQ3  //......RRRRRR....
A> P|  |.Q2==============XBXB============XGXGQ4//..........RRRRRRRR
B> P|  |..|              |PP}............{PP}..\\............RRRRRR
7:=1-2-3-4-5-6-7-8-9=1=1-2-3-4-5-6-7-8-9=2=1-2-3-4-5-6-7-8-9=3=1-2-
0>               $$$$
1>             $$    $$                   ?Z?Z?Z?Z?Z           pPPp
2>                                                             qQQq
3>                                          /ZZ\                 Q5
4>                                      ?Z?Z?Z?Z?Z               Q6
5>               [PP]                       |..|           #Z#Z  Q6
6> \\          ?B|PP|?B                 /ZZZZ\.|           #Z#Z  Q6
7> ..\\          |PP|                 ?Z?Z?Z?Z?Z                 Q6
8> ....\\        |PP|                   |....|.|      ^^         Q6
9> ......\\      |PP|                   |....|.|      ^^         Q7
A> RRRRRRRRRRRRRR{PP}RRRRRRRRRRR\  /ZZZZZZZZZZZZZZZZZZZZZZ\    /ZZ\
B> RRRRRRRRRRRRRR{PP}RRRRRRRRRRRR  |......................|[PP]|..|

Also, pipe room #1: (1 screen long) (perhaps for world 1-2? That is, when I re-
do 1-2 to look like superMario2 cheez, which will happen shortly after
1-4!) Personally, I think this will look awesome!:

0:=1-2-3-4-5-6-7-8-9=1=1-2-3-4-5-6-7-8-9=2=1-2-3-4-5-6-7-8-9=3=1-2-
0> vvvv[R[R      (PP)      [R[Rvvvv
1> vvvvvv[R                [Rvvvvvv
2> vvvv[R[R    [G    [G    [R[Rvvvv
3> vv[R[R      [G    [G      [R[Rvv
4> [R[R    $$            $$    [R[R
5> [R  $P$P  $$        $$  $P$P  [R
6> [R  $P$P  $$$$$$$$$$$$  $P$PQ1--
7> [R          $$$$$$$$        Q2==
8> [RAVVVV\                /WWWWW[R
9> [R[Rvvv|                |www[R[R
A> vv[R[Rv|                |w[R[Rvv
B> vvvv[R[R[R[R[R[R[R[R[R[R[R[Rvvvv


Edit: I managed to dig up the program too! Here it is:

ZOGMAP.CONV
 
 10  DIM B$(200),A(200),B(200),N$(200),R$(12)
 15 D$ =  CHR$ (4): HGR : TEXT : HOME
 20  PRINT "File number:";: GET A: PRINT A
 30  PRINT : PRINT "Initializing block equivalents:"
 35  PRINT D$;"open edit.dir/level";A;".txt"
 37  PRINT D$;"read edit.dir/level";A;".txt"
 40 BN = 1: PRINT
 45  INPUT B$(BN)
 50  INPUT A(BN),B(BN),N$(BN)
 51  IF N$(BN) = "MapStart" THEN  GOTO 60
 52  IF  LEN (B$(BN)) < 2 THEN B$(BN) = B$(BN) +  LEFT$ ("   ",2 -  LEN (
     B$(BN)))
 55  PRINT "|";B$(BN);"| ";N$(BN);" ";A(BN);",";B(BN)
 56 BN = BN + 1: GOTO 45
 60  PRINT : PRINT "Total blocks:";BN - 1
 65  PRINT : PRINT "Writing world:";A(BN);"-";B$(BN)
 66 BN = BN - 1:MA = 8192:MB = 12288
 70  INPUT P$: IF P$ = "End" THEN  GOTO 200
 71 P =  VAL (P$): PRINT "Page:";P
 72  FOR X = 1 TO 12: INPUT R$(X)
 74  IF  LEN (R$(X)) < 65 THEN R$(X) = R$(X) +  LEFT$ ("
                                                    ",65 -  LEN (R$(X)))
 78  NEXT X
 80  FOR X = 0 TO 31: PRINT "Column:";X
 85  FOR Y = 0 TO 11
 86  PRINT "|"; MID$ (R$(Y + 1),(X * 2) + 2,2);"| ";
 90  FOR Z = 1 TO BN: IF  MID$ (R$(Y + 1),(X * 2) + 2,2) = B$(Z) THEN  GOTO
     110
 100  NEXT Z: PRINT "Unknown!":Z = 1: GOTO 115
 110  PRINT N$(Z)
 115  POKE MA + (P * 384) + (X * 12) + Y,A(Z)
 120  POKE MB + (P * 768) + (X * 24) + (Y * 2),B(Z) -  INT (B(Z) / 256) *
     256
 125  POKE MB + (P * 768) + 1 + (X * 24) + (Y * 2), INT (B(Z) / 256)
 130  NEXT Y: NEXT X: GOTO 70
 200  PRINT : PRINT D$;"close"
 210  PRINT "Saving..."
 220  PRINT : PRINT D$;"bsave maps/wd";A(BN + 1);B$(BN + 1);",a$2000,l$30
     00"
 
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 2 comments