PlaneShift

Fan Area => The Hydlaa Plaza => Topic started by: zanzibar on June 23, 2006, 05:34:57 am

Title: How is this computer game possible?
Post by: zanzibar on June 23, 2006, 05:34:57 am
http://produkkt.abraxas-medien.de/kkrieger


It's less than 100k, but the graphics are... well just look at it. I'm stumped.
Title: Re: How is this computer game possible?
Post by: Karyuu on June 23, 2006, 05:37:21 am
Graphics are stored on the server, perhaps?

*takes a look*

*edit*

Quote
- We do .not. have some kind of magical data compression machine that is able to squeeze
  hundreds of megabytes of mesh/texture and sound data into 96k. We merely store the
  individual steps employed by the artists to produce their textures and meshes, in a very
  compact way. This allows us to get .much. higher data density than is achievable with
  normal data compression techniques, at some expense in artistic freedom and loading times.

What does that mean? :x
Title: Re: How is this computer game possible?
Post by: zanzibar on June 23, 2006, 05:49:37 am
No, it doesn't download anything... it's just... magic...
Title: Re: How is this computer game possible?
Post by: LigH on June 23, 2006, 08:22:18 am
I remember a graphic demo called "Omniscent", which played a "walkthrough" of the whole first level of "Descent" with textures, and even MIDI music ... in 4 KB! (yes, not more than 4096 bytes)

How did they do it? => Described the textures as formula, being calculated during the startup.
__

