Live data from Hacker News

Show HN: Ghost Pro Racing 3D Async Multiplayer Arcade Racing in HTML5

gamesnacks.com

1–10 of 15 posts

Show HN: Ghost Pro Racing 3D Async Multiplayer Arcade Racing in HTML5

#1
Hi HN!

I built a 3D arcade racing game in HTML5 using PlayCanvas.

It features arcade-style physics inspired by OutRun, with PS1/Dreamcast-style graphics. The multiplayer is asynchronous: you race against the “ghosts” (replays) of up to 7 other players, and after finishing a run you can share a link with a friend so they can race your ghost 1v1. The game currently has 20 tracks, plus a “daily challenge” mode with procedurally generated tracks.

We’ve tested it on both desktop and mobile. It supports touch and keyboard controls, though I personally prefer playing with a keyboard in landscape mode. I’d love feedback on the controls, performance, and overall fun factor. And I hope to see your names on the leaderboard!

Show HN: Ghost Pro Racing 3D Async Multiplayer Arcade Racing in HTML5
gamesnacks.com

Re: Show HN: Ghost Pro Racing 3D Async Multiplayer Arcade Racing in HTML5

#4

Nice, it defectively reminds me of OutRun. 4:09.88 Add a few fake slow cars, because otherwise it's too lonely :( It's nice to try and later build the profile, but I think it should be easier to discover.

Too late to edit: More feature requests:

From some TrackMania videos, you can play against with your own last/beast ghost.

I guess you are picking the 7 fastest car or the last 7 cars (that are mostly hardcore users), so they are quite fast. Is it possible to add a few slow cars, perhaps select a mix of times?

Bonus imaginary points for:

* my car obliviously :)

* the fastest/last 7 cars

* 6 cars selected with an even distribution. If the fastest is 1 minute and the slowest 4 minutes, let's say approximately 1:15, 1:45, 2:15, 2:45, 3:15, 3:45

* 2 cars with a time close to the expected time of the player. If in the last round the player got 2:17, let's pick an old car with 2:07 and another with 2:27, so the player has two ghost nearby.

Re: Show HN: Ghost Pro Racing 3D Async Multiplayer Arcade Racing in HTML5

#5

Nice, it defectively reminds me of OutRun. 4:09.88 Add a few fake slow cars, because otherwise it's too lonely :( It's nice to try and later build the profile, but I think it should be easier to discover.

Too late to edit: More feature requests: From some TrackMania videos, you can play against with your own last/beast ghost. I guess you are picking the 7 fastest car or the last 7 cars (that are mostly hardcore users), so they are quite fast. Is it possible to add a few slow cars, perhaps select a mix of times? Bonus imaginary points for: * my car obliviously :) * the fastest/last 7 cars * 6 cars selected with an even…

Hey gus_massa, thanks a lot for the feedback! Those are some really cool ideas.

For the other players you see in the race, we’re currently picking random players from the database. It would definitely be nice to select a mix of fast, average, and slower cars for a more balanced distribution (that was our original plan), but unfortunately the GameSnacks API doesn’t support that feature yet. Since some hardcore users play a lot, their ghosts tend to show up more often in the pool.

Right now you can already see your own ghost car in the Daily Challenges, but being able to see your “best time ghost” in the standard races is also a really cool idea!

Re: Show HN: Ghost Pro Racing 3D Async Multiplayer Arcade Racing in HTML5

#6

Nice, it defectively reminds me of OutRun. 4:09.88 Add a few fake slow cars, because otherwise it's too lonely :( It's nice to try and later build the profile, but I think it should be easier to discover.

I have to double check, but I think you can still play without creating a profile if you just close the popup and skip it. However, after completing a race, the game will prompt you again to create a profile in order to save your time.

Re: Show HN: Ghost Pro Racing 3D Async Multiplayer Arcade Racing in HTML5

#8

Nice, it defectively reminds me of OutRun. 4:09.88 Add a few fake slow cars, because otherwise it's too lonely :( It's nice to try and later build the profile, but I think it should be easier to discover.

I have to double check, but I think you can still play without creating a profile if you just close the popup and skip it. However, after completing a race, the game will prompt you again to create a profile in order to save your time.

For the first time in years I'm complaining that it's too hard to notice that I can create a profile. :)

Re: Show HN: Ghost Pro Racing 3D Async Multiplayer Arcade Racing in HTML5

#9

Earlier quoted context omitted.

Too late to edit: More feature requests: From some TrackMania videos, you can play against with your own last/beast ghost. I guess you are picking the 7 fastest car or the last 7 cars (that are mostly hardcore users), so they are quite fast. Is it possible to add a few slow cars, perhaps select a mix of times? Bonus imaginary points for: * my car obliviously :) * the fastest/last 7 cars * 6 cars selected with an even…

Hey gus_massa, thanks a lot for the feedback! Those are some really cool ideas. For the other players you see in the race, we’re currently picking random players from the database. It would definitely be nice to select a mix of fast, average, and slower cars for a more balanced distribution (that was our original plan), but unfortunately the GameSnacks API doesn’t support that feature yet. Since some hardcore users p…

I guess ypu are picking 7 random users. Is it possible to pick 1000 and then automatically cherrypick 7 of them? Does the API save all the races or only the best of each player?

Re: Show HN: Ghost Pro Racing 3D Async Multiplayer Arcade Racing in HTML5

#10

Earlier quoted context omitted.

Hey gus_massa, thanks a lot for the feedback! Those are some really cool ideas. For the other players you see in the race, we’re currently picking random players from the database. It would definitely be nice to select a mix of fast, average, and slower cars for a more balanced distribution (that was our original plan), but unfortunately the GameSnacks API doesn’t support that feature yet. Since some hardcore users p…

I guess ypu are picking 7 random users. Is it possible to pick 1000 and then automatically cherrypick 7 of them? Does the API save all the races or only the best of each player?

The API saves all races, now just your best one

Yes, selecting 1000 and then cherry-picking would be a great idea in theory, but ghost data is quite heavy (around 300–400 KB per ghost). We are already compressing it as much as possible: saving only about 10 frames per second and interpolating the rest, reducing decimals to a minimum, and storing rotation only on the Y axis. We also keep only the ghosts of cars that complete a race in under 4 minutes to avoid excessively large files.

Because of this, loading 1000 ghosts and then picking a suitable set of 7 close to your skill level would make the process too slow. Currently, we have a maximum load time of 10 seconds for the ghosts, and we are aiming to ensure the game works smoothly even on slow connections.

Post reply on HN