Monday, May 4, 2015

Update!

Controllers are now supported! I've been playing around with it and it totally changes the game! Gaze based interaction just isn't that great for controlling a space ship.

Anyways, here's all the changes I can remember making:


First of all there's this table to track how many bodies the player has discovered. There's also a little planet which can give a full view of the planet you have recently discovered.

I've also added a system which will stop the player when they get close enough to the options buttons so that you won't run too close to them (which can be uncomfortable).
The feet change opacity based on whether the player is walking or not, so that it is more clear that the player has started/stopped walking.


That's pretty much it. There's also some small tweaks but those aren't so important.

Wednesday, April 22, 2015

How I Got Around Floating Point Inaccuracies



This game is in space and space is big. It's minuscule compared to actual space, but as you can see in the video above, I encountered issues very quickly. This is not a new problem, it's happened before in Kerbal Space Program. They called it the "Space Kraken" and although it didn't tear apart any ships it still made the game unpleasant to look at.

The solution to the same issue was talked about in Squad's Unite talk. Instead of moving the ship, you move space around it. The issue with this solution was that I couldn't keep the ship's physics if it wasn't moving. It was probably possible, but I couldn't figure it out anyways.

What I did was that once the ship reached a certain distance from the center of the world, it's position is reset to (0,0,0). The world was moved by the vector from the ship's position on the threshold of escaping it's little bubble to the center of the world. This made it appear as though nothing but the had changed other than the perturbations which were gone now.

The variable chunkSize is the threshold of the "chunk" of space that can be traversed before the ship is pulled back to (0,0,0). When the distance from (0,0,0) is equal to chunkSize, the ship's position is set to (0,0,0). Furthermore, the solar system is moved by the vector bewtween the ship and the center of the world so that the solar system appears to move.

Monday, February 2, 2015

How to make 3D Planet Textures from Satellite Imagery

Planets are so deep and complex that creating textures from scratch for space scenes can be really hard if you don't have a good knowledge of geography.

Satellite imagery is a good source of geographical phenomenon as seen from space. I've found that you can create a lot of observable depth by zooming into an area of the earth. For example - using a portion of Sinai to create a rough, desert world.

You can find satellite imagery from a lot of places, for maximum originality look around in google earth (although it may not be very high resolution). NASA also has a gallery of photography of the earth from space, which can create some very interesting geographies. Another option i've found are these giant earth textures.


I'm using this image from NASA. The islands look like they could be continents. 


Load up the image in photoshop and crop out areas which might give you problems when making it seamless. In this image, I don't think I have enough information to handle the landmass on the bottom right, so I cropped it out.


 Select the right portion of the image, and move it to the left.




Now that it's on the left, take a soft brush and erase the side and do any other things you might need to in order to blend it in. The eraser should be enough. 


It doesn't have to be perfectly smooth. What this does is make the right flow into the left, so that there's no obvious seam on the sphere.



Now take a little more than half of the bottom and duplicate it.


Now flip it, this is so that when it's wrapped into a sphere, this wont have any strange seams at the bottom, smooth it out like you did the last one, and make sure it's not as uniform as the other side.


Now do it again for the top.


Next, in order to sell that this is a planet, we need to create atmosphere. I don't have any fancy shaders, but I do have this cloud map. Drag it on top of the image and change the layer mode to "lighten".



Now it's looking pretty planet-y.


You should decrease the contrast in order to give it a more faded look, like there's an atmosphere in the way.


 


I tried this with various other textures. This is an arid, forest planet.




Saturday, January 17, 2015

Update 1

I didn't think to create a development blog at the start of this project, but now that I have I will post some updates here. To show what is done so far, here is a gameplay video showcasing the current state of the game.



So... still a lot to do! Even for such a small game. Here are some of the planned features:

  • Different Planets
  • Planet Atmospheres and effects.
  • Warp Speed
  • More interior areas in space ship
Some of these may be absent in the initial release, just to roll the game out as soon as possible.


The visuals are far from done, the ship isn't textured and doesn't even have a backdoor. Here's concept art I did of what I want it to look like in the end.

I know it isn't the best art or anything, but the important thing here is the feel.