Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

sevencrane

546
Posts
5
Topics
1,699
Followers
28
Following
A member registered Dec 06, 2017 · View creator page →

Creator of

Recent community posts

collisions are kinda bugged actually, I made the collision meshes for the guardrails and tunnels walls wrong so the car can get fucked up if you try to wallride. gotta rebuild those but it was low on the priority list for this demo day

interesting that you say desert speedway is medium-hard, my level of difficulty is miscalibrated then. I have some no-collide banner checkpoints that I’ll drop in there instead to make it a little easier on people.

boost is intended to be a tool for ending a drift like you mentioned, but I just tuned it to be a one-shot thing. i want to add another car in the future that boosts a little differently, like either in shorter bursts or just for as long as you hold it.

yeah the camera thing could also use some work. it’s annoying trying to get it to not clip into the track when it’s trying to follow the car, but following it better as the car is drifting will be part of my camera code rework in the next update as well. the change in following behavior when the car is drifting is legacy code from when it drifted differently a while back, and now it doesn’t look towards the car’s velocity enough.

faster speed = wider road is always good. it’s difficult to strike a good balance between accessibility and a sense of speed because wider roads seem to go by more slowly, although I could always just add little details on the tarmac or some shit to whoosh overhead.

the steering is actually still pretty open to change. an issue I realized today is that the altered behavior for drifting is still in 100% effect as the car transitions back from a drift to fullgrip, which can cause weird overcorrections as you’re straightening out of a turn.

thanks again for the detailed comments, hopefully I can fix all this by the next DD

thanks for playing! next level button is actually a very good idea to help you stay in that flow state. I’m gonna add some easier tracks in an upcoming update too.

Playing on keyboard is insane, I tried it and it was awful. You should be able to see all the prompts in the tutorial level though.

I’ve also played a ton of Trackmania, but mostly Stadium and Canyon. Canyon had a lot of drifting on narrow roads through tight corners which might have made me skew the tracks in this demo way harder.

I’m curious for difficulty, what do you think would be a good baseline? Something like the Desert Speedway track which is fairly wide but has a couple tighter turns? Or something even more relaxed? The average track difficulty here is definitely higher than it would be in the final game.

Thanks for playing, and for the very detailed feedback. I have an automatic shifting mode that will be in the next update.

(2 edits)

yeah, the next step for UX would just be caching the times and updating them on-demand as the player ghosts update. that’ll be in a future update but I’m focusing on content and adding auto shifting for now.

Doing several races at the hard turns wasn’t enough to get nitro that way, I guess I need to do micro drifts too?

You also have to rev-match your shifts to maximize performance and nitro gain. If you get off the gas while upshifting it gives the revs time to fall down to about where they’d be at the lower gear ratio. And if you blip the gas while you have the clutch in and you’re downshifting, it will do the same thing in reverse. Those both give you nitro based on how well you did them.

Also yes, for hot lap tracks the intent is that you restart while already holding clutch and launch with no countdown because you haven’t actually started the hot lap yet. Maybe I should revisit that UX.

yeah, X (on an xbox controller) is quick restart. You have to hold clutch if you’re in stickshift mode but in paddle it’s just pressing X. also that’s a really good idea on the RS click for going to neutral, that’ll definitely be in the next update. Thanks for playing!

(1 edit)

thanks for the detailed feedback, especially if you’re not a racing game person

  • in the tutorial, you might have missed a checkpoint on one of your runs
  • nitro is the meter in the bottom right, and is filled by drifting. you can only boost when the needle is in the blue and you see that blue triangle [!] sign on the nitro dial
  • drifting is started by tapping handbrake (A on controller) and turning
  • engine shutoff can happen in two ways:
  1. engine RPM drops below the stall RPM, usually meaning you were in a non-neutral gear with the clutch out and no gas
  2. engine over-revs past the redline, which can happen if you exit a loop at a high speed in a low gear or downshift when the car is going too fast
  • yeah, I should maybe be more clear about the exit to menu vs. exit to desktop buttons
  • when you restart it puts you in first gear, you have to give it gas when you let out the clutch or else the engine stalls and shuts off
  • the medals are all loaded in parallel on-demand when you go the main menu by loading your ghost and looking at its time vs my times. this makes the main menu load faster because you don’t have to wait for the medals to load, but has the drawback of medal pop-in as the file i/o finishes
  • you’re right, I should revisit the air -> ground transition since it might immediately switch back to full drift control which isn’t great
  • I will add a baby tutorial and more baby tracks in the next update

