Denthor's Graphics Tutorials: Why I am a Programmer
alfie.wtf
alfie.wtf
If you are so inclined, check out page 6 of this "ancient" scan of a newsletter (yes, advertising for online software used to be done by newsletter :) produced around 1993...my company, MagiComm, wrote an online search engine, very nice ANSII realtime interactive games like Sub Striker and Backgammon (with ELO ratings no less), and other pretty cool stuff.
http://pdf.textfiles.com/zines/MAJORNEWS/majornewsv4i1.pdf
Code was straight C, with BTREE tables (no SQL) on 386/486s and, in the beginning, a 640k memory limit.
You may not approve of my development choices but you sure can't say I was behind the times.
Anyway, it's super gratifying to read about kids being inspired by BBS software, knowing I created a tiny part of it.
> it's super gratifying to read about kids being inspired by BBS software
Inspired? Man... I remember one time I was online and the SysOp initiated chat mode. After a while he told me he wrote some of the doors for his BBS. At first I didn't believe him because he was one person and not a giant company with fancy computers, but he convinced me and I was completely blown away. Programmers were my heroes growing up.
This was the MajorBBS, by a company called Galacticomm, which was the only BBS system that allowed realtime interactions and gave developers the ability to access shared memory that stored game state and player information.
I was fond of PCBoard though because most of the local l33t boards used it and they had PPEs :)
Edit: sorry can't concentrate as I'm minding the kids and being distracted... you STARTED Galacticomm? That's awesome. I'm so happy my post has brought in the big guns to comment :)
That would be Tim Stryker, a true genius and a friend of mine, who sadly succumbed to deep mental illness in the 90's.
My company, Magicomm, built add-ons and did deep custom modifications of the GC codebase.
Thanks for popping in here - the OP and you both made me nostalgic for the BBS my friend and I ran on an Atari 800XL back in the day, with two acoustic coupling modems. Felt just like Matthew Broderick.
If anyone's curious you can actually find Denthor's tutorials here: http://textfiles.com/programming/astrainer.txt
I also searched around a bit and found this good thread that seems to indicate Denthor is doing well these days and lives in England with a family: http://www.pouet.net/topic.php?which=7530&page=1
Apparently Grant still works for Microgaming but does so for fun, as one of the conditions of the sale was a profit share in all future earnings. His brother Dean retired and is travelling the world.
So, sounds like Grant did OK :)
I may have never dedicated my life to open source without denthor/asphixia.
It was the proof of code creativity and that great things could be done by sharing. This was a new way of creating art. A new way of defining cultural exchanges around art, with an open mind.
Infinite thanks.
Denthor's tutorials were also included in the "PC Game Programmer's Encyclopedia" (also on that site) which collected many useful documents. I had been programming for a while, but Denthor's tutorials were among the first that allowed me to go beyond simple text adventures and graphics with the BGI (Borland Graphics Interface!).
All that stuff had a profound effect on me; not just the technical information, but the idea of communicating that information for free in a way that was comprehensible to novices.
With that and Ralf Brown's Interrupt List, you were Superman.
Strangely I never considered my hobby as a possible career path.
It wasn't until 1997 that I realised I could make a living out of being a developer. At the time I was working in my uncles PC store repairing computers and doing some basic web development stuff (for free) for his customers.
One day my uncle introduced me to a guy in his late sixties. He was a farmer that had taught himself to code and had written a piece of software called FarmBase. He wanted my help to update the application for Windows (until then it ran only in DOS). After talking at length he offered to sell me the software for some nominal fee essentially as long as I promised to "do it justice". At that time he was making good coin off the app, but couldn't keep up the maintenance (he was earning 5-10x what he offered to sell it to me for, so I'd make back the investment in 2-3 months). Sadly, I didn't have the money and let the offer pass.
The upside is that until that moment I'd never considered "writing code" as something that could be a real career. Not only was I inspired to write code for a living, I was inspired to (eventually) run a software company.
I've asked a lot of people throughout the years about how they got into programming. And more than just a handful of people said that they got into programming because of the demoscene, and more specifically, Denthor's graphics tutorials. And only because it was fun and exciting, and something they wanted to emulate. Some pursued it as a career, but a lot didn't (this was pre-Internet bubble so computers weren't something you could get a job with!).
http://www.youtube.com/watch?v=2suZ1KkZ9HI
Which one of my brothers downloaded via BBS (amazingly, my small hometown had a BBS when few people even had PCs). I had no idea what it was at the time, but in retrospect it is pretty impressive - there were really no popular 3D games at that time that I can recall.
A lot of the Spore (EA/Maxis) team was composed of demosceners - I was later invited to work on it but never took up the offer (after reading some horror stories about EA hours).
http://en.wikipedia.org/wiki/Demoscene#InfluenceBack then it was interesting to see many democoders try to make games on their own, and fail due to the large amount of (comparatively) boring work required, but Arjan was a pretty strong-willed individual.
https://archive.org/stream/msdos_Speed_Haste_1995/Speed_Hast...
For the record, the source code for the game is available on GitHub:
https://github.com/TheJare/SpeedHasteSrc
We were bit oddballs in the demoscene because we had been making games and professional software for years, and we were 5-10 years older than most sceners.
About 20 years ago I saw a demo called 'Ambiance' by Tran (aka Thomas Pytel). I became so taken with it (and the very humble readme file that accompanied it) that I wanted to try my hand at creating something similar. This sent me down a similar path of learning to program first from Denthor's files, and then to a simpler technology I became fascinated by: HTML.
20 years and a successful web-app programming career later I've done some x86 demos for fun, but still haven't recreated anything as magical as that demo was to me. I owe such a debt of inspiration to all the demo crews... maybe one of these days I'll do a WebVR version of Tran's work to say thanks. 360 degree Luminati?
I wonder if these folks know how valued they are to some of us?
> I wonder if these folks know how valued they are to some of us?
That's partly why I wanted to write the article - as a thank you to all the people in the scene.
Shout outs to .-=+ The Humble Guys ~X~ Future Crew ~X~ Denthor +=-.
Between this and Fravia I probably learned more about how computers worked than any other course or article. I remember running through most of these to build up my own personal GFX library. Silly things like "draw random lines" versus "draw random lines REALLY FAST" kept me interested long beyond any reasonable attention span. Thanks @tdicola for the link to the texts!
I'm only sad that I've forgotten so much, and that it's getting harder and harder to make cool stuff like this - there are still ways to get a 1:1 array:pixel mapping and have at, but they're all more complicated than MOV AX, 13h; INT 10h; and $A000.
> I'm only sad that I've forgotten so much, and that it's getting harder and harder to make cool stuff like this - there are still ways to get a 1:1 array:pixel mapping and have at, but they're all more complicated than MOV AX, 13h; INT 10h; and $A000.
That's another blog post. Give me time :)
"CRACKING 101 - part 1": http://www.textfiles.com/piracy/CRACKING/c101-90.000
"Cracking On the IBMpc - part 1": http://www.textfiles.com/piracy/CRACKING/copyprot.txt
The following parts are available at http://www.textfiles.com/piracy/CRACKING/
[0] http://stanislavs.org/helppc/
[1] http://www.oocities.org/siliconvalley/2151/pcgpe.html
[2] http://www.ctyme.com/rbrown.htm
[3] http://mattst88.com/programming/AssemblyProgrammersJournal
I actually learned how to code in C and x86 asm mostly from Denthor's tutorials discovered on some local Boston-area. It lead me to GCC (DJGPP), Linux and love for low-level kernel hacking. I went in a different direction career-wise, but what I learned at 13 from those tutorials taught me something fundamental about computing hardware. I made fire. I mean, I made plasma effects by talking directly to the hardware to put it in the mode I wanted, kicking off inline asm to do the twiddly stuff. How fun is that?
Ran a BBS in the 80's and hacked at the software a bit (anyone remember Forum-PC, I think it was written by a 14yo!) that was written in Pascal. That was probably my first taste of coding.
We all had to start somewhere. I bet the typos you made while transcribing from the magazine taught you something about getting your syntax right :)
The code didn't work out of the box in either compiler, someone on a newsgroup showed me how to convert the asm calls over.
Later on I got an Andre Lamothe book and basically stalled out, trying to learn C programming and game programming at the same time. Fun stuff.
I also learned a lot from a book called: Flights of Fantasy (taught you how to build a flight simulator).
My story differs a bit in that I didn't have many friends and was making my own games in BASIC on my Amiga 500 before I found BBSs and started my journey there.
http://www.assembly.org
Australia's demoscene is still alive with Flashback (Sydney) and Syntax Party (Melbourne): http://auscene.org/It's a pity that nobody can figure out what became of Denthor.
I myself wanted to be a farmer. Everyone has to eat, you see, so I figured I could charge as much money as I wanted to. I'd be rich!
I had the post almost complete over the Christmas break but that C64 post today made me smile :)