Trolling maths blogs this morning reminded me of the emphasis Dig, Robot, Dig is supposed to put on math and physics. I have been neglecting this on tumblr because tumblr responds so well to pretty pictures.
Anyway, the gif shows a recent technical achievement. The game now recognizes when the player transitions from one arbitrarily sized area to another IN SPHERICAL COORDINATES. Ok ok, I know the math involved won’t be anything special to some, but I think I might be making a big mistake in not hyping the ideas that started this project.
The most important idea? The spherical world. I really wanted to see that in a voxel sandbox. I went looking for it and found instead fifty thousand billion Minecraft clones. *Sigh*
This is where the Physics comes in. I studied physics in college, and with it math and computer science. I graduated, lost my tutoring job, and have yet to find more work. So, what does a young man with science in his heart do? Make a video game of course.
The math involved in making the spherical world is just a set of equations that convert points in spherical coordinates(r, phi, and theta) into points in cartesian coordinates(x, y, and z). Defining faces and blocks in spherical coordinates is easy enough, and once the necessary points are in cartesian, Unity(or whatever) can use them to make the geometry. The rest is game logic.
After figuring out this much, I kept going with the physics. What else could I introduce to the block sandbox that wasn’t already there? Honestly, my first idea, and the one I’m still the most excited about, its being able to fall on your ass. Seriously, that brings up the other major point. I’m requiring that the player be a legitimate physical object in game. So far it works great. As a consequence of being a real object, the player gets stuck on edges, vaults over them, and can be knocked around.
Actually, I’ll go implement that last one right now. Added.
I’ve been warned against this. He runs and turns too quickly, jumps too high, and can somehow control his movement mid jump. I get it, and that’s one reason why a robot protagonist works better here. But, exaggerating speed and agility alone aren’t enough. The player needs super powered getting up action. Recovery mechanisms need to be just as dramatic as the actions. The player falls over because he was always able to. The forces that keep him standing are as exaggerated as the others that move him around. The point: I didn’t originally intend for him to fall over. And look at it… hilarious!
So, along side the pretty pictures will be more of this kind of thing. The technical side needs to come first, mainly because I feel like some of the things I’m trying are worth writing down.
Whats next? The big hurdle has been bigger worlds, and that’s where the original image comes in. Its the first step in developing a chunk system. Its not an entirely undocumented or exciting element, so what else? The blocks used to heat up, and glow, before being destroyed. The new and improved version of that code is in the works.