thanks for playing!

(1 edit)

thanks for the stream! I think I need to do a better tutorial, you’re supposed to tap A to drift and gain nitro

yeah I’m definitely gonna add an automatic, it’ll be nerfed by the fact that you can’t gain nitro from perfect shifts but it’ll make the game not-unplayable at the start lool

very very solid movement foundation, reminded me a bit of playing Dustfall but way more accessible. the only thing that felt hard to execute and a little bit hard to work into the rest of the flow was the wallkick - it feels like it’s only good to start off a speedrun or if you’re changing directions as you drop down or something.

still, mastering the rocket jump was very fun, and I appreciate that the weapons felt different. walljump was shorter than I expected but I got used to it

oh yeah, that’s the royalty-free menu music I used. not sure why it’s getting copyright flagged since i got it cc0 off pixabay but whatever. thank you so much for playing and for the video, I definitely need to split out the tutorial stuff more but you kinda nailed the tutorial track in the second video you posted. the last two turns were absolutely made for drifting

(1 edit)

I actually tried that originally, to do some camera movement stuff. It was kinda slow but the main problem was that if the car was going over bumps or had a couple wheels in the gutter it would go crazy.

I tried a bandaid where I would average it over the last couple frames but then I realized I could just use the car’s local up vector.

(1 edit)

Oh yes, that’s definitely a big part of it. I didn’t touch on it here but the springs’ compression is affected by the normal force in an emergent way via Unity’s physics.

Remember my last post about collider hell? That was because the springs were too weak. When the car was climbing a hill and slamming into a curve (or taking a banked curve, or a loop, any concave surface at high speed) the normal force was compressing the springs past their limit and the car’s body was scraping the ground.

So yes, it’s in the equation, just implicitly and not in a way that I need to calculate explicitly at runtime. I can just look at the springs’ compression and get an idea of it.

i do too…Vapor Trails was straight up unrealistic to make given the fact that I’m one guy with a day job.

Neodrive was/is a WAY more manageable project. i could just release it as-is but I want to have some more tracks and assets. it’s basically done minus like a dozen campaign tracks. I only dropped it because this new project seems very cool and I wanted to be a part of it.

(3 edits)

Here’s what it looked like -

I already removed it and don’t want to revert back to an old commit, but the collider arrangement on the car looked like this. In the front, there was the sideways high bumper to compensate for the failing suspension, then two tubes on either side, and then a shorter one in the middle for the roofline. It made the car very willing to jump the track walls and completely screw up a run.

My wheels send raycasts down, by the suspension travel distance, in the shape of the tires. Then the nearest hit, if there is one, is taken as the ground contact point. The advantage to this is that you can also get the ground normal if the car is on a slight slope.

Also yes, the default wheel colliders are so annoying. I guess that’s the case for a lot of built-in systems. They’re good for tech demos and prototyping but eventually you’re going to want to build your own. I don’t know how I would have done the hydroplane mechanics without making my own wheels.

I actually explored some other alternatives when I was developing a prototype for this game back in like 2022. They all sucked.

(2 edits)

That's interesting. If your math for the springs is good, you might need to play with the damping settings instead, because at higher suspension values you get a narrower range of working damping values. I think my spring strength is internally set to 1500 and the damping value is 100. Any much more or less than 100 damping makes the suspension unable to sit still.

Also yes, I did the exact same thing - a sideways capsule under the front bumper with 0 bounce/friction, but it didn't solve my issues because the car was going fast enough that it'd clip into the track between timesteps and get spat out.

we got hot wheels at home

Hey sorry, the game isn't in development anymore. Andromeda is in the rebuild I made and then stopped working on, though: https://sevencrane.itch.io/vaportrails-physics

The one in the aquarium subway stop? Well done.

Yea it's already there, you can rebind gear up/gear down. The only downside is no auto rev-matching so you may get some jerky shifts.

Oh, is it not? I know Steam squawks when you try to download it, but I've run it on my Catalina mac without issues when I was testing the Steam version. Has it stopped working since?

me too, stranger

hell yeah, thanks for the update

Ah I see, thanks for the pic. Those darker parts on the right are reserved for controller inputs, and the darker parts under Keyboard are axes. 

You can rebind your inputs, but you should use the + fields. Instead of binding Gas, for instance, you want to bind Gas+. Same for Brake: bind Brake+ to the key you want to trigger it.Steer+ is steer right, Steer- is turn left.

