
Matheminecraft: Where math and Minecraft meet - lelf
https://phys.org/news/2020-04-matheminecraft-math-minecraft.html
======
freedomben
Unfortunate missed opportunity to build on top of Minetest (an amazing open
source clone of minecraft that works really well) instead of re-implementing
the hard parts yourself (unless that was part of the fun, which I totally
understand!).

If anyone is thinking about doing something like that, you can develop entire
games as "Minetest mods"[1] which would have allowed him to mostly just write
"business logic." I've started writing a "game" using that myself.

Nonetheless, great idea and I'm glad to see it happen!

[1]:
[https://dev.minetest.net/Modding_Overview](https://dev.minetest.net/Modding_Overview)

~~~
sdegutis
Wow, Minetest looks really cool: Minecraft clone with a Lua API for modding.
This may get us back into using Minecraft modding as a way to learn
programming.

EDIT: Oh, it's a game engine. Is there a basic 'vanilla' Minecraft clone based
on Minetest, for this purpose?

~~~
a1369209993
> Is there a basic 'vanilla' Minecraft clone based on Minetest, for this
> purpose?

Yes, it's the default `minetest_game` that comes with the game (as well as
`minimal`). Note that the redstone-alike mesecons is a separate modpack (which
isn't a problem in practice) as is mob support (which is).

------
haolez
One side project that's on my bucket list is to implement very far range of
view on Minecraft-like games (e.g. Minetest[1] and Terasology[2]). Something
like what we see in Battle Royale games or open-world shooters like Farcry.
It's a little frustrating to have such beautiful worlds in these games and not
being able to see a large part of it in a stunning landscape.

I have no ideas what kind of techniques would be required. I'm not a computer
graphics guy :)

[1] [https://www.minetest.net/](https://www.minetest.net/) [2]
[https://terasology.org/](https://terasology.org/)

~~~
sscott
I am a computer graphics guy and I reckon it'd largely be a memory issue.

Essentially Minecraft is a voxel system which grows at a cubic rate.

This will quickly fill your GPU's memory and shortly there after system memory
and shortly after that storage memory.

Rendering it on the other hand would be relatively trivial with a marching
cube algorithm using one or more rays per pixel.

~~~
lainga
I thought you might render a snapshot of each few chunks from maybe 16 angles
and compose them together like backdrop pieces on a stage. Update the snapshot
every time a player moves over that chunk. Just patch into the render
function: are we within the (basegame settings) chunk draw distance? (yes) -
render the chunk - (no) - retrieve the "backdrop piece" for that chunk from
this view angle, and draw it behind everything else rendered so far.

You could even add atmospheric effects to cheat and only save a monochrome
image, then tint it progressively bluer and bluer (but not invisible) with
distance.

~~~
sscott
But you've still got to load the chunks from some massive dataset stored
somewhere and you can still look/run around in a full sphere at 60fps?

The backdrop pieces are effectively where the rays hit as far as I can tell
from your description.

One memory optimisation I can think of is to store a bvh of the empty space
and traverse that. Using a signed distance field might also help in the ray
marching.

~~~
haolez
Maybe we could use something similar to PostGIS' spatial indexes to fetch only
the cubes that we need.

------
Tainnor
The proof of the characterisation of Eulerian graphs is really neat and one of
my favourites. It basically just starts with "choose a maximal trail" and the
rest writes itself if you think about it long enough.

------
tenaciousDaniel
I suppose "mathcraft" was taken? :p

~~~
tommsy64
A quick search shows MathCraft Security Technologies [1] and MathCraft(TM):
Math In Action [2] by Cycorp both exist.

On a similar note, I find it amusing that accidentally going to minecraft.com
instead of minecraft.net brings you to the home page of a literal mining
engineering consultancy [3].

"MineCraft Consulting provides innovative solutions and project management
services for coal mining projects in Australia and Overseas."

"MineCraft is a registered trademark of MineCraft Consulting Pty Ltd."

[1] - [https://www.mathcraft.com/](https://www.mathcraft.com/) [2] -
[http://mathcraft.ai/](http://mathcraft.ai/) [3] -
[http://www.minecraft.com/](http://www.minecraft.com/)

