Jump to content
Atarius Maximus

Jungle Adventure (Was: My next project, Pitfall type game DPC+)

Recommended Posts

Thanks! I've got a busy schedule tomorrow and I'm out of time tonight, I'm hoping to take a look at this again on Wednesday.

Share this post


Link to post
Share on other sites

I never set playerXheight. Is this needed?

rem it out saves 40 bytes.

I did some testing last night (in Stella) and it looks like it is needed. If you put the playerheights back in you no longer get the jerky movement on the player sprite, it's very smooth.

Share this post


Link to post
Share on other sites

I did some testing last night (in Stella) and it looks like it is needed. If you put the playerheights back in you no longer get the jerky movement on the player sprite, it's very smooth.

I made one simple change you made to my my "game5" source, I just added the player<x>height statements back in. It now works perfectly on real hardware. There is no jerky movement with the player sprite. This was a quick 2 minute test, I haven't tried anything else yet or made a more detailed comparison of the code differences, but the player heights are definitely required.

Share this post


Link to post
Share on other sites

Glad it is working on Harmony. Never had that happen to me, but that bouncing in the Food Fight is due to not having the datafetchers near the drawscreen.

I'll have to look at the compiled asm code with and without player heights defined. I'm curious as to why they are needed because I have seen them in my compiled asm code and I never knew of that command.

Share this post


Link to post
Share on other sites

One bug that is easy to see.

Start your game. Move left. Press fire and float to the top!

Also if you jump while walking sometimes you jump up levels.

 

Share this post


Link to post
Share on other sites

One bug that is easy to see.

Start your game. Move left. Press fire and float to the top!

Also if you jump while walking sometimes you jump up levels.

Yep, I knew about that. The code for making the player jump doesn't work well at all. It needs to be changed. If you are at the far left or right of the screen you'll float to the top because as it's written now you stop jumping when you touch the playfield, and the far left & right of the screen don't have a defined playfied. The platforms are only background colors.

Share this post


Link to post
Share on other sites

Many thanks, iesposta! I changed my current build to match the changes you made and it works perfectly on real hardware now. No screen rolling and no delays in sprite movement at all. Now that I'm confident this demo will work, I'm going to dive in to trying to make this in to a real game. I haven't gotten my development AtariVox from golden ax yet but I should by the end of the week, speech will definitely be incorporated into this. I have more ideas in my head than I'll probably be able to use. It's definitely going to be a pitfall themed game and I'm looking forward to working on it. I could see this taking a very long time to finish.

 

Attached is the latest demo. The jumping issue is fixed and it works on the Harmony.

game12.bin

Share this post


Link to post
Share on other sites

You are welcome!

I did get a chance at work to check the compiled asm differences.

If you use set player heights it is defined twice, first in a block of code and then a 2nd time with the player pointers - the same values.

If you don't set them they are set once with the same values in the player pointer code -- but it moves jerkily.

So I really didn't figure anything out except set them if you have movement problems :)

Share this post


Link to post
Share on other sites

I have nothing productive to say, but this is gorgeous! I'm very excited to see more. Excellent work so far.

Share this post


Link to post
Share on other sites

The scorpion can get stuck inside a barrier if you time your entry into a screen right. This happens because each scorpion seems to share the same x position as its counterparts in other screens. maybe this should change :)

Share this post


Link to post
Share on other sites

I have nothing productive to say, but this is gorgeous! I'm very excited to see more. Excellent work so far.

Thanks Kevin, comments like that inspire me to keep working on it. I've been trying to figure out the details on DPC+ for a while now and this project works pretty well with the current limitations. At least so far. :)

Share this post


Link to post
Share on other sites

The scorpion can get stuck inside a barrier if you time your entry into a screen right. This happens because each scorpion seems to share the same x position as its counterparts in other screens. maybe this should change :)

Yep, I noticed that, just haven't tried to fix it yet. I've got a really long way to go to make this a complete game. :)
  • Like 1

Share this post


Link to post
Share on other sites