I'm using a Unity input package that autogenerates these buttons, because I'm too lazy to make this UI rebinding system myself, so I don't have much control over it, sorry. Since gas/brake/steering are linear inputs instead of binary on/off, when you add a keyboard key, you need to define a key as "when this is pressed, treat this axis as full 100% input."

Hi, could you elaborate a little more so I can look into it? Are your keybinds not being set in the rebind UI, or are they not being persisted when you load into a track, or are they being rebound but the inputs aren't being picked up?

NEODRIVE community · Created a new topic Bug report sticky
(2 edits)

I'll respond to comments as they come up. 

FOR REPORTING BUGS:

If you see an error in red text at the bottom of the screen, please click "open log file" and paste the stack trace into your post. It should look something like this:

NullReferenceException: Object reference not set to an instance of an object
  at Wheel.ApplyCustomWheel (CustomWheel w) [0x00000] in <a87c48f2e9f940bf9d02216127ad16d1>:0 
  at CarCustomization.ApplyWheel () [0x00029] in <a87c48f2e9f940bf9d02216127ad16d1>:0 
  at CarCustomization.SetWheel (CustomWheel newWheel) [0x00007] in <a87c48f2e9f940bf9d02216127ad16d1>:0 
  at CarCustomization.LoadFromProperties () [0x0001f] in <a87c48f2e9f940bf9d02216127ad16d1>:0 
  at SavedObject.StartUp () [0x0001c] in <a87c48f2e9f940bf9d02216127ad16d1>:0 
  at SaveManager.OnLevelLoad (UnityEngine.SceneManagement.Scene scene, UnityEngine.SceneManagement.LoadSceneMode mode) [0x00029] in <a87c48f2e9f940bf9d02216127ad16d1>:0 
  at (wrapper delegate-invoke) UnityEngine.Events.UnityAction`2[UnityEngine.SceneManagement.Scene,UnityEngine.SceneManagement.LoadSceneMode].invoke_void_T0_T1(UnityEngine.SceneManagement.Scene,UnityEngine.SceneManagement.LoadSceneMode)
  at UnityEngine.SceneManagement.SceneManager.Internal_SceneLoaded (UnityEngine.SceneManagement.Scene scene, UnityEngine.SceneManagement.LoadSceneMode mode) [0x0000e] in C:\build\output\unity\unity\Runtime\Export\SceneManager\SceneManager.cs:244 

This is very useful because it shows me where in the code the error happened. Thank you for reporting.

yeah, I can convert it to a board 

(1 edit)

Whoops, try now, I forgot to make the control rebindings persist. And you should be able to see the "start engine" controls when you spawn in the tutorial stage though. Or did you just mean you'd want to see it always?


Edit: i made it always visible in the tutorial level, along with the respawn and gearshift buttons. They don't adapt to control changes yet, but they will eventually.

I added a control rebinder in the main menu. Let me know if you're still having issues.

nah, the scope is too big. if I did that I wouldn't finish it before I retired. I care about it a lot but it's just too much asset creation work to tell the story I'd want to tell. It's ok, though, I have other projects...

(1 edit)

The files are open-source actually! You can find them on my github. I think the Discord community has poked at them a bit, but I was way too ambitious and the code is kinda bad.

I've also ripped some code for my next project, that car game.

yeah pro controllers are weird, i've had issues using them on PC in the past. i'll add a control rebinder at some point in the future, thanks for letting me know

fix is out

Fixed!

There was a different underlying issue, try now in the web build

Yeah definitely, it'll remain on itch for as long as I can stay under the 1gb limit for games here (which should be indefinitely tbh). I am also against DRM though and want to have an alternative place to buy it.

huh weird, i'll look into it

It's a save bug, I have the fix ready and will publish it this weekend. Thanks for playing!

It's a save bug, I have the fix locally and will upload soon!

Thanks, I'm so glad you liked it! Lauren's probably my favorite character in the game so far, I've got a lot planned for her and I think you can already see some of it in the ending sequence (go to the training gym, then take the subway to the highway terminal and go to the top level).

I used a higher-res rig and then render everything to a low-res texture, then scale it up. The characters are high-res sorta-pixel art, and the backgrounds and almost everything else are hand-drawn. This post is sorta old and out of date, but it covers the basics:
https://sevencrane.itch.io/vapor-trails/devlog/214252/tutorial-basic-skeletal-an...