Ok, so I am brand spanking new to Unity… i’ve dabbled a bit here and there, but never really learned more than just the basics. The type of game I’m looking to create, is not an MMORPG or a platformer… More a Let’s Build everything environment. So ultimately I’m going to need to figure out how to generate items in game, and have them work with real world physics. So at the bare minimum… I have a 12inch rod of 1/2inch steel - i need a threader tool. I have a cube of steel - i need to angle the edges and cut out the centre and add a thread to the hole… combining them all, I have a threaded bolt, than can now attach to a threaded nut… I know this sounds kind of basic, but i imagine the intricacies in a freeworld environment where you can literally grab any materials you could hope to find in a hardware store, and utilise them as best you can… Timber, Nails, Screws, Bolts… Ultimately i’d like to be able to build complex tools Benchsaws, Skilsaws, Wood Planes, Drills and Drill presses. Obviously without microcircuitry requirements at this point… perhaps that comes later I’d settle for a pedal powered pottery wheel and a bellows pump for a kiln
Anybody have ANY ideas in what direction of learning I should aim my primary drive, and even a roadmap of things I will need to lean along the way. I’ve got a broken back, so I have all the time in the sodding world lol!
I have seen SOOO many “How to build a platformer game”, and “How to build an MMORPG”, and “How to build an ‘Asteroids’ game”… I’m wondering if something similar is out there that could point me in the appropriate direction
This is anything but. You are basically describing what would end up being one of the most technically complex games ever made, especially if you want it to even approximate real world physics. Starting with things like platformers and other small games is generally recommended because it helps you come to grips with the kind of things that show how much of a monumental undertaking a game like this is.
This is actually a complex project, and the right direction would be to read documentation, script reference, tinker for unity for 2 or 3 months and only then maybe attempt it and that’s only if you had previous programming experience, otherwise it will take longer… and even that is only possible if your “build everything” means “create objects from known recipes”. Meaning you feed items A, B, C to crafting bench and it spawns placeable Q.
However, if you want freeform modeling (as in being able to LITERALLY saw off a piece of brick, any piece, at any gangle), then your project isn’t going to happen, because you’ll be effectively creating modeling software that can simulate CnC, and given that you’re asking the question here you do not have the skills.
If you simply want a classic crafting in the style of minecraft and other games, then it is doable. If you want to actually drill wood in free form fashion then it is complexity on the level of software that costs several hundred bucks per year in subscription fees.
If you still insist to boldly walk the path of total total freedom to hack materials to pieces, then you’ll need to look at dynamic mesh generation, boolean operations on 3d geometry, constructive solid geometry, voxels and dual contouring. That will keep you busy for months if not longer. And THAT assumes that your tools (like drills and saws) are special objects that are programmed to slice/drill anything and said action is not determined by physical properties or simulation.
If you want to simulate working drill going through piece of material, and ensure that it cuts not because you scripted it, but because of its movement and physical properties, then difficulty goes even further up, as you enter o field of FEM, material simulation and so on, meaning engineering software. At this stage it is no longer worth it unless you plan to compete with companies that offer cloud computing services dealing with this.
Wow Great post Neginfinity, thanks! Yes, I realise the complexity goes far beyond anything my current skills could even begin to fathom. Hence the questions. At least, if I’m going to learn, I’m better off learning in the right direction. You’ve given me names of concepts I have heard of, but don’t understand in their entirety in this environment. Technically I have an infinite amount of time, as I broke my back and have nothing better to do than to sit around trying to see what I can learn!
I kind of equated what I was doing, to taking your average game like “Scrap Mechanic” or even Minecraft, and introducing them to the real world. Effectively creating a CAD package but in a game format, where you can grab, cut, mold, measure, spin etc… i.e do whatever you like. So yes, freeform modeling. Not even necessarily as a “Game” but as a combination game/prototype simulator. Drill holes in spheres, secure them to rods, create a timing gear mechanism and have a working model of our solar system with sun planets moons and all
Yes I realise the scope is enormous - and I realise it’s never going to happen in the short term - I was just hoping the community could point me at the right techniques to learn to save me sinking time in the wrong directions.
Ok step back a little bit… How about something simpler… Before I get all the “Never gonna happen” comments… How about a tutorial or an existing Meccano simulator? Does something like this exist as yet?
And in fact “The Fantastic Contraption” POSSIBLY is the closest to what i’ve seen so far in terms of freedom lol! It’s what gave me the idea originally.
I’m not aware of it. Simply put this kind of project is going tot be advanced level or higher, and at the point where programmer starts creating cosntruction kits, they no longer need a tutorial. Tutorials are normally aimed at teaching basics. This is way beyond basics.
Advanced or higher means:
Lego-style constrction → advanced level
Free-form ocnstruction from parts with bolts, nuts and ability to make complex robots → expert level
Free form destruction of objects with scripted saws, drills and the like → Master level.
FEM-based destruction based on material properties and movement speed. → Grandmaster level or god-level. Some of the most powerful cad programs can’t do something like that.
Meanwhile you can probably do an “assemble everything that work sloppily” in a few month. Basically a game where you abuse the physics system of game engine and to “parent” things together hapazardly and they have physics applied to them.
Dumb physics games also have the property of endlessly amusing their creator while they do (or think they do) a game.
EDIT:
ALso to get close to your initial idea, the shortest path to emulate that, is to get a good understanding of:
0. programming language structure (for optimization)
voxels representation at large (structure and optimization)
marching cube (first) / dual contouring (second)
Convex volumes creation
graph structures
collision math
physics material and particles
You can also look at youtube to see walkthrough of game that do similar thing, so you know how they cheated to get result fast (ie replacing all the complex material manipulation by simple canned animation as transition to object swapping).
So it’s more or less possible at various level of quality and fidelity … depend on what you want to compromise. SO best is to start with very crude approximation anyway, like assembling physics primitives.