Jump to content
IGNORED

[Done] Tyre Trax


Muddyfunster

Recommended Posts

This feels really good to play!

Please don't rush this, you got something special going here

 

Some stuff I noticed

One of the trophies is the same color as the background of level 1

 

When you go full speed the objects starts looking as if they are appearing allmost in the middle of the screen, so I guess you do this..

 

place object all the way to the left

move object at the speed your riding

drawscreen

 

so you never see it all the way to the left

 

I would try this

move object at the speed your riding

place object all the way to the left

drawscreen

 

or this

place object all the way to the left

drawscreen

move object at the speed your riding

 

It's the exact same thing, just making it extra pedagogical :)

 

Maybe try making the objects appear halfway on the screen by starting with the x position 156? and turning on the NUSIZ bits 7 and 6 for that player, could just keep them on.

also wanna call attention to the black line https://youtu.be/nbinkHyWde8?t=616

:)

  • Like 1
Link to comment
Share on other sites

Thanks Lillapojkenpåön appreciate your feedback and comments.

 

Somehow the build I put up had old colours for the trophy sprites. When I did the P60 conversion I fixed a bunch but left them out of that last build. Thanks for the spot, I also went back and checked the P60 version, that was also showing the old colours.

 

I've added them back in and will upload that version later.

 

I get what you mean on the objects. Slow speed they appear all the way to the right, when you speed up they start slightly indented (is that what you are explaining?). On some game modes the obstacles intentionally start closer to the player (game 3 and 4) to make it harder (its snowy or dark, visibility is worse ..!) On game 1 and 2 they are set to start at x 150

 

It's a good point and I'll look at that some more.

 

That video is superb. I love the style those guys created. I tried experimenting with the "black line" but it somehow didn't look right (in my opinion), what do you think ?

post-61789-0-69282100-1539818146_thumb.png

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

Has anyone found the e

Easter Egg yet. If not would you mind posting a screen shot. I'm curious to what it looks like or a hint on finding the Easter Egg or did you remove it from the game to save on variables and space?

I managed to keep it in, it only uses a few trigger bits.

 

I learned real quick, that I have to be like scrooge when it comes to variables in Bb :) so it didn't impact anything. There was no way I could dedicate a whole variable or more to it.

 

A hint that I would offer is this :activating the Easter egg happens on the title screen and requires both software and hardware triggers.

 

The actual Easter egg is nothing spectacular, it's rather "old school" in fact. (doing my best to not give it away !)

Link to comment
Share on other sites

There are some variables that are reserved for minikernels that you can use if you're out of variables

aux3

aux4

aux5

aux6

pfscorecolor

scorecolor

stack1
stack2
stack3
stack4
and some more that I don't know how safe they would be to use.
You can also make ballheight, missile0height and missile1height constant or change it with assembly in the game and save those variables
For example comment out this in the kernel
; ball
;lda #<(P1GFX-1)
;clc
;adc bally
;sta DF3TOP
;sec
;adc ballheight
;sta DF3BOT

 

And change ballheight like this in bB

 

asm
; ball
lda #<(P1GFX-1)
clc
adc bally
sta DF3TOP
sec
adc #2 ;two pixels high
sta DF3BOT
end
it needs to be set every frame tho I think so not just in a sub where you set things, but the ballheight var is now free to use for anything,
RevEng showed me that when I was in desperate need of two bytes.
  • Like 1
Link to comment
Share on other sites

New NTSC binary attached.

 

This one has the "black line" separating the time from the playfield. Curious to see what folks think. Sometimes I like it, others not.

 

This binary also fixes some sprite colours blending to the playfield as noted by Lillapojkenpåön (cheers!).

 

Toying with the idea of a 5th game mode a bit like the final game mode on "Barnstorming" (random environment, random obstacles so no memorizing the course), interested to see what folks think about that ?

Edited by Muddyfunster
Link to comment
Share on other sites

I prefer it without, but everyone I ask says it looks better with the line.

 

A question of taste I guess, my wife says the only taste I have is in my mouth so I'll go with the majority and keep the line :)

 

I have a new build almost ready with 4 new random game modes, so you have 1-4 for "tournament" style racing and 5-6 for random racing. I've also added left difficult switch function for those modes to make them harder.

 

Will be uploading that Monday with a bit of luck.

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

Added build 110 for download.

 

This build has 4 new game modes, mode 5 through 8 are the same as 1 through 4 but with random obstacles instead of set patterns.

 

Also on modes 5 to 8 only :

 

Left Difficulty switch should be set to A for easy mode, B for hard mode

 

Right Difficulty switch should be set to A for easy obstacles (all 15 combinations can appear), Set to B for hard combinations only (only the the 3 block obs appear).

 

So

 

A A = easy,

 

A B = medium-ish, (B A a bit tougher)

 

B B = if you enjoy failing hard.

 

The time gates on these modes for awarding cups is provisional while I test more.

 

Random numbers need a bit of work in the code as sometimes there are patterns. Current'y i'm polling every frame even though it's not required for the game every frame. Probably going to add a bit of logic that compares the new rand to last rand to avoid too much duplication.

 

As always feedback and comments are appreciated.

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

I have a suggestion you could try

because of the perspective it would make sense if about the the top half of you could overlap with the bottom of the obstacle without getting hit

I'm not shure if the obstacles are one virtual sprite or many?

