wolframscience.com

A New Kind of Science: The NKS Forum : Powered by vBulletin version 2.3.0 A New Kind of Science: The NKS Forum > NKS Way of Thinking > kkrieger -- a complex FPS game in 96K
  Last Thread   Next Thread
Author
Thread Post New Thread    Post A Reply
edpegg
WRI

Registered: Jun 2004
Posts: 18

kkrieger -- a complex FPS game in 96K

One of the classic game types is the First Person Shooter, done in such things as Doom, and the upcoming Doom3. Typically, these are large installations. With the sounds, art, and meshes, some games now require a Gigabyte to install.

http://www.theprodukkt.com/ has released a complex FPS that fits in just 96K. In order to do that, they had to employ scads of NKS-type thinking.

Here is a quote from the description:

- 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.

Attachment: kkrieger-beta.zip
This has been downloaded 2648 time(s).

Report this post to a moderator | IP: Logged

Old Post 07-23-2004 09:27 PM
edpegg is offline Click Here to See the Profile for edpegg Click here to Send edpegg a Private Message Click Here to Email edpegg Visit edpegg's homepage! Edit/Delete Message Reply w/Quote
edpegg
WRI

Registered: Jun 2004
Posts: 18

The Beyond demoscene

With some more looking at this stuff, I found the world of demoscenes. These objects are full multimedia productions with music and 3-D objects, all crammed into programs of 64K or less.

I attach a demoscene called Beyond, which is actually smaller than 48K in size. Despite the tiny size, it generates a number of galaxies, planets, and realistic looking space scenes. Quite amazing. And well in line with NKS.

Note... it's a Windows program. There are similar demoscenes for Linux and Windows.

Attachment: beyond.zip
This has been downloaded 2248 time(s).

Report this post to a moderator | IP: Logged

Old Post 07-26-2004 03:22 PM
edpegg is offline Click Here to See the Profile for edpegg Click here to Send edpegg a Private Message Click Here to Email edpegg Visit edpegg's homepage! Edit/Delete Message Reply w/Quote
Seth J. Chandler
University of Houston Law Center
Houston, Texas, USA

Registered: Oct 2003
Posts: 20

Tell us more

This is truly quite astonishing. Could you provide some more information on how it is done?

__________________
Seth J. Chandler
Foundation Professor of Law
University of Houston Law Center
Houston, Texas 77204

Report this post to a moderator | IP: Logged

Old Post 08-11-2004 01:23 PM
Seth J. Chandler is offline Click Here to See the Profile for Seth J. Chandler Click here to Send Seth J. Chandler a Private Message Click Here to Email Seth J. Chandler Visit Seth J. Chandler's homepage! Edit/Delete Message Reply w/Quote
Jason Cawley
Wolfram Science Group
Phoenix, AZ USA

Registered: Aug 2003
Posts: 712

While I don't know the details of these particular programs, I see the basic idea. The point is to view compression differently, not operating on the data afterwards, but via the rules that generate it, beforehand. The underlying idea being the familiar NKS intuition that simple rules can produce complicated results.

Since the graphics artists use visual editors to create their computer artwork in the first place, their actual control inputs to their editor are all that actually needs to be kept as pure data. Then those control inputs can be fed to the same routines their tools use to generate the computer art. Rather than generating that art once and storing the results, which takes a lot more space.

This is somewhat like keeping only the rule 30 specification rather than the pattern that rule actually makes when run. That the rules then produce a striking variety of images, is an example of relatively simple rules producing complicated results when iterated.

The iterations in this case correspond to things like "draw this shape at this scale and rotation in this succession of positions" - the sort of thing a computer artist's development tools typically do for him. The innovation here is to keep only the control inputs and not their results, in the executable.

Report this post to a moderator | IP: Logged

Old Post 08-11-2004 09:12 PM
Jason Cawley is offline Click Here to See the Profile for Jason Cawley Click here to Send Jason Cawley a Private Message Edit/Delete Message Reply w/Quote
edpegg
WRI

Registered: Jun 2004
Posts: 18

More demoscenes

I'll be writing a column about these for maa.org. Jason is exactly right. These fantastically compressed movies are basically rules and programs to exploit those rules.

In the attached 82K file are 8 demoscenes. All are for Windows systems, though there are demoscenes for all other systems, especially Commodore 64 and Amiga.

The first category -- 256 bytes
Lattice -- a camera inside a crystal lattice
Spin -- a flying Sierpinski gasket on fire
Tube -- meshed 3D spirals.

Next category -- 4K programs
Cosmoblop -- Text rendition of the sun
saveme -- Mangled rolling cubes
Angeles-XP -- A very colorful city
micropolis -- city, train, and giant robot

I also include a 64K program, The
Prophecy. The space scenes, nature scenes, and city scenes are all quite spectacular.

Attachment: demoscenes.zip
This has been downloaded 2255 time(s).

Report this post to a moderator | IP: Logged

Old Post 08-13-2004 02:59 PM
edpegg is offline Click Here to See the Profile for edpegg Click here to Send edpegg a Private Message Click Here to Email edpegg Visit edpegg's homepage! Edit/Delete Message Reply w/Quote
Jason Cawley
Wolfram Science Group
Phoenix, AZ USA

Registered: Aug 2003
Posts: 712

The dimension and equation based joke was that with 70 parameters you could make an elephant, and with 80 you could make it dance. The rule based, simple program version would seem to be, with 4k you can make a city and with 64k you can run a movie of it being blown up, complete with soundtrack. Algorithmic complexity theory, call the office...

