More Notes from the Field - Source Code Release

Trees By The Northern Dragons

Written by Syntax & Polaris

September 11th 2003

"If you put tomfoolery into a computer, nothing comes out of it but tomfoolery.

But this tomfoolery, having passed through a very expensive machine, is somehow ennobled and no-one dares criticize it."

Pierre Gallois.

Greetings Hugi readers! Syntax and Polaris of The Northern Dragons here again. We noticed that featured our "Notes from the field" article about our Assembly 2002 4k intro "Trees". We thought: "Hey, we should go get some celebratory soft drinks!". After we got the soft drinks we thought "Hey! Maybe we should release the Trees source code in celebration!?". And the moral of this story is, "never think without having a drink close by" or "You always make rash decisions shortly after getting a drink". As you read this document, I'll let you figure one which one is correct.

First of all, On behalf of the Northern Dragons, I'd like to say thank you for the support we've had from various entities in the demo scene. Adok/Hugi, Elmindreda/Hypercube, Frankie/Smash Designs, Nullsleep, Darios/Unique, Miss Saigon/Threesome, Mac/ThreePixels, SceneRep, The Pilgrimage Organizing Team & Participants…the list is huge and is growing. Thanks to everyone who has helped us over the past 3 years.

We would also like to invite demo sceners to become involved in the Northern Dragons, especially if you are located in North America. The Northern Dragons are headquartered in Canada with members across the country. We also have members from the United States, and the world. Few groups join together talent from such far reaches, and we are still looking for more members! Artists / Modelers especially! Coders and musicians too! Interested? Check us out at

So, we're releasing the "Trees" source code. As you read it you may notice (We didn't completely tidy up the code) that we experimented quite a bit and there may be some unused code in there and stuff commented out. Perhaps more importantly the code has been tortured with some optimizations - unrelated sections that used similar values have been combined to use one variable for example. All we can say is it was finished in a rush and has been left alone for 1 year so the code is kind of nasty. Beware. :-)

Still, it's a great place to start and learn. The code is compiled with the masm32 distribution from It uses upx for compression. At that time the file dropping technique at assembly was not permitted; and we adhered to those rules. Those rules have been since been lifted. The code compiles to 4 Kbytes (exactly) using upx. Using a file dropper, it's down to 2.3 KBytes. The code compiles with the included batch files. (All code should be in the nd bonus archive as

We hope this code might help / frighten off potential 4k coders. If you make anything interesting from this code, or just feel like greeting us, please do so in your demos!

Ok, we've wasted enough of your time. Back to your normal programming...

Polaris & Syntax/ Northern Dragons

P.S. Famous Northern Dragons Quote: "Friends don't let friends do openGL in 4Kb"