
Kkrieger – A 96KB first person shooter - zactral
https://en.wikipedia.org/wiki/.kkrieger
======
davrosthedalek
I wonder how many young people were inspired to take up programming because of
the work of Future Crew, Farbrausch and the like. I certainly was, after
experiencing what FC did with Second Reality. Props to Farbrausch for
publishing so much of their code.

In some sense, getting 1k colors out of a CGA is the contra-movement to
node.js :)

~~~
k__
"In some sense, getting 1k colors out of a CGA is the contra-movement to
node.js"

Is it?

I have the feeling node.js development has the same spirit, getting some tech
(JS) to do something it was never ment to do.

~~~
davrosthedalek
I give you that, but I would say JS is not great for "Getting more with less",
which is certainly a goal of these productions.

~~~
k__
I guess, it would be possbile to get more with less, but yes this doesn't seem
to be the goal with node.js :)

------
masta
Fabian Giesen aka ryg, one of the developers behind .kkrieger wrote up a post
about how they crunched out the last bytes to get it down to 96k.
[https://fgiesen.wordpress.com/2012/04/08/metaprogramming-
for...](https://fgiesen.wordpress.com/2012/04/08/metaprogramming-for-madmen/)

~~~
vog
Speaking of Fabian Giesen, his whole blog is worth a read:

[https://fgiesen.wordpress.com/](https://fgiesen.wordpress.com/)

This is one of the very few blogs where I enjoyed reading every single
article.

------
speps
A few years ago, Farbrausch released a lot of the code for their demos on
GitHub :
[https://github.com/farbrausch/fr_public](https://github.com/farbrausch/fr_public)

I think it contains .kkrieger but I didn't try it.

~~~
JoachimSchipper
It may be of interest to note that this includes their _tools_ as well as the
actual produced demos.

~~~
corysama
Yep. At one point they were trying to make their procedural modeling tool
.werkkzeug into a commercial product targeting mobile game dev. But, I guess
they didn't find an audience.

If you find that interesting, you really should check out
[http://tooll.io](http://tooll.io) It's pretty much a more modern take on
.werkkzeug with a focus on usability rather than compression.

------
nickpsecurity
I had seen a few things from the demoscene where I nodded saying, "Impressive
coding," to just move on to next interesting thing in a feed. Kkrieger was the
first one I saw that blew me away to the point I played it a bit extra just
impressed by what it was doing. I also sent it to a bunch of people. Awesome
project. :)

------
smrtinsert
I remember playing this on a fantastic 12 fps, but still being blown away. I
was heavy into demoscene at the time so it just added to the wonder of it all.
Inspiring stuff.

~~~
theandrewbailey
My graphics card at the time was too shitty to even try to run this (Rage
128). One of the first things I ran after getting a much better card a few
months later was play kkrieger.

------
donquichotte
Video:
[https://www.youtube.com/watch?v=_qrsHqDF4BA](https://www.youtube.com/watch?v=_qrsHqDF4BA)

~~~
masta
It's amazing how many things the guy in the video gets wrong. ;)

~~~
StavrosK
Hah, this poor guy is reviewing a demo as if it's a game, and sounds
hilariously clueless in the process.

"I'm amazed they didn't finish this game, this plays really well."

To be fair, a legitimate review would have just been "Holy shit, this is 96k.
Holy shit. Just 96k. Jesus. That's less than the space taken than a single
screenshot. Wow."

EDIT: Oh, I see what happened. He thought "demo" referred to a game demo, as
in a limited edition of a full game.

~~~
PhasmaFelis
The archived site emphasizes that "this is a beta version, and there are a lot
of known bugs." It's not unreasonable to assume they intended to do more with
it.

------
tripzilch
Can a mod maybe edit the title to ".kkrieger — (...)"? :)

I'm fairly certain that Farbrausch made it a point to have many of their
releases begin with a _lowercase_ 'k' (for no other reason than style, afaik).
You can choose to omit the dot if you really don't like it, but it's just not
spelled with an uppercase 'k'.

And these people are German, where nouns are always capitalized. So when they
do not, it's very much on purpose.

------
dreen
Has anyone yet succeeded in running it on a modern computer? Last time I tried
it I had no luck.

~~~
lnx01
It's runs fine on Wine, albeit in the top left corner of the screen. You could
probably get it to run full screen with the right wine startup parameters.

edit: wine-stable on ubuntu17.04

------
SurrealSoul
Doom is 4196KB.

That's pretty crazy

~~~
tripzilch
That's still only roughly the size of a single mp3 file or one digital camera
picture! :)

And of course, the biggest trick in .kkrieger is that everything is
procedural. A choice made because of the goal they set out with. There's
assets in Doom that just couldn't have been done with tiny procedural texture
descriptions and still represent quite the same thing. For .kkrieger such
assets were simply not an option and the game was designed around it.

Also, I always liken the graphics in .kkrieger to Halflife 1, not Doom, which
is quite a bit different. Objects in Doom were all billboarded sprites,
afaicr.

------
PhasmaFelis
So where can I actually download this? Wikipedia links to an archive of the
original page, and the download wasn't archived.

------
ythn
~96 KB on disk, but how much in RAM?

~~~
ptha
From the wikipedia article:

 _The entire game uses only 97,280 bytes of disk space. In contrast, most
contemporary first-person shooters fill one or more CDs or DVDs. According to
the developers, .kkrieger itself would take up around 200–300 MB of space if
it had been stored the conventional way_ [0]

[0]
[https://en.wikipedia.org/wiki/.kkrieger#Procedural_content](https://en.wikipedia.org/wiki/.kkrieger#Procedural_content)

~~~
ythn
So after it generates all the assets in RAM, the game takes up 200-300 MB?

~~~
wolfgke
Yes.

------
atroll
those are real gamedevs

~~~
golergka
No, those are real demodevs.

Games are not about technical superiority - they're about having fun and
projecting stories and emotions, just like any other art form.

~~~
lightedman
No, they're real gamedevs. Much like Richard Garriott, they built their own
tools, unlike every AAA company out there using someone elses engine.

These guys did the ALL of the work from the ground up. That's REAL
development.

~~~
cazum
I don't want to start a philosophical argument here about what a "real dev"
is, but I do want to provide a counterpoint to any potential gamedevs who may
be reading this:

While writing your own engine from scratch can sound tempting, and absolutely
is a rewarding excercise, if your goal is to publish a game, it's probably
wise to not do this. Pick up gamemaker or godot or unity and start prototyping
right away.

I might have a bit of a bias here, but I spend a not-insignificant amount of
time on an online gamedev community, and the only people who ever finish
anything are the guys using gamemaker and unity. Everyone else gets stuck at
the "should I use regular inheritance or components/what's the best way to
z-order sprites/Delta time coefficients cause random bugs in physics" stage
and cannot proceed because their engine becomes unstable.

If you have the skills and time, and feel like it is necessary to write your
own engine for your game, then by all means, but I think that for most people,
these prerequisites don't exist.

"Real dev" or not, once you shipped your game, you've done more than most
devs.

~~~
amagumori
I 1000% agree with this. At the same time, I think developing your own engine
is immensely empowering and helps you "level up" in some fashion. I'd
recommend doing both. But, of course, just use an existing engine and make a
game first. The engine is a long haul endeavor. It starts very slowly, but
eventually, you'll be able to roll your own games with it. And there's
something about that that's very cool. But don't write an entire engine for
your first or even second game.

------
in9
hahaha it's funny cuz it's still in beta

------
bobsam
96KB?

A guy I know wrote a Minecraft clone, a left 4 dead clone and a populus clone
in 4KB each.

(he also wrote the real Minecraft)

~~~
PhasmaFelis
IIRC, the "Left 4 Dead clone" was a single-player top-down shooter with sub-
Atari 2600 graphics, and the "Minecraft clone" was basically a screen saver,
zooming non-interactively through endless raycast cubes. Much respect for
doing that in 4K, but it's not directly comparable to a fully textured and lit
FPS.

