05-05-09 - Infinity

So there's this game Infinity which I guess has been in development since 1950 or something. Recently the tech post on Deferred lighting was linked around the blogosphere. It led me to this page, and there's some interesting stuff on it.

Back in 1999 or so I started working on my "Galaxy" codebase. My original goal was to develop my own VIPM codebase so that I could use it to make a game where you fly around a galaxy. I wanted to explore continuous scale zooming, to be able to fly from one star system to another, and then right down to planet surfaces. I conjectured that with the current hardware (TNT2) and VIPM technology I could do it and it would be amazing.

It turns out "Infinity" is roughly the same vision. I guess it's not that surprising, it's a common dream. I wanted to make a game kind of like "Trade Wars". I guess "Privateer" also was in dev around that time and was the kind of thing I wanted too, thought it would up sucking. Of course eventually Eve Online came out and did a lot of the things I wanted, but not in the way I wanted - I wanted more of a solo action game, not a team-oriented politics game. I wanted to actually fly my spaceship like in Wing Commander or whatever.

Part of why I wanted to make a space game in 1999 was that I thought the rendering and realism would be a lot easier. You don't have to draw humans or other soft bodies or hair or any of that kind of stuff that we don't do well. You just have lots of shiny metal and such. Everything is rigid bodies so you don't need a fancy animation system. Most of the art would be procedural so I could generate it from code and not have to hire artists except for the ships.

There's a lot of fun rendering and visual stuff you could play with in a Galaxy game; I always wanted to do atmospheric scattering - not just when you're on the surface, but from any altitude, so it would be really volumetric, with the varying density of atmosphere and different particulate composition as you get higher into space (and stuff you would see as the sun(s) go behind other planets and the light passes through the atmosphere around them). You could do fun nebulas and planet's rings, gases that speed up and radiate as they fly around a black hole, etc.

Anyway, I wound up never actually making the game or getting into the real space game technology (you have issues with coordinate precision for example; you need to keep absolute coordinates of everything in doubles and then transform your objects to be camera-relative for render).

The Infinity dev diary describes some good stuff. The terrain heightmap is procedural from noise functions that are evaluated on the GPU to make tiles. Texturing is with a kind of "splat" or "triblend" system; procedural blending by height & slope to select various patterns.

I wonder if you could now make a game that was "always on". Like the Galaxy/Infinity space game, and if you're not logged in to the MMO, time keeps ticking and your ship is still there. If it was an iPhone game or something, you always have your phone on you so you can keep logging back in all the time. You could do things like build your own starbases for trading, and if someone attacks one, it would ring your phone to let you know you should log in. Obviously this would be a horrible thing to do to people but also very compelling.


Sly said...

Funny, this made me remember about Ysaneya's work: he's been working for a long time on space and planets rendering, from the deep space to the detailed valley of any procedural planets:

And the Main project link of his GameDev journal is actually this Infinity project you've found.

cbloom said...

One thing that's always appealed to me about working on a big world MMO is that you could just get the world in place, and then keep adding things to it - new planets to explore, new stuff on those planets, etc. for the rest of your life you could keep growing and growing this world.

old rants