Turn Based Racing Game (formulky)

Hi,

let me go off-topic while having a break from hot-lapping in AC.

I got an idea for a turn based racing game. It sounds weird, right? For impatient readers here is a direct link to a proof-of-concept prototype: Turn Based Bézier Racing.

The idea has been around for some time, originally as a paper and pencil game (Race Track, online as Vector Racer), then my first PC attempt without a grid (Formulky aneb Závody na papíře), then reinvented by someone for Android as Turn Based Racing. And now I made the trajectory smooth by employing Bézier curves.

The idea is that you do not have to hurry (you take turns) and plan as fast a trajectory around a track as possible. It could by played by several players or even asynchronously. However the given prototype works only in hot lap mode: http://hraj.si/?en#formulky.

Please let me know what you think about such game concept. I know it is way too simple, nevertheless I kind of like it. And no matter how I try I cannot reach my own world record 2:28.826 again. Sorry for a lengthy post, back to real simulators :)

Jan
 
Hello Jan,

I think the concept of not having squares and not only straight lines compared to Vector Racer sounds great. This concept looks very promising. Of course it needs much polish and features, but in it's core, very very promising if you can turn this into an online multiplayer game.

Thank you and please keep up the great work! :)

By the way, tried three times so far and crashed in each of them. :D
Edit: Finished with a 3:47... How did you 2:28?! :confused:
Edit2: 2:52 now. This is addicting!
 
Last edited:
This is a fantastic concept!
Can't even begin to tell you how much I played Race Track as a kid.
Really hope you'll continue to build on this. :)
EDIT: Oh and.....2:39.9 :D
 
Last edited:
Thank you for your kind comments and votes.

It seems the time has come to code a new feature.
I am choosing among two:
  • improve the backend and offer several different tracks (maybe even circuits)
  • implement an asynchronous multiplayer mode displaying a random/suitable/chosen "ghost" trajectory one can race with (it would always move last, after the actual players, to disallow simple copying)
Which one would be more appreciated?
 
Best so far is 2:44 :p

Edit: Your ranking seems to be bugging. I did a 2.50.8 for P27, then improved several times to 2:44 not having to enter my name, then a new 2.50.4 for P26 and my name had to be entered.

Reached 2:37 now
 
Last edited:
Hi Ricardo, thanks for trying the game.

Make sure you click anywhere on the track after completing the race. If you click restart or abandon on the page with static green lap time overlay, it neither asks for a name nor saves the lap time and trajectory.

Edit: you are right, it is not intuitive, I have noticed many laps not getting recorded because of this design
 
Thank you for your kind comments and votes.

It seems the time has come to code a new feature.
I am choosing among two:
  • improve the backend and offer several different tracks (maybe even circuits)
  • implement an asynchronous multiplayer mode displaying a random/suitable/chosen "ghost" trajectory one can race with (it would always move last, after the actual players, to disallow simple copying)
Which one would be more appreciated?

I think you should polish the single driving before implementing features like multiplayer. There are some weird movements such as car can turn around 180 degrees sometimes. Fastest Lap Times table is more than enough until the driving is mastered imo. :thumbsup:
 
Hi Ricardo, thanks for trying the game.

Make sure you click anywhere on the track after completing the race. If you click restart or abandon on the page with static green lap time overlay, it neither asks for a name nor saves the lap time and trajectory.

Edit: you are right, it is not intuitive, I have noticed many laps not getting recorded because of this design
The laptime itself does pop up instantly, so if it is top 50(?) material just let the ranking pop up as well.
Or even different, ask for the nickname on opening, add a edit nickname button and make it enter the charts automatically, show the laptime and under that: Rank: #23 for example

But indeed as Omer says, you should keep focussing on the base first ;)
 
There are some weird movements such as car can turn around 180 degrees sometimes.

Unfortunately there is nothing to be done about this if we wanna keep the geometry plain and simple. My idea was to avoid physics and stick with geometry. Once physics get involved, it would become a simulator - and why would anyone play a simulator in a turn based way. It would be like playing a racing game with extremely low FPS.

I understand the 180 degree turns this way (even though I do not like the jagged trajectories of slow players at all):

Each move is a fixed period of time (here approximately 5.9 s). If you are going too slow, you have enough time to take a U-turn. On the spot? Well, that is the only simplification for the sake of keeping the geometry simple. Think of it as of handbrake turn, whatever... ;)


As for the ranking / laptimes... totally agreed. Moreover each player should be in the table only once, with her best lap.
 
Put this on my watchlist.
Saw your change in the rankings @popojan . All it needs now is a check if your current laptime beats your best before popping the rankings up :)

Also, I took P2 in 2:35.2
 
Thanks for noticing the slight change in ranking. It needs a complete rewrite though, server-side.
Internally I will save all laps anyway to have many trajectories to choose from when offering "asynchronous opponents". Unnecessary pop-ups are annoying, agreed, and will be removed.

Also, I took P2 in 2:35.2

Congrats :) I will tell my co-worker as P2 was his.

Put this on my watchlist.
I will put it on my TODO list then! ;)
 
May I ask what language do you use for coding this?

Most important libraries used by client-side javascript are Raphael.js and KevLinDev's intersection library, backend to date pure PHP, but I plan to switch to something more suitable, probably Node.js as it will allow the same code to be run on the server.

I would like to validate all trajectories. Now it is possible to cheat and submit an invalid but fast lap-time programatically and it will not get noticed until you click it in the Top Scores table and display the trajectory client-side.
 
Finally a minor update:
  • zooming and panning
  • new circuit: Valencia
Circuit is way too hard to brake at

Also: Gives an error when starting ("Invalid Trajectory")
Does play afterwards

edit:
2 little bugs I found when beating your time on Valencia ->
1) When the screen pops up with your leaderboard entry, instead of moving #1 time to #2, it just overrides your result.
So it looked like this:
1. [_____________] 2:59.???
2. Ricoow +3.???
Instead of
1. [_____________] 2:59.???
2. popojan +1.???

It does show up properly after the time is posted

2) The fastest laptime on the top left does not update when you beat it, only updates after reloading the page. Maybe you can make that dynamic?
 
Last edited:
Circuit is way too hard to brake at

Also: Gives an error when starting ("Invalid Trajectory")
Does play afterwards

Thanks for your feedback. There is one parameter to tune, which basically lowers acceleration and increases braking. You could try with a lower value S=0.75 if it feels better for you.
As for the error, I thought I had fixed it - deleting today's cached content might help.

Ever tried Qvadriga? It's a turn based chariot racing game :)

Never heard of it. I am going to give it a try. Thank you!
 
Thanks for your feedback. There is one parameter to tune, which basically lowers acceleration and increases braking. You could try with a lower value S=0.75 if it feels better for you.
As for the error, I thought I had fixed it - deleting today's cached content might help.



Never heard of it. I am going to give it a try. Thank you!
You also read my later edit? :)

The lower S value makes turning and accelerating act strange actually, I would keep it the original way (or maybe slightly lower S)
 
Back
Top