A few more changes today. Added alligators, rolling logs, shooting arrows, fixed the problem with the scorpion, maybe a few other things I'm not thinking of. There's a treasure on one screen but you can't collect it. You now have to jump up to the ladder and vines to go up to a higher platform. Once I add collision detection and treasures it will be an actual playable game. :) It's tested and works on a real Harmony.

game16.bin

game-16.txt

  • Like 1

Share this post


Link to post
Share on other sites

I messed with your (game-16.txt) code some

 

I changed it in four spots I guess you'll have to decide if it's any improvement

 

I changed where the score get's set to the room

should work as long as room < 16

 

score = 0
score = score + room

 

=======

 

I think your jump/collision code is a mess ;P .

I think you should clean it up.

I tryed, not sure I got it right.

 

edit: I tryed to remove the redundancies

I didn't try to clean it up

it's still a mess

 

=======

 

I put the arrange sprite code in bank 2

and put the paramters in a table.

 

Saves gosubs to other banks which

take a (relative) lot of time and code.

 

Even if you going to call it from

another bank, you ought to make just

one call and one return.

 

I added some stuff to fill the table

which I hope is not harmfull

 

room 0 sets ballx,y to 180

room 15 sets player8x,y to 180

 

then there's exceptions for stuff that

didn't/couldn't go in the table

which gets called with on room gosub

 

Since arranging the sprites in bB results

in a lot of redundant loading of the index

(room) (which irks me :) ) I also did a

version in asm

 

=======

 

I changed the draw_room code to on-goto

and got rid of the string of if-thens

 

 

game-16_mod.bas

 

game-16_mod_w_asm.bas

Edited by bogax

Share this post


Link to post
Share on other sites

I messed with your (game-16.txt) code some

 

I changed it in four spots I guess you'll have to decide if it's any improvement

 

I changed where the score get's set to the room

should work as long as room < 16

 

score = 0
score = score + room

 

=======

 

I think your jump/collision code is a mess ;P .

I think you should clean it up.

I tryed, not sure I got it right.

 

edit: I tryed to remove the redundancies

I didn't try to clean it up

it's still a mess

 

=======

 

I put the arrange sprite code in bank 2

and put the paramters in a table.

 

Saves gosubs to other banks which

take a (relative) lot of time and code.

 

Even if you going to call it from

another bank, you ought to make just

one call and one return.

 

I added some stuff to fill the table

which I hope is not harmfull

 

room 0 sets ballx,y to 180

room 15 sets player8x,y to 180

 

then there's exceptions for stuff that

didn't/couldn't go in the table

which gets called with on room gosub

 

Since arranging the sprites in bB results

in a lot of redundant loading of the index

(room) (which irks me :) ) I also did a

version in asm

 

=======

 

I changed the draw_room code to on-goto

and got rid of the string of if-thens

 

 

game-16_mod.bas

 

game-16_mod_w_asm.bas

Thank you for taking the time to review my code and make changes and suggestions. I haven't looked at what you've done yet as I've been too busy the last few weeks to dedicate any time to Atari related projects. I hope to get back to this project next week. I agree that the jumping code is messy. I didn't spend much time on it and I'm sure it could be done much more efficiently.

 

Just like most of my game projects, I start off with a grand idea and it changes and evolves as I work on it. The playfield changes in the most recent version are so small between screens it seems like a huge waste of ROM space to redefine the playfield with every room change. The only thing that changes right now is the vertical barriers and the trees on top (which are purely cosmetic). I was excited about this as I started on it but it looks like it could turn into another months long (or year long) project to make it into what I really want. I'm considering starting over on something completely different. It has been a great learning exercise on figuring out the DPC+ kernel either way. Maybe I just need to take a little break from coding for a while.

 

Steve

Share this post


Link to post
Share on other sites

I've been working on this the last few weeks and wanted to share what I've done so far. It's now a playable game. You run around the jungle searching for treasure, once you find one another is randomly placed somewhere else. Avoid the scorpions, rolling logs, arrows, alligators and pits. You get three lives and will restart at the first screen if you lose a life. There is no sound yet and it still needs quite a bit of polish, but it's playable and kind of fun. I'll be working on it more in the coming week.

 

