MausGames, on Tue Feb 17, 2009 11:35 PM, said:
Byte Knight, on Tue Feb 17, 2009 10:03 PM, said:
MausGames, on Tue Feb 17, 2009 9:34 PM, said:
Great job, you're doing great so far! Welcome to the forum btw, glad you decided to stop lurking.
This looks really good, and is already well-polished. Did you create your code from scratch, or are you using an example posted by someone? I hate, hate, HATE mazes so it turned me off quickly, but still very impressed.
Thanks ! I created the code from scratch although I used Ararius Maximus's code for the titlescreen. The hardest part was getting the wizards to chase you while they're offscreen. The mazes aren't too bad if you stick to the sides. I can post a map if that would turn you back on...
I think you should try to save maps for a manual/strategy guide if you decide to release a cartridge; it makes knowing how big the game world is optional for those who prefer to find out by playing. As far as the wizards, tracking off-screen locations and x/y's can eat up ram fast - if your code is efficient it would be cool if you would share. I haven't seen any good examples of that posted here.
The mazes aren't too hard, and that's part of the problem. If they present more of an obstacle than a challenge, they become more of a nuisance than an enjoyable element of game play. That was one of the draws of The Legend of Zelda, the landscape on most screens is meant to enhance gameplay vs obstruct your path and slow you down. It's a fine line between challenging and tedious.
Like I said though, I hate mazes, so I'm not a good judge of the ones in your game. Things do at least move really fast though, I like that.
I'm not sure if it's efficient, but here is the code that controls on and offscreen movement of one of the wizards. wx and wy are the wizards x and y coordinates, px and py are player's coordinates. wr is the wizard's room and pr is player's room. t is used for a speed throttle while on screen. y{x} is the direction in which the player left the screen. z{4} is turned on when the wizard dies...
main
if !z{4} && pr = wr then gosub wizard else gosub offscreen2
goto main
wizard
COLUP0=14
player0:
%00011111
%00001110
%00011100
%00111000
%11111000
%00111000
%00011000
%00111100
%00011000
%00001000
end
player0x = wx:player0y = wy+3
t = t + 1
if wx > px then REFP0=0 else REFP0=8
if wx > px && t = 2 then wx = wx - 1
if wx < px && t = 2 then wx = wx + 1
if wy > py && t = 2 then wy = wy - 1
if wy < py && t = 2 then wy = wy + 1
y{1}=0:y{2}=0:y{3}=0:y{4}=0
if px = 16 then y{4}=1
if px = 140 then y{2}=1
if py = 1 then y{1}=1
if py = 90 then y{3}=1
if t > 1 then t = 0
return
offscreen2
player0x=0:player0y=0
if y{4} then wx = wx - 1
if y{2} then wx = wx + 1
if y{1} then wy = wy - 1
if y{3} then wy = wy + 1
if wx = 16 then wx = 139:wr = wr - 1
if wx = 140 then wx = 17:wr = wr + 1
if wy = 1 then wy = 89: wr = wr - 3
if wy = 90 then wy = 2: wr = wr + 3
if wr < 1 then wr = wr + 18
if wr > 21 then wr = wr - 18
return