I looked up Charlie Blast's Territory. I can see what you mean. I dont have cacti as an item to place ... but maybe I could ...

I actually intend to expand on this quite a bit but as it stands my job gets in the way of my programming and modeling .. dammit!.. if only I got payed to do this stuff I would be set... or fired
[EDIT]
I have created something worth sharing...
(Well at least I think so)
I am very proud of this mostly because prior to this I actually used to (pixel by pixel) create buttons in 8x zoom in MSPaint.
It basically creates images (for use as button sprites later) out of lines, a box, and text. The image saves to whatever directory the .exe happens to be in, and the images are in .PNG format, but I am posting this in snippet form so you all can mess around with it.
This is going to be extremely useful in creating buttons for the GUI i am planning on implementing into this program. Here it is folks...
SET DISPLAY MODE 800,600,32
GLOBAL BUTTON_WIDTH AS INTEGER ://TOTAL BUTTON WIDTH
GLOBAL BUTTON_HEIGHT AS INTEGER ://TOTAL BUTTON HEIGHT
GLOBAL BUTTON_X AS INTEGER ://BUTTON X POSITION
GLOBAL BUTTON_Y AS INTEGER ://BUTTON Y POSITION
GLOBAL BUTTON_TEXT AS STRING ://TEXT FOR THE BUTTON
BACKDROP ON
COLOR BACKDROP RGB(128,0,0)
DO
`BUTTON(BUTTON_X,BUTTON_Y,BUTTON_WIDTH,BUTTON_HEIGHT,BUTTON_TEXT$)
BUTTON(0,0,175,30,"Set Tile Height To 1")
BUTTON(0,30,175,30,"Set Tile Height To 2")
BUTTON(0,60,175,30,"Set Tile Height To 3")
BUTTON(0,90,175,30,"Set Tile Height To 4")
BUTTON(0,120,175,30,"Set Tile Height To 5")
BUTTON(0,150,175,30,"Set Tile To Grass")
BUTTON(0,180,175,30,"Set Tile To Water")
BUTTON(0,210,175,30,"Set Object To Tree")
BUTTON(0,240,175,30,"Set Object To Stone")
SET CURSOR 300,25
PRINT "CLICK MOUSE TO SAVE 'NORMAL' BUTTON IMAGE"
SET CURSOR 300,50
PRINT "PRESS SPACEBAR AND CLICK TO SAVE 'PRESSED' BUTTON IMAGE"
LOOP
FUNCTION BUTTON(BUTTON_X,BUTTON_Y,BUTTON_WIDTH,BUTTON_HEIGHT,BUTTON_TEXT$)
//TILE HEIGHT BUTTONS
//1
IF SPACEKEY()=0 THEN INK RGB(255,255,255),1
IF SPACEKEY()=1 THEN INK RGB(64,64,64),1
LINE BUTTON_X,BUTTON_Y,BUTTON_X+BUTTON_WIDTH,BUTTON_Y ://TOP WHITE 1
LINE BUTTON_X,BUTTON_Y+1,BUTTON_X+BUTTON_WIDTH,BUTTON_Y+1 ://TOP WHITE 2
LINE BUTTON_X,BUTTON_Y+2,BUTTON_X+BUTTON_WIDTH,BUTTON_Y+2 ://TOP WHITE 3
LINE BUTTON_X,BUTTON_Y,BUTTON_X,BUTTON_Y+BUTTON_HEIGHT ://LEFT WHITE 1
LINE BUTTON_X+1,BUTTON_Y,BUTTON_X+1,BUTTON_Y+BUTTON_HEIGHT ://LEFT WHITE 2
LINE BUTTON_X+2,BUTTON_Y,BUTTON_X+2,BUTTON_Y+BUTTON_HEIGHT ://LEFT WHITE 3
IF SPACEKEY()=0 THEN INK RGB(64,64,64),1
IF SPACEKEY()=1 THEN INK RGB(255,255,255),1
LINE BUTTON_X+BUTTON_WIDTH-1,BUTTON_Y+1,BUTTON_X+BUTTON_WIDTH-1,BUTTON_Y+BUTTON_HEIGHT ://RIGHT DARK GRAY 1
LINE BUTTON_X+BUTTON_WIDTH-2,BUTTON_Y+2,BUTTON_X+BUTTON_WIDTH-2,BUTTON_Y+BUTTON_HEIGHT ://RIGHT DARK GRAY 2
LINE BUTTON_X+BUTTON_WIDTH-3,BUTTON_Y+3,BUTTON_X+BUTTON_WIDTH-3,BUTTON_Y+BUTTON_HEIGHT ://RIGHT DARK GRAY 3
LINE BUTTON_X+1,BUTTON_Y+BUTTON_HEIGHT-1,BUTTON_X+BUTTON_WIDTH-1,BUTTON_Y+BUTTON_HEIGHT-1 ://BOTTOM DARK GRAY 1
LINE BUTTON_X+2,BUTTON_Y+BUTTON_HEIGHT-2,BUTTON_X+BUTTON_WIDTH-2,BUTTON_Y+BUTTON_HEIGHT-2 ://BOTTOM DARK GRAY 2
LINE BUTTON_X+3,BUTTON_Y+BUTTON_HEIGHT-3,BUTTON_X+BUTTON_WIDTH-3,BUTTON_Y+BUTTON_HEIGHT-3 ://BOTTOM DARK GRAY 3
INK RGB(192,192,192),1
BOX BUTTON_X+3,BUTTON_Y+3,BUTTON_X+BUTTON_WIDTH-3,BUTTON_Y+BUTTON_HEIGHT-3 ://COLOR FILL BOX
INK RGB(1,1,1),1
IF SPACEKEY()=0 THEN CENTER TEXT BUTTON_X+(BUTTON_WIDTH/2),(BUTTON_Y+(BUTTON_HEIGHT/2))-(TEXT HEIGHT("1")/2),BUTTON_TEXT$
IF SPACEKEY()=1 THEN CENTER TEXT BUTTON_X+(BUTTON_WIDTH/2)+3,(BUTTON_Y+(BUTTON_HEIGHT/2))-(TEXT HEIGHT("1")/2),BUTTON_TEXT$
INK RGB(255,255,255),1
IF MOUSECLICK()=1 AND MOUSE_CLICK_CHECK=0
MOUSE_CLICK_CHECK=1
GET IMAGE 1,BUTTON_X,BUTTON_Y,BUTTON_X+BUTTON_WIDTH,BUTTON_Y+BUTTON_HEIGHT,1
IF SPACEKEY()=0
IF FILE EXIST(UPPER$(BUTTON_TEXT$+" Unclicked"+".PNG"))=1
DELETE FILE UPPER$(BUTTON_TEXT$+" Unclicked"+".PNG")
ENDIF
IF FILE EXIST(UPPER$(BUTTON_TEXT$+" Unclicked"+".PNG"))=0
SAVE IMAGE UPPER$(BUTTON_TEXT$+" Unclicked"+".PNG"),1,1
ENDIF
ENDIF
IF SPACEKEY()=1
IF FILE EXIST(UPPER$(BUTTON_TEXT$+" Clicked"+".PNG"))=1
DELETE FILE UPPER$(BUTTON_TEXT$+" Clicked"+".PNG")
ENDIF
IF FILE EXIST(UPPER$(BUTTON_TEXT$+" Clicked"+".PNG"))=0
SAVE IMAGE UPPER$(BUTTON_TEXT$+" Clicked"+".PNG"),1,1
ENDIF
ENDIF
ENDIF
IF MOUSECLICK()=0 THEN MOUSE_CLICK_CHECK=0
ENDFUNCTION
Screen shot attached
metal is not music but a way of life...all hail to the reigning king METALLICA!!! [EDIT] ...well... up until "Load" came out.