Not logged in, Join Here! or Log In Below:  
News Articles Search    

Submitted by Malte Weiß, posted on July 18, 2001

Image Description, by Malte Weiß

I'm a seventeen year old student from Germany approaching the 12th grade. In March 2000 I decided to design a real 3D computer game after I have had spent the time before writing smaller games and database applications to earn some money. Fortunatly my school gave me the opportunity to get a higher score in my A-levels next year if I present and illustrate my project in an oral test. That's given me another motivation to work harder:-)

Because of my philosophy not to use "foreign" programs I have attempted to do everything myself. And it has worked until now ...

In March 2000 I started to write a 3D level editor called 'Worldbuild' (image at top left). I have worked with several editors before so I followed the aim to create an easy-to-use but highly effective editor. The work space is seperated into three 2D views and one 3D view. The user inserts primitives into the 2D view. These can be modified by cutting, moving, rotation etc. Additional objects like lights, lens-flares and sprites can also be created here. All these elements are directly rendered in the 3D view. It is responsible for all texturing operations as-well. The most important actions can be done by mouse and/or a few keys.

It needed nine months to get the editor into the beta stage. After that I began to implement special functions like a landscape-generator, a texture interpolation function (to correct smaller texturing errors) etc. The program interacts with DirectX. The 2D view uses the DirectDraw components of DirectX7, the 3D view renders using DirectGraphics of DirectX8.

In November 2000 I decided to create my own texture format to be independant from standard formats. So I developed the 'Texture container'. It is used to create a container of imported bitmaps. A special function of this program is the possibilty to do image animation.

A compiler (image top right) is integrated into Worldbuild which converts the maps into a format which is faster to read. Moreover it pre-creates an OcTree structure which is used by the game.

Some other programs followed like a file container (to group and contain files) and an updater program called 'Phalanx Updater' which can be used to download the newest components of the project. This was designed and created for the beta-testers.

On June 22nd I started with the core game: the 'Racer' (I'm sorry about that stupid name. I'm still searching for a better one.) It is (or will be) an action racing game: you will fly races with small futuristic space-ships, armed with several weapons you can shoot your enemys. I think, I'll write this part of the game in Autumn :-) At the moment I'm writing my own 3D engine. The first screenshots are shown in the image above (images bottom left and right).

The progress of my project can be "viewed" on the homepage: I'm sorry that it's mostly in German. But the screenshot and statistic sections might be of some interest for you:-)

I'm still searching for a better name for my game ... I welcome every idea ;-)

Malte Weiß

Image of the Day Gallery


Message Center / Reader Comments: ( To Participate in the Discussion, Join the Community )
Archive Notice: This thread is old and no longer active. It is here for reference purposes. This thread was created on an older version of the flipcode forums, before the site closed in 2005. Please keep that in mind as you view this thread, as many of the topics and opinions may be outdated.
Arne Rosenfeldt

July 19, 2001, 03:29 AM

Ich dachte immer wir hätten 13 Jahre in denen man entweder
zur Schule gehen muß oder eine Ausbildung machen muß.

Die Schule läßt einen doch nicht weniger Zeit als eine Ausbildung?


July 19, 2001, 03:39 AM

Cool editor. I need to do something like that, but I can't stand all of the GUI stuff. In fact, I haven't even tried to learn it seriously, because it looks scary and unusable.

I have heard that MFC is better than windows API, but that still looks too difficult.

I guess that I am just a big baby, and will have to learn it anyhow.


July 19, 2001, 03:45 AM

The menu on your website has a horizontal scroll-bar for me (1156x???), which looks bad.


July 19, 2001, 03:56 AM

Hey really nice work! ! ! ! ! ! !

And I can relate your philosophy not to use foreign programs ( even if nearly everybody seems to be annoyed by that ), I know it from myself sometímes. And it's good to have deeper understanding in how things work, of course you can't do anything yourself but you can try to do as much as you can by yourself.

And if you do it, you can sure about how it is working, I hope :)


July 19, 2001, 04:05 AM

hiho, 17 years and german also :) nice sense of community we have eh?

