201 comments

[ 2.9 ms ] story [ 256 ms ] thread
(comment deleted)
"What did you expect" - ha! Nice. The keyboard controls could definitely feel snappier, but once I got a feel for the mouse controls I settled right in. And taking the coach offroad is super fun!
It would be nice if autodrive was on to start so that those on mobile could see it in action, even if control is currently not possible.
you can tap even on mobile on autodrive button and it will work fine
Wow, I didn't expect I will like this as much as I did. This is a really neat idea and could probably be turned into an actual product. If the author added some more content (like some landmarks sprinkled on the landscape every now and then, possibly some varied terrain eg. bridges over rivers, cities/villages, windmills, dams, maybe some simple wildlife, etc.) and released it on PS4/PS5 for few bucks I can imagine it could sell pretty well.

Edit: Seems there's actually a way to support the developer on Ko-Fi: https://ko-fi.com/slowroads

Edit 2: Also props for good optimisation, it runs flawlessly on my M1 Macbook even on the highest setting.

It actually does generate bridges over bodies of water. If the road goes over a lake/river, it creates a simple bridge over it. I'm not sure if there are other bridge types

I'm not sure I want cities but I agree with adding a few villages and landmarks

Yeah cities might be overkill, but small villages you can just pass through would add in to the chill atmosphere of driving the countryside.
If we're putting in requests, my two would be a forest setting (would allow the Autumn option to be more colorful - particularly with some Aspen) and a Mountain/steep valley option.

And yes, please advise when it's available for sale :-)

The next location I add may well be a denser forest in the mountains - I'm picturing tunnels, fog, and snow at higher elevations.

I don't plan to sell it, but you can follow my twitter for updates. I'd like to keep it freely available if I can :)

https://twitter.com/anslogen

Why not both? Have a free version and a paid version with more features/terrains/cars etc.
Made a KoFi contribution. Perhaps one of your "goals" can be to hit a level where you can keep it freely available?
Much appreciated! There isn't any reason it can't be freely available; it costs almost nothing to host. Development time is the true cost, so it's more a question of how much I'm able to add.
The beauty of that project is not because it is a product

It is the fact that it is freely available for everyone to experience it thought your browser

Racing games? there are a shit ton on steam/ps/xbox/switch/mobile

Money people are very annoying

I wish the autodrive had a defensive driving option. As it is, it goes at 120 kmph on these windy roads and takes over the entire available space including the opposing lane. Wish you could limit the speed for a more relaxed cruise

This is very lovely and really relaxing (aside from the crazy speeds the autodrive goes at haha). Kudos to the creator! Btw if you haven't tried the numerous options to change weather, time of day, vehicle and even planet, go for it! There's a surprising amount of options

OH! I'm just finding out that there's a lock that's next to the speedometer that limits how fast the car goes! Damn this is so neat!

Adding a distance-dependent blue tint would increase realism a lot.
There is a nice way to set fog to be two-tone - I'll play with that and see what I get. The default Summer mode has quite a distant fog, but the morning/evening weathers are a little mistier.
(comment deleted)
I don't mean fog, I mean just the fact that air is blue, so things get smoothly bluer with distance (or rather, more sky-colored). Check out any mountain landscape, nearby trees are green and distant ones are blue: https://live.staticflickr.com/1009/531101849_a7d297e0cc_b.jp...
True, though in practice that's the way fog is applied in the shader. With the two-tone setup I can have a blue hue in the foreground transitioning into the hard white at the edge of the view dist.
This would be great for Rally racing games, since it's all about reacting to unknown terrain.

Also, it would be better if mouse steering is damping impulse based, i.e. every frame the steering position exponentially decays, mouse position resets to center and the change is added as impulse on the steering position.

  sensitivity = max_ang / ( screenwidth/2 )
  decay_rate = 6.0

  frame(dt){
    dx = mouse.x - center_pos
    mouse.reset()
    steer_ang += dx*sensitivity
    steer_ang.clamp(-max_ang,max_ang)
    steer_ang *= exp(-decay_rate * dt)
  }
