-
-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rank based speed limiter for catch-up #438
base: master
Are you sure you want to change the base?
Conversation
#437 is an earlier attempt, which I feel less effective after played a while. |
update:
|
32c2a8d
to
43b12f3
Compare
(Copying my #437 reply here) I can see how this can make races more challenging for good players, but this change has the side-effect of making the 1st vehicle slower. This is a problem for players who try to beat their record times. What do you think? |
I'd also suppose this is a negative effect, off the top of my head, just brain-storming, maybe hardcore racing (only record time matters, no boosting, no bonus weapon) and fight racing (for fun and stunt, no time measured) can branch into 2 separate modes, tho that'll be lots of work. along this line of thoughts, after more play with the game as well as the code base, I tend to believe that libgdx's physics as leveraged currently, is insufficient to implement ideal hardcore racing experience, I'd expect nonlinear control criteria wrt drifting at different speeds & speed-angles, the vehicle should loss control somehow under casual steering/acceleration ops at high speed, and abs/tcs/ayc should not assume perfectly there with a simplified physical model, also handbrake input might be necessary for the player to actively disable those stabilization mechanisms for tricky drifting as a master driver. i'm tempted to develop an alt physics, but if only succeeded, that'll be a different game, maybe attracting different crowds of players. for record-time-beating players, hardcore mode, or maybe even a spin-off PixelDrifts game should be more enjoyable? are you willing to refactor the code base to foster 2 distinct physics (and maybe one more set of input ui with dedicated acceleration / handbrake btns too)? i'd suppose the alt physics does not necessarily be real-world physics based, it'll be sufficient by just enabling sophisticated handling techniques, e.g. chaotic response with control-losing effects. btw, i found that to win the racing with current game play, most effective technique is managing for other vehicles to bump you from behind, so as to take their momentum, and avoiding the opposing at the same time, while taking as much as boosting there. i feel less hardcore that is, collision should do more negative effects at most angles, high outcome induce high risks, you either manage with precise attacking angles or avoid collisions altogether. |
I would like to avoid opening the Pandora box of developing a whole new physic engine. I have already opened too many Pandora boxes, with relative success. My goal for this year is to release Pixel Wheels 1.0.0 and be done with it. I have been working on this game for too many years. When I see a copyright header from 2017 I am embarrassed it's not done yet.
Ahah, nice trick! |
This PR experiments with an alternative catch-up mechanic, instead of limiting AIs with configured ratio when they are ahead of a player, the speed-limiting ratio is changed to be rank-based. Specifically, for each 2 vehicles, the aheader is currently limited with
1.0 - ddiff/distancePerLap
of the behinder's limit (the last one has that be1.0
), whereddiff
is distance between the aheader and the behinder.The effect is that who leads the race will be the most limited in speed, thus behinders are always give the chance to catch up.
Lap records will be badly affected though, may rendering the record time unfair to compare. Otherwise, I think there's more added fun, as you'll be very unlikely to race alone - either winning alone or failing alone, you tend to keep fighting/competing the other vehicles, all the way during the racing course.