anyway, the school i'm currently attending (german school in cape town, south africa) always takes priority over my coding stuff, so it's really cool that they help you (i imagine :), hope they get the idea here.

i've actually ditched opengl/d3d (realtime 3d graphics) mostly in favour of really high end monte carlo global illumation stuff. i find that most realtime 3d rendering really isn't that exciting for me... i'm just waiting for machines to get powerfull enough to do global illumination (REAL GLOBAL ILLUMINATION, Realtime Radiosity by Broncs isn't!) in realtime :>

i really can appreciate the time and effort put into this excellent IOTD, but most of all i'm astounded by how you worked on it for so long... normally when i'm into a reasonably-sized project i get frustrated with the declining speed of development (normally at this point you're polishing your code and not really feature hunting) and drop it.

i want to make a 3d modelling program for my projects, but i don't know how to model in 3d (sure, i can make cubes and spheres :) so i wouldn't know what to put in there :/


July 19, 2001, 05:02 AM

Very nice.

Keep up the good work, and you'll find yourself programming for a game company before realising it ;)


July 19, 2001, 05:35 AM

Great work and great motivation.
This march I started making a level editor for a major project. After a couple of months of hard work it was left on hold while I make a game engine first. After this small engine (should be finished in a couple of months) which is also octree based I might make a quick BSP quake 2 renderer just to see what BSP are like. Then I will get back to the editor, possibily restarting from scratch. At the same time I will redo my landscape engine, nothing too advanced. Hopefully by Christmas I can start mixing the landscape and indoor renderer with some of the levels from my editor (run about a lanscape and walk in buildings). It will probably be another year before a good, useable engine appears.

About your level editor:
Do you use any BSP or Octree to speed up rendering.
How do you do CSG if at all, do you use a BSP (I think this way is easier), how easy or hard is it.



July 19, 2001, 05:50 AM

Thats truth. And in fact is the reason why most games look so similar. That's because of extreme love for copying. Code, ideas, everything. But all the best games are inventive. Others just follow and copy him ...


July 19, 2001, 06:03 AM

Nice work!
It's great that you're writing all the tools by yourself, but I think that in general it's better to use other, already available software people know how to use. When I started coding my softsynth, I chose to use Buzz ( for the synth interface, because the musicians already know how it works. Then it's easy for them to start using my synth plugins, and I save a lot of time for I don't have to code a whole GUI. But that's just my opinion, great work you've done on your editor!

And I'm 17 years old too :)


July 19, 2001, 06:57 AM

Nice that your school supports you ! You are sure we talk about the same German schools ? ;-) I also just got 18. Also, great work, looks quite cool !

Malte Weiß

July 19, 2001, 07:22 AM


Yes, I'm using MFC for the level editor. For the game itself I'm using the WinAPI. That's more effective because you have the full control over the window messages.

I choosed Direct3D for my engine because I'm working with the other components of DirectX aswell (DirectInput, DirectSound later etc.).

Your level editor looks cool! You can be lucky that you have a working team. My project started with a team of designers (actually best friends) which promissed me so much and did nothing. Then I decided to work alone ...


Malte Weiß

July 19, 2001, 07:33 AM

The 'engine' of the level editor ('Worldbuild') is pretty simple and doesn't use any Octree or BSP. I'll change that in the near future. The problem is that the vertex data in a map editor are very dynamic and can totally change in a second (e.g. when the user scales the whole map). I would have to rebuild the whole Octree which needs too much performance.
If the level gets bigger the user can/should work with layers to speed up the editor.

The game ('Racer') uses an Octree algorithm. In the next days I'll combine it with a Beamtream.


Malte Weiß

July 19, 2001, 07:43 AM

May-be you have misunderstanded me. My school doesn't really 'support' me :) We don't have any teacher who have ever worked with C/C++.
The just gave me the opportunity to present my project in the A-levels to get a good mark:)

It's called "Besondere Lernleistung" ...



July 19, 2001, 08:06 AM