Here: Sanction PC demo crew (http://www.sanction.de/)

This demo requires MS-DOS (or a good emulator, like DOSBox (http://dosbox.sourceforge.net)), it will probably not run well directly under Windows XP.
Title: Re: How is this computer game possible?
Post by: zanzibar on June 23, 2006, 08:35:39 am
Is this something that Planeshift might at all benefit from?
Title: Re: How is this computer game possible?
Post by: LigH on June 23, 2006, 08:38:16 am
Probably not much. Guessing mathematical formulae to pre-render textures while loading is anything but trivial. And it may only reduce the download size, but not the in-game playing speed.
Title: Re: How is this computer game possible?
Post by: zanzibar on June 23, 2006, 08:40:01 am
Meh, you're right.  Besides... a 1 gig download just means bragging rights for the devs.:)
Title: Re: How is this computer game possible?
Post by: LigH on June 23, 2006, 01:04:00 pm
More detailed textures have their own advantages ...

But a smart decision about the textures format, especially chosing a common format, was not yet the top priority of the development team - there are so many different formats at the moment, and I even found several graphics which were made poorly, not using the features of specific formats correctly - e.g. different kinds of transparency definitions, wrong alpha channel distributions (see the "distant-tree" image borders), even different colorkey values for similar icons sometimes (compare the crystal icons with others).

Somewhere I read that the developers planned to introduce a common texture format. But I could not remember its name, it was too uncommon, probably quite proprietary. I hope it is related to some GPU internal texture-compression techniques (like S3TC).
Title: Re: How is this computer game possible?
Post by: ThomPhoenix on June 23, 2006, 01:30:59 pm
It think the game uses vectors. So instead of having an image of the surface of a tree, you simply describe the surface of the tree and the game renders it. It's cool and uses little space, but is very hard to do.
Title: Re: How is this computer game possible?
Post by: LigH on June 23, 2006, 02:42:19 pm
Trees as vectors - Which game?

PlaneShift - definitely not! You can see all textures in several ZIP archives, and planes when the transparencies are rendered wrong.

.kkrieger - uhm, where are there trees in the screenshots? (Can't play it, don't have a current GPU)
Title: Re: How is this computer game possible?
Post by: zanzibar on June 23, 2006, 03:27:26 pm
Trees as vectors - Which game?

PlaneShift - definitely not! You can see all textures in several ZIP archives, and planes when the transparencies are rendered wrong.

.kkrieger - uhm, where are there trees in the screenshots? (Can't play it, don't have a current GPU)


Kkrieger works on one of my computers but not the other.  There aren't trees, but there is a robotic minotaur...
Title: Re: How is this computer game possible?
Post by: Peacer on June 23, 2006, 05:28:18 pm
hmm some of the textures are only 1px, like the shots of some of the guns. It loads the texture multiply times so that it will be like a 50x50x50 box in the game, not every pixel in this box is the 1px texture but is nothing to not shoot a box towards the animal but a random hmm ball maybe.

Also some of the recources it uses could be in the systems directory already
Title: Re: How is this computer game possible?
Post by: Cyl on June 23, 2006, 06:06:16 pm
hmm some of the textures are only 1px, like the shots of some of the guns. It loads the texture multiply times so that it will be like a 50x50x50 box in the game, not every pixel in this box is the 1px texture but is nothing to not shoot a box towards the animal but a random hmm ball maybe.

Also some of the recources it uses could be in the systems directory already

Well, the textures as they are stored do not have pixels at all, they are stored as formulas which then are calculated into bitmaps during the load phase (because it simply works a lot faster)
Title: Re: How is this computer game possible?
Post by: Syilph on June 23, 2006, 06:52:33 pm
Everything in that game is generated by the executable file and "exploded" into your memory (phisical and virtual). It is somehow comparable with the fractal generator programs, you use a math formula to describe the environement and based on that formula you'll get a bunch of pixels on your screen. So, yes, ThomPhoenix is right, the game engine uses vectors. He only used the wrong example (the tree thing) but it was just an example. ;)
Title: Re: How is this computer game possible?
Post by: LigH on June 23, 2006, 09:18:08 pm
Of course - a famous example for computed structures (like trees) is the so called "L System": Each branch is recursively expanded, and a Fibonacci like length development makes them look naturally grown.

Another famous fractal-like structure, often referred to as "plasma" is the concept of "Subdivision and Displacement" (calculate the middle between two points as their average and alter it by a random amount). But the "Perlin noise" concept is more flexible, it is based on frequency generators.

Two of the first games that used a few calculated texture animations were "Shadow Warrior" and "Blood" (successors of "Duke Nukem 3D", based on the "Build" 3D engine).
Title: Re: How is this computer game possible?
Post by: Xordan on June 25, 2006, 03:49:53 am
This takes advantage of DirectX a lot. It basically just gives DirectX instructions to your OS and gets that to do all the work.


Edit: Just looked and it uses up about 200mb of ram when running. So I'm probably accurate in what I said.
Title: Re: How is this computer game possible?
Post by: neko kyouran on July 13, 2006, 03:47:27 am
Not to really bring up an old post but here is a link for your reading pleasure about it:

http://en.wikipedia.org/wiki/Procedural_generation

Should explain how it works.
Title: Re: How is this computer game possible?
Post by: josephoenix on July 17, 2006, 08:53:39 pm
This takes advantage of DirectX a lot. It basically just gives DirectX instructions to your OS and gets that to do all the work.


Edit: Just looked and it uses up about 200mb of ram when running. So I'm probably accurate in what I said.

I'm not sure but I think that DirectX includes alot of textures in it, which makes it easy (well, easier at least) to generate new ones "brick texture + moss texture + bloom effect = shiny mossy wall"

It's still an interesting proof of concept... of course old game cartridges had less than a megabyte and still managed to be enjoyable :D

josePhoenix
Title: Re: How is this computer game possible?
Post by: hook on July 17, 2006, 09:10:41 pm
Of course - a famous example for computed structures (like trees) is the so called "L System": Each branch is recursively expanded, and a Fibonacci like length development makes them look naturally grown.

I'd love to see the L system in PlaneShift though :D ...or at least trees and undergrowth that's not just two sprites. Fact is that I've fallen in love with PS amongs other things also because *some* of the trees here are nice and complex - pretty lifelike! :D

PS benefiting from kkrieger? Not likely - reasons already mentioned by Cyl and others.
Title: Re: How is this computer game possible?
Post by: LigH on July 17, 2006, 09:25:01 pm
I somehow believe to remember an implementation of the "SpeedTree" system in a CrystalSpace demo. If I am not wrong.

But we have to be careful about that. The more natural trees may look, the more details and triangles they will need, and the less smooth an area will render for the poor people with outdated graphics hardware!

PlaneShift shall be a roleplaying experience. Not a 3D technology demo. ;)
Title: Re: How is this computer game possible?
Post by: Karyuu on July 17, 2006, 09:29:54 pm
TTO uses SpeedTree, but they cashed out an insane amount of money for it. This is not something PlaneShift can affort - unless we can raise 8k USD in donations.
Title: Re: How is this computer game possible?
Post by: Xordan on July 17, 2006, 11:27:32 pm
Our code license (GPL) also doesn't allow us to use software like SpeedTree. We would have to change it to LGPL.
Title: Re: How is this computer game possible?
Post by: LigH on July 18, 2006, 07:25:06 am
It wouldn't require "SpeedTree" exactly, anyway. Possible technologies are documented quite well. We already had a thread about a walkable deep forest.

And before we talk about implementing new technologies, first let the developers implement the current ones correctly. You know there are still a few flaws (like texture sharing, transparency).
Title: Re: How is this computer game possible?
Post by: willelmo on July 25, 2006, 03:37:07 am
I think it is same way possible as is this demo ;)

64k demo from Assembly 2003
http://www.scene.org/file.php?file=/parties/2003/assembly03/in64/zoom3_v1_02_final.zip&fileinfo
At end credits there is mentioned how much it really took, sounds were alone 70MB, but everything is crunched to very small.