Author Topic: Tile Map[BB2D]  (Read 13796 times)

0 Members and 1 Guest are viewing this topic.

Offline asdflkj

  • C= 64
  • **
  • Posts: 45
  • Karma: 2
    • View Profile
Tile Map[BB2D]
« on: June 02, 2006 »
-
« Last Edit: August 06, 2025 by marclurr »

Offline zawran

  • Sponsor
  • Pentium
  • *******
  • Posts: 909
  • Karma: 67
    • View Profile
Re: Tile Map
« Reply #1 on: June 02, 2006 »
I wouldn't mind taking a look at it for you, but there seems to be missing some code in the codebox.

Offline asdflkj

  • C= 64
  • **
  • Posts: 45
  • Karma: 2
    • View Profile
Re: Tile Map
« Reply #2 on: June 02, 2006 »
-
« Last Edit: August 06, 2025 by marclurr »

Offline asdflkj

  • C= 64
  • **
  • Posts: 45
  • Karma: 2
    • View Profile
Re: Tile Map
« Reply #3 on: June 02, 2006 »
-
« Last Edit: August 06, 2025 by marclurr »

Offline zawran

  • Sponsor
  • Pentium
  • *******
  • Posts: 909
  • Karma: 67
    • View Profile
Re: Tile Map
« Reply #4 on: June 02, 2006 »
ok, looks like you haven't gotten that far yet. I have packed up two different ways of doing a tilemap. There were going to be used for a game a few years back, but it never got anywhere besides making the tilemap work. Feel free to use and modify however you want. Post back if there is something you would like me to explain about them.

You can download the package from here: http://zac-interactive.dk/temp/tankhunt.zip

Offline asdflkj

  • C= 64
  • **
  • Posts: 45
  • Karma: 2
    • View Profile
Re: Tile Map
« Reply #5 on: June 02, 2006 »
-
« Last Edit: August 06, 2025 by marclurr »

Offline zawran

  • Sponsor
  • Pentium
  • *******
  • Posts: 909
  • Karma: 67
    • View Profile
Re: Tile Map
« Reply #6 on: June 02, 2006 »
You can use the tiles if you like. I guess the code would have been better with comments on what the various parts does, but its something I did a long time ago and I don't really use blitz anymore. The first example draws the tiles one by one, the other draws the tiles onto a huge image and then only draws a rect out of that.

In order for you having characters walking ontop of a tilemap, you will have to draw the map each time you update the characters position and then draw the character again. There really isn't any way around that.

Offline asdflkj

  • C= 64
  • **
  • Posts: 45
  • Karma: 2
    • View Profile
Re: Tile Map
« Reply #7 on: June 02, 2006 »
-
« Last Edit: August 06, 2025 by marclurr »

Offline Rbz

  • Founder Member
  • DBF Aficionado
  • ********
  • Posts: 2759
  • Karma: 493
    • View Profile
    • https://www.rbraz.com/
Re: Tile Map
« Reply #8 on: June 02, 2006 »
Hello Mark,  :hi: to DBF / GVY forum :)


Well, looking at your code, you will need to reset tile_x and tile_y, check out the modified code:


Code: [Select]
While Not KeyDown(1)

Cls


Restore startdata

Tile_X = 0Â  ; reset Tile_X
Tile_Y = 0Â  ; reset Tile_Y

For t = 0 To 299
Read Tiles

If Tiles = 0 Then
DrawImage G,Tile_X,Tile_Y
Tile_X = Tile_X + 32
ElseIf Tiles = 1 Then
DrawImage W,Tile_X,Tile_Y
Tile_X = Tile_X + 32
EndIf
If Tile_X > (640-32) Then
Tile_X= 0
Tile_Y= Tile_Y + 32
EndIf
Next

Player_Move() ; Draw background first then draw player

Flip



Wend
Challenge Trophies Won:

Offline asdflkj

  • C= 64
  • **
  • Posts: 45
  • Karma: 2
    • View Profile
Re: Tile Map
« Reply #9 on: June 02, 2006 »
-
« Last Edit: August 06, 2025 by marclurr »

Offline Rbz

  • Founder Member
  • DBF Aficionado
  • ********
  • Posts: 2759
  • Karma: 493
    • View Profile
    • https://www.rbraz.com/
Re: Tile Map
« Reply #10 on: June 02, 2006 »
No probs dude !

 :cheers:
Challenge Trophies Won:

Offline asdflkj

  • C= 64
  • **
  • Posts: 45
  • Karma: 2
    • View Profile