Hi, I'm german too. I ask me, who give you the time in 'Sek. 2' to program so extreme every day. A few weeks ago I made my 'ABI' and I know you must be prepared every day very well for school. I decided to do more for school at first. Cause a good 'ABI'. Now my time is fucked up. I don't know what I should do. I have to go to the f****** army in a few weeks for 10 month. :(
Are you good at school?

Ciao BLooD


July 19, 2001, 08:32 AM

Its not that good in Germany. It seems to be like in this example, but there are other schools, where things are not so good.
There is the possibility in german "Abitur" to link a special work to your report. But the teacher must allow you to do that. I wanted to do the same, but the teacher says there must be a connection to our region and it must be something special about the school. So i cant do it.

BTW: Germany has a huge problem in aquiring IT-personal. There is no.


July 19, 2001, 08:39 AM

komm schon, bei dir wirds wenigstens mit ner guten note fuer besondere leistung beurteilt, bei mir heissts einfach, wenn sie anderes zu tun haben, muessen sie sich ja nicht wundern, wenn sie schlechte noten machen => sie "duerfen gehen"

naja, hoch lebe die schule.. jetzt gehts in die lehre, da hab ich zwar weniger zeit zuhause, aber immerhin hab ich da auch computer.. ( und samstag frei, scheissschule, wirklich.. )

hm.. great project, want to know the mark after.. i think every one wants to know this.. you can call it the 1+-project at the end, instead of racer.. doesn't this do sound bether? ;)


July 19, 2001, 08:53 AM

Ui! Kewl stuff. Your work looks really professional. IMO there aren't many developers in the german gamedev-scene who are so good.

Okay, i hope the others don´t worry if i also say a few words in german;)
Der Editor sieht echt professionell aus. Zu welcher Schule gehst du denn, die so eine Arbeit unterstützt? Bei uns in NRW kenn ich keine, die sowas machen würde :(
Ich war übrigens auch bei Rock am Ring ;)


July 19, 2001, 09:04 AM

great work!

actually I'm 15 and I can only dream of writing my own editor alone and such things but I hope I'll be able to do so in about one and a half years or so, since I'm still attending school. Well, all I learn at the informatics Course is minimal VB and HTML...
You can count yourself lucky to be supported by your school. Our teachers don't really know what an engine is...

Keep up the good work!

Johannes Böhm

Sebastian Sylvan

July 19, 2001, 12:11 PM

First prototype, then build it cleanly. Effecient, easy-to-read code.

You design has to be very modular though as to allow these re-writes to take place. You shouldn't be lazy about re-writing code that has become bloated.


July 19, 2001, 12:34 PM

Call me crazy, but I prefer to do it right the first time, with the deadlines and whatnot.


Malte Weiß

July 19, 2001, 12:37 PM

Thanx for your name;-) I'll think about it.

Danke für Deinen Spielnamen;-) Find's lustig, dass Du auch eine dieser wenigen Schulen erwischt hattest, die samstags Unterricht haben. Das ätzt, was? ;-)


July 19, 2001, 12:38 PM

Hardcore man, hard - core!

Malte Weiß

July 19, 2001, 12:46 PM

You're right. It's pretty hard to spend so much time in working. I work at least 1-2 hours a day at school-time, and in holidays (now) 3-4 hours. Moreover I play in three bands beside school (saxophone and piano) and have a gf who doesn't want to be forgot:-)

My subject election at school is pretty easy. I only elected logical subjects (maths, physics, German ...) where you don't have to learn and reproduce too much. Additionally I had luck with my teachers ... Only to answer you question: Yes, I think I'm good at school. I have the highest score in my grade but that doesn't say anything. I'm lucky with my subjects/teachers as I mentioned. I thank god for that:-)

I don't know you much time I'll need just before my A-levels ('ABI') so I have to calculate that.


Tut mir Leid, dass Du zum Bund musst. Auch da habe ich gewissermaßen Glück, weil ich zwei ältere Brüder habe. Das Projekt funktioniert wirklich nur aufgrund vieler glückerlicher Zufälle.

Sebastian Sylvan

July 19, 2001, 12:52 PM

