First Person Shooter - Under 100KBs of Code 741
Cariad Ilmara writes "For those of you old-timers who spent days & nights trying to get your code fit into 64Kb, here's the first beta of .the .produkkt's next FPS: .kkrieger. Moderately beautiful, what's impressive is it can fit inside the UT2004 readme. The demo is 96Kb zipped. All textures are procedural and generated at startup. Screenshots available
here, here, here, here, and here. You still need a relatively recent computer (~1.4Ghz, 512MB RAM) and a DirectX8 GPU (Windows required)."
awesome... now only if they'd do this for linux (Score:0, Interesting)
2K raytracer (Score:5, Interesting)
http://www.mrio-software.com/2k_raytracer.php [mrio-software.com]
Re:awesome... now only if they'd do this for linux (Score:3, Interesting)
I would think that it might be kind of difficult to move this code across platforms if it's optimized that much, wouldn't it? ------didn't RTFA
No Directx 8.1? (Score:5, Interesting)
Amazing Screenshots (Score:3, Interesting)
There's a book by Guy-Lecky-Thompson... (Score:5, Interesting)
One of the techniques he discusses is using a psuedorandom number generator to create game objects and attributes and such, and shipping the game with a couple of pregenerated seeds to start up the generators. He uses the game Elite a lot in his examples, and anyone who's played that game knows what a good job they did in that regard.
It's an interesting approach, especially when contrasted with WAD files [rubyforge.org].
Great Compression (Score:4, Interesting)
Anyone know what I'm talking about? Cause I've searched and can't find it anymore.
Proof that real programmers do still exists (Score:3, Interesting)
Re:Amazing (Score:2, Interesting)
Real-time generated textures (Score:5, Interesting)
We do
The problem with this, of course, is that it requires major computational power, and you're limited with the type of textures you can produce. It's probably a case of this program specifying 'bumpy metallic texture' or 'smooth stone texture' on the fly.
I remember the old flight-sim 'Strike Commander' would generate the game's maps during installation based on fractals. It used take AGES... this program generates many more megabytes of graphics on the fly... very impressive.
Re:64 Kb (Score:3, Interesting)
Back in school we had a 6502 development kit. We had to flip a 8 switches (bits, this had a staggering 256 bytes of memory) to set the address and another 8 for the data then hit a button to load the data into RAM. Once it was all done we set the address toggles to the start point of the program and hit an execute button. The output was 2x 7 segment LEDs..
I seriously almost bought one for home to tinker with but it was a few hundred dollars and I was a starving student..
Re:Amazing Screenshots (Score:3, Interesting)
I assume the models, levels, and sounds for this game are pregenerated and stored in some efficient format. Textures are pretty easy to generate with a fractal.
What impresses me most about those screenshots are the really cool lighting effects. It appears they have implemented realtime shadows, luminance maps, and other really difficult techniques.
Re:2K raytracer (Score:2, Interesting)
Elegance (Score:3, Interesting)
I worry about newer generations of coders, never having known elegant, lean, efficient, and useful code, from the major bloat that comprises most software projects today.
Items like this, are truly things of beauty, and only becoming more rare.
Re:awesome... now only if they'd do this for linux (Score:2, Interesting)
Pfft (Score:2, Interesting)
Re:There's a book by Guy-Lecky-Thompson... (Score:2, Interesting)
Back in the day, Telengard for the commodore did this too, except it made the levels very huge, and the same from game to game, so that the level was always the same for everyone, but it was never stored anywhere, it was only generated from the "seed", which never changed.
Re:Libraries (Score:5, Interesting)
Doesn't work (Score:1, Interesting)
What if it *did* install Linux? (Score:5, Interesting)
1) get your cool geek game advertised on slashdot.
2) lots of people download it and run it.
3) bury some obfuscated language in a 30 page EULA [well, 30 pages that only show up 5 lines at a time in a tiny un-resizeable window]. The gist of the "I agree" button is that your machine will bootstrap into a nuke-and-pave Linux installation!
Ok, this is tongue in cheek, but seriously, do the slashdot editors evaluate things like this for viruses or other mal-ware? Where's the checksum of the one they checked?
Who downloads mysterious 100K executables and runs them on a live machine? [heh, especially from Germany, I mention this only because the last two unprotected Windows machines put on the net by some hapless aquaintences of mine were running German FTP sites so fast you'd think they were configured that way out of the box.]
Re:Libraries (Score:3, Interesting)
So every application is the size of it + all dependent software?
Yawn.. here's a 5kb FPS (Score:3, Interesting)
http://www.the5k.org/description.asp/entry_id=946 [the5k.org]
It's a winner of the 5K contest. A Wolfenstein in Javascript in just 5 kilobytes.. Now THAT is small
Re:wow (Score:5, Interesting)
Re:Why are they all set in dark machine rooms? (Score:3, Interesting)
Re:Amazing Screenshots (Score:2, Interesting)
http://www.uno.edu/~SAGES/presentations/Riddleo
There's also an example in the file of fractal compression of topographic maps. Something like this could be used to provide any level of datail to a surface, as long as you knew the statistics of the texture, and defined some 'binding points'. So you just need to fill in the rough details of the mountain, not the actual matrix defining it:
E.g. 1000m high at [55,-92], 0m at [444,17], 0m at [-90,200], Hausdorff dimension 2.3 (Alps), or 2.15 (Rockies).
The file also list some example uses for the fractal texturing methods, such as background noise generation for missile tracking, stock market fluctuation simulations, expected word frequency in written text, lung destruction patterns from smoking, percolation, etc.
The point? (Score:5, Interesting)
Also there may be a model for selling software online rather then on CD/DVD. Obviously this game would cost a bit less to host then say the 5CD farcry.
Also don't forget more portable solutions. Laptops or PDA's and other gadgets. They got extremely limited storage but my old calculator could hold this one. Not run it but hold it :)
Mostly however this is just a tech demo. Showing that you do not need a massive wad of textures just to make a nice looking game.
Re:You're right... (Score:2, Interesting)
Re:awesome... now only if they'd do this for linux (Score:3, Interesting)
Re:Explanations! (Score:2, Interesting)
Oooo, it all suddenly makes sense. You were the one of the guys who ported Second Reality to C64, right? Can't stop amazing people with smaller and smaller things, eh? =) Great work!
Re:Why are they all set in dark machine rooms? (Score:3, Interesting)
It's probably why I liked Beyond Good & Evil and Giants so much.
Re:2K raytracer (Score:3, Interesting)
JSFJT1BTQy0xOTkzICUlQ3JlYXRvcjogSEF
eHh4eEB4eC54eHh4eHgueHgueHg+IAovQy9uZ
L0UvZXhwL0h7e2N2eCBkZWZ9cmVwZWF0fWRlZ
bC9KL2lmZWxzZSA4CkgvQS9jb3B5KHomdjRRW
UzJ3ISFPJnZNWWE0M2Q2cjkzck1ZdngyZGNhI
NkEKWCY1NVNBeE0xQ0Q3QWpZeFRUZDYycm14Q
JiFKMGcmRDEhJnhNMCFKMGchbCY1NDRkQzJBY
U25DVDBnJndEbWx2R29TOHdwbjZ3cFMyd1RDc
ISZNdmx4MVM3b1pFUzN3IUohSiFRJjcxODVkC
Jk1ZNyEmMSFKIXgmamRuamRTM29kUyFOJm1te
JjJvIWomNDNyIVUmMDc3N2QKXSYyQVkyQTc3N
MFJSUjQ1RTQyMDYzck56JnY3VVgmVU96RiFGI
RE4hWSYwTQpWMWMmajJBWWRqbU1kampkIW8mM
IHB1dCBUKC8pZ3tUKDkpZ3tjdm59e2N2aX1Kf
eH1mb3JhbGwvbW92ZXRvL3AvZmxvb3Ivdy9ka
c2V0Z3JheSBmaWxsfWZvciBZfWZvciBzaG93c
====
That's the same thing corrected (the original was mangled by slashcode) and base64-encoded, which doesn't care about extra spaces inserted by slashcode. Decode with uudecode(1) or something else.
Re:awesome... now only if they'd do this for linux (Score:3, Interesting)
Re:There's a book by Guy-Lecky-Thompson... (Score:4, Interesting)
Best support for audio and gfx? (Score:3, Interesting)
Hell, demoscene coders would have killed for something like ALSA 6 years ago. Thank god for Sahara Surfers, if you know what I mean.
The demoscene loved the Amiga. Now they love the PC. TBL managed to get their demo engine working on Linux and Windows (which is quite impressive). So what evidence do you have to support your opinion?
(and I'm not expecting that anyone write a 3d demo in Linux, especially if they want a wide audience of gawkers... but IMHO it's much easier to write a 64k demo (especially if it eschews 3d in an old school stylee) in linux with the simple APIs than it is with Windows and DirectX. I can see myself doing the former, but I'd struggle with the latter.)
Re:I'll sum up (Score:2, Interesting)
Linux is faster, and that includes 3D graphics. There are some issues with sound latency, dependent on configuration, but they might be over by now, I'm not running a late distro.
Direct3D would not make 3D graphics any faster on linux, do you even know what you are talking about?
Oh, IAAGP (I am a game programmer).
Re:wow (Score:3, Interesting)
More Wow! (Score:5, Interesting)
Re:wow (Score:2, Interesting)
This definatly would be an excellect idea. Think about it when you buy the game you could specify low rez 128x128 textures for a low end machine or 512x512 high rez or even bigger for cutting edge systems. and maybe throw a few variables in there to make shure the textures come out a little different for each person so the game is never the same on any two machines. And of course the first time the textures are generated they are written to disk as a cache so a user doesent have to wait hours to generate hundreds of textures or have gigabytes of ram. Could also apply this system to vary skin textures on models so all the in game characters never look the same. You could also generate more then one wood texture in a scene so the wooden floor in an old mansion will look totally different throughout the entire mansion and not just a repeat of the same texture over and over. would require allot of power but pc evolve so fast that in a few years we might be downloading games under 10 megs in size that generate all terrain, models and textures on the fly so the game never looks the same but always plays the same (maybe that can be dynamic too!).