Re: Tile Map
« Reply #11 on: June 02, 2006 »
-
« Last Edit: August 06, 2025 by marclurr »

Offline Rbz

  • Founder Member
  • DBF Aficionado
  • ********
  • Posts: 2759
  • Karma: 493
    • View Profile
    • https://www.rbraz.com/
Re: Tile Map
« Reply #12 on: June 02, 2006 »
Check out the ImagesCollide command, there are some examples on blitz help for it.
Challenge Trophies Won:

Offline asdflkj

  • C= 64
  • **
  • Posts: 45
  • Karma: 2
    • View Profile
Re: Tile Map
« Reply #13 on: June 02, 2006 »
-
« Last Edit: August 06, 2025 by marclurr »

Offline Clyde

  • A Little Fuzzy Wuzzy
  • DBF Aficionado
  • ******
  • Posts: 7271
  • Karma: 71
    • View Profile
Re: Tile Map
« Reply #14 on: June 03, 2006 »
Great to see you again Mark-O.

All I can add is that with LoadAnimImage, is that you need to work out the width, height, starting pos ( usually 0), followed by the amount of tiles in the image bank.

All the best with the game dude! And welcome to ze forums.
Cheers Clyde,
Still Putting The IT Into Gravy
If Only I Knew Then What I Know Now.

Challenge Trophies Won:

Offline Shockwave

  • good/evil
  • Founder Member
  • DBF Aficionado
  • ********
  • Posts: 17427
  • Karma: 499
  • evil/good
    • View Profile
    • My Homepage
