09-10-2002, 06:41 AM
Okay, here's the one that I sort of suggested earlier, but it's a little simplified:
Make an action game using the 640x480x16 screen mode 12. Flicker is acceptable, but only if it does not seriously inhibit gameplay. The game must have at least three basic controls: left, right, and jump. A gravity force is required to hold the player down. The game is not required to scroll either vertically or horizontally. The player sprite or visual representation must have at least two cels of animation, and there must be a criteria to 'win' and to 'lose' other than running out of time. (Falling off the screen is acceptable) The game must be fun. You may not use a library unless it is pureQB and is to provide a function like mouse control or audio. Audio is not necessary because it often doesn't work on different hardware setups and makes the file sizes much larger.
Gameplay: /10
Visuals: /10
Details: /10
Fun Factor: /10
Total: /40
The due date is November 30th. I intend to enter the contest, but have not begun mine yet. This code illustrates how to directly access the video memory is SCREEN 12:
Good luck. 8)
Make an action game using the 640x480x16 screen mode 12. Flicker is acceptable, but only if it does not seriously inhibit gameplay. The game must have at least three basic controls: left, right, and jump. A gravity force is required to hold the player down. The game is not required to scroll either vertically or horizontally. The player sprite or visual representation must have at least two cels of animation, and there must be a criteria to 'win' and to 'lose' other than running out of time. (Falling off the screen is acceptable) The game must be fun. You may not use a library unless it is pureQB and is to provide a function like mouse control or audio. Audio is not necessary because it often doesn't work on different hardware setups and makes the file sizes much larger.
Gameplay: /10
Visuals: /10
Details: /10
Fun Factor: /10
Total: /40
The due date is November 30th. I intend to enter the contest, but have not begun mine yet. This code illustrates how to directly access the video memory is SCREEN 12:
Code:
DEFINT A-Z
DECLARE SUB pix12 (vertical%, horizontal%, c%)
DIM SHARED bitfield(7) AS INTEGER
bitfield(0) = 128: bitfield(1) = 64: bitfield(2) = 32
bitfield(3) = 16: bitfield(4) = 8: bitfield(5) = 4
bitfield(6) = 2: bitfield(7) = 1
SUB pix12 (vertical%, horizontal%, c%)
IF (vertical% < 0) OR (horizontal% < 0) THEN EXIT SUB
IF (vertical% > 479) OR (horizontal% > 639) THEN EXIT SUB
DEF SEG = &HA000: OUT &H3CE, 4: OUT &H3C4, 2
P& = vertical%: P& = P& * 80 + horizontal% \ 8
bit% = bitfield(horizontal% AND 7): bitmask% = 255 - bit%
OUT &H3CF, 0: OUT &H3C5, 1: B% = PEEK(P&) AND bitmask%
IF (c% AND 1) <> 0 THEN B% = B% OR bit%
POKE P&, B%
OUT &H3CF, 1: OUT &H3C5, 2: B% = PEEK(P&) AND bitmask%
IF (c% AND 2) <> 0 THEN B% = B% OR bit%
POKE P&, B%
OUT &H3CF, 2: OUT &H3C5, 4: B% = PEEK(P&) AND bitmask%
IF (c% AND 4) <> 0 THEN B% = B% OR bit%
POKE P&, B%
OUT &H3CF, 3: OUT &H3C5, 8: B% = PEEK(P&) AND bitmask%
IF (c% AND 8) <> 0 THEN B% = B% OR bit%
POKE P&, B%
END SUB
Good luck. 8)