Sunday, December 23, 2007

New Team Member Joins

Welcome to the team Roop Bhogal www.RoopBhogal.com who will be working on concept art.

Current Team:

Stephen Vickers (Me), Design & Programming

Liz Vickers, Assistant Design & Languages

Mike South, Assistant Design & 3D Models

Gilles Ketting, Concept Art (Part Time)

Seth Krueger, Concept Art

Roop Bhogal, Concept Art

PJ @ Full Motion Audio, InGame Music

Luke Stephenson, Additional Game Music

Ships Get Thrusters

Particle System gets its first use.




Currently Blue for goodie ships and Red for the baddies.





Particle system starts to work well as we add thrusters to the ships.



Upto 3000 particles vissible on screen at any time.













Wednesday, December 12, 2007

Players Ship almost complete

After working closely with my 3d design person (Mike South) we have finally almost finished the players main starting ship.
The model uses various Texture maps, Light maps, Normal maps and Specular maps to create what becomes a great looking space ship.

I have had news from PJ (one of our music guys) that the first ingame score should be finished over the next week.

The music from PJ combined with the model by Mike should add a great deal to the games progress and overall feel.

Friday, November 23, 2007



More Green plasma, it matches the Green laser too! :-)



Particle system begins taking some sort of shape.




You just can`t beat some nice Green Vapour in a space game :-)

Concept Art



Concept art work comes in to us.

Gilles Kettings amazing concept work here shows the players main starting ship.

I am currently working on the main particle system, which when complete, should allow us to add thrusters to the ships in game so far. Expect to see pictures here.

Various bits have also been improved over the last week or two, including fixing the main ship. Which use to judder around slightly, is now perfectly smooth. (no more camera shake, unless we want it!).
We are in talks with more artists for 3D Model work and Music ideas and hope to have news soon.

Wednesday, November 21, 2007

New GamePlay Video.

A brief video to show the planets and asteroids.


Tuesday, November 6, 2007

Added 302,400 individual Asteroids!

Woke up on Sunday morning, about 8am I think. While lying in bed I thought of a great way to generate thousands of individual asteroids, each with it`s own size and orientation etc etc


Each of the current 302,400 asteroids have their own unique position and orientation in space. If you where to mark one asteroid, fly away, and then come back to the same location later you would see that same asteroid. ie they do not randomly re-generate each time you aproach them, they are constant entities.

In this photo you can see just some of the 302,400 asteroids. Some of them are rotating about X,Y,Z axis (or any combination of) .

The problem was that an asteroid belt can contain hundreds of thousands of individual asteroids and I can not store that many coords and their respective orientations and size! (not to mention their chemical compositions! and ore contents)









The soluton...


As I lay in bed it became obvious how to solve this problem. The key is that asteroids form Asteroid BELTS and Not asteroid FIELDS! ah-ha, A belt being a simple sin & cos 2d circle formula!
1. Break asteroid Belt into segments, I decided on 0.1 degree per part. ie 0-360degree circle = 360 degrees at 0.1 degree increments = 3600 centre points!
2. check if this centre point is visible? If no then, just display the location by way of a text name in the distance to the player every 1 degree increase.
3. if the centre point is in visible range then, loop through 84 asteroids, placing each one at a generated offset from centre point. Also generate starting oriention and size, then rotate in real time based on Game time.

All this runs at an amazingly fast speed and so doesn`t even slow the game down.
Expect a blog statement at somepoint, when I fully intent to increase the asteroids count by ten fold at least.
ie expect it to go to 3,024,000 asteroids per Belt and expect upto 5 belts per system,
giving an amazing 15,120,000 (15 million) individual asteroids in on solarsystem.

Each of the 15 million asteroids will have its own fixed position,size and orientation. Also its own unique chemical composition (to be mined by player if they wish to!).

Saturday, November 3, 2007

Finally added the Moon Routines!



The Planets have been in for awhile and so has the moon data. Now I have finally added the first moon drawing routines in. Enjoy your flight :-)

Gameplay Videos on YouTube

Thursday, November 1, 2007

Sunday, October 28, 2007


Well, here it is! My beta version at displaying the galaxy to the player relative to the current solarsystem that he is in.
There are lines to the directly neighbouring systems and they are highlighted white, instead of yellow.

The Coords will be replaced by system names & Coords at somepoint.

This whole view can be zoomed in and out and also rotated around the verticle dimensions.



.. The SolarSystem view can also be rotated now to improve the players viewing ability.



A nice side shot of the players ship, with the Earth in the distance.














SolarSystem Map View


Ok, now we`ve got a simple Solarsystem map.
Map can be zoomed in and out, you can click on a planet and Autopilot kicks in and starts to fly you there.
On this screen I will make it so you can plot a course to planets or bring up information about panets and objects in the system, ie main trading, mineral contents of moons, asteroids and comets too etc etc...
I am currently struggling to get a visually pleasing schematic view of the Galaxy to allow the player to select a Solarsytem to fly too!
I think I need a 3D view that can be rotated around and near by Systems can then be clicked on to bring up more details and plot a course to!
I hope to post my solution to this soon, once I work out how to display the data to the player.