Of course if you do it right you shouldn't rewrite it. Problem is most of the time you'd go "Oh it works, move on!" even if the code is ugly and uncommented. This sort of thing spreads you know. Everyone using this ugly code will also write ugly code. And before you know it, your entire project will be nigh on indecipherable. So even if you "get it right" there are cases (and the occur quite often) when you should rewrite it anyway. Just cleaner and with more comments. Better variables names etc.

THe first time you write something you tend to just want to get it working so you cheat a bit with encapsulation etc.

What I'm saying is you should NOT be lazy. If your code isn't top quality all the way through (and don't even begin to say that you always write top quality code, no one does) you shouldn't be too lazy to rewrite it.


July 19, 2001, 12:53 PM

School on Saturday is normal to me, after 6 years of experience... it's not too bad, better than coming home at 16:00 everyday or so... still holidays are better :o))))



July 19, 2001, 12:56 PM

Only thing I mention -----> RAREBYTE Doesn't really look like an Austrian group but it sure is.... AUSTRIAN GAMEDEV SCENE rulez :o)))))



July 19, 2001, 01:00 PM

Hi There!
Another Austrian! :o)
anyway, I can give you one advice: Get some books and start reading... and from my point of view, leave that VB crap behind ( sorry to all those VB coders out there ). Learn the stuff that's behind programming ( how memory has to be allocated and so on ).. I didn't learn anything thru school, I learned it all by reading reading reading and chatting with some friends...



July 19, 2001, 01:46 PM

Well, when I first started out writing games I wrote my own graphics engines and sound libraries... but once I learned how they worked, and hardware acceleration came along, it's much easier to implement, and having written it myself, I know exactly what to expect out of it, and how to get around things a bit easier. I know exactly how the graphics card is drawing AND how the sound card is playing. I have written both, but now that I understand it, I use what's made for me. I can write my own sound plug-ins with compression and stuff for my engine because I know how... but why would I when I can use something that's already been done. I won't write a new graphics engine that is more efficient than my older code... because well, I know how it works, and it's not as fast in software, and without going into a REALLY LOT of programming, I won't be able to support as many computers efficiently. You can't really compare sound to graphics anyways... think about it.. I can get a graphics engine pushing poly's without knowing the specific hardware... but try to get any sound out of a computer without using specific hardware... sure you can get some generic sound blaster compatible stuff working (which is how I used to do it) and you can also get some compatible vga/svga stuff going, but it's much more efficient to use drivers, and it comes out looking/sounding a lot better. Our eyes are much more perceptive than our ears though, so we would rather spend our time trying to get that last bit out of a graphics engine, than a sound engine. The quality on current sound is fine, and not much can be improved upon with current hardware. It's not like you are going to be able to get the sound quality much better or any different than anyone else can do.. or get the sound to run smoother... now with graphics, you are trying to push more polygons, and make it look better than others, and keep it compatible with all cards. It takes a lot more refinement, so there isn't a single engine that can incorporate all the features that everyone needs and do so efficiently. With sound... it can play sound files... and 3d sound when triggered... what can you improve upon. Most people write 3d engines because they have an idea on how to improve either an existing idea, or they have a new idea that they think is going to work for their application. Loading and playing a sound file is going to be the same (except with 3d sound, but then it's still similar) in 3d games, 2d games, and music programs for that matter.


Alex Herz

July 19, 2001, 02:38 PM

cool sound like me when I was 16-17 :)
but my school didn't support me in any way..
if you have to do a facharbeit for your abitur you might be able to supply that again..I didn't succeed in that..
keep on movin..but don't stay a lone runner..teamwork is what ppl(firms) want...I'm curious to see the full game..



July 19, 2001, 02:58 PM

Hidiho Leudln! :)

I'm 16 years old.

First of all, yeah, Austria rulez, hehe
How many people in this "forum" speak German????

In my school we only learn PASCAL, Delphi and Javascript......
But my teachers admire me, because I can program 3d-stuff(and they can't) muahahaha(No I'm not a quaker....(HAHA(Think of Nelson) in Österreich haben wir keine Indizierung))

And of course this IOTD is really great

This thread contains 67 messages.
First Previous ( To view more messages, select a page: 0 1 2 ... out of 2) Next Last
Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.