Jump to content
IGNORED

Carrot Kingdom™ - Work in Progress 32K! - New Demo 10-16-2017


Jinroh

Recommended Posts

Thomas is correct this is quite easy in assembly

  ldx _JumpAccent
  beq +
  dec _JumpAccent
  lda _Joystick
  and #JoyStickPressedUp    ;adjust for atari 2600
  bne ++
  ldx #0
+:
  stx _JumpAccent
  lda #32                   ;adjust gravity as needed
  clc
  adc _ObjYVelocityL
  sta _ObjYVelocityL
  txa
  adc _ObjYVelcoityH
  sta _ObjYVelocityH
  bmi ++
  cmp #SomeLimit            ;Adjust as needed
  bcc ++
  stx _ObjYVelocityL
  lda #SomeLimit
  sta _ObjYVelocityH
++:
  rts

Good job on the game

Edited by OmegaPrime
Link to comment
Share on other sites

Thanks for the feedback guys, the original jumping was by design due to my preference, but I coded up a more weighty implementation a little bit ago. I should be able to get it in the codebase later today and see how I like it.

Link to comment
Share on other sites

The game looks cool. I use tables since it allows me to tune the physics in detail. Also worth considering running inertia. I think that perfectly tuned inertia, gravity, and jumping "physics" are a big part of what makes Super Mario the best series of platformers ever.

Edited by Paul Slocum
  • Like 1
Link to comment
Share on other sites

Thanks Paul, glad you're liking it. :D

 

Great suggestion, I agree. :D I'm hurting for 'RAM' as it is, so I dunno if I'll be able to squeeze that in after the few other things I need to squeeze in, but I'll keep it in mind if I can. :)

Link to comment
Share on other sites

Coming along well. If you like the jump, stick with your vision.

 

I really like the hearts for energy. Nice touch. birds are more forgiving too. I know cycles must to be getting tight with all you have going on in your kernel, since you're choosing to not use any help from dcp.

 

Impressive for a raw 2600 game.

Link to comment
Share on other sites

Ah great I hope you enjoy it! :3

 

I'll have to try my phone emu too, though the only 'non-standard' thing it uses is F6 Bankswitching, so kinda strange it doesn't agree with it.

 

Tweaked the gravity and now I think it's a happy compromise for all of us.

 

Update, Tweaked Demo. :)

 

Edited by Jinroh
  • Like 3
Link to comment
Share on other sites

Awesome! Glad you enjoyed it!

 

I've been playing this evening too. :D Really tough to beat the bread cat, but satisfying when you do it!

 

Started on designing the next level as well. ^^

Edited by Jinroh
  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...

Um... the demo is almost unplayably jittery. The framerate is not stable at all. Every screen transition jumps to a new number of scanlines. The picture jitters everytime the screen scrolls, very slightly when the fireball in the castle flies up, and also very slightly whenever Jinny's shots are on screen. Using the scanline counter in Stella, I see the demo never settles on 262 lines per frame. All of this also happens on real hardware.

Link to comment
Share on other sites

Um... the demo is almost unplayably jittery. The framerate is not stable at all. Every screen transition jumps to a new number of scanlines. The picture jitters everytime the screen scrolls, very slightly when the fireball in the castle flies up, and also very slightly whenever Jinny's shots are on screen. Using the scanline counter in Stella, I see the demo never settles on 262 lines per frame. All of this also happens on real hardware.

I never really noticed any major imperfection that made it unplayable, but you seem to have experience with counting scanline and the Stella debugger.

Did you post this because you have a suggestion to fix these things you have noticed?

I thought it was a pretty decent homebrew for being pure VCS.

Link to comment
Share on other sites

Did you post this because you have a suggestion to fix these things you have noticed?

No, I don't. I'm not very skilled at programming the VCS, plus Jinroh is the only one who has access to the source code. I'm just bringing the framerate issues (which are quite hard on the eyes) to his attention.
Link to comment
Share on other sites

Thanks for bringing this up THIYR, because I have honestly not had this problem on hardware or emulation.

 

Do you have a video or something, I'm curious. In Stella 4.5+ during scrolling and stationary scenes I get an unmoving 250 lines.

Link to comment
Share on other sites

Thanks for bringing this up THIYR, because I have honestly not had this problem on hardware or emulation.

 

Do you have a video or something, I'm curious. In Stella 4.5+ during scrolling and stationary scenes I get an unmoving 250 lines.

You need to be running the current version of Stella (or at least 4.7.1), I added screen jitter/roll emulation to it as documented in these three blog posts: Overscan Jitter, Overscan Jitter 2, DPC+ Jitter, and Jitter 3, Recovery Time.

 

The CARROT KINGDOM screen is 280 scanlines:

post-3056-0-52794400-1466435077_thumb.png

 

The ENTERING CASTLE screen is 279 scanlines - this small change in count can cause minor jitter:

post-3056-0-75868000-1466435122_thumb.png

 

The game screen is 250 scanlines - this drastic change in count causes the screen to roll:

post-3056-0-90114000-1466435155_thumb.png

 

When I get to here in Stella the scanline count starts to rapidly change, causing screen jitter:

post-3056-0-57517000-1466435186_thumb.png

 

On my real Atari this is the point the game crashes and resets back to the CARROT KINGDOM screen. You can see that, and the screen roll/jitter, in this video:

IMG_7344.m4v.zip

 

To fix the jitter/roll problems you need to make it so every screen is 262 scanlines. That crash is going to be hard to track down and fix. Most likely it's hitting a BRK instruction, I had that occur in Medieval Mayhem.

  • Like 1
Link to comment
Share on other sites

One other piece of advice-- after fixing the screens, I'd suggest going back over your code to check to make sure the screen size is holding between different screen transitions (i.e. character falls to next screen). When developing Mean Santa, I had my "did we complete the objectives on Screen One" check way down in the logic. It was so far down that I had done all of the previous logic, then had the check, and then started working on the new screen logic. This took my calculations over the VBLANK period. It was a simple fix of moving this check further up. I'd highly suggest testing these edge cases as well, as they can cause the screen to roll between scenes. You may even need to have a "black static screen" for 1/60 of a second, just to keep things steady.

 

-John

  • Like 1
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...