Slashdot Mirror


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

43 of 741 comments (clear)

  1. Windows only? by elid · · Score: 5, Funny

    A produkt made by .the .produkkt won't run in KDE!?

  2. Torrent file by Anonymous Coward · · Score: 5, Funny

    I was about to make a torrent for the game, but then i realized the torrent would probably be bigger than the file itself ;)

    1. Re:Torrent file by prat393 · · Score: 2, Funny

      It's an obvious ploy to keep their server load down - the next step is trying to make it small enough that it can fit in an IP header.

    2. Re:Torrent file by beegle · · Score: 2, Funny

      Someone had to do it. Get your .torrent here

      --
      --
  3. 96k by bubkus_jones · · Score: 5, Funny

    And it's still too much for my computer.

  4. 64 Kb by Distan · · Score: 2, Funny

    Old timer? 64 Kb?

    For my first paid programming gig, I had to stay within 8 Kb. You young whippersnappers with 64 Kb had it easy!

    1. Re:64 Kb by shystershep · · Score: 5, Funny

      Oh, you had two rocks, did you? I only had one, and had to bang it against my head. And I liked it!

      Wait a minute . . . what were we talking about?

      --
      The bigotry of the nonbeliever is for me nearly as funny as the bigotry of the believer. - Albert Einstein
    2. Re:64 Kb by Morthaur · · Score: 5, Funny

      Right. I had to get up in the morning at ten o'clock at night half an hour before I went to bed, drink a cup of sulphuric acid, work twenty-nine hours a day sorting punch cards for an S/360, and pay IBM for permission to come to work, and when I got home, my mum and dad would kill me and dance about on my grave singing Hallelujah.

      And you try and tell the young people of today that
      ..... they won't believe you.

      --

      +++++++
      "Look, dear, it's a crazy hairy scary man!"
    3. Re:64 Kb by PorscheDriver · · Score: 2, Funny
      Bytes! When I were a lad, me and my 23 brothers and sisters had ter share 3 bits between the lot of us.

      But we were 'appy!

      --
      "This is your life, and it's ending one second at a time."
    4. Re:64 Kb by dhuff · · Score: 2, Funny

      Bits ?! You youngsters and your 1's and 0's. Back in my day we just had 0's, and we liked it that way...

  5. Re:awesome... now only if they'd do this for linux by SamiousHaze · · Score: 5, Funny

    awesome... now only if they'd do this for linux Hell, It wouldn't be all that much code to port.

  6. Re:Amazing by Naffer · · Score: 3, Funny

    Hey guys, I don't get whats the big deal? I downloaded a ton of these 85 to 150KB ".exe" games off kazaa yesterday. They never seem to run though...

  7. Re:so, what does this really advance? by Stevyn · · Score: 4, Funny

    It's not the saved space that's the issue here, it's the efficiency of the code. If I made a 500 mb text editor (and called it ms word 2003) then that would be inefficient.

  8. Torrent anyone? by SealTit · · Score: 4, Funny

    Can someone post a link to a torrent?

    It's taking forever to download . . .

  9. Re:zipped doesn't count for size by Walkiry · · Score: 5, Funny

    They have obviously gained with the zipping:

    Packed: 97,256
    Unpacked: 97,280

    It's quite obvious the original assertion is misleading since it's zipped and it's smaller!

    --
    ---- Take the Space Quiz!
  10. Instant review by ites · · Score: 5, Funny

    1. Downloading... very fast, as you'd expect. 2. Installation... very simple, just unpacks to one readme file and one executable. 3. Documentation... brief, note that DirectX 9.0 is required (not 8.1 as mentioned in the story). 4. Running... brief: "Instruction at 0x000000000 referenced memory at 0x000000000". Conclusion: I can make the same functionality in an even smaller package.

    --
    Sig for sale or rent. One previous user. Inquire within.
    1. Re:Instant review by robson · · Score: 3, Funny

      Quite impressive although I am sure that DirectX is doing most of the work, all they've created is a texture generator (a good one, the textures are pretty good), a map generator (maps aren't that inspiring or involved at the moment, but there are nice touches) and then a few baddies and weapons and a way to walk around the map firing the weapons at the baddies (with nice graphical effects for some of the ammo).

      Yeah, but the baddies were just procedurally generated with the DirectEnemies module, and the whole thing uses the built-in functionality of DirectAI.

  11. Re:so, what does this really advance? by Mysticalfruit · · Score: 4, Funny

    Is that with or without the easter egg flight simulator?

    --
    Yes Francis, the world has gone crazy.
  12. Re:Anyone remember omniscent? by blair1q · · Score: 3, Funny

    >Descent (you remember, the first 360degrees shooter)

    Actually, it was the first 4*PI steradian shooter.

  13. Why are they all set in dark machine rooms? by Anonymous Coward · · Score: 5, Funny

    What the hell is it with the tradition of dark foreboding metal enhanced settings?

    I want a FPS game set in a sunlit mountain meadow with birds & butterflies flitting about.

    So I can see the blood....

    TDz.

    1. Re:Why are they all set in dark machine rooms? by tehcyder · · Score: 3, Funny
      with birds & butterflies flitting about
      and sheep...but maybe that's another genre...

      --
      To have a right to do a thing is not at all the same as to be right in doing it
  14. Game Requirements by Anonymous Coward · · Score: 5, Funny

    So the game requires a PC with:

    1.4 GHz Processor
    512 MB Ram
    96 kb HD Space

    Well at least my computer meets one of those requirements!

  15. 4-bit representation of checkerboard texture by K. · · Score: 3, Funny

    10
    01

    You may have to scale and tile it a bit.

    --
    -- Proud descendant of semi-nomadic cattle-herders.
  16. Bill Gates was right by Woy · · Score: 2, Funny


    640Kb was enough after all!

    --
    "If God created us in his own image we have more than reciprocated." - Voltaire
  17. Re:in that case by Tarpan · · Score: 4, Funny

    I live by the theory that anyone who says "lol" is the real idiot, works so far.

  18. Re:Great Compression by scovetta · · Score: 2, Funny

    I think I know the one you're talking about-- didn't some warez group put that in their distros along with the "This file came from XYZ BBS" .txt files?

    --
    Wer mit Ungeheuern kämpft, mag zusehn, dass er nicht dabei zum Ungeheuer wird. --Nietzsche
  19. Re:in that case by misleb · · Score: 5, Funny

    Umm, it is a lot considering how little practical functionality exists in that 1.5GB C:\Windows directory.

    --
    "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
  20. Re:Amazing by troon · · Score: 5, Funny

    Please be sure to stick to standard Slashdot etiquette. In making a joke about accidentally messing up your system, it is customary to truncate the last bit of the message and terminate with [NO CARRIER] or some sort of +AT code.

    Applying to your situation would give us:

    Hey guys, I don't get whats the big deal? I downloaded a ton of these 85 to 150KB ".exe" games off kazaa yesterday. They never seem to run tho[NO CARRIER]

    Do you see? That's instantly at least 1337% funnier. Remember this trick for next time.

    --
    Ydco co ,df C erb-y go. a Ekrpat t.fxrapev
  21. Re:in that case by websaber · · Score: 5, Funny

    It's even sicker when you realize the screenshot takes up more room than the app (116kb)!!

    --
    "A good friend will bail you out of jail. A true friend will be sitting next to you saying, 'damn....that was fun!'"
  22. Re:100KB, please by Anonymous Coward · · Score: 2, Funny

    "[it] doesn't make mine better because it's smaller."

    I have a feeling yours is very small, sir.

  23. Re:in that case by Anonymous Coward · · Score: 3, Funny

    i go by the theory of anyone who quotes it, physically types it, or singles out those that do, is a complete fucking moron.

    works so far.

  24. Re:awesome... now only if they'd do this for linux by smithmc · · Score: 4, Funny

    Hell, It wouldn't be all that much code to port.

    Really? Gonna port DirectX 9 to Linux during your lunck breaks, are ya?

    --
    Downmodding is the refuge of the weak. Don't downmod, make a better argument!
  25. Re:2K raytracer by alexandre · · Score: 2, Funny

    Here you go, a raytracer in postscript: (These people really scare me :-)

    %!IOPSC-1993 %%Creator: HAYAKAWA Takashi<xxxxxxxx@xx.xxxxxx.xx.xx> /C/neg/d/mul/R/rlineto/E/exp/H{{cvx def}repeat}def/T/dup/g/gt/r/roll/J/ifelse 8
    H/A/copy(z&v4QX&93r9AxYQOZomQalxS2w!!O&vMYa43d6 r93 rMYvx2dca!D&cjSnjSnjjS3o!v&6A
    X&55SAxM1CD7AjYxTTd 62rmxCnTdSST0g&12wECST!&!J0g&D1 !&xM0!J0g!l&544dC2Ac96ra!m&3A
    F&&vGoGSnCT0g&wDmlv GoS8wpn6wpS2wTCpS1Sd7ov7Uk7o4Qk dw!&Mvlx1S7oZES3w!J!J!Q&7185d
    Z&lx1CS9d9nE4!k&X&M Y7!&1!J!x&jdnjdS3odS!N&mmx1C2wE c!G&150Nx4!n&2o!j&43r!U&0777d
    ]&2AY2A776ddT4oS3oS nMVC00VV0RRR45E42063rNz&v7UX&UO zF!F!J![&44ETCnVn!a&1CDN!Y&0M
    V1c&j2AYdjmMdjjd!o& 1r!M){( )T 0 4 3 r put T(/)g{T(9)g{cvn}{cvi}J}{($)g{[}{]}J}J
    cvx}forall/ moveto/p/floor/w/div/S/add 29 H[{[{]setgray fill}for Y}for showpage

  26. Re:in that case by Polkyb · · Score: 4, Funny

    LOL!

    :-)

    --
    I've never shoed a horse, but I once told a donkey to piss off!
  27. Bill was right all along! by fritter · · Score: 5, Funny

    Looks like we all owe Bill Gates an apology. 640K is enough for anybody!

  28. Re:2K raytracer by hode · · Score: 2, Funny

    If all code was written this way, even microsoft would not be so protective of their source.

  29. Re:Libraries by Ryosen · · Score: 4, Funny

    >> Don't forget the whole Windows System, that is required. DirectX and the application won't work without the windows base system (or maybe wine...)

    It's much worse than that. I actually tried to install one of these things. Turns out the damn thing requires a computer, too! Lying bastards didn't tell me that I need space on my desk for a monitor, neither! I'll tell you this much. I never had any of these problems with my WebTV!!

    --

    Ryosen
    One man's "Troll, +1" is another man's "Insightful, +1".
  30. Re:in that case by beeblebrox87 · · Score: 4, Funny

    Since nothing is certain or provable, i.e. there are no "laws", anything you do must rely on theories. By your logic, that makes _everyone_ a "complete fucking moron" which, in my experience, seems quite probable.

    (In theory, anyway).

  31. Re:Amazing by Anonymous Coward · · Score: 2, Funny

    Hahahahahah That is so Funn[NO LAUGHTER]

  32. Re:Amazing Screenshots by HokieJP · · Score: 2, Funny

    Ok, if we're giving out props, I think big ups need to be given to my boys Gaston Julia, Benoit Mandelbrot, Georg Cantor, and Aleksandr Lyapunov. Lately Stephen Wolfram has been doing similar work.

    Seriously, this concept did not originate in CS.

  33. Re:in that case by Slime-dogg · · Score: 4, Funny

    The statement "Nothing is certain or provable" disproves itself. If, in fact, it is true, then it is a certainty in itself. If it's not, then it leaves the door open for certainty and provability.

    --
    You need to restart your computer. Hold down the Power button for several seconds or press the Restart button.
  34. Re:I would be more impressed... by MyFourthAccount · · Score: 4, Funny

    "Cause even Trolls love Rock & Roll"

    I totally agree with your post.

    A couple of days ago I executed an MD5 hash and it was more functional than this.

    Years ago I was thinking of writing a ray-tracer in 1 bit. But, I couldn't decide if I should write it in Java or C#.

    Then I picked up my copy of "The Zen of Assembly Language", but unfortunately a little too swift so the dust cloud that that generated kept me from entering my parents basement for a couple of days.

    "The Zen" is truly the a great piece of work, although I don't really know why we would need to use these new fangled 16-bit CPUs.

    But back to the subject, let's walks through how this game could be done SOOOO much better:

    A "basic" raytracing algorithm is very simple - you simply map a texture over a wireframe model and then scale the result by dividing the x and y dimensions by the z distance.

    That's right. That's EXACTLY how a raytracer would work, if there ever was one. I think for this one we should also implement tracing the actual rays, to add to the effect. Btw, I've got a nice wireframe model sitting in my backyard that can be used for this. Again, I think this really can be done in 1 bit.

    Basic FPS gameplay would involve loading your device handlers (mouse, keyboard, etc...), and writing a response loop.

    I think we can safely say that with mouse, keyboard, speech synthesis, speech recognition and a couple of other run of the mill devices this could be done in 2 bits, give or take 1.

    Asynchrous gameplay (i.e., enemy moves as you stand still) can likewise be handled by chaining the timer interrupt (18h? IIRC) to your "enemy movement" code.

    What can be more simple than chaining an interrupt to the "enemy movement" code that appeared out of thin air? But because it deals with interrupts, maybe 2 bits??

    I bet with a Z80 we could bring it down even more, but let's not get ahead of ourselves. It's better to keep the system requirements low. So far we can do this in a 74HCT04.

    Collision detection, etc, could simply be brute-forced by plotting the vector of the expelled projectile until it collided with another object.

    I have a question about this. Do you think we should also use radiosity on the projectiles? Because my plotter doesn't support that, and I'd hate to waste the ink. Well, let's round it off, say 3 bits. That gives us a target of 8 bits total.

    There. We're practically done. What are these guys smoking. This can be done in 8 bits, on a 74HCT04.

    [/sarcasm]

    Sir, you are a fucktard. Your last experience with Assembler (yes I call it Assembler, not Assembly, sue me) seems to predate the invention of the 8086 CPU.

    I actually write assember for a living, and I can tell you that what these guys do is amazing. They are squeezing the last drop out of the space. These are the people that _write_ books like the Zen of Assembly (which is in serious need of a predecessor).

  35. Re:I would be more impressed... by Lost+Race · · Score: 2, Funny
    Years ago I was thinking of writing a ray-tracer in 1 bit.
    I did this once but after I put in the EULA and a few easter eggs it was bloated all the way out to a byte. Then my disk crashed and I lost that byte... if only I'd made a backup somewhere! I think it was 0xE7 or maybe 0x74? Ah well, so it goes.