If it's just one, you can just do this

 

if player0y+6 > player?y + player?height then _skipcollisioncheck

if collision(player0,player1) then...

_skipcollisioncheck

 

 

if it's many you can use iesposta's trick

dim trick = ?

 

when you put the player on the screen just change the trick variable to one less then the player number, if player1 then set it to 0, if it's player9 then 8

 

if player0y+6 > player1y[trick] + player1height[trick] then _skipcollisioncheck ; skips collision if only the top 6 pixels (or less) of player0 is above the bottom of the obstacle

if collision(player0,player1) then...

_skipcollisioncheck

 

if the trick variable is set to 4 then that will check player5y+player5height since player5y is the fourth byte following player1y in ram and player5height is the fourth byte after player1height.

 

You would still hit your head when passing thru an opening in the middle but that's also fixable, this is just a way to ease into that, and possibly adding very narrow openings between stuff that you can take a chance on getting thru when panicing.

Link to comment
Share on other sites

I have a suggestion you could try

because of the perspective it would make sense if about the the top half of you could overlap with the bottom of the obstacle without getting hit

I'm not shure if the obstacles are one virtual sprite or many?

If it's just one, you can just do this

 

if player0y+6 > player?y + player?height then _skipcollisioncheck

if collision(player0,player1) then...

_skipcollisioncheck

 

 

if it's many you can use iesposta's trick

dim trick = ?

 

when you put the player on the screen just change the trick variable to one less then the player number, if player1 then set it to 0, if it's player9 then 8

 

if player0y+6 > player1y[trick] + player1height[trick] then _skipcollisioncheck ; skips collision if only the top 6 pixels (or less) of player0 is above the bottom of the obstacle

if collision(player0,player1) then...

_skipcollisioncheck

 

if the trick variable is set to 4 then that will check player5y+player5height since player5y is the fourth byte following player1y in ram and player5height is the fourth byte after player1height.

 

You would still hit your head when passing thru an opening in the middle but that's also fixable, this is just a way to ease into that, and possibly adding very narrow openings between stuff that you can take a chance on getting thru when panicing.

 

I really like this idea Lillapojkenpåön.

 

The obstacles are many virtual sprites, one for each "lane". Basically on the fixed courses, a trigger is read from data and then depending on the trigger value the trigger draws 1, 2 or 3 sprites, in the relevant sprite "lane", leaving 1 full lane as a gap, so I guess the "trick" method would work. (it's a bit simplistic and rigid but I know more about Bb now). Thinking about it, I could have more lane variations too, like 1/2 lanes or offset lanes (your comment on gaps got me thinking on that).

 

Using this collision method would also give me some more flexibility on the gaps to make some narrow lanes, like you said.

 

Back to coding! (thanks for the suggestions!)

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

Do you mean that when there's two sets of.. ferrets? :) on screen (four ferrets) then that's two different virtual sprites and not just one long?

Did not expect that, but that's gonna be the easiest way to create the gaps :thumbsup:

If you use player1 player2 and player3

 

 

if player0y+6 > player1y + player1height then _skipcollisioncheck_P1

if collision(player0,player1) then...

_skipcollisioncheck_P1

 

if player0y+6 > player2y + player2height then _skipcollisioncheck_P2

if collision(player0,player1) then...

_skipcollisioncheck_P2

 

if player0y+6 > player3y + player3height then _skipcollisioncheck_P3

if collision(player0,player1) then...

_skipcollisioncheck_P3

 

 

But unnecessary to repeat all the code, this would do the same thing I think

 

for temp5 = 0 to 2

if player0y+6 > player1y[temp5] + player1height[temp5] then _skipcollisioncheck

if collision(player0,player1) then...

_skipcollisioncheck

next
Edited by Lillapojkenpåön
Link to comment
Share on other sites

Haha Ferrets! They are supposed to be rats (maybe sausage dogs.) :P

 

But yes that's essentially right :

 

post-61789-0-43582300-1540307466_thumb.jpg

 

Each sprite circled is a virtual sprite, each sprite sits in a "lane" (not stating the obvious, that was just the easiest way I could think of to make that work in a game engine.)

 

That was the first solution that I came up with so I could create gaps to drive through easily. (each one could in theory be a different object instead of all the same).

 

thanks for the code hints, going to look at this tonight..

Link to comment
Share on other sites

Swapping the usual difficulty switch settings might be confusing to some people trying your game. Is there a reason that you are using "B" for the more difficult modes?

 

Also, out of curiosity, have you tried using the button for acceleration instead of pushing right? I personally think that this would make it more fun, but maybe that's just coming from having been a fan of the game "Excitebike". :)

Link to comment
Share on other sites

Swapping the usual difficulty switch settings might be confusing to some people trying your game. Is there a reason that you are using "B" for the more difficult modes?

 

Also, out of curiosity, have you tried using the button for acceleration instead of pushing right? I personally think that this would make it more fun, but maybe that's just coming from having been a fan of the game "Excitebike". :)

I totally failed to notice I had not followed the usual "difficulty switch conventions". I'll swap them over in the next build, thanks for that spot.

 

I'm all for trying different control methods, i'll try a test build with that, are you thinking : hold fire speed up, release fire gradually slow down, left to brake? (I've never played Excitebike).

Edited by Muddyfunster
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...