Thanks! I'll give that a go and at least add it as an optional alternative, if not the default :)
Oh, and I noticed that the tyres don't seem to respond to the steerangle changes immediately, instead it seems to slowly interpolate towards it. Not sure if it's cosmetic and does not represent the logical wheel state, but if it does then you might want to change it so that the steer-bar position directly sets the wheel angle, otherwise they'll end up being derivatives of derivatives making it extra sluggish.
Your description is that steering decays then has mouse impulse added, which makes sense to me. But the code decays the steering after adding the delta-X. Is there a reason for that?
As the discrete impulse is meant to approximate average derivative, applying decay after the impulse ensures that the value is always attenuated by decay (low frame rate underestimate the ground truth impulse, whereas the converse overestimates at low framerate).
> This would be great for Rally racing games, since it's all about reacting to unknown terrain.

Indeed, eventually you know the tracks by heart, so much so that you don't need the pacing notes anymore. I'm surprised nobody thought of using procedural generation here.

It's not exactly true that you react to unknown terrain, though, because IRL there's reckons in order to make pace notes, and I suspect that rally races tend to happen more-or-less on the same roads.

PS: actually someone did think about using procgen for rally games: https://www.racedepartment.com/downloads/procedurally-genera...

I have a keyboard steering related question. I like key control, but I do find the on/off nature of keyboard turning to be lacking.

First let's move WASD over to the right by one key, so ESDF.

S and F would now turn slightly.

Now let's add A and G and assign those to more extreme turning.

Is there any driving game which has done this, or at least has some sort of configurable system where it could be tried? I assume it has to exist somewhere if it is at all usable.

Interesting idea - I could try implementing this experimentally
Or alternatively, have ijkl serve 75% weight and esdf serve 25% weight. Then you can achieve 100%, 75%, 50%, and 25% combinations using both hands.

    Left | Right | Total
   ------|-------|------
   +0.25 | +0.75 | +1.00
    0.00 | +0.75 | +0.75
   -0.25 | +0.75 | +0.50
   +0.25 |  0.00 | +0.25
    0.00 |  0.00 |  0.00
   -0.25 |  0.00 | -0.25
   +0.25 | -0.75 | -0.50
    0.00 | -0.75 | -0.75
   -0.25 | -0.75 | -1.00
(two ternary digits -> 3^2 = 9 combinations)
> but I do find the on/off nature of keyboard turning to be lacking.

This may interest you: https://aimpad.com/

> Aimpad® patented technology adds full analog movement control to the traditional WASD keyboard layout

> This would be great for Rally racing games

I'm pretty sure the tracks in Dirt 4 were procedurally generated. This made them feel extremely generic and bland compared to the hand modelled tracks in the sibling-series Dirt Rally.

That is also why Bethesda switched from procedural generation for Daggerfall to hand built for Morrowind. I have to wonder if we could train a model now to do this stuff? For terrain it is mostly mappable to an image anyway. Could fix undercut cliffs in a post processing step using voxel models instead. Probably not a very good database to pull from for underground stuff though if you want to generate dungeons.
You're right - I spent a while looking for existing procedural driving games before I started, and seeing how disappointing the Dirt 4 implementation was was all the motive I needed. Thanks for the kind words.
CORRECTION: missed a divide-by-dt for the +=

corrected code should be

  sensitivity = userpref.sensitivity * max_ang / ( screenwidth/2 )
  decay_rate = 6.0

  frame(dt){
    dx = mouse.x - center_pos
    mouse.reset()
    steer_ang += sensitivity*dx/dt
    steer_ang.clamp(-max_ang,max_ang)
    steer_ang *= exp(-decay_rate * dt)
  }
If you're on mobile enable autodrive (the wheel icon at the bottom) and enjoy being a passenger.
Looked for this but it doesn’t appear on iPad
Really neat! My only complaint is that the handling is very sluggish. Also it might be nice to have a first-person vew, maybe the camera view contributes to the sluggish feeling.

I love the procedurally-generated landscapes. It really captures the feeling of driving on unfamiliar roads.

I'm curious how the physics works. Is this using raycast wheels? A couple of years ago I made a racing game for Oculus Quest using Godot[0], based on Godot's "VehicleBody", and getting the physics to work satisfactorily was a major headache. But a procedural world would have made it so much cooler.

[0] https://sidequestvr.com/app/1403/ghost-racing-vr-wip

The author did a little write up here: https://anslo.medium.com/slow-roads-tl-dr-a664ac6bce40

By the sounds of it they’re doing a very simple sim with raycast wheels and not using a rigidbody physics engine.

