Here's a little code I made just now of possible movement:

Press 'X' to jump!

`DIM SHARED keyflags%(0 TO 127) 'the keyboard states`

backdrop = _NEWIMAGE(640, 480, 32)

background = _NEWIMAGE(640, 480, 32)

objects = _NEWIMAGE(640, 480, 32)

characterx = 320

charactery = 300

characterz = 0

SCREEN _NEWIMAGE(640, 480, 32)

_DEST background

LINE (0, 0)-(640, 480), _RGB32(255, 255, 255), BF

DO

_LIMIT 120

IF a = 0 THEN a = 1 ELSE a = 0

_DISPLAY

_DEST objects

CLS

CIRCLE (characterx, charactery + 10), 10, _RGB32(30, 0, 0), , , .5

PAINT (characterx, charactery + 10), _RGB32(30, 0, 0)

CIRCLE (characterx, charactery - characterz), 10, _RGB32(255, 0, 0)

PAINT (characterx, charactery - characterz), _RGB32(255, 0, 0)

_CLEARCOLOR 0

'the order determines overlap.

_PUTIMAGE , background, backdrop

_PUTIMAGE , objects, backdrop

_PUTIMAGE , backdrop, 0

movefellow = 0

IF scankey(72) THEN characterspy = characterspy - .1: movefellow = 1

IF scankey(80) THEN characterspy = characterspy + .1: movefellow = 1

IF scankey(75) THEN characterspx = characterspx - .1: movefellow = 1

IF scankey(77) THEN characterspx = characterspx + .1: movefellow = 1

IF scankey(45) AND readytojump = 1 AND jump = 0 AND fall = 0 THEN jump = 1: jumpvel = 4: readytojump = 0

IF scankey(45) = 0 AND jump = 1 THEN jump = 0: fall = 1: fallvel = jumpvel / 2: readytojump = 0

IF scankey(45) = 0 AND jump = 0 AND fall = 0 THEN readytojump = 1

IF characterspy > 2 THEN characterspy = 2

IF characterspy < -2 THEN characterspy = -2

IF characterspx > 2 THEN characterspx = 2

IF characterspx < -2 THEN characterspx = -2

characterx = characterx + characterspx

charactery = charactery + characterspy

IF jump = 0 AND fall = 0 AND movefellow = 0 THEN

IF characterspx > 0 THEN characterspx = characterspx - .1

IF characterspx < 0 THEN characterspx = characterspx + .1

IF characterspy > 0 THEN characterspy = characterspy - .1

IF characterspy < 0 THEN characterspy = characterspy + .1

IF characterspx > -.1 AND characterspx < .1 THEN characterspx = 0

IF characterspy > -.1 AND characterspy < .1 THEN characterspy = 0

END IF

IF jump = 1 THEN

characterz = characterz + jumpvel

jumpvel = jumpvel - .1

IF jumpvel < 0 THEN fall = 1: jump = 0: fallvel = jumpvel

END IF

IF fall = 1 THEN

IF characterz > groundz THEN characterz = characterz + fallvel: fallvel = fallvel - .1

IF characterz <= groundz THEN characterz = 0: fall = 0

END IF

LOOP

FUNCTION scankey% (scancode%)

i% = INP(&H60)

IF i% = 170 OR i% = 54 OR i% = 42 THEN FOR a = 0 TO 127: keyflags%(a) = 0: NEXT a

IF (i% AND 128) THEN keyflags%(i% XOR 128) = 0

IF (i% AND 128) = 0 THEN keyflags%(i%) = -1

WHILE INKEY$ <> "": WEND

scankey% = keyflags%(scancode%)

END FUNCTION

I was thinking though, perhaps it could be controlled with W,A,S,D, and SPACE to jump like in a real 3D game? That would be nice, then you can aim with the mouse! Wouldn't be too hard to achieve either I think.