Jump to content
IGNORED

Railslider WIP


Lillapojkenpåön

Recommended Posts

 

at first glance
line 973
 
   temp5 = (_PEEK_Frame_Counter) + 1 : _POKE_Frame_Counter  temp5 : on temp5 goto donef1 donef1 f1 f22 f33 f44
 
unless you're limiting frame counter to 4 somewhere I didn't see yet,
temp5 could go up to 16 and you've only got 6 target labels

 

That was the cause of my first bug that took me 3 months to figure out, so I'm not making that mistake again :)

but thanks for the help everybody.

I think this line was the culprit.. I made a on goto jump and tried to return from it like this.. if _PEEK_Frame_Counter < 3 then goto _roger else goto _roger2

It stopped crashing when i changed the nybble counter to a regular old bit.. after changing exactly everything else..

 

I thought PRGE would be a good deadline for a NEW DEMO so here it is.

Hold down on any joystick while booting or restarting to start with 9900 points and 5 megablast if you wanna see the new BOSS and SPECIALATTACK quicker.

 

 

Edited by Lillapojkenpåön
  • Like 1
Link to comment
Share on other sites

  • 4 months later...

New demo. Hold pausebutton (firebutton on joystick2) while starting from the titlescreen to start with 099990 points

 

New enemy
Titlescreen
Titlescreen goes to gameplay demo after awhile, still very dumb player
Temporary titlescreen music (borrowed)
Robotmissiles use bresenheim line algorithm to shoot straigt at the railslider
Railslider death animation
Minor sound and graphics changes
Upper robots move behind rails
Can get to boss from megablast
Can pause anytime
Correct hitboxes and hit-detection every frame instead of every other
Doesn't overcycle!
Edited by Lillapojkenpåön
  • Like 1
Link to comment
Share on other sites

Question #1
I'm having some problems understanding how the 160 pixel wide screen and the player1x variabel that can count all the way to 255 works together when getting player1 to enter or exit the side of the screen with masking..

I thought 0 would be for making it enter from the right side (but I'm using 160 now instead) and 153 to enter from the left.. for an eight pixel wide sprite.

But for 153 to work right as starting position I have to do this when it gets to 161.. if player1x=161 then player1x=0, to get it to enter smoothly without teleporting a couple pixels somewhere in the middle of the screen, I also tried 248 as starting position to not have to roll the counter manually, and it works sometimes but sometimes teleports crazy.

But when it comes back and I want to put it of the screen I have to use if player1x= 248 || player1x= 153 then player1y=200, It's as if it's sometimes 248 and sometimes 153, where does that inconsistancy come from? What numbers should I be using?

Link to comment
Share on other sites

Question #2

Woops, I was shure it didn't overcycle anymore because stella didn't show a hint of it, and it used to show it allmost exactly like my TV..

Does it not show when vblank takes to long? Because I moved my pushes and pulls there.

Tried it on real hardware today for the first time in a year (because of homelessness and all my stuff in storage) and it overcycled, but pretty evenly and jitterless, makes me think it's vblank?

 

I could easily get rid of player9 and use those freed variables to get rid of the pushes and pulls, but I really like that thing and I would like to first make shure I'm using vblank and overscan in a balanced way and see if it's still to much code before I sacrifice something, Is there any emulation that will allow me to see any progress? Or else what can I do If I have no real hardware?

 

Does this look like way to much for vblank first of all?

 

vblank

goto _vblank bank3
_vblank
if !_NUSIZ1{3} && b{2} then goto __Done2
if missile0y>=180 || pfscorecolor=$BE then goto __Done2
if b{4} then goto __Done2
if player0y>230 then goto __Done3
stack 70
pull temp2 temp3
_tempspeed=0.10+_robotspeed
temp7 = _error_accumulator_3
if _delta_x_3 > _delta_y_3 then goto _Skip_Chase1
_error_accumulator_3 = _error_accumulator_3 - _delta_x_3
if temp7 < _error_accumulator_3 then _error_accumulator_3 = _error_accumulator_3 + _delta_y_3 else goto _Skip_Chase2
_Skip_Chase1
if b{1} then _M0_L_R = _M0_L_R + _tempspeed else _M0_L_R = _M0_L_R - _tempspeed
if _delta_x_3 < _delta_y_3 then goto _Skip_Chase2
_error_accumulator_3 = _error_accumulator_3 - _delta_y_3
if temp7 < _error_accumulator_3 then _error_accumulator_3 = _error_accumulator_3 + _delta_x_3 else goto __Done
_Skip_Chase2
if b{0} then _M0_U_D = _M0_U_D + _tempspeed else _M0_U_D = _M0_U_D - _tempspeed
__Done
stack 72
push temp2 temp3

 

__Done2

 

asm
lda _Points_Roll_Up
beq No_Points_To_Add
dec _Points_Roll_Up
sed
clc
lda _sc3
adc #1
sta _sc3
lda _sc2
adc #0
sta _sc2
lda _sc1
adc #0
sta _sc1
cld
No_Points_To_Add:
end
__Done3
if pfscorecolor=$40 then pfscorecolor=$4E : b{5}=1
if var2=251 then var2=250
if var1=251 then var1=250

return otherbank

Link to comment
Share on other sites

Yup, That's all I have to go by, but if overscan has 2398 cycles available, then 524 cycles in vblank seems like quite a lot (don't know what it's down to now tho?) BB.1.1d.reveng40?

And I also don't know how many cycles the pushing and pulling takes? So I'm just using my sixth sense to know if I'm in the right ballpark.

 

It would still generate a normal display from time to time, does that mean it's not overcycling by an obnoxious amount?

When it didn't what happened was that the top of the screen moved down like a pixel and the top wall turned purple.

Link to comment
Share on other sites

That seems to be only if you want to make shure your code works with updated versions of the kernel included in bB, I can finish the game with this one. :)

 

