READ THIS FIRST I've seen several truly great ideas for 'vehicles' in Minecraft, and I think this one is quite different from them, but please let me know if this idea is particularly similar to someone else's. Also, I'm especially excited about this idea because it actually seems plausible to implement; check the "Why This Could Work" section before disregarding this idea.
DISCLAIMER This suggestion is mostly about vehicles, but it could actually add a whole new level to Minecraft gameplay; check out the Applications section!
Table of Contents
Short Section Moderate Section Long Section Technical Section
Everyone loves vehicles, so this is my idea to implement them practically into the game so that they don't interfere with any of the core concepts of Minecraft. In this idea, vehicles are not entities; they're collections of blocks.
Say you want to build a car (or a carriage for the nostalgic people out there (including me)). Often--and I'm not saying these ideas aren't great--people suggest a crafting recipe along these lines:
Well...my idea isn't quite like that. This recipe is for making an entity, implying that there are a finite number of cars or carriages or planes or whatever that are open to the player. But Minecraft isn't just about crafting: it's about building. Let's say I have some "wheel" blocks (call them ) and I can simply place them wherever I want and build vehicles on top of them. This is how I would build my carriage/car/whatever.
Layer 1: Layer 2: Layer 3:
You can place blocks on vehicles the same way you can place them on the rest of the world! For anyone who's going to stop listening to me at this point, please read this.
So what can you do with this idea? Here are some ideas:
Giant trains with cargo and areas to walk around
Assault vehicles coated with dispensers
Epic PvP wars
Moving-mountain fortresses
Shifting platforms
Huge boats and minecarts
Quick travel through mines
Practical redstone usage
More fun than riding a pig
In addition, the gameplay of Minecraft is untarnished; after all, a vehicle like this is just a very small, moving world. By adding a minimal amount of new blocks and items to the game, these buildings can add a neat new dimension to Minecraft.
Components of a Vehicle
To keep this suggestion fairly Minecraft-y, I wanted these vehicles to be as simple as possible. Thus, a vehicle is just a collection of blocks in a somewhat vehicular shape, with a few additions:
A Motion Producer
A Power Source
A Form of Control
Let's look at each of these.
Motion Block
These are basic wheels, flotation devices, anything that will prop up your vehicle and allow it to move. To build a working vehicle, just take a few of these and space them around the bottom. You must place your motion blocks on your vehicle instead of the other way around, or else each motion block will count as a separate vehicle.
Power Source / Propulsion
Redstone to the rescue! I don't really like the idea of having to use 'fuel' to keep your vehicles powered, so what if you have to use redstone to connect your steering with more advanced wheel mechanisms? It would encourage Survival players to get more redstone, and it would open up a genre of "who can make the coolest vehicle with a compact redstone system?"
The idea is that redstone can allow your steering system to control any wheels it's connected to mechanically. However, you can use redstone on its own; you can power a wheel from the left for it to turn left, from the right for it to turn right, and from the top for it to go forward!
Now is probably a good time for an example. Let's say is your wheel, is your steering system and is redstone wire. You may have something that looks like this:
But is that the most efficient way to do it? Do we need vertical redstone mechanisms to get the wheels at the bottom? Can we have different switches control different axles? The possibilities!
Controls and Steering
Of course we need a steering block. It's practically mandatory. But let's keep it simple; maybe not even a wheel. Just a rod on some string that you can pull left, right or back (or in Minecraftspeak, right-click and use WASD). It controls any wheel connected to it through redstone, you can still flip levers and the like while piloting, and you can connect it to tripwire. Simple enough.
Building a Vehicle
Building a vehicle would be very easy, and should come naturally to anyone who likes building houses or fake boats or something. Just follow these steps:
Build the vehicle sans wheels/steering, just a bunch of blocks propped up so the wheels can fit underneath. This is not unlike real-life engineering. Except, you know, Minecraft physics.
Craft the motion blocks and place them underneath the vehicle.
Craft any steering or levers you might need to operate the motion blocks, put them somewhere in your vehicle and attach them with redstone.
Well...that's it. I honestly thought there would be a step 4.
The idea is that various wheel blocks are very expensive, so you can't run around animating everything you see, but you can build vehicles like you would build anything else.
Motion Blocks
In this section, I'll go over some specifics about motion blocks, which you need to get your vehicles moving. But first, here are some properties of all motion blocks:
They are powered by redstone.
They can only support eight blocks in the x/y/z directions. In other words, you can't put a wheel under a mountain and make it move.
Their speed could be altered by capacitance. In 1.5, the 'strength' of redstone may have an effect on circuits, so lower strength could mean slower, more stable motion.
If a motion block is broken, all nearby blocks in the vehicle are updated; if they are no longer supported, they break into a scattering of items.
So far, I've come up with 8 different types of motion blocks:
Tread Wheel
The most basic motion block. Can be powered from the left, right or top to make it turn or move, or you can just use a steering wheel and WASD, like a boat. Tread wheels are all-terrain, but they won't move if there isn't a block underneath them. If you build a floating vehicle, it will just act like a normal jumble of blocks.
Crafting: 3 Iron Blocks 1 Redstone Repeater 1 Redstone Dust 4 Iron Ingots (makes 4)
Uses:
Flatland buggy
Moving house
Siege Tower
Moving Bridge
Supply Carrier
Cart Wheel
This one can't be steered or turned, but it travels along minecart rails! This would be especially useful for more automated vehicles.
Crafting: 1 Tread Wheel 1 Minecart
Uses:
Minecart with Walking Area
Spelunking Bot
Summonable House
Minecart Drop System
Lock & Key Adventure Map Puzzle
Pivot Wheel
This one can't move forward at all, but it can turn in place. It can also be embedded in the ground. Try putting a dispenser in it!
Panels aren't exactly 'motion blocks,' but they do control the motion of the vehicle. They can be crafted from three planks or smooth stone arranged vertically, and they send redstone current whenever they collide with something unconnected to the vehicle. Wooden panels can be activated by entities as well.
Uses:
Collision Detector
Automatic TNT Miner
Algorithm-Movement Engine
Bumper Cars Minigame
Oscillator
Star Wheel
Okay, so technically it isn't a wheel, but I wanted to keep the theme. Basically, the Star Wheel makes flying vehicles. It doesn't have to have a block under it in order to move, so it can even be placed inside your vehicle and guarded with obsidian. Attach it to a steering wheel and press Shift or Space to make it ascend or descend.
Crafting: 1 Nether Star 1 Piston 5 Iron Ingots
(makes 4)
Uses:
Flying Castle
Submarine
Willy Wonka's Elevator
Airship
Fire Charge Bomber
Float Wheel
Because giant boats are awesome. There is already a great giant boats post (I can't seem to link to it though), and this section definitely won't measure up, but it's worth pointing out. These wheels--well, they turn your vehicle into a boat.
Crafting: 1 Tread Wheel 1 Boat
Uses:
Various Boats and Ships
Drill Wheel
This one may not be important to implement, but it is cool. Drill wheels have no collision box, and they only move if they are inside another block. Thus, drill wheels can make vehicles that 'slide' along the ground. Drill wheels to not break the blocks they move through.
Once again, these aren't actually wheels, but they are very important. Right now, the size of our vehicles is limited by how many blocks a wheel can support. Even with a large grid of tread wheels (which can get very difficult to wire,) the height of a vehicle cannot exceed 8 blocks. A cheap way to fix this is the support, which allows another eight blocks to be supported in any direction (like how redstone repeaters renew the capacitance of wire.)
Crafting: 3 Gold Ingots 6 Iron Ingots
Uses:
GIANT VEHICLES!
The Steering Block
Of course, using a bunch of levers and buttons would get very cumbersome. So how about vehicles are just like boats? Just craft a steering block with a leather and two string. It looks like just a rolled hide attached to rope, which produces torsion, but that's technical stuff. Right-click the roll to man it and use WASD to control any attached motion blocks; you can use several of these steering items to make advanced vehicles with many passengers to operate them!
You can also attach steering blocks to tripwire. Just thought I'd point that out.
Using Redstone for Advanced Mechanisms
I've been using redstone for a while now and have found it very useful even in Survival, but I haven't really been able to exercise my ability in 'vertical' redstone engineering much. Well, this suggestion should help! If you have a large amount of wheels, or multiple joints, or if you just want to build a robot, it will really help to exercise your full redstone potential.
(It might also help if we had Redstone Blocks, this cool idea where they can store binary input and get pushed by pistons--wait, one suggestion per thread.)
Applications
Finally, here are some ways one might use these vehicles.
Explorer
While traveling on flattish terrain, you can always go a little faster.
Shifting Platforms
Put a square of blocks on an underground cart system and use it to get around your tunnel base! Or build an adventure map where the rooms move around like a jigsaw.
Lock & Key
Use panels and a giant vehicle for an 'unlock the box' puzzle.
Wars
Put some TNT cannons or dispensers on your vehicle! Cut out a hole from which you can axe enemy vehicles! You could set up land, sea or sky-based battles; guard your Star Wheels well, or saboteurs could drop you out of the sky.
Factories
It may be a bit implausible for vehicles to be able to edit blocks in the world, or on other vehicles (sans TNT), but attaching a few pivots together to make factory arms could have many possibilities! For example, a folding bridge or an item dropper.
Flavorful Movement
This is more of a passive thing, but it would be great if you could just walk around the deck of a speeding minecart...IN MINECRAFT! Could make some awesome machinimas too.
Sieges
If you want an alternate way to get through a swarm of mobs, just build a little car and speed down an Abandoned Mineshaft! Or in Multiplayer (Adventure Mode?), you could build movable siege ladders.
Redstone Creativity
A great new way to use redstone. Could you build a robot that responds well to collisions? What about a bridge that you can rotate around on a rod to fit into several different pathways? It's not just vehicles, you could build whole worlds on a concept like this.
Why This Could Work
This is probably the most important part of my idea. I started this suggestion with a lot of ambition, so I would like you all to know that it is actually plausible--and doesn't require much extra programming. I'm fairly new to Java, but here's how I think it could work.
First off, these vehicles are not entities. With my method of putting blocks together like one would do to build a house, that could get very complicated very fast. However, these vehicles should have the same movement mechanics as boats (sans breaking). So what to do?
First of all, remember that the Minecraft world is just a 3D grid of data values, plus some entities. This grid is broken into chunks and sorted into files in the 'region' folder. They take up a lot of memory, but when simplified they're really just huge arrays of numbers.
So here's how it works: When a wheel is placed, and it isn't on an existing vehicle, an extra grid is created and saved in a subfolder of 'region.' If the vehicle turns, the grid does too, creating a web-like pattern for calculating collisions. When the avatar gets close to a vehicle (a range limit should save fps), it will calculate its movements on the vehicle's grid as well as the universal grid. Thus, not only will vehicles function as solid, but their slanted surfaces can be interacted with just like normal blocks!
Now, another thing that would be nice is placing vehicles on vehicles; what about an aircraft carrier, or a tank with a pivoting top? Well, as long as vehicles define themselves relative to other vehicles like the avatar does, it shouldn't be a problem. To show how the class configurations could work, here's some pseudocode:
class MotionBlock extends Block
Block[8][8][8] SupportedBlocks
class Vehicle
MotionBlock[] definingBlocks
double[][][] pos
double rotation (this is important for collisions!!!)
region...or...something blocks (a configuration of blocks similar to the 'region' file, but without support for stuff like entities; collisions will take care of that)
That's it! What did you think? Anything that should be added or removed? Still implausible? Let me know!
(also, I'm taking suggestions as to how to improve the format of this thread.)
I hate to be the devil's advocate on an organized thread like this, but the question isn't whether or not it's feasible in coding (it's in mods already) the question is whether or not this would be feasible without lag that would essentially...for a lack of a better word...boot out the large majority of the community on lower end computers, and make it so that average computers would function with the same FPS as a lower-end computer once did. A thing that takes up a lot of memory that has been broken up into huge arrays of numbers still takes up a lot of memory. The calculations, although run in a smaller area and only when a player is near, is still enormous.
Rollback Post to RevisionRollBack
[quote=Badgerz]You have to keep in mind that people are stupid.
[quote=Catelite]Just because you don't understand how something works, doesn't make it broken or pointless. >_<
I agree that lag might be an issue, but honestly, all vehicle movement could probably be calculated with a few big numbers. I don't have much experience in the field though, so I have no idea...maybe they would need a range limit, like entities?
Really, the lagg thing was the main thing. Great, no, fantastic idea, its just that the lagg will crap out a lot of computers. Even if the 1.5 brings us better FPS, it still would be a lagg issue.
READ THIS FIRST
I've seen several truly great ideas for 'vehicles' in Minecraft, and I think this one is quite different from them, but please let me know if this idea is particularly similar to someone else's. Also, I'm especially excited about this idea because it actually seems plausible to implement; check the "Why This Could Work" section before disregarding this idea.
DISCLAIMER
This suggestion is mostly about vehicles, but it could actually add a whole new level to Minecraft gameplay; check out the Applications section!
Table of Contents
Overview
Components of a Vehicle
Motion Blocks
Propulsion
Steering Blocks
Building a Vehicle
Motion Blocks
Tread Wheel
Cart Wheel
Pivot Wheel
Wooden and Stone Panels
Star Wheel
Float Wheel
Drill Wheel
Supporter
The Steering Block
Using Redstone for Powerful Vehicles
Applications
Why This Could Work
OverviewEveryone loves vehicles, so this is my idea to implement them practically into the game so that they don't interfere with any of the core concepts of Minecraft. In this idea, vehicles are not entities; they're collections of blocks.
Say you want to build a car (or a carriage for the nostalgic people out there (including me)). Often--and I'm not saying these ideas aren't great--people suggest a crafting recipe along these lines:
Well...my idea isn't quite like that. This recipe is for making an entity, implying that there are a finite number of cars or carriages or planes or whatever that are open to the player. But Minecraft isn't just about crafting: it's about building. Let's say I have some "wheel" blocks (call them
Layer 1:
Layer 2:
Layer 3:
You can place blocks on vehicles the same way you can place them on the rest of the world! For anyone who's going to stop listening to me at this point, please read this.
So what can you do with this idea? Here are some ideas:
- Giant trains with cargo and areas to walk around
- Assault vehicles coated with dispensers
- Epic PvP wars
- Moving-mountain fortresses
- Shifting platforms
- Huge boats and minecarts
- Quick travel through mines
- Practical redstone usage
- More fun than riding a pig
In addition, the gameplay of Minecraft is untarnished; after all, a vehicle like this is just a very small, moving world. By adding a minimal amount of new blocks and items to the game, these buildings can add a neat new dimension to Minecraft.Components of a Vehicle
To keep this suggestion fairly Minecraft-y, I wanted these vehicles to be as simple as possible. Thus, a vehicle is just a collection of blocks in a somewhat vehicular shape, with a few additions:
- A Motion Producer
- A Power Source
- A Form of Control
Let's look at each of these.Motion Block
These are basic wheels, flotation devices, anything that will prop up your vehicle and allow it to move. To build a working vehicle, just take a few of these and space them around the bottom. You must place your motion blocks on your vehicle instead of the other way around, or else each motion block will count as a separate vehicle.
Power Source / Propulsion
Redstone to the rescue! I don't really like the idea of having to use 'fuel' to keep your vehicles powered, so what if you have to use redstone to connect your steering with more advanced wheel mechanisms? It would encourage Survival players to get more redstone, and it would open up a genre of "who can make the coolest vehicle with a compact redstone system?"
The idea is that redstone can allow your steering system to control any wheels it's connected to mechanically. However, you can use redstone on its own; you can power a wheel from the left for it to turn left, from the right for it to turn right, and from the top for it to go forward!
Now is probably a good time for an example. Let's say
But is that the most efficient way to do it? Do we need vertical redstone mechanisms to get the wheels at the bottom? Can we have different switches control different axles? The possibilities!
Controls and Steering
Of course we need a steering block. It's practically mandatory. But let's keep it simple; maybe not even a wheel. Just a rod on some string that you can pull left, right or back (or in Minecraftspeak, right-click and use WASD). It controls any wheel connected to it through redstone, you can still flip levers and the like while piloting, and you can connect it to tripwire. Simple enough.
Building a Vehicle
Building a vehicle would be very easy, and should come naturally to anyone who likes building houses or fake boats or something. Just follow these steps:
- Build the vehicle sans wheels/steering, just a bunch of blocks propped up so the wheels can fit underneath. This is not unlike real-life engineering. Except, you know, Minecraft physics.
- Craft the motion blocks and place them underneath the vehicle.
- Craft any steering or levers you might need to operate the motion blocks, put them somewhere in your vehicle and attach them with redstone.
- Well...that's it. I honestly thought there would be a step 4.
The idea is that various wheel blocks are very expensive, so you can't run around animating everything you see, but you can build vehicles like you would build anything else.Motion Blocks
In this section, I'll go over some specifics about motion blocks, which you need to get your vehicles moving. But first, here are some properties of all motion blocks:
- They are powered by redstone.
- They can only support eight blocks in the x/y/z directions. In other words, you can't put a wheel under a mountain and make it move.
- Their speed could be altered by capacitance. In 1.5, the 'strength' of redstone may have an effect on circuits, so lower strength could mean slower, more stable motion.
- If a motion block is broken, all nearby blocks in the vehicle are updated; if they are no longer supported, they break into a scattering of items.
So far, I've come up with 8 different types of motion blocks:Tread Wheel
The most basic motion block. Can be powered from the left, right or top to make it turn or move, or you can just use a steering wheel and WASD, like a boat. Tread wheels are all-terrain, but they won't move if there isn't a block underneath them. If you build a floating vehicle, it will just act like a normal jumble of blocks.
Crafting:
3 Iron Blocks
1 Redstone Repeater
1 Redstone Dust
4 Iron Ingots
(makes 4)
Uses:
- Flatland buggy
- Moving house
- Siege Tower
- Moving Bridge
- Supply Carrier
Cart WheelThis one can't be steered or turned, but it travels along minecart rails! This would be especially useful for more automated vehicles.
Crafting:
1 Tread Wheel
1 Minecart
Uses:
- Minecart with Walking Area
- Spelunking Bot
- Summonable House
- Minecart Drop System
- Lock & Key Adventure Map Puzzle
Pivot WheelThis one can't move forward at all, but it can turn in place. It can also be embedded in the ground. Try putting a dispenser in it!
Crafting:
1 Gold Block
6 Iron Ingots
1 Leather
1 Redstone Dust
(makes 2)
Uses:
- Ground Turret
- On-Vehicle Turret
- Lever-Controlled Moving Bridge
- Double-Jointed Factory Arm
- Splash Potion Dropper
Wooden and Stone PanelsPanels aren't exactly 'motion blocks,' but they do control the motion of the vehicle. They can be crafted from three planks or smooth stone arranged vertically, and they send redstone current whenever they collide with something unconnected to the vehicle. Wooden panels can be activated by entities as well.
Uses:
- Collision Detector
- Automatic TNT Miner
- Algorithm-Movement Engine
- Bumper Cars Minigame
- Oscillator
Star WheelOkay, so technically it isn't a wheel, but I wanted to keep the theme. Basically, the Star Wheel makes flying vehicles. It doesn't have to have a block under it in order to move, so it can even be placed inside your vehicle and guarded with obsidian. Attach it to a steering wheel and press Shift or Space to make it ascend or descend.
Crafting:
1 Nether Star
1 Piston
5 Iron Ingots
(makes 4)
Uses:
- Flying Castle
- Submarine
- Willy Wonka's Elevator
- Airship
- Fire Charge Bomber
Float WheelBecause giant boats are awesome. There is already a great giant boats post (I can't seem to link to it though), and this section definitely won't measure up, but it's worth pointing out. These wheels--well, they turn your vehicle into a boat.
Crafting:
1 Tread Wheel
1 Boat
Uses:
- Various Boats and Ships
Drill WheelThis one may not be important to implement, but it is cool. Drill wheels have no collision box, and they only move if they are inside another block. Thus, drill wheels can make vehicles that 'slide' along the ground. Drill wheels to not break the blocks they move through.
Crafting:
1 Diamond
7 Obsidian
1 Redstone Dust
(makes 4)
Uses:
- Moving Mountain with Cannons
- Shifting Floor
- Guarded Siege Tower
- Concealable Transport
- Tunnel Pod
SupportersOnce again, these aren't actually wheels, but they are very important. Right now, the size of our vehicles is limited by how many blocks a wheel can support. Even with a large grid of tread wheels (which can get very difficult to wire,) the height of a vehicle cannot exceed 8 blocks. A cheap way to fix this is the support, which allows another eight blocks to be supported in any direction (like how redstone repeaters renew the capacitance of wire.)
Crafting:
3 Gold Ingots
6 Iron Ingots
Uses:
- GIANT VEHICLES!
The Steering BlockOf course, using a bunch of levers and buttons would get very cumbersome. So how about vehicles are just like boats? Just craft a steering block with a leather and two string. It looks like just a rolled hide attached to rope, which produces torsion, but that's technical stuff. Right-click the roll to man it and use WASD to control any attached motion blocks; you can use several of these steering items to make advanced vehicles with many passengers to operate them!
You can also attach steering blocks to tripwire. Just thought I'd point that out.
Using Redstone for Advanced Mechanisms
I've been using redstone for a while now and have found it very useful even in Survival, but I haven't really been able to exercise my ability in 'vertical' redstone engineering much. Well, this suggestion should help! If you have a large amount of wheels, or multiple joints, or if you just want to build a robot, it will really help to exercise your full redstone potential.
(It might also help if we had Redstone Blocks, this cool idea where they can store binary input and get pushed by pistons--wait, one suggestion per thread.)
Applications
Finally, here are some ways one might use these vehicles.
- Explorer
While traveling on flattish terrain, you can always go a little faster.- Shifting Platforms
Put a square of blocks on an underground cart system and use it to get around your tunnel base! Or build an adventure map where the rooms move around like a jigsaw.- Lock & Key
Use panels and a giant vehicle for an 'unlock the box' puzzle.- Wars
Put some TNT cannons or dispensers on your vehicle! Cut out a hole from which you can axe enemy vehicles! You could set up land, sea or sky-based battles; guard your Star Wheels well, or saboteurs could drop you out of the sky.- Factories
It may be a bit implausible for vehicles to be able to edit blocks in the world, or on other vehicles (sans TNT), but attaching a few pivots together to make factory arms could have many possibilities! For example, a folding bridge or an item dropper.- Flavorful Movement
This is more of a passive thing, but it would be great if you could just walk around the deck of a speeding minecart...IN MINECRAFT! Could make some awesome machinimas too.- Sieges
If you want an alternate way to get through a swarm of mobs, just build a little car and speed down an Abandoned Mineshaft! Or in Multiplayer (Adventure Mode?), you could build movable siege ladders.- Redstone Creativity
A great new way to use redstone. Could you build a robot that responds well to collisions? What about a bridge that you can rotate around on a rod to fit into several different pathways? It's not just vehicles, you could build whole worlds on a concept like this.Why This Could Work
This is probably the most important part of my idea. I started this suggestion with a lot of ambition, so I would like you all to know that it is actually plausible--and doesn't require much extra programming. I'm fairly new to Java, but here's how I think it could work.
First off, these vehicles are not entities. With my method of putting blocks together like one would do to build a house, that could get very complicated very fast. However, these vehicles should have the same movement mechanics as boats (sans breaking). So what to do?
First of all, remember that the Minecraft world is just a 3D grid of data values, plus some entities.
This grid is broken into chunks and sorted into files in the 'region' folder. They take up a lot of memory, but when simplified they're really just huge arrays of numbers.
So here's how it works: When a wheel is placed, and it isn't on an existing vehicle, an extra grid is created and saved in a subfolder of 'region.' If the vehicle turns, the grid does too, creating a web-like pattern for calculating collisions. When the avatar gets close to a vehicle (a range limit should save fps), it will calculate its movements on the vehicle's grid as well as the universal grid. Thus, not only will vehicles function as solid, but their slanted surfaces can be interacted with just like normal blocks!
Now, another thing that would be nice is placing vehicles on vehicles; what about an aircraft carrier, or a tank with a pivoting top? Well, as long as vehicles define themselves relative to other vehicles like the avatar does, it shouldn't be a problem. To show how the class configurations could work, here's some pseudocode:
class MotionBlock extends Block
- Block[8][8][8] SupportedBlocks
class Vehicle- MotionBlock[] definingBlocks
- double[][][] pos
- double rotation (this is important for collisions!!!)
- region...or...something blocks (a configuration of blocks similar to the 'region' file, but without support for stuff like entities; collisions will take care of that)
That's it! What did you think? Anything that should be added or removed? Still implausible? Let me know!(also, I'm taking suggestions as to how to improve the format of this thread.)
[quote=Badgerz]You have to keep in mind that people are stupid.
[quote=Catelite]Just because you don't understand how something works, doesn't make it broken or pointless. >_<
Thanks for your feedback!