MAZE 3D
From the creator of VULF 3D comes the super-advanced high tech sequel: MAZE 3D a heart pumping tacti-cool maze action!
Features:
- Fully textured walls and floor! wow its the 1980's all over again!
- Wall collisions! no more ghost powers for you!
- Auto-mapping! throw that pen and paper in the garbage!
- An epic ending! one whole line of congratulatory text!
Controls:
- Mouse to look left/right
- Left click to move forward
- Z to view map
- Right click for ludicrous speed while glancing at map
Code:
1017 chars:
z=rectfill h=mget function a(x,y,u,v) if(pget(u,v)>1)line(x,y)for i=rnd(4)\1/4,2,.25do a(u,v,u+cos(i)*2,v+sin(i)*2)end end cls()z(0,0,62,62,2)?"\f1" a(9,9,9,9)a=63circ(61,61,2)for i=0,7^5do mset(i%a,i/a,pget(i%a,i/a))end fillp(8015)z(0,0,7,7,40)z(8,0,15,7,79)memcpy(0,●-웃,999)poke(14-😐,7)fillp()c=0t=1e=0f=.5x=9.5y=9.5::_::r=stat(38)/999m=stat(34)/9g=cos(r)v=sin(r) if(h(x+c*m*2,y)<2)x+=c*m if(h(x,y+t*m*2)<2)y+=t*m c,t,f,e=c*g-t*v,c*v+t*g,f*g-e*v,f*v+e*g for n=a,127do rd=a/(n-a)tline(0,n,127,n,x+rd*(c-f),y+rd*(t-e),rd*f/a,rd*e/a)end for i=0,127do cx=i/a-1j=c+f*cx k=t+e*cx l=x\1w=y\1n=abs(1/j)o=abs(1/k)p=sgn(j)q=sgn(k)r=n*(j>0and l-x+1or x-l)u=o*(k>0and w-y+1or y-w)s=1b=0while s<2do b+=1m=r<u if(b>20)goto a if(m)r+=n l+=p if(not m)u+=o w+=q s=h(l,w)end d=m and(l-x+.5-p/2)/j or(w-y+.5-q/2)/k n=(m and y+d*k or x+d*j)%1d=64/d\1sspr(n*8,0,1,8,i,64-d,1,d*2)::a::end for i=0,1,1/8do j=x+cos(i)k=y+sin(i)sset(j+64,k,h(j,k)+4)end if(btn(4))spr(8,0,0,8,8)pset(x,y) ?"⁶1⁶cc" if(h(x,y)>0)goto _ ?" ⁶t⁶wfound the exit!"
Outdated and unoptimized "source" code:
score=0 ::start:: function map_gen(px,py,u,v) if(pget(u,v)>6)line(px,py)for i=rnd(4)\1/4,2,.25do map_gen(u,v,u+cos(i)*2,v+sin(i)*2)end end cls() rectfill(0,0,64,64,7) color(6) map_gen(9,9,9,9) for x=0,63do for y=0,63do mset(x,y,7-pget(x,y))end end mset(10,10,2) cls() fillp(8015) rectfill(0,0,7,7,40) rectfill(8,0,15,7,79) memcpy(0,24576,8191) poke(24365,7) fillp() pdirx=0 pdiry=1 planex=0 planey=.5 px=9.5 py=9.5 ::_:: r=stat(38)/999 m=stat(34)/9 pcos=cos(r) psin=sin(r) pm=mget(px+pdirx*m,py+pdiry*m) if(pm>0)px+=pdirx*m py+=pdiry*m if(pm>1)score+=1goto start pdirx,pdiry,planey,planex= pdirx*pcos-pdiry*psin, pdirx*psin+pdiry*pcos, planey*pcos-planex*psin, planey*psin+planex*pcos for y=63,127do rd=63/(y-63) step=2/128 tline(0,y,128,y, px+rd*(pdirx-planey), py+rd*(pdiry-planex), rd*planey*step, rd*planex*step) end for i=0,127do cx=i/63-1 rayx=pdirx+planey*cx rayy=pdiry+planex*cx mapx=px\1 mapy=py\1 deltax=abs(1/rayx) deltay=abs(1/rayy) stepx=sgn(rayx) stepy=sgn(rayy) distx=deltax*(rayx>0and mapx-px+1or px-mapx) disty=deltay*(rayy>0and mapy-py+1or py-mapy) s=1 while s>0do m=distx<disty if(m)distx+=deltax mapx+=stepx if(not m)disty+=deltay mapy+=stepy s=mget(mapx,mapy) end d=m and(mapx-px+.5-stepx/2)/rayx or(mapy-py+.5-stepy/2)/rayy wallx=(m and py+d*rayy or px+d*rayx)%1 d=64/d\1 sspr(wallx*8,0,1,8,i,64-d,1,d*2) end ?score.." flr⁶1⁶c" goto _
Made for 1k Jam!
Comments
Log in with itch.io to leave a comment.
i cudnt find the exit :(
some good stuff in ur code i didnt kno about
I can't lie - it do be a maze
Awesome - was hoping someone would make a 3D/Wolf-type game!
This is a HUGE maze that I got totally lost in (so glad for the map 😅)
Also loving the simplified mouse controls - more games should use this!
Great entry 👍