Re: Tile Map
« Reply #15 on: June 03, 2006 »
Hi Mark, welcome back :)
I have another way of detecting collisions (really fast) for you.
This will not be pixel perfect but it would be fine for things like walls and houses and water etc.
You first need to know your tile size (lets say it's 32*32) and you also need to know where your player is on the screen.
So we'll say you construct your tilemap out of data with just two block types for simplicity.

Code: [Select]
data 0,0,0,0,0,0,0,0,0,0
data 0,1,0,0,1,1,0,0,1,0
data 0,1,0,0,0,0,0,0,1,0
data 0,1,0,0,0,0,0,0,1,0
data 0,1,0,0,0,0,0,0,1,0
data 0,1,1,1,1,1,1,1,1,0
data 0,0,0,0,0,0,0,0,0,0

Where 1 is a wall and 0 is grass for example.
you may do something like this to draw the whole map on the screen;
(in pseudo code)

Code: [Select]
ypos=0
for y=1 to 8
xpos=0
for x=1 to 32
 drawblock xpos,ypos,blocknum (blockmap(x,y))
 xpos=xpos+32
next
 ypos=ypos+32
next

blockx=(playerx/32)
blocky=(playery/32)

if blocknum (blockmap(blockx,blocky)) =1 then collision

I made an RPG engine for Yabasic using a similar method.
Here's the code, it shouldn't be too hard to adapt to Blitz, or you can visit the Yabasic forums and grab the emulator from there!

Code: [Select]
'    It would be a good Idea To Make This Available.
'                    Please Upload.
'
'       Rpg Engine V1.0 Coded By Shockwave 2002.
'This program is the property of the projects forum at
'WWW.YABASIC.CO.UK and may not be adapted or modified by
'anybody else. (C) 2002 Shockwave & www.Yabasic.co.uk
'=========================================================
gosub overall_setup:rem                  SET UP EVERYTHING
'=========================================================
'                - -START OF GAME LOOP- -
'=========================================================

gosub drawborder:rem           DRAW STATIC SCREEN ELEMENTS
gosub newlocation:rem                DRAW COMPLETE DISPLAY

label main
   setdrawbuf dw:rem                 SELECT LOGICAL SCREEN
   dw=1-dw :rem                      TOGGLE SCREEN POINTER
   setdispbuf dw:rem            DISPLAY OLD LOGICAL SCREEN
   gosub dialoguebox:rem            CLEAR THE OLD DIALOGUE
   gosub control:rem   INPUT, SCROLLING, COLLISION+DISPLAY
   gosub player:rem   DRAW PLAYER AND DO A LIMITED REFRESH

goto main
'=========================================================
'                  - -END OF GAME LOOP- -
'=========================================================
exit
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
'              Clear Out the Dialogue Box.
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
label dialoguebox
   setrgb 1,255,255,255:rem                   SELECT WHITE
   fill rect 20,450 to 620,510:rem             DRAW BORDER
   setrgb 1,0,0,0:rem                         SELECT BLACK
   fill rect 21,451 to 619,509:rem               ERASE BOX
'=========================================================
'              DISCARD BELOW WHEN WORKING:
'=========================================================
   setrgb 1,155,155,255
   text 320,470,"TREAT THIS PART AS A NORMAL DOUBLE BUFFERED SCREEN!","cc"
   text 322,490,"RPG V1.0 (C) SHOCKWAVE + RPG PROJECT FORUM WORK IN PROGRESS","cc"
return

'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
'             DRAW THE PLAYER'S GRAPHIC
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

label player
 gosub refresh: rem           REFRESH BLOCKS AROUND PLAYER
 setrgb 1,255,255,255:rem                      DRAW PLAYER
 fill rect plx-10,ply-10 to plx+10,ply+10
setrgb 1,0,0,0
 
 if d=1 text plx-6,ply+4,"L"
 if d=2 text plx-6,ply+4,"R"
 if d=3 text plx-6,ply+4,"D"
 if d=4 text plx-6,ply+4,"U"

return

'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
'        UPDATE BLOCKS THAT PLAYER IS STANDING ON
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
label refresh
   xw=(plx-21) :rem                          CENTRAL BLOCK
   yw=(ply-21)
   gosub refr
   xw=((plx-100)-21) :rem                       LEFT BLOCK
   yw=(ply-21)
   gosub refr
   xw=((plx+100)-21) :rem                      RIGHT BLOCK
   yw=(ply-21)
   gosub refr
   xw=(plx-21) :rem                             DOWN BLOCK
   yw=((ply+100)-21)
   gosub refr
   xw=(plx-21) :rem                               UP BLOCK
   yw=((ply-100)-21)
   gosub refr
   xw=((plx-100)-21) :rem                 ABOVE LEFT BLOCK
   yw=((ply-100)-21)
   gosub refr
   xw=((plx+100)-21) :rem                ABOVE RIGHT BLOCK
   yw=((ply-100)-21)
   gosub refr
   xw=((plx-100)-21) :rem                 BELOW LEFT BLOCK
   yw=((ply+100)-21)
   gosub refr
   xw=((plx+100)-21) :rem                BELOW RIGHT BLOCK
   yw=((ply+100)-21)
   gosub refr
return
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
'      This Sub Refreshes The Block At xw,xt, yw,yt
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
label refr
if xw<0 or xw>599 return:rem      IF X AT EDGE DONT BOTHER
if yw<0 or yw>399 return:rem      IF Y AT EDGE DONT BOTHER
   xw=int(xw/100)+1:rem                    CALCULATE MAP X
   yw=int(yw/100)+1 rem                    CALCULATE MAP Y
   xt=((xw-1)*100)+21:rem                CALCULATE BLOCK X
   yt=((yw-1)*100)+21:rem                CALCULATE BLOCK Y
   gosub blocks:rem                         DRAW THE BLOCK
return
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
'            Move Player And Scroll The Map.
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
label control
xo=plx:rem             STORE PLAYER X IN CASE OF COLLISION
yo=ply:rem             STORE PLAYER Y IN CASE OF COLLISION
  c=peek("port1"):rem                          READ PORT 1
  if and (c,32)<>0 plx=plx+2:rem                MOVE RIGHT
  if and (c,64)<>0 ply=ply+2 :rem               MOVE DOWN
  if and (c,16)<>0 ply=ply-2:rem                MOVE UP
  if and (c,128)<>0 plx=plx-2 :rem              MOVE LEFT
 if plx>xo d=2:rem                  SET DIRECTION TO RIGHT
 if plx<xo d=1:rem                   SET DIRECTION TO LEFT
 if ply>yo d=3:rem                   SET DIRECTION TO DOWN
 if ply<yo d=4:rem                     SET DIRECTION TO UP
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
'  Scenery Collisions: (any block 10+can't be walked on)
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   xw=plx-21
   yw=ply-21
   xw=int(xw/100)+1
   yw=int(yw/100)+1
   if map(xw+pgx,yw+pgy)>=10 then plx=xo:ply=yo:fi
'%%%%%%%%%%%%%%%%%%%%
'%%% SCROLL RIGHT %%%
'%%%%%%%%%%%%%%%%%%%%
if plx>610 then
 if (pgx+1)/6 < dmx-1 then
 plx=31
 pgx=pgx+6
 gosub newlocation
 fi