Report this post to a moderator | IP: Logged

Old Post 08-13-2004 06:46 PM
Jason Cawley is offline Click Here to See the Profile for Jason Cawley Click here to Send Jason Cawley a Private Message Edit/Delete Message Reply w/Quote
Rickey Bowers Jr.
bitRAKE Studio
Monterey, CA, USA

Registered: Aug 2004
Posts: 3

Better models produce better compression. Fractal compression works on that premise as well.

We are simply creating a division between code and data, but no such realistic division exists. One might try to argue that a database is 'pure' data, but it has no usefulness without software to display, manipulate, etc. One might try to argue software is 'pure' code, but every programmer uses constants, or external data.

__________________
"Where nobody knows anything, there is no point in changing your mind." - Bertrand Russell

Report this post to a moderator | IP: Logged

Old Post 08-18-2004 07:17 PM
Rickey Bowers Jr. is offline Click Here to See the Profile for Rickey Bowers Jr. Click here to Send Rickey Bowers Jr. a Private Message Click Here to Email Rickey Bowers Jr. Visit Rickey Bowers Jr.'s homepage! Edit/Delete Message Reply w/Quote
Seth J. Chandler
University of Houston Law Center
Houston, Texas, USA

Registered: Oct 2003
Posts: 20

Perhaps the fact that Ed Pegg's work could be done is so obviously implicit in a New Kind of Science that I should not have been astonished by his accomplishment. Nonetheless, despite some familiarity with the ideas of NKS, and even with Jason Cawley's apt explanation that, in some sense, there is nothing fundamentally unfamiliar going on here, I will still confess to being blown away. To me, Pegg's work is one of the most powerful demonstrations I have seen of the force behind the ideas in NKS. I think it fulfills one of the greatest functions of art, which is to communicate to receptors of the brain not touched in ordinary life. Three cheers for the work. And three cheers to the forum organizers for recognizing the importance of having an Art forum in which NKS can be explored. The rational part of me looks forward to the maa.org article.

__________________
Seth J. Chandler
Foundation Professor of Law
University of Houston Law Center
Houston, Texas 77204

Report this post to a moderator | IP: Logged

Old Post 08-19-2004 03:44 PM
Seth J. Chandler is offline Click Here to See the Profile for Seth J. Chandler Click here to Send Seth J. Chandler a Private Message Click Here to Email Seth J. Chandler Visit Seth J. Chandler's homepage! Edit/Delete Message Reply w/Quote
edpegg
WRI

Registered: Jun 2004
Posts: 18

The MAA article

The MAA article is already online.
maa.org : 64 K or Less.

Actually, none of this is my work, I just happened to find it. I give references to the original creators of all of these works.

At The Assembly Gems Page, they have a program for the Game of Life automata in 65 bytes, along with full code. I haven't played with pure assembly in awhile, but I'm hoping to figure out the smallest possible self-contained program for Rule 30.

--Ed Pegg Jr

Report this post to a moderator | IP: Logged

Old Post 08-19-2004 04:13 PM
edpegg is offline Click Here to See the Profile for edpegg Click here to Send edpegg a Private Message Click Here to Email edpegg Visit edpegg's homepage! Edit/Delete Message Reply w/Quote
Rickey Bowers Jr.
bitRAKE Studio
Monterey, CA, USA

Registered: Aug 2004
Posts: 3

Re: The MAA article

Originally posted by edpegg
I'm hoping to figure out the smallest possible self-contained program for Rule 30.
In x86 it reduces to a couple bytes! :)

Put the rule value in all four bytes of a 32-bit register:

movzx eax, BYTE PTR [rule]
imul eax, 01010101h

Load bits from the line above:

mov edx, [edi]

Determine resulting bits with two instructions:

bt eax, edx
rcr ecx, 1


This last part is the important bit - let me explain more: all the 256 rules can be reduced to the single operation of testing the bit of the rule number coresponding to the three cells above. Example, for rule 30 (0001 1110 in binary) if the three cells above are 101 (5 in decimal) then the result is 0 (bit 5 is zero in the number 30. :)

There are many ways to optimize this algorithm further to compute billions of cells per second easily. I have a viewer wrote in assembly I might release soon. It wasn't wrote for size, but more speed to quickly move around in the basic rules.

A really small generator would be cool.

__________________
"Where nobody knows anything, there is no point in changing your mind." - Bertrand Russell

Last edited by Rickey Bowers Jr. on 08-20-2004 at 04:26 PM

Report this post to a moderator | IP: Logged

Old Post 08-20-2004 03:53 AM
Rickey Bowers Jr. is offline Click Here to See the Profile for Rickey Bowers Jr. Click here to Send Rickey Bowers Jr. a Private Message Click Here to Email Rickey Bowers Jr. Visit Rickey Bowers Jr.'s homepage! Edit/Delete Message Reply w/Quote
Post New Thread    Post A Reply
  Last Thread   Next Thread
Show Printable Version | Email this Page | Subscribe to this Thread


 

wolframscience.com  |  wolfram atlas  |  NKS online  |  Wolfram|Alpha  |  Wolfram Science Summer School  |  web resources  |  contact us

Forum Sponsored by Wolfram Research

© 2004-14 Wolfram Research, Inc. | Powered by vBulletin 2.3.0 © 2000-2002 Jelsoft Enterprises, Ltd. | Disclaimer | Archives