Jump to content
IGNORED

Draker Quest- Complete


frankodragon

Recommended Posts

Hi Franco

just played around for longer time.

Warp works now....In the Iceworld i

found this pyramid,guess it is the Tower?

In this big dungeon,i found another

dead end....

The game is really great.......It has your

own Draker style....I would not change

the graphics....I do not agree to DIB .

Why always need an artist?

But maybe a little animation of the

player???But first of all you should

complete the gameplay and then,we

will see,what is possible....Maybe a Save

option with the Save Key or Atari Vox?

But i have no great programming skills.

Keep up the great work....

And at last one question?Is there any goal

while i run around the big terrain?

About the dead end...have a look at the photo

attachicon.gifimage.jpg

Yes, the "pyramids" are the towers- thought I should probably make them look more like towers. I'll have to find out if it can be saved using Savekey as I think usually high scores are saved using this tool. I could be wrong about that. I wanted to have animation on the player but for some reason when I tried the Zelda coding example on my character, it wouldn't work.

Link to comment
Share on other sites

I don't know if anyone's already suggested something, in terms of how to make your sprites animate, but I had a bit of a problem getting the Zelda character animation routine to work with my current project, as well, so what I ended up doing, was ripping that out, and coding in a routine of my own, that works just as well, if not better. And anyone else can use this, too, if they want to. (I plan to release the source under GPL, when I finally finish it -- after I stop procrastinating... :D )

 

What I do is define a variable for each sprite that I want to have animate. For my game, I plan to have at least nine: one for player one, another for player two, and seven others, for the seven possible enemies that can be on-screen at once (even though I might have to edit this, the farther down the line I go). For my example, I'll call this variable playeranim.

 

Then, I load each sprite of the animation sequence with incgraphic, one right after the other, so 7800basic loads them all into memory in the same order. Like this:

incgraphic gfx/mastersprite1.png 160B 0 1 2 3
incgraphic gfx/mastersprite2.png 160B 0 1 2 3
etc...

Once that's taken care of, I set up another variable for each character, that keeps track of how many times the 7800 (or MESS, ProSystem, insert any 7800 emulator here) has run through your game logic routine. So, like, the first time your routine is run, it'll add one to each of these counter variables. The second time, it'll add another, and so on. You can use this to pick out exactly how many times it'll go through the logic routine, before the animation frame changes (I hope that makes sense; if not, I can find some way to explain it better).

 

For example, I'll make a variable I call passcount. Every time the 7800 or MESS reaches your game's logic routine, I'll have it add one to passcount.

passcount=passcount+1

When you hit the right number of passes, you add one to the variable you set earlier (playeranim in my example), which keeps track of what animation frame your player character is on. So, something like this:

if passcount==5 then playeranim=playeranim+1

If you like, you can go even farther, and reset passcount to zero each time you add one to playeranim (which is what I do).

 

And then, when you get to the line in your routine, where you draw the player character to the screen, just replace the part of the plotsprite command where you tell 7800basic what animation frame you want the game to draw, with the variable you set up, like playeranim, in my example. So, something like this:

plotsprite draker1left 0 drakerX drakerY playeranim

I hope that makes sense, or helps. If it's confusing at all, I can try to find a way to explain it better.

 

 

  • Like 2
Link to comment
Share on other sites

I tried that above and still no animation. I don't know if it's because I have the graphics stored in the last bank. But I tried this:

rem draw draker
   temp1=(direction*2)+((drakerwalk/16)&1)
   plotsprite herodown2 0 xpos ypos direction
   temp1=ypos-40
   
   temp1=temp1+1
   
   if direction=5 then temp1=temp1+1

I could change the variables around but still no animation.

Link to comment
Share on other sites

I tried that above and still no animation. I don't know if it's because I have the graphics stored in the last bank. But I tried this:

rem draw draker
   temp1=(direction*2)+((drakerwalk/16)&1)         <<<<<<<<<<<<<<<<<<<<<<<<<<<<<
   plotsprite herodown2 0 xpos ypos direction
   temp1=ypos-40
   
   temp1=temp1+1
   
   if direction=5 then temp1=temp1+1

I could change the variables around but still no animation.

 

The line I marked, does not do anything. Dead code.

 

I am not really familiar with the arguments, but I am guessing that direction is the "sprite frame" and all that happens is a single frame (namely, the direction) is displayed. My guess is that you will want to pass in a direction + frame number instead and arrange the frames in memory accordingly.

  • Like 2
Link to comment
Share on other sites

My guess is that you will want to pass in a direction + frame number instead and arrange the frames in memory accordingly.

 

I second this. I've never tried that routine I showed you in any ROM configuration bigger than 48KB (even though I feel like I might have to, at some point), so it might very well be that the graphics are in a different ROM bank than the program itself. I might do a bit of messing around of my own, and see if that's why it didn't work for you.

Link to comment
Share on other sites

Updated version here. I've been working on several fixes including the one Walter mentioned. I also need to learn how to program a boss character, how to move him around and make him take several hits before disappearing.

Make him explode when he dies. Like body parts flying everywhere on the screen. "That would rule!"(in beavis voice)"huh-huh yeah"(in butthead voice)
Link to comment
Share on other sites

Hi Franco

i was in the Tower of the iceworld again....works

great......no bugs.....I found the enemies wich move from above to down.....wow....How many exits are in the tower?This is really big....

Great work....

greetings Walter

I call that the "floor of rats" but there should be two exits: one for back to the previous world and I believe is Dark world one.

Link to comment
Share on other sites

Hi Franco

where is this boss???

If i know,i can test better

greetings Walter

He's on the top of the tower but you'll have to go through several worlds to get to him first. The last "world" he should be on is the second dark world. I'm trying to use a savekey to save what level you're on and it's very iffy at the moment. If you do reach the boss, just don't tell others who or what it is.

Link to comment
Share on other sites

The area mentioned above is fixed. As for saving/loading, it's not working for me :?

I did write some code that if you happen to die in an overworld, you should be able to restart on that world without the points. I'm not sure if the "stage" numbers are kept in ROM until the game is turned off since it does from one bank to another?

 

Newest file here.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...