EDIT: Forgot to mention that there are three difficulty levels/speeds. Right now the speed will ramp up twice, after getting 5 and 15 treasures.

jadv.bin

post-2143-0-71852700-1377713775_thumb.jpg

jadv.txt

  • Like 5

Share this post


Link to post
Share on other sites

I think there would be significant
savings if you can get rid of all
these gosub's to (and returns from)
a different bank
(and all the if-thens)


 if room=0 then gosub r0c bank4
 if room=1 then gosub r1c bank4
 if room=2 then gosub r2c bank4
 if room=3 then gosub r3c bank4
 if room=4 then gosub r4c bank4
 if room=5 then gosub r5c bank4
 if room=6 then gosub r6c bank4
 if room=7 then gosub r7c bank4
 if room=8 then gosub r8c bank4
 if room=9 then gosub r9c bank4
 if room=10 then gosub r10c bank4
 if room=11 then gosub r11c bank4
 if room=12 then gosub r12c bank4
 if room=13 then gosub r13c bank4
 if room=14 then gosub r14c bank4
 if room=15 then gosub r15c bank4

something like

 goto rxc bank4

continue
 .
 .
 .

 bank 4

rxc
 on room gosub r0c r1c r2c .. r15c
 goto continue bank2

r0c
 some code
 return thisbank

 etc.
 .
 .
 .

r15c
 some code
 return thisbank
Edited by bogax

Share this post


Link to post
Share on other sites

 

I think there would be significant

savings if you can get rid of all

these gosub's to (and returns from)

a different bank

(and all the if-thens)

 

 

 if room=0 then gosub r0c bank4
 if room=1 then gosub r1c bank4
 if room=2 then gosub r2c bank4
 if room=3 then gosub r3c bank4
 if room=4 then gosub r4c bank4
 if room=5 then gosub r5c bank4
 if room=6 then gosub r6c bank4
 if room=7 then gosub r7c bank4
 if room=8 then gosub r8c bank4
 if room=9 then gosub r9c bank4
 if room=10 then gosub r10c bank4
 if room=11 then gosub r11c bank4
 if room=12 then gosub r12c bank4
 if room=13 then gosub r13c bank4
 if room=14 then gosub r14c bank4
 if room=15 then gosub r15c bank4
something like

 

 goto rxc bank4

continue
 .
 .
 .

 bank 4

rxc
 on room gosub r0c r1c r2c .. r15c
 goto continue bank2

r0c
 some code
 return thisbank

 etc.
 .
 .
 .

r15c
 some code
 return thisbank

 

 

Good point bogax, I'll do that in the next revision. I am getting low on space in bank 2.

Share this post


Link to post
Share on other sites

I haven't had a chance to play with this but i just wanted to say that that screenshot looks gorgeous. :)

Share this post


Link to post
Share on other sites

It's the start of a new year and I'm feeling the urge to start another project. I had lots of free time this week since it was slow at work and I took the time to update my website bjars.com, which took waaaaay longer than I thought. My first site overhaul since 2006 took about 15 hours of work. I did take the time to play a bunch of my old hacks and bB games during that time and I'm ready to start a new game. My favorite old game that I wrote is definitely Bombs Away, I spent the most time playing that one tonight.

 

I lost my most recent updates to the Jungle adventure demo due to a PC crash a few months ago which kind of took the steam out of this project, and while it looks cool, after playing the most recent version I posted I'm thinking of starting over. It looks nice but to me it just seems kind of boring to play. I'm trying now to get inspired to start on something new and try and use the AtariVox I got late last year. I've got tons of reserved space for future games, I only used 3 bytes of my assigned space for Gate Racer II. :)

 

Happy new year! Now back to the Cotton Bowl... go Mizzou! :)

  • Like 1

Share this post


Link to post
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.

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...