Interesting that they generated terrain first and then tried to fit the road onto it (with the headaches involved, like getting stuck on peninsulas) and not generated road first and then surrounded it by terrain!
I figured that was the best way to get organic-feeling roads stitched seamlessly into a far-spanning environment. I also didn't recognise at the time just how hard it would be, but I still think it was the right choice.
You are probably right! The results are stunning.
Physics are always a major headache - mine are pretty hacky and cut a lot of corners, such as ignoring trees or preventing the car from flipping. I only height-test the wheels, progress them independently, and then resolve the chassis position from that. It's not terribly physically accurate but it gets the job done, and is pretty cheap!
The first bit I landed on looked exactly like the roads around where I grew up...
>"Really neat! My only complaint is that the handling is very sluggish"

I tried it on PC, laptop (both are Windows) and on Google Pixel 6 Pro. All are very fluid. But reaction on keypress I think has slight constant delay. Not sure what's the reason. Anyways I used it on auto drive and just stared for a while.

I'm not saying it's not fluid. If anything it's too fluid! It's difficult to drive fast because the car takes so long to react to your inputs.
> maybe the camera view contributes to the sluggish feeling.

Can confirm. I was physics lead on a console driving game, and we discovered to our surprise that the camera is a critical piece of making sure the physics actually feels like physics, and that it’s quite difficult to get the camera right. The camera can make real physics feel sluggish, cartoony, or just wrong, and a great camera can make fake physics feel real. We humans are pretty sensitive to subtle motions.

Making physics feel right is also about lots of other cues too though (cues which aren’t here in this game). Sound and effects and even sometimes tactile feedback are also needed to complete the illusion. Sometimes real physics is surprisingly sluggish, and we don’t notice how slowly momentum changes until we take away the sounds and bumps and dust and skid marks.

> we discovered to our surprise that the camera is a critical piece of making sure the physics actually feels like physics

This was my experience when I made Speed Haste, a 3D racing game back in 95. I spent a few nights banging my head against my car physics code, and being frustrated and tired, I switched to tuning camera code to clear my head. Voila! Car physics and handling felt completely different. As you say, audio was huge too, even back in these primitive and (by today's standards) cartoony times.

I've used this anecdote when teaching gamedev students, to hammer in their heads that games are complex because they're the sum of their parts + the sum of all the interactions between all the parts.

(for the historically inclined, code for the game is available at https://github.com/TheJare/SpeedHasteSrc)

Reminds me of watching an interview with a racing game dev who mentioned that humans interpret higher pitch engine sounds as higher speed.

Fascinating since we evolved with no cars or engine noise yet our brain is still making correlations around the audio inputs.

I wonder if there's some link to rate of footsteps? The step rate of an approaching/retreating human or animal would have been relevant to survival.
Oh wow. I found speedhaste demo via one of the many computer magazines that started flourishing in/around 98/99. Played it quite a lot and loved it. The music, the physics, the graphics, was so good. I still remember the music & the transmission select voice when you start a race. Fantastic stuff, thank you
Speed haste, I remember that game maybe on a Twlight CD or an alternative? I played this game a lot when I visiting my grandpa and grandma.

Good memories and a fun game, you also had that flight game, but I don't remember the name.

Another reply by me, the best racing I have played are Need for Shift 1 and 2. With velocity based motion blur and an incredible camera.
I think it's because there are only full left and right and no slight turn of wheel like we do 99.9% of time in real driving.
Love it! If feel like you should lean into the landscapes, which are the biggest draw, by not penalizing driving off the road as much. Maybe dirt roads with some more floaty handling but not the speed penalty?

Great work!

It isn't intentional, that's just the physics of low friction on steep slopes. But you're right, nearly everyone starts by immediately seeing how far off-road they can drive, so it wouldn't be a bad idea to better support that :)
Some underwater features would be nice for people that likes to try silly things.

[Note: It was difficult to reach the water. Most of the time it has some protection, that makes it more realistic. But I finally found a part without protection :) . )

Got me surprised when I realized it is a browser game. Driving off-road in Hills gives Just Cause 3 wingsuit over fields vibes.

Feedback, Off-World was incredibly laggy.

Great idea, but landscape is not very realistic, I'm driving next to sea or huge lake going uphill, then driving further away from sea, all the time going uphill and after some time I'm back at coast at same elevation where I started while going all the time uphill and NEVER going downhill.

Also why is autodrive driving in the middle of the road and not in the correct lane?

That's interesting - the sea plane is set at a y position of 0 so I can't imagine how that could happen... You can press F3 to get a debug overlay showing your position, maybe you could verify that the Y value looks correct?

Autodrive is in the middle of the road because it was much easier to implement. I'll see if I can get around to letting you choose a more legal lane-follow option.

