Ok, here's the 20 line game I wrote in regular dark basic:
rem -- Welcome to Dark Crypt by J. Whiddon for the 20 line challenge!
rem -- You were sent to a dark crypt to rescue a damsel in distress taken captive by
rem -- the evil mummies.
rem -- game mechanics:
rem -- The damsel is randomly positioned in the crypt at the start of the game. Every successful
rem -- rescue adds 10 points to your score. Unfortunately the fog will get thicker and your
rem -- movement will get slower everytime you make a rescue. The mummies have the power to walk
rem -- through the walls and may come out at you when least expected.
rem -- The damsel and mummies are white and hard to tell apart, however, the damsel is always stationary.
rem -- The end of the game will come if you make contact with a mummy or you score the maximum
rem -- score of 200 points, whichever comes first.
rem -- good luck!
sync on:load image "floor5s.bmp", 1:load image "wall19s.bmp", 2:autocam off:randomize (timer())
fog on:for i = 0 to 15:load object "l-mummy-move.3ds", 6000+i:position object 6000+i, rnd(600), 0, rnd(600):scale object 6000+i, 500,500,500
next i: make object cube 5000, 10:set object collision on 5000:load object "h-babe-static.3ds",7000:fog distance 160
load music "spooky.mid",1:loop music 1: make matrix 1, 600, 600, 55,55: prepare matrix texture 1,1, 1,1: position matrix 1, 0, 0, -15
position object 7000,rnd(30),0,rnd(30):backdrop on: color backdrop 0:dim map(30,30):position camera 25, 6, 25
hide mouse:open to read 1, "crypt20":for i = 1 to 30:for ii = 1 to 30:read byte 1, map(i, ii)
scale object 7000, 600,600,600:if map(i,ii)>0 then make object cube ((i*30)-(30-ii)), 20:set object collision on ((i*30)-(30-ii)):texture object ((i*30)-(30-ii)), 2:position object ((i*30)-(30-ii)), cubex, 10, cubez
cubex=cubex+20:next ii:cubex=0:cubez=cubez+20:next i
hide object 5000:load sound "evil.wav",1:do:text 10, 0, "Player Score "+str$(score):if upkey()=1 and leftkey()=0 and rightkey()=0 then move camera 2-((score/10)*.1)
if leftkey()=1 then yturn=yturn-6:yrotate camera wrapvalue(yturn)
if rightkey()=1 then yturn=yturn+6:yrotate camera wrapvalue(yturn)
if mummy>15 then mummy=0
inc mummy:play_mummysound=rnd(1300):if play_mummysound=1 then play sound 1
if object collision(5000, 7000)=1 then score=score+10:position object 7000, rnd(30), 0, rnd(30):fog distance (160-score):if score>140 then fog distance 20
if object collision(5000, 5999+mummy)=1 then repeat:text 150, 0, "YOU ARE DEAD! Press -Q- to quit":sync:until inkey$()="q":end
set object to camera orientation 5999+mummy:move object 5999+mummy, -10:for i = 1 to 30:for ii = 1 to 30:if map(i,ii)