Thursday, October 25, 2007

Ships get a revamp!

Weapons are still, working, but basic! Scenery and ships are getting better each week tho!





Ships are now `bump mapped` with specular highlights too.






Added a model scale routine so I can (on the fly) scale any model up/down to fit my scene scale. Will prove handy for very large cruisers later on, as there coords can be limited to a max distance and I can just scale ship model down instead (giving the impression of distance!)





Monday, October 22, 2007







Now things seem to be in a working order it`s time to get distracted by visual improvments.






First on my hit list is to quickly learn about Shaders (vertex and pixel shaders 2.0).



Right, after a few days I`ve got ot working. Next I learned how to introduce `Bump Mapping` with my Shader code.


First place to benefit from my new shader routines are the planets. I now have an Earth planet with Diffuse Light, Ambient Light, Specular Highlights, Bump Mapped texture, cloud texture and even a city lights texture that very nicely makes all the citys light up on the dark side of our rotating planet.


See the New and improved screen shots.





Notice a subtle blue tint at the top of the screen. This is done by my Post process Screen Shader Test code. (ready for realy cool HDR Lighting and Glow & Glare routines - I hope!)
But for now, next on my Shader list is to improve the space ships, by adding, Specular highlights and shiney surfaces!!!! You will see! O and of course Bump Mapping too!

Sunday, October 7, 2007

Screen Shots

Here we are, a space ship flying around in a `Real Size` solar system.

You can fly between planets and the sun, no jump gates or worm holes and absolutely NO Loading screens in-between!


More pictures to follow...











The Sun still needs some visual work.



The Solution

The Solution:
The solution in a word... Grids! Ok, grids you say! Yep.
Now look at this example for number storage...
a INT(whole number)/FLOAT(floating point number) variable storing between -50,000.0 to +50,000.0 (ie 0.0-100,000.0) units. Where 1.0 unit = 100m , ie 10.0 units = 1km.
Now look at this...

Galaxy, Solar, Sector, Local
INT, INT, INT, FLOAT = 0 to 100,000,000,000,000,000,000,000 m

ie Sun to Earth would be 147,000,000km. Broke down to above grid would be...

Galaxy, Solar , Sector, Local
0 , 0 , 1470, 0.0 ie 1470 * 100,000.0 = 147,000,000km


100 Light Years would now be...

Galaxy, Solar, Sector, Local
0, 94608, 0, 0.0 ie 946,08 * 100,000 * 100,000 or 100 Light Years!


Problem solved, ok I might have to adjust the specifics and tweek values. But the idea is sound and can in theory store any number of ANY size just by adding more grid components.



With the Big number problem solved, I was able to start adding `Real Size` planets to my space scene. They are drawn by my custom Sphere generation routines in real time. They still need lots of nice Bumb Mapping, Multi-Textures etc etc...

First Steps!


Already started this project a few weeks ago, so I will try my best to remember whats happened so far!!!

The Project:
Create a space game for the PC. One which actually has a Full universe to explore a fly through, UNLIMITED! ie NO Worm Hole or Jump Gates to travel between small limited space sectors!

Must Avoids:
If you want to play a space sim type game, then you need SPACE! Not a bunch of Non-connected small areas - with nice shiney lights and sparkling nebulae and a like!

Most space games that I have played do not give the idea of Space! Elite back on the Amiga, so many years ago, did! The reason I believe is that you could actually fly from one solar system straight to another solar system! No need for Jump Gates and alike!

Key Areas To Overcome:
The biggest and most demanding area of programming to overcome has got to be the whole scale of space, and objects in space!
Example, if 1 computer unit = 1 meter (m), then
distance from Sun to Earth would be 147,000,000,000 units/m!
Ok you say, whats the problem there?
Well, not even considering larger distance ie Sun to Pluto 4500,000,000,000 m a computer stores numbers in Variables called Floats or Integers (of various types). These variables can only hold numbers upto a certain size!
I am pretty dam sure that a computers Float variable can not acuratly hold numbers as big as 147-4500 x 10^9 as shown above!
Ok use an Interger variable, say INT32 ( a 32bit integer variable ) that should be fine! Cool, sorted - or Not!
Now consider the distance across our whole Galaxy, approx. 100 Light Years I think or 100 x 9460,800,000,000 units / m!
It is now getting clear that we can not possible expect to store these vast distances in a single computer variable, even if we did manage to fit them into say a INT64 (64 bit number) or bigger! - we would then have rediculous problems with the maths calculations just to run the game!