I think what happened is that some people perceive they go upwards even when going flat. I discovered that after I once tried to stop at the top of a hill but already was beyond the top because the car started to roll down by itself. Perhaps you could adjust some angles of view?
I think you're probably right. The camera's pitch exactly matches the car's pitch, so I'll fiddle with having it maybe only take 50% from it.
that's what I tried, it always rolls back and I went clearly long time uphill and at best only flat, but clearly never went downhill to make up for same elevation as I gained to be back at same level with sea where I end up no matter how long I go uphill
When driving down country roads in the UK, it's normal to drive in the middle of the road - or entirely on the other side of the road, briefly, if:

  * You have a clear view of the road ahead
  * You're wanting to drive fairly quickly, which is when this road positioning can help
Neat, this is my project - thanks for sharing! For anyone interested, I have a brief overview post up on Medium while I work on a deeper technical write-up:

https://anslo.medium.com/slow-roads-tl-dr-a664ac6bce40

This would be great for spin cycles and exercise bikes. many bikes now come with BLE controllers that transmit speed and cadence information that could be used for speed controls. The directional controls can be emulated by a keyboard emulator (arduino based) etc.
Auto-drive could go slower and stay on it's lane for extra relaxation.

Currently I just kept wondering, that driving on a middle of a road with such a tight corners seemed like dangerous.

i loved the drive but the speed is offputting.... i mean it only seems to work when i am like 100km, something that autodrive does while i can expect a mountain winding road to be comfortable at 20-50 because of twists and turns?

like there is

1. incline effect on the speed (up turns down speed and going down increases) 2. snow effect on wheels 3. traffic mode 4. like above, speed responsiveness at slower speeds 5. gear shifting

thank you for building a great product

"The edge" is a pretty amazing place at sunset. Well done.
I have RTX 3080 but fps is low.

- Distance: Ultra - Render scale: 0.75 - Detail: Low

Even if view distance is low, setting detail to med lowers the FPS.

You might have GPU acceleration turned off in your browser settings.
This has been an issue for a couple of people, yeah - I mention it in the FAQ but I'll probably make a more obvious warning when I detect a low FPS
It turned out to be a broader issue. Firefox was behaving the same. Reboot didn't work either. There is a setting in window 10 control panel to set choose GPU for selected apps. That worked.
Some time ago I added ABS, traction control and some torque vectoring to the Unity CarDemo ... that made the supercar surprisingly handable (is that a word?) even with acceleration levels increased to insane values. Especially with keyboard control (ie full tilt left or right) the car would not spin out in curves. Maybe you get a kick out of implementing some "electronic assists" for your car?
s/handable/handleable/ ... note to self: write out the words in your head correctly :-/
The mouse wheel controls your speed. I wasn't aware of this at first.
Fun!

Nothing in the lakes; nothing under the sea. Just boring half-light and featureless bottom. Would be nice to see it populated

And you can't hit anything! Can drive right through forests, ghost trees.

Man, I wanted something like this when I was a kid. (I liked it as an adult too, but I immediately drove off the road deliberately… just like I would have when I was 12)
Nice, looking great. Roadster feels like a super heavy electric car though :D

Controller support would be great. Or I wonder if there is already some way to map the controller inputs? Browser extension maybe

I've heard it's mappable on a steam deck, but I don't know about others. Controller support is one of the most-requested features, so I'll be trying to work on it this coming week. Thanks!
Excellent! Yes, it would be much more chill if I didn't have to use keyboard steering :)
Well, the roadster is also a 2+2 coupe reminiscent of a 5th generation Chevrolet Camaro, which is ~3860lbs (1750kg) for a V8.

A roadster would be a 2-seat convertible (no C-pillar), like a Mazda MX-5 (Miata) or a Porsche Boxster.

There is something fun about a flat earth with cartoon physics.
This is really soothing and nice!

The endless explorable landscape is what I wished games could be like when I was a kid.

Any way you could offer an alternative to WASD controls for those of us who aren't using standard keyboards?

The only correct play is to drive forward a few hundred yards, do a u-turn and drive back past where you started. Very entertaining. Especially when you fall off into the ocean and earn an achievement.
I turned right, drove up the hill in the woods, down to a lake, kept going on the bottom of the lake and arrived to The Edge. Nices views from the top of the hills.
One of the vehicle options needs to be a Lotus, and it should convert into a submarine when you hit the water.