5 ms·
I was wondering when someone was going to mention Minecraft because that's a great way of illustrating to people something of just how vast the gulf to be cross
by mr_luc 13y ago
I was wondering when someone was going to mention Minecraft because that's a great way of illustrating to people something of just how vast the gulf to be crossed is.
There are graphical mods for Minecraft, but none that bridge the gap from "cube world" to "our world."
And even Minecraft has artifacts like floating islands and limitless water -- the voxels are meant to represent fairly unchanging substances like dirt and stone, and even the trunk and leafy volume of a tree, and they support a limited amount of state being attached to them, but they are not being computed constantly in a way that would make it possible to implement something like erosion or a landslide, or realistic water motion, etc. And when you try to imagine going much beyond minecraft, you realize that, crap, you'd have to be computing the entire (essentially unlimited) voxel world maybe several times a second ...
I think it will be done, but there's a good case for it NEEDING to be done in a massively multiplayer way, because the work of simulating the world becomes too large to be done by any individual user's machine.
- dragontamer 13y agoSingle-player fans can play Dwarf Fortress, which creates a custom 1000+ year history and has the most "realistic" damage formulas I've ever seen: http://dwarffortresswiki.org/index.php/DF2012:Combat http://dwarffortresswiki.org/index.php/DF2012:Combat * Contact Area: Determines the surface area hit by the weapon. Likely in mm2. * Velocity Multiplier: Effectively increases the velocity of the weapon swing. * Blunt weapons are all about weapon mass, contact area, and velocity. Apply a large force to a small area for bone crushing goodness. * Mass is likely material Density times weapon Size * Momentum is Mass times Velocity * Velocity is based on the Mass of the weapon, the Strength of the wielder, and the Velocity Multiplier of the weapon * Any impact must have a conservation of momentum, and thusly, impart the weapon's momentum to the target * Stress is the Force of the strike divided by the Contact Area * Material Impact Yield determines the Stress required to dent the armor (likely not used) etc. etc. etc. Oh yeah, Dwarf Fortress runs quite slowly. Its an ASCII art game that bring computers to their knees.
- Dylan16807 13y agoIt's also quite badly coded. And there is absolutely no reason it couldn't do sim on one core (or more) and rendering on another core, there just happens to be no 3d coder on the team, let alone artists.
- NoodleIncident 13y agoBadly coded beats not coded every time. The pair of them tried the whole 3D thing with their previous game, Armok. They said that it limited their options too much, so they decided not to do it. I don't think the core rendering speed has anything to do with that decision. Besides, there are passable tilesets available by replacing the fonts, support for individual bitmaps for every creature, and if you don't mind directly accessing the memory, even an isometric renderer (Stonesense). All of these graphical enhancements are made by fans, freeing the two of them making it to just make the game. The development log for this game is fascinating and occasionally hilarious. Today he implemented a system that lets refugees from conquered sites turn to banditry if they 'choose' to. A long time back, to test thermal conductivity, he took control of a magma man, grabbed on to an adventurer's head with both hands, and waited for its various tissues to catch on fire / melt.
- dragontamer 13y agoDwarf Fortress is memory-limited, not CPU limited. Running DF on multiple cores won't change the fact that the simulator taxes memory extremely hard. Taxing memory even more by including 3d rendering or PCIe transfers to a graphics card will slow down the game. Its a known fact that Dwarf Fortress is mainly effected by memory latency (and not cache size or memory bandwidth). Each simulated agent takes up a lot of RAM, and lots of their information needs to be updated in every game tick. Cache-optimization is near impossible. When the single CPU that runs Dwarf Fortress is almost always stalled waiting for RAM, then adding more cores to the mix does NOTHING.
- Dylan16807 13y agoMultiple threads of execution means you can saturate memory instead of alternating between fetches and computations. But I thought pathfinding and fluid simulation were big CPU hogs, and those can cache very well.
- Crito 13y agoI think that the difficulties you would face in trying to make minecraft more realistic are far greater than the difficulties you would face if you were starting from scratch. Trying to make minecraft realistic is like trying to paint over A Sunday Afternoon on the Island of La Grande Jatte to make it realistic. It just wasn't created with that sort of realism in mind, so you are working from a disadvantaged position.
- mr_luc 13y agoYeah, I don't mean a literal mod of minecraft. I just mean that it's a great illustration of what'd be entailed. If you start from scratch, you still need something like voxels, ie keeping track of many points in 3d space representing different kinds of materials, which is what minecraft has now. But then, graphical or behavioral perspective, Minecraft gives you an idea of what problems you'll run up against. Graphically ... holy cow. I don't know of anyone that's doing that, ie taking voxel data and making it look amazing. I did see a demo that looked a bit less blocky than minecraft, it wasn't cube-based, but rather used the 3d hexagonal mesh I think. It looked less blocky of course, but it worked with only grass and stone material. Behaviorally .. also, holy cow. I'm not sure if there's anyone doing that in a 3d game engine. Ie, voxel or volume world data representing materials, in a way similar to minecraft, but if you undercut a bank of dirt, it collapses ... to do that, you need to be constantly simulating the entire world with CA rules meant to emulate various physical properties of earth, water etc (not just the currently loaded world chunks, and not just a few kinds of very limited material types, like Minecraft's water and lava) probably at least several ticks per second. I suppose there might be ways to cheat or to legitimately exclude 'all-quiet' areas from needing to be updated, in some cases -- like the dirt example, I can see approaches that would propagate simulation outwards from an area centered on user-generated changes at the maximum speed that the evolution rules transmit information, and that might be able to leave large portions of the world relatively static ... although that wouldn't work so well for things like fluid simulation ... but the point is that, holy cow, we're a long way off!
- dragontamer 13y agohttps://www.youtube.com/watch?v=Gshc8GMTa1Y https://www.youtube.com/watch?v=Gshc8GMTa1Y Voxel technology is improving, and certainly exists at realistic levels. The question is... what game _cares_ about such details?
- pekk 13y agoMany of these "non-realisms" in Minecraft are specifically for better gameplay.