First Person Shooter - Under 100KBs of Code
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)."
Omniscent, is the first level of Descent (you remember, the first 360degrees shooter) in 4kb (4096 bytes) with music and textures. Non-playable, but still really cool. It was released in 1997.
here: http://sebaplus.free.fr/prog3d/demoscene.htmli s one is especially impressive: http://sebaplus.free.fr/prog3d/fr08v101.exe
Th
wolruf@gmail.com
Informative?? It unzips to exactly 96k.
Google 'Perlin Noise'. Read 'Procedural' as 'described mathematically'.
Belief is the currency of delusion.
these guys are actually a part of the demoscene. They have done quite a lot of spectacular demos and intros. They can be found here. This was a release from the 96k game competition of this years breakpoint demoparty held last weekend in Bingen, Germany.
fx! kicking and screaming
The instruction at "0x00000000" referenced memory at "0x00000000". The memory could not be "read".
In Windows 2000 Profesional
Ok, I'm not saying this isn't impressive, but since it's using everything included in DX8.0, it's not really fair to say it's that small. I mean, look at it another way...If you built a mod for UT2K4 that was 150k would you be jumping up and down? No, because it requires > 1GB worth of stuff to be downloaded first. In the end though, that's still some pretty tight programming
this guys ARE demo scene guys, also known as Farbrausch.
fx! kicking and screaming
I don't know what generation procedures they used, but "the textures are procedural" means that there are no graphics files in there, and that an algorithm creates the textures at runtime. As a simple example, you could write an algorithm that made a checkerboard image in only a few lines of code. That code takes up only a handful of bytes, whereas the texture graphic itself would take up hundreds of kilobytes, even compressed. You could also look at it as the difference between an equation, and a graph of the equation.
I'm curious to know if the maps are procedural, too.
Would be about the same if we are talking about graphics. There is no noticable difference in code size for DirectX and OpenGL with appropriate driver with all extensions. Both Nvidia and ATI are shipping OpenGL drivers with all extensions realized in hardware, giving OpenGL about the same functionality as Direct3D. But there is no sound in the OpenGL. Don't know what are standart sound library for Linux...
Trust slashdot to kill a website hosting a 96k file.
try here and here or for a complete list here
Farb-Rausch do some nice demos... worth checking out.
Are you serious?!
Discover Elite now!! Check out this page, maintained by one of the original creators Ian Bell and this Elite resource
Off the top of my head OpenAL, I know it's used by NWN and some of the old Loki games. Whether that makes it a standard or not is a whole other question.
Good people do not need laws to tell them to act responsibly, while bad people will find a way around the laws-Plato
I think they were referring to the fact that it requires a "directx 8 class" graphics card, ie one with a pixel shader.
Um, I'm hoping you're not suggesting procedural textures originated in the demo scene.
Ever heard of Ken Perlin?
Programmer who actually won an Academy Award for basically inventing this?
Anyone?
FUNK!
Using SDL may be "absurd" if you want to write a Windows-only game, but it isn't absurd if you want to make it crossplatform. Whether you will admit it or not, SDL/OpenGL is a standard that many (good and fast) Linux games have been based on.
"THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
On my 2.8 GHz machine, the demo took a full minute to load.
I am running an optimized XP Pro system with the latest patches, 2.4 GHz, 1 gig of ram, ATI Radeon 9700, and it runs like dogshit. It crashed my computer and I am not going to try it again.
So I guess this is impressive, especially if it's taken more as a contribution to the demoscene than to gaming. But what I think is far more impressive is that a game like Starflight which included hundreds of planets, dozens and dozens of hours of gameplay, an equal number of conversations and text and hundreds of objects, all fit into 2 5 1/4 disks (360K x 2). In 1986. And while exceptional, Starflight is merely representative of the amount of efficient coding that had to go into early game creation. Kkrieger, and more so older classics like Starflight, should serve as examples to modern developers who seem to be bloating their code.
The answer to that would be FarCry.
It'll make your box beg for mercy though.
-- taking over the world, we are.
The standard sound library for Linux 2.6 is ALSA. Games usually talk to it through OpenAL (see sibling) or SDL, the simple directmedia layer. SDL basically provides all the functionality of DirectX except Direct3D, whose functionality is provided on Linux via OpenGL (as you know.)
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
Serious Sam
Those who can, do. Those who can't, consult.
America's Army
Aliens vs. Predator
Descent 3
GLTron
Heavy Metal
Mutant Storm
Neverwinter Nights
Unreal Tournament
Unreal Tournament 2003/2004
Vega Strike
These are all games that use both SDL and OpenGL. Many more use either one or the other.
http://www.angelfire.com/games/ultimateblaster/
Lasers Controlled Games!
Read the readme.txt, dude.
.not. want to claim that the techniques we used to develop .kkrieger are new inventions. Its rather a selection of useful operations and their parameters to optimise the results."
"The concept of the texture/mesh generators was developed by fiver2. We do
As I'm one of the guys responsible for this game, let me explain a few things.
First, to all the people saying this is senseless etc.: Please watch every second story posted on
Then, a few clarifications:
Hope that clears up a few things...
Tammo "kb" Hinrichs
Farbrausch Consumer Consulting
freelance audio programming guy for
shocked that our server is still alive.
Did you notice minrt_comments.cpp in the zip file? Same file, but with actual comments. Variable names are explained. The snipped you pasted becomes...
// Read screen width and height // Read number of lights and spheres
// For each light // Read position
// For each sphere // Center // Radius // Color // Reflection // Allocate the frame buffer. Init to zero to perform antialiasing.
// For
// i-th sphere // i-th light
// Read a float from stdin
// Read a point
int main (void)
{
char b[99];
int W=GN,H=GN,i,n;
nl=GN;ns=GN;
_f x,y;
F(nl)
RP(LI)
F(ns)
{
RP(SI.c)
SI.r=GN;
RP(SI.l)
SI.f=GN;
}
char* s = new char[(n=W*H*3)];
memset(s,0,n);
Some weird macros are used:
#define F(T) for(i=0;i<T;i++)
#define FV(V,T) for(V=0;V<T;V++)
#define SI sp[i]
#define LI lt[i]
#define GN atof(gets(b))
#define RP(P) {P.x=GN;P.y=GN;P.z=GN;}
It's not really that bad.
--grendel drago
Laws do not persuade just because they threaten. --Seneca
Get Serious Sam. Also, read the interview at Old Man Murray: http://www.oldmanmurray.com/features/73.html
RaviWhen the axe came to the forest, the trees said, "Look out - the handle was once one of us."
Noctis (http://anywherebb.com/noctis.html) is less than 1mb but lets the player explore a whole galaxy. It's an interesting game where you have total freedom to fly anywhere and do anything. No fighting, just exploration.
I wonder if you're referring to an assembly program I wrote to generate Sierpinksi triangles in 76 bytes. But please note, those 76 bytes included calls to DOS interrupts, which is an API in the same fashion that DirectX is an API.