Will driving or otherwise transferring vehicles between Z-levels (like driving down or up a ramp) be implemented at some point, or are there issues which make programming that impractical? There are a number of possibilities that would make this a worthy feature.
In addition to the traditional mines, you could also have a new map tile: Open Pit Mine. Plenty of large equipment could be found there, easily accessible to the player and any vehicle or mechanical assistance they might need to disassemble the various mining vehicles or machinery. Auger heads or other mining equipment might be repurposed by players to dig tunnel networks or large underground bases. https://en.wikipedia.org/wiki/Open-pit_mining
Being able to dig out an underground garage for your vehicle(s) that you could drive into via ramp would be nice. It would allow you to save surface space for more important things like farmland, and provide a secure area for them that prevents accidental damage, like by a horde pathing through it to get to you.
Parking structures could be added as a new building as well, which would be a place where you might be able to find pristine vehicles or rare vehicle parts, like the enhanced electric motor.
Being able to drive a small vehicle like a motor bike or a 4 wheeler into a sewer via an outlet to a canal or something might be another possibility for moving around unseen. Most aren’t quite this big, but there are ways you could enter a sewer which are human size or larger:
Vehicles can already transition between z-levels. If you debug spawn a vehicle on top of building and drive it off the building, the vehicle should fall to the ground.
The tricky part is partially transitioning a vehicle between levels. Basic issues are:
the vehicle mount point array is 2-D, not 3-D, so there is currently no way to tell a vehicle that the back tire is on a different z-level than the front tire. This should be a straightforward code change but there’s plenty of opportunity for subtle bugs coming out of it.
ramp design is hard. CDDA vehicles can have arbitrary widths and lengths, so no matter how big you make your transition area, someone is going to have a vehicle that doesn’t fit. It’s not impossible to solve but it requires some thought.
My current preference is for a single tile deep ramp, with the vehicle transitioning to the next Z-level as it enters the ramp tile. but there’s still some nasty corner cases like what happens when someone enters a ramp tile at an angle, such that part of their vehicle is on the ramp and part isn’t. ie:
when the vehicle moves 1 tile north and the /== parts move to the next z-level, what level is the \ part on and how do you determine that?
vision on ramp design is also hard. you shouldn’t drive up a ramp and suddenly see another parked vehicle in front of you with no time to stop - you should have seen that in advance. Again, this can be fixed but the vision code is hard.
Enabling ramps is something I would definitely like to see, but it’s not a quick fix and there are some design issues that need to be worked out.
Yeah I figured this would be difficult to implement in a smooth way like you were actually driving, and probably not something that would happen soon, but it is good to know it is doable.
I have a simplified method you may wish to consider, although it is sort of rough. Not sure if you guys will want to use it, as I know the preference is more towards realism, but I figure just putting the option on the table can’t hurt.
You might just “teleport” the vehicle to the bottom of the ramp and in front of it. Sort of like what happens when you use an elevator or stairs. You would drive onto the ramp with the front tile of your vehicle, and if the ramp is the same width or greater as your vehicle, and there is enough linear space below, you could press “>” or something to drive the vehicle down the ramp. You and the vehicle suddenly pop up down a level in front of the ramp (velocity conserved). Simply moving over the tile would just drive over it, like when you walk over a staircase tile, and if your vehicle is too big or improperly oriented, it kicks up a message “your vehicle will not fit down there”.
CDDA vehicles can be arbitrarily long, and while I’m not excited about supporting stupidly large vehicles, people legitimately make vehicles that are 10-15 tiles long. Any ramp solution has to support vehicles that are just that long.
My problem with your simplified method is what happens when you go back up the ramp with a vehicle that’s too long for the ramp? You hit “<” and nothing happens because the vehicle is too long, and then… what, I don’t know? Your vehicle keeps going forward without changing Z-levels and then falls into the water because there isn’t a bridge on Z-level 0 anymore?
I’m going to keep pushing for single tile deep ramps with automatic transitions, because while there are tricky bits in dealing with them, the result is more natural and doesn’t limit the length of vehicles.
I’m not sure I understand you here. If your vehicle is too long, how did you go down the ramp to start with? The way I was proposing it would function is that you would have needed room to orient your vehicle to go down the ramp in the first place. And you would only be able to go down in the same alignment as the ramp. Basically, if you can orient your vehicle to go down, and successfully go down the ramp, you should be able to go back up. Your vehicle already occupied the space it is going to return to back on Z-level 0 before it went down the ramp.
There’s no reason to believe that a vehicle’s length is static. The simplest example would be driving down an existing ramp that just barely has space for your vehicle, then installing some rams in the front and hitching a bike to the back, increasing the vehicle length by 2 tiles.
Simple solution to long vehicles. Deal with it much as we do in real life. Park a sign before the ramp and detail how big the vehicle is allowed. Otherwise it gets stuck and you cannot pass beyond the stuck section. Sad day for the person not reading those signs.
Which incidently truck drivers get stuck an inordinate amount of times around here every year. One spot I know of a few towns away has 2 stop signs that blink + lights and more. Some jackass still gets stuck every so often…sigh