I get ideas from all kinds of sources. Sometimes, I see something neat in a movie, or I look at a website and there’s a cool concept that spurs another idea in my head. Well, I was puttering around and found this video via Hackaday of a lego-ball-driven car.
I have a project list, so I can jot down an idea and assign it a number. I don’t do these sequentially, typically I follow the classic pattern of Teardown (or any other game) modding:
I do actually finish some of them. I do like to rotate between different projects when I feel I’ve hit a wall, or I just am sick of looking at the same thing for months on end. That break usually allows for more thinking about how to improve things in general.
This particular idea was number 25. (As of this writing I have about 47 ideas and I add to that on an ongoing basis.) The concept was interesting to me for a few reasons:
- There is a built-in vehicle system/entity in Teardown, but its a bit finicky and it is very easy to crash the editor if you don’t get everything just right.
- The vehicle entity requires a setup that is Magica-native, in terms of a compound model with shapes nested in its structure. (Yet another thing I really don’t want to mess with. I like Qubicle anyway.)
- Vehicles have some limitations when it comes to behavior of lights – they only turn on when you’re driving, for instance. There are some hacky ways around it, but I didn’t like any of those approaches.
- Driving using regular wheels means accepting the suspension/turning design, it is very hard to change that substantially with the vehicle entity.
- Omnisphere wheels are cool as hell, and enable neat tricks like “Crab Mode” when driving.
- I could make my own light systems and control them however I wanted, including everything else, like chase cams, etc…
So omnicar it is!! My first attempt was rather — plain. But you have to start somewhere, right?
For all intents and purposes, this was the base chassis of the car. Those wheels? I know they look a bit clunky, but the Teardown engine treats individual voxel cubes as spheres for collisions, so I knew they would roll okay. I just had to figure out how to get that done.
This involved making a in-game test rig, where I messed with joints (an entity type that does what it says, links two parts together with varying degrees of freedom) to find the optimum solution. My first try was a cage-like system lined with rollers, but that didn’t perform too well.
The collisions would slow things down and generally it was really clunky. However, I did come up with something — I just had to apply “game logic” to my design process.
(To be continued…)