this if my first entry to the 20 line challenge, before I posted a code snippet here but that belongs in the Code Snippets board. How is this? It is for DBPro, I started on a 3D building yesterday for an FPS Game, I took what I got so far and just put it in 8 lines.
sync on : sync rate 60 : autocam off : m as integer : m=1 : cx as float : cx=0 : cy as float : cy=0 : cz as float : cz=0 : objGroundox as float : objGroundox=0 : objGroundoy as float : objGroundoy=0 : objGroundoz as float : objGroundoz=0 : objGround as integer : objGround=1 : objCeiling as integer : objCeiling=2 : objLeftwall as integer : objLeftwall=3 : objRightwall as integer : objRightwall=4 : objFrontwall as integer : objFrontwall=5 : objBackwall as integer : objBackwall=6 : objLeftwall2 as integer : objLeftwall2=7 : objRightwall2 as integer : objRightwall2=8 : objFrontwall2 as integer : objFrontwall2=9 : objBackwall2 as integer : objBackwall2=10 : objWall1 as integer : objWall1=11 : objWall2 as integer : objWall2=12 : objWall3 as integer : objWall3=13 : objWall4 as integer : objWall4=14 : txtrGround as integer : txtrGround=1 : txtrCeiling as integer : txtrCeiling=1 : txtrBrick as integer : txtrBrick=1 : WallHeight as float : WallHeight=10
load image "BrickTexture.jpg",txtrBrick : make object plain objGround,100,100 : make object plain objCeiling,100,100 : make object plain objLeftwall,100,WallHeight : make object plain objRightwall,100,WallHeight : make object plain objFrontwall,100,WallHeight : make object plain objBackwall,100,WallHeight : make object plain objLeftwall2,102,WallHeight : make object plain objRightwall2,102,WallHeight : make object plain objFrontwall2,102,WallHeight : make object plain objBackwall2,102,WallHeight : make object plain objWall1,15,WallHeight : make object plain objWall2,15,WallHeight : make object plain objWall3,15,WallHeight : make object plain objWall4,25,WallHeight : xrotate object objGround,90 : texture object objGround,txtrGround : scale object texture objGround,6,6 : objGroundox=object position x(objGround) : objGroundoy=object position y(objGround) : objGroundoz=object position z(objGround) : xrotate object objCeiling,90
position object objCeiling,objGroundox,objGroundoy+10,objGroundoz : texture object objCeiling,txtrCeiling : scale object texture objCeiling,5,5 : yrotate object objLeftwall,90 : position object objLeftwall,objGroundox-50,objGroundoy+5,objGroundoz : texture object objLeftwall,txtrBrick : scale object texture objLeftwall,6,1 : yrotate object objRightwall,90 : position object objRightwall,objGroundox+50,objGroundoy+5,objGroundoz : texture object objRightwall,txtrBrick : scale object texture objRightwall,6,1 : position object objFrontwall,objGroundox,objGroundoy+5,objGroundoz+50 : texture object objFrontwall,txtrBrick : scale object texture objFrontwall,6,1 : position object objBackwall,objGroundox,objGroundoy+5,objGroundoz-50 : texture object objBackwall,txtrBrick : scale object texture objBackwall,6,1 : yrotate object objLeftwall2,90 : position object objLeftwall2,objGroundox-51,objGroundoy+5,objGroundoz : texture object objLeftwall2,txtrBrick : scale object texture objLeftwall2,7,1 : yrotate object objRightwall2,90 : position object objRightwall2,objGroundox+51,objGroundoy+5,objGroundoz : texture object objRightwall2,txtrBrick : scale object texture objRightwall2,7,1 : position object objFrontwall2,objGroundox,objGroundoy+5,objGroundoz+51
texture object objFrontwall2,txtrBrick : scale object texture objFrontwall2,7,1 : position object objBackwall2,objGroundox,objGroundoy+5,objGroundoz-51 : texture object objBackwall2,txtrBrick : scale object texture objBackwall2,7,1 : yrotate object objWall1,90 : position object objWall1,25,objGroundoy+5,32.5 : texture object objWall1,txtrBrick : position object objWall2,32.5,objGroundoy+5,40 : texture object objWall2,txtrBrick : yrotate object objWall3,90 : position object objWall3,40,objGroundoy+5,32.5 : texture object objWall3,txtrBrick : position object objWall4,27.5,objGroundoy+5,25 : texture object objWall4,txtrBrick : scale object texture objWall4,2,1 : position camera 0,5,0
do
pitch camera down mousemovey()/3 : turn camera right mousemovex()/3 : position mouse screen width()/2,screen height()/2 : if upkey()=1 then move camera .3 : cx=camera position x() : cy=camera position y() : cz=camera position z() : position camera cx,5,cz : if cx>objGroundox+49 then cx=objGroundox+49 : if cx<objGroundox-49 then cx=objGroundox-49 : if cz>objGroundoz+49 then cz=objGroundoz+49 : if cz<objGroundoz-49 then cz=objGroundoz-49 : position camera cx,5,cz
sync
loop
If you are asking for available DLLs,
Go here