.kkreiger: A pocket sized powerhouse

In this modern day world when the application sizes are bloating up like anything, rarely do we do we encounter an application that is as clean, graphically appealing and slick as .kkreiger. The most fascinating part of this game is that it offers full fledged graphics of a quality equaling the likes of Quake 3 and Unreal Tournament and a first person shooter game play lasting for more than an hour and is yet able to pack in all of the above in 96KB, which is a miracle in itself by any standards. Just to give to idea, a single CD holds up to 700MB — over 7,000 times .kkrieger's size. Unreal Tournament 2004 for example, which typically comes on DVD, requires more than five gigabytes, which is more than 50,000 times the disk space in comparison. The game was released way back in 2004 and was developed by a German game development team called .theprodukkt. The game as of 2007 is still in its beta stage, though many patches and bug fixes have been released for users across various platforms. The best part is that being a single mission demo it is free. To know how the above was made possible, read on.

full4cd6.jpg


All of the above is made possible by using .theprodukkt’s authoring software called .werkkzeug. The core of this engine lies in the form of procedural programming. With .werkkzeug, one is able to create textures, 3D meshes, camera-movements, animation and synchronization to the music. .werkkzeug allows you to do all the above like any other game engine but the stark difference lies in the way it stores the data. Unlike regular engines which export the rendered images and textures into various file formats, it uses procedural generation which stores the manner in which the image was generated and not the image itself. Thus all rendering takes place in real time. This allows the designer to incorporate a high resolution and detailed texture into the game in less than a hundred bytes.
For further reduction in size, graphics such as 3D meshes are made from simple graphics such as cubes and cylinders which are then deformed to form the desired shape. As a result, mesh library becomes redundant. Further, The game music and sounds are produced by a multifunctional synthesizer called V2, which is fed a continuous stream of MIDI data. The synthesizer then produces the music in real time. All the above pretty much accounts for the long loading time of the game and also the high system requirements of the same.

.theprodukkt has also released a computer generated video called .debris which shares its engine with .kkreiger. The video is seven minutes long and is generated in real time. This video has more eye candy than its predecessor in the form of intensive shaders, enhanced textures and volumetric lighting. The graphics are of such high quality, that they can easily give most of the modern games a run for their money. All this results in pretty high system requirements, especially in the graphics department. And like its predecessor, .debris takes only 177KB.

15.jpg


Importance of procedural programming lies in that fact that is started a reverse trend. In a world where file sizes of applications are increasing with new version, .kkreiger and the likes have revolutionized a counter trend .Procedural programming may well take over the traditional method of programming and file storage in the near future. It is also the need of the hour, else five years down the line even a hard drive of a few terabytes may seem quite insufficient for an average gamer.
 
The only negatives is its hardware requirements. Everybody should try it atleast one time, he will surely praise this under 100kb wonder.
 
I remember trying this way back when and I though mostly the same. Imagine the possibilities. But its been four years since and no developer has picked this up so I would guess most developers think its not worth it.

I guess with storage becoming cheaper by the day scrounging on disk space is not very high on any game developers list, plus I would imagine it would be an awful lot of work to make it run well. And the smaller you make it, the more it will get pirated.
 
In an age when developers have to put in GB's worth of dummy packer data to increase file sizes in a desperate attempt to fight piracy, this would seem like the furthest thing from their minds.
 
However procedural programming does have its pluses not only in the gaming industry but also applications as well. Imagine that if fast processors are incorporated into mobile gadgets, such small games and applications can be installed and used.
 
Back
Top