Would someone with a harmony encore be so kind and test these three for me? They also have some more fixes I forgot in the last one.

 

 

 

 

 

And report back which Nr. works or jitters the least? Rating them from worst to best.

That would be awesome! :thumbsup:

Edited by Lillapojkenpåön
  • Like 1
Link to comment
Share on other sites

That seems to be only if you want to make shure your code works with updated versions of the kernel included in bB, I can finish the game with this one. :)

 

Would someone with a harmony encore be so kind and test these three for me? They also have some more fixes I forgot in the last one.

 

attachicon.gifRailslider PAL60 Test Nr.2.bas.bin

attachicon.gifRailslider PAL60 Test Nr.3.bas.bin

attachicon.gifRailslider PAL60 Test Nr.4.bas.bin

 

And report back which Nr. works or jitters the least? Rating them from worst to best.

That would be awesome! :thumbsup:

 

Just completed my testing. I used my Six Switch with an Edladdin Super Twin 78. The ROMs were loaded via my Harmony (not an Encore) cart.

 

Worst to best in terms of jitter are as follows:

Test Nr. 4

Test Nr. 3

Test Nr. 2 (very smooth)

 

The pause function (Edladdin Player2 Buttons) works, but whenever I tried to execute a megablast (Edladdin Player1 Buttons), the ROM crashes, meaning that my screen goes black.

 

Love the updates to the game (e.g. Pulse Blast?) :thumbsup:

Link to comment
Share on other sites

  • 4 weeks later...

Thanks to my trusty tester sramirez2008 I could try to optimize my game and even managed to get rid of the stack usage.

Only one minor problem.. It doesn't boot up on my harmony encore anymore, what can cause that?

 

When the yingyang has spun for to long and I turn off the console I think I see the titlescreen come on for a millisecond.

  • Like 1
Link to comment
Share on other sites

Thanks to my trusty tester sramirez2008 I could try to optimize my game and even managed to get rid of the stack usage.

Only one minor problem.. It doesn't boot up on my harmony encore anymore, what can cause that?

 

When the yingyang has spun for to long and I turn off the console I think I see the titlescreen come on for a millisecond.

 

If you use Save As before making any significant changes to your program, you can compare the latest version of your game with the previous one that worked using something like WinMerge.

  • Like 2
Link to comment
Share on other sites

  • 6 months later...
  • 3 weeks later...

Heya Lillapojkenpåön!! We're featuring your game Railslider LIVE on Wednesday's ZeroPage Homebrew stream on Twitch at 6PM PT/9PM ET, hope you can tune in! :-)

 

I'm looking forward to playing your twin stick game, there's definitely not too many of those for the VCS!! If there's anything you'd like me to say about your game during the show just PM me with the info!

Twitch Stream: https://www.twitch.t...ropagehomebrew/

Games:

