It’s all a question of scale

I have been thinking more seriously about developing one of my ideas for a game.
I was thinking I might be able to kill two birds with one stone as it were…

I came across a game development framework called Unity about a year ago and dismissed it as being too much of a game creator type product that only let you drag, drop and script… but It does let you develop for a large range of platforms Windows, Mac, Wii, Xbox360, iPhone, iPad, Android, PS3 and can be run though a Web Browser.

And it will let you script using C# or Java so I have been taking another look at it recently. I have to say I love the idea of creating a game where you only have to download 3mb + the data for the initial scene and then stream the rest of the game world data in as needed (when the player moves about).

But I need to play around with it some more, to see what it can do and what the limitations are, as always I suspect it is fine for your standard small static levels, but my ideas are rarely that constrained.

One problem I faced last time is that if you are using a float or even a double to store your vector information, at some point you will start to loose fidelity. If I want to model small objects such as missiles and buildings on the surface of an asteroid, and then want to be able to zoom out to an overview of the whole solar system all the time keeping things to scale in one fluid motion, then I will run out of digits of precision. 

A 32bit float will only store 7 digits of precision and the aphelion of Neptune (sorry Pluto) is about 4,546,000,000 km so unless the smallest unit we wanted to deal with was 1000km (which would make for a very long missile) then these distances won’t fit into a float.

Also just fitting everything on screen does not work either, if we take the camera out to a distance that can see the whole solar system you would only see the sun, and even out at the distance of Saturn the sun is so small that it would just look like any other star in the sky.

Last time I went to a lot of trouble to fake all this up, having different bands radiating away from the camera view where I would bring objects closer but scale down their size proportionally.

This time I am going to ignore the side of me that wants to keep to working with real scales and true orbits and go with something that will look alot more like the spores universe and solar system views.

And only apply physics to objects smaller than the asteroids. 
But what I would love to achieve with this game is a true multi-player, multi-platform real time strategy 4X game. Where you can log in from your iPhone and check up on your empire, issue some new commands and then log off and leave your units to get on with things.

Just like VGA Plannets, you would be able to view re-plays or reports of any events you where not on-line to personally witness.

But first things first I think I will try to create a tech demo of a deformable asteroid that you can place blocks on (representing buildings) and space ships that can navigate around the asteroid and shoot at each other using real physics. On a micro scale a battle around an asteroid would be a bit like a 3D version of spacewar.

The player would not have to worry about the physics behind it all, they would just issue movement, patrol or attack orders, set up trade routes etc and watch the ships carry those out using real physics.

If anyone has any experience with Unity or just C#/Java or 3D modelling in general and feels like helping, once again, just get in touch with me, It’s always better to work on these things with a group of people.

25 April 2010 ·

1 note

  1. dbennell posted this

About Me

Flickr Images