fi
'%%%%%%%%%%%%%%%%%%%%
'%%% SCROLL LEFT  %%%
'%%%%%%%%%%%%%%%%%%%%
if plx<31 then
 if pgx > 0 then
 plx=610
 pgx=pgx-6
 gosub newlocation
 fi
fi
'%%%%%%%%%%%%%%%%%%%
'%%% SCROLL DOWN %%%
'%%%%%%%%%%%%%%%%%%%
if ply>410 then
 if (pgy+1)/4 < dmy-1 then
 ply=31
 pgy=pgy+4
 gosub newlocation
 fi
fi
'%%%%%%%%%%%%%%%%%%%
'%%% SCROLL   UP %%%
'%%%%%%%%%%%%%%%%%%%
if ply<31 then
 if pgy>0 then
 ply=410
 pgy=pgy-4
 gosub newlocation
 fi
fi
 if ply<31 ply=31:rem              MINIMUM PERMITTED Y POS
 if ply>409 ply=409:rem            MAXIMUM PERMITTED Y POS
 if plx>609 plx=609:rem            MAXIMUM PERMITTED X POS
 if plx<31 plx=31:rem              MINIMUM PERMITTED X POS
return

'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
'            Completely Refresh Current Page
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
label newlocation
for a=1 to 2:rem       UPDATE LOGICAL AND PHYSICAL SCREENS
setdrawbuf dw:rem                    SELECT LOGICAL SCREEN
dw=1-dw:rem                          TOGGLE SCREEN POINTER
setdispbuf dw:rem               DISPLAY OLD LOGICAL SCREEN
   setrgb 1,0,0,0:rem           CLEAR LOCATION DESCRIPTION
   fill rect 100,430 to 520,445:rem           BOX AND THEN
   setrgb 1,155,155,155:rem          WRITE NEW DESCRIPTION
   text 318,440,location$((pgx/6)+1,(pgy/4)+1),"cc"
   setrgb 1,255,255,255
   text 319,441,location$((pgx/6)+1,(pgy/4)+1),"cc"
   setrgb 1,0,0,0
   text 320,442,location$((pgx/6)+1,(pgy/4)+1),"cc"

xt=21:rem                           X BLOCK DRAWING OFFSET
yt=21:rem                           Y BLOCK DRAWING OFFSET
for y=1 to 4:rem                             4 BLOCKS TALL
 for x=1 to 6:rem                            6 BLOCKS WIDE
xw=x:rem          MAKE X COMPATIBLE WITH BLOCK DRAWING SUB
yw=y:rem          MAKE Y COMPATIBLE WITH BLOCK DRAWING SUB
   gosub blocks:rem                     DRAW THE NEW BLOCK
   xt=xt+100 :rem                   MOVE ACCROSS ONE BLOCK
 next x
 xt=21:rem                            RESET X BLOCK OFFSET
 yt=yt+100:rem                             MOVE DOWN A ROW
next y
next a
return
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
'          This Subroutine Draws Scenery Blocks
' They must be 100*100 in size and start at xt,yt and end
' at xt+100,yt+100, I reccommend using triangles and
' rectangles to create them although small circles should
' be okay without harming overall speed I suppose.
' Anything up to and including number 10 the player can
' walk over, above it the player collides with it.
'
'Format:
'if map (xw+pgx,yw+pgy) = (block number) then
' Your gfx here
'fi
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
label blocks
'=========================================================
'                  WALKABLE BLOCK TYPES:
'=========================================================
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
'%% grass1 (horizontal stripe) %%
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if map(xw+pgx,yw+pgy)=1 then
   setrgb 1,10,40,10
   fill rect xt,yt to xt+100,yt+100
   setrgb 1,20,50,20
   fill rect xt,yt to xt+100,yt+25
   fill rect xt,yt+50 to xt+100,yt+75
fi
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
'%% grass2 (diamond pattern) %%
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if map(xw+pgx,yw+pgy)=2 then
   setrgb 1,10,40,10
   fill rect xt,yt to xt+100,yt+100
   setrgb 1,20,50,20
   fill triangle xt,yt to xt+50,yt to xt,yt+50
   fill triangle xt+50,yt to xt+100,yt to xt+100,yt+50
   fill triangle xt,yt+50 to xt,yt+100 to xt+50,yt+100
   fill triangle xt+100,yt+50 to xt+100,yt+100 to xt+50,yt+100
fi
'%%%%%%%%%%%%%%%%%%%%%%%
'%% Horizontal bridge %%
'%%%%%%%%%%%%%%%%%%%%%%%
if map(xw+pgx,yw+pgy)=3 then
   setrgb 1,60,50,50
   fill rect xt,yt to xt+100,yt+100
   setrgb 1,70,50,50
   fill rect xt+20,yt to xt+80,yt+100
   setrgb 1,80,50,50
   fill rect xt+40,yt to xt+60,yt+100