- Railslider (WIP) by Lillapojkenpåön
- Chipoff by Duane Alan Hahn (Random Terrain)
- MagicMaze (WIP) by B.J. Best (bjbest60)
- Horizon Shift by Paul Marrable
- Dungeon (Retail) by David Weavil (s0c7)

 

post-37205-0-58524900-1541466272_thumb.jpg

  • Like 4
Link to comment
Share on other sites

Heya Lillapojkenpåön!! We're featuring your game Railslider LIVE on Wednesday's ZeroPage Homebrew stream on Twitch at 6PM PT/9PM ET, hope you can tune in! :-)

 

 

 

Great!! PERFECT!! The one day I didn't check the bB part of the forum :)

Haha so funny to see you trying to figure it out

especially when you got mad at Aerlan for shooting the big orange missile when you where trying to capture it, THAT IS how you capture it :) he got an extra life there, you get 100 points per life after killing the boss who shows up every time the ten-thousand digit rolls over, the speed of the robots, their missiles and the railslider speeds up very slightly every 100 points.

 

Big green missile = power-up weapon (alot easier to hit the missiles with).

Big blinking missile = one extra megablast (executed with the P0 button if you have one or more).

Pausing with P1 button shows how many lives and megablast you have.

 

The pink missile is the boss making his presence known, it just forces you to the side and adds some difficulty.

The S thing during the boss is currently the way to slow the gamespeed down again, there's three during every bossfight.

 

 

I tried the game on real hardware after uploading and found a pfscorecolor bug and realised it was alot harder with the edladdin then with keyboard and I couldn't even get to the first boss and wavechange, so I made a temporary rom for my trusty tester that enables the power-up weapon at all time, I should have sent you that instead.

 

The music is just a placeholder.

The matching color on the spinning thing and the horizontal missile is because they are P1 and M1 and M1 takes on the color of P1 when they are on the same lines.

The explosion animation is not from frantic but it is part of a firework animation I found in the intellivision section by someone who encouraged people to use it. and that I plan to give credit to if this ever gets finished.

The gameplay demo is completely random so not a good teacher, and that score is not saved as highscore.

 

I haven't finetuned the gameplay at all, but thanks for trying it atleast! Now I know it overcycles on a NTSC console :thumbsup:

  • Like 2
Link to comment
Share on other sites

You're so welcome, it's was pretty crazy trying to figure out the game without any instructions. We'll have to give it another go on the show when you make the next update to the game as the graphics as frenetic action is really amazing. It's such a huge accomplishment to create a game this good on your first go on the 2600 and to create something that looks custom made in assembly with bB!!

 

Looking forward to updates and to play it again now that we know a little more than just randomly shooting at everything we see, hahah!

 

- James

 

Here's the archive of the show for those who missed us playing Railslider!

 

  • Like 2
Link to comment
Share on other sites

  • 2 months later...

Found out I was nominated in the category best WIP so I'm posting the latest rom!

 

Working on putting in some text with custom assembly kernels, and I have two variables ready to get some atarivox save and voices with the splitter.

 

attachicon.gifRAILSLIDER PAL60 - 2019-01-23.bas.bin

Of course for the purpose of the award show, your latest ROM posted in 2018 is the version up for voting. Today's (and any others released/posting in 2019) will be eligible for the next awards show!

 

Congrats!!!

Link to comment
Share on other sites

  • 5 weeks later...

Of course for the purpose of the award show, your latest ROM posted in 2018 is the version up for voting. Today's (and any others released/posting in 2019) will be eligible for the next awards show!

 

Congrats!!!

Thank you, ofcourse, not trying to win any votes as any vote not casted on Aardvark or Wizard of Wor would be crazy if you ask me, I just hated that version.. and the last one I posted to actually :)

 

Congrats Lillapojkenpåön!

 

Thank you! I didn't feel like I deserved it as there was so much stuff that bothered me with it, so I wanted to have something I feel good about ready before the awards, I have accomplished that by adjusting more to the kernel.

 

First post updated.

  • Like 2
Link to comment
Share on other sites

  • 1 year later...

ZeroPage Homebrew will be checking out an EXCLUSIVE WIP Update of Railslider on tomorrow's (Fri Sep 11) stream LIVE on Twitch at 6PM PT | 9PM ET | 1AM GMT! Hope everyone can watch!

 

Games:

 

(SET VIDEO TO 1080P60 FOR FULL QUALITY)

 

Edited by ZeroPage Homebrew
  • Like 2
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...