This site serves two purposes, one: promote my 3d engine that
I'm currently working on, and two: to help you, the visitor, to
either gain the knowledge to make your own engine or to assist
me a little with mine. In the process, I hope I can learn from
you, and you can learn from me some.
k3d stands for "Kilbert's 3D engine". I guess I forgot "engine"
in the acronym, but oh, well. k3d sounds cool and can mean
various things. For example: killer 3d, kool 3d, kewl 3d,
krappy 3d, etc. This is going to be the working name for my 3d
engine. It will probably be the release name too, unless I or
someone comes up with something that I like 100% better.
Now a little about myself. As you can guess, my handle is
Kilbert. A merging of Dilbert, which I am a fan of, and
killing, something I don't promote physically. My real name is
Nolan Eakins. This is the first 3d engine that I have ever
done. I don't have a lot of 3d programming or network
programming under my belt, but that's the purpose of this site
again, for us to learn. I do have at least a year and at most
about 2 years of C, a few months of QuakeC, a few years of
That's the history of my programming experience. I have also
messed with Doom editing, which got me hooked on games from
id. I am a dedicated id Software addict. Went from Doom to
Wolf3d to Commander Keen to Quake to Quake 2 and I also found
a copy of Catacombs of the Abyss, I think that's what it was
called, on a local BBS a while back. The last one was
interesting. Picture Wolf3d running in EGA, sound only from
the internal speaker, non-configuable controls, etc. It was
quite impressive considering the time it was made and how
id has kept the 3d shooter going through the years.
From my addiction to games by id, it would be natural for me
to want to match them. You only go and match the best right?
While I was playing some older Apogee games that I got on a
shareware CD, which introduced me to Wolf3d and Commander Keen,
I saw a call for developers that knew C and assembly. So I then
knew the programs I needed. I was looking around my local
bookstore a few years ago, about the time I was getting into
QuakeC, and found C for Dummies and a book on Linux that
mentioned it had a free C compiler. I was set, got Linux up and
working, read about half way through C for Dummies, realized it
sucked, and got C in 21 Days along with a copy of Borland C++.
I got the basic knowledge of C down. I latter got a book on
game programming and that got me doing some graphics coding.
The release of the Doom source was a god-send for me, and I
found the DosDoom port of the Doom source code. It used
Allegro and DJGPP which really propelled my programming
forward. I messed with them for a few months, and then tried
to make a 2d game. I eventually got bored with it due to lack
of motivation and other things.
Near the end and after that I toiled with Visual C++ 4.0 and
MFC. I eventually got bored with that too and wasn't very
productive. I was also getting horendisly sick of Windows too.
Chose to uninstall Linux since my new 3d card didn't work with
XFree86. I read about SuSE's distrubution and they had an X
server for my video card which I got not to long ago. It has
spurred me to jump into X programming, 3d/OpenGL programming,
and perked me up some. That brings us pretty close to the
After pouring over PC Gamer's preview of Q3A I really really
wanted to learn OpenGL and make a 3d engine of my own that
matched that of Q3A's. I started to do my OpenGL programming.
I got a 3d cube up and going, but nothing super complex yet.
I then got a hold of Next Generation's interview with John
Carmack and that even added more to my drive. That got me with
the idea of doing a real time ray tracer, but I'm putting
that on the back burner for now. It also got me wanting to look
for anthing on bezeir curves and surfaces. I found a page that
had what I was looking for, the equations. I got a 2d bezier
curve plotter working, but I have yet to try a 3d surface.
So that brings up my goal for my engine. To match Q3A in
graphics, speed, expandibility, etc. Maybe even exceed it since
I currently have a 180mhz Pentium MMX overdrive chip with a
Diamond Stealth S220(Rendtion v2100 chip) and I'm going to
aiming for at least 10fps on my computer. That should
translate into nothing but speed on a Pentium III.