fi
'%%%%%%%%%%%%%%%%%%%%%
'%% Vertical bridge %%
'%%%%%%%%%%%%%%%%%%%%%
if map(xw+pgx,yw+pgy)=4 then
   setrgb 1,60,50,50
   fill rect xt,yt to xt+100,yt+100
   setrgb 1,70,50,50
   fill rect xt,yt+20 to xt+100,yt+80
   setrgb 1,80,50,50
   fill rect xt,yt+40 to xt+100,yt+60
fi
'%%%%%%%%%%
'%% Path %%
'%%%%%%%%%%
if map(xw+pgx,yw+pgy)=5 then
   setrgb 1,65,65,60
   fill rect xt,yt to xt+100,yt+100
fi
'=========================================================
'                Non Walkable Block Types:
'=========================================================
'%%%%%%%%%%%
'%% River %%
'%%%%%%%%%%%
if map(xw+pgx,yw+pgy)=10 then
   setrgb 1,15,15,50
   fill rect xt,yt to xt+100,yt+100
fi

return
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
'Draws All Fixed Items Of The Screen Display On Both The
'Logical And Physical Screens.
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
label drawborder
for a=1 to 2:rem             LOOP TWICE TO DO BOTH SCREENS
      setdrawbuf dw:rem                    SET DRAW SCREEN
      dw=1-dw:rem                    TOGGLE SCREEN POINTER
setrgb 1,180,110,130:rem          RGB VALUE FOR GTRI POINT
setrgb 2,130,170,110:rem          RGB VALUE FOR GTRI POINT
   setrgb 3,20,30,60:rem          RGB VALUE FOR GTRI POINT
   gtriangle 0,0 to 640,512 to 0,512:rem   BACKGROUND COLS
   gtriangle 0,0 to 640,512 to 640,0:rem   BACKGROUND COLS
   setrgb 1,155,155,255:rem         RGB COLOUR FOR BORDERS
   fill rect 13,13 to 628,427:rem             DRAW BORDERS
   fill rect 98,428 to 522,447
   setrgb 1,0,0,0:rem           SET TO BLACK FOR PLAY AREA
   fill rect 15,15 to 626,425:rem          CLEAR PLAY AREA
   fill rect 102,432 to 518,443

next a
return
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
'                  Overall Setup For RPG
' Contains Map, Array Definitions, Dialog, Vars And Data.
' This is called at the very beginning of the program.
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
label overall_setup

open window 640,512:rem               OPEN GRAPHICS SCREEN
d=1:rem             DIRECTION (1=left 2=right 4=up 3=down)
plx=120:rem          PLAYER X START AS A PHYSICAL SCRN POS
ply=256:rem          PLAYER Y START AS A PHYSICAL SCRN POS
dmx=3 : rem                          MAP IS 3 SCREENS WIDE
dmy=5 : rem                          MAP IS 5 SCREENS TALL
dim map((dmx*6),(dmy*4)):rem         STORAGE SPACE FOR MAP
dim location$(dmx,dmy):rem   STORAGE SPACE FOR SCRN TITLES
pgx=0 :rem                          MAP DISPLAY LOCATION X
pgy=0 :rem                          MAP DISPLAY LOCATION Y

'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
'                      Read In Data:
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 for y=1 to dmy*4:rem             < THESE NESTED LOOPS
  for x=1 to dmx*6:rem              READ THE MAP DATA INTO
    read map(x,y):rem               THE map() ARRAY WHICH
  next x:rem                        IS TWO DIMENSIONAL.
 next y:rem                       < END OF LOOP CYCLE.
for y=1 to dmy:rem                < AND THESE NESTED LOOPS
 for x=1 to dmx:rem                 READ THE LOCATION
   read location$(x,y):rem          NAMES INTO THE 2 DIM
 next x:rem                         ARRAY "location$()"
next y:rem                        < END OF LOOP CYCLE.
return
'=========================================================
'              DATA STATEMENTS START HERE:
'=========================================================
'Block types. Add Short descriptions next to numbers.
'Up to 10 you can walk on, 11>40 you collide with.
'Also below these you'll find the descriptions map so
'that you can give each screen a title (required).

'1:grss1 5:path   9:blank 13:blank 17:blank 21: etc..
'2:grss2 6:blank 10:river 14:blank 18:blank 22: etc..
'3:brdgh 7:blank 11:blank 15:blank 19:blank 23: etc..
'4:brdgv 8:blank 12:blank 16:blank 20:blank 24: etc..
'=========================================================
'                  THE SCENERY MAP:
'=========================================================
REM  LOCATION 1:   LOCATION 2:    LOCATION 3:
data 10,10,10,2,2,2,  2,2, 2, 2,2,  2,   1,1,10,1, 1, 1
data 5, 5, 3, 5,5,5,  5,5, 5, 5,10, 2,   1,1,3, 1, 1, 1
data 2, 5,10, 2,2,2,  1,10,10,4,10, 2,   1,1,10,10,10,10
data 2, 5,10, 2,2,2,  1,1, 1, 5,2,  2,   1,1,1, 1, 1, 1   

REM  LOCATION 4:   LOCATION 5:    LOCATION 6:
data 1,5,10,1,1,1,    1,1,1,5,2,2,   1,1,1,1,1,1
data 1,5,10,1,1,1,    1,1,1,5,5,5,   5,5,5,5,5,5
data 1,5, 3,5,5,5,    5,5,5,5,2,2,   2,2,2,2,2,2
data 1,5,10,1,1,1,    1,1,1,5,2,2,   2,2,2,2,2,2   

REM  LOCATION 7:   LOCATION 8:    LOCATION 9:
data 1,5,10,1,1, 1,  2, 2, 2,5,2,2,  1,1,1,1,1,1
data 1,5,10,1,1, 1,  2, 2, 2,5,2,2,  1,1,1,1,1,1
data 1,5,10,4,10,10, 10,10,2,5,2,2,  1,1,1,1,1,1
data 1,5,1, 1,1, 1,  2, 10,2,5,2,2,  1,1,1,1,1,1   

REM  LOCATION 10:  LOCATION 11:   LOCATION 12:
data 1,5,1,1,1,1,  2,10,1,5,2,2,   2,2,2,2,2,2
data 1,5,1,1,1,1,  5,3 ,5,5,2,2,   2,2,2,2,2,2
data 1,5,1,1,1,1,  2,10,2,5,1,2,   2,2,2,2,2,2
data 1,5,1,1,1,1,  2,10,2,5,1,2,   2,2,2,2,2,2   

REM  LOCATION 13:  LOCATION 14:   LOCATION 15:
data 1,5,1,1,1,1,  2,10,2, 5, 2, 2,   1,1,1,1,1,1
data 1,5,1,1,1,1,  2,10,10,5, 5, 5,   1,1,1,1,1,1
data 5,5,5,5,5,5,  5,5, 10,4 ,10,5,   1,1,1,1,1,1
data 1,1,1,1,1,1,  1,5, 3, 5, 10,5,   5,5,5,5,5,5   

'=========================================================
'            The Location Description Map :
'=========================================================
data "THE PADDOCK","THE KISSING BRIDGE","THE MILL"
data "THE FARMYARD","DESERTED COTTAGE","PEDDLERS WAGGON"
data "THE FARMHOUSE","THE MINESHAFT","OLD HERMITS HUT"
data "THE TRADERS ROUTE","HUNTERS LODGE","LEAFY GLADE"
data "THE ANCIENT WALL","WEST VILLAGE","EAST VILLAGE"


Hope that helps you.
Shockwave ^ Codigos
Challenge Trophies Won:

Offline asdflkj

  • C= 64
  • **
  • Posts: 45
  • Karma: 2
    • View Profile
Re: Tile Map
« Reply #16 on: June 03, 2006 »
-
« Last Edit: August 06, 2025 by marclurr »

Offline Shockwave

  • good/evil
  • Founder Member
  • DBF Aficionado
  • ********
  • Posts: 17427
  • Karma: 499
  • evil/good
    • View Profile
    • My Homepage
Re: Tile Map
« Reply #17 on: June 03, 2006 »
Take whatever you want from it mate. Glad it helps
Shockwave ^ Codigos
Challenge Trophies Won:

Offline asdflkj

  • C= 64
  • **
  • Posts: 45
  • Karma: 2
    • View Profile
Re: Tile Map
« Reply #18 on: June 04, 2006 »
-
« Last Edit: August 06, 2025 by marclurr »

Offline asdflkj

  • C= 64
  • **
  • Posts: 45
  • Karma: 2
    • View Profile
Re: Tile Map
« Reply #19 on: June 04, 2006 »
-
« Last Edit: August 06, 2025 by marclurr »