Newbie Coders Diary - Entry #0
Hello, sceners. This is an introduction to a series of articles about my experiences as a newbie coder. The goal of this series is to help fellow newbies, and show experienced coders willing to help people like me what problems we experience, so they can help us better.
First, I'll introduce myself. I'm a 15-year old Dutch guy, and I have been playing with computers since I was six years old. That was on a 286, I never experienced the Amiga, C64 or Atari. I only played games on it. When I was about ten, I discovered QBasic, and started programming. I did some 2D graphics (drawing random triangles, a simple tunnel effect, etc.), but it never was really good. Not much later, I got bored with it and started playing games again. But, early this year, a friend of mine showed me the demo Plastik (Purple). I loved it. Next, I downloaded 303 (Acme), and my life never was the same again. It looked so cool, I wanted to do that myself.
Here it started, and I'll tell you about my experiences before I started writing this diary. I knew that I needed the C++ language to build fast stuff. Since my PC doesn't have DOS installed, and many components don't have DOS drivers either, I decided to use Visual C++. Now, I had to learn how to use it to make demo's. That consists of 2 parts: a) how to use VC++ and DirectX to show graphics, and b) how to calculate and code effects, 3D engines, etc. I bought two books about VC++ from a local bookstore, only to discover that both of them are about normal programming, not about how to draw neat graphics. Next, I found Hugi on the web, and downloaded issue #15. The coding & maths section had some nice articles, but most of them I couldn't fully understand, or didn't know how to implement the information they gave in VC++ (I did manage to build a wireframe 3D-engine in QBasic though, but it was sllooowwww). Most of them were aimed at coders who have some experience, and already know the basics of coding a demo.
I stopped trying to code demos for a while, and relaxed during the holidays. But recently, I wanted to code again. I talked to Adok, and he offered me to write this diary. It has three purposes: to help other new coders, to show experienced sceners what we need to know, and to help myself. In every entry I'll write down where I got the information I found useful, a compilation of what it contains, and I'll tell the world what my current coding problems are.
The most important problem I encounter is: many articles, in Hugi and in other places, are written for experienced coders. I can't find information about the true basics of writing a demo. I need articles with an attitude like "you know nothing about coding at all, so I'll start at the absolute beginning of it, explain everything, and give code so you can practice with it."
Most articles are about a specific part in coding, like "3D Clipping", "Matrices", and describe those specific subjects very detailed. I need more general information, which gives an overview of all aspects of coding, without the minor details.
One standard programming language should be used for helping people like me. I can't learn C++, VC++, Pascal and Assembler. Since Windows 9x is the most used OS right know, and has the least compatibility problems (imagine someone who has made some code as example for me, which runs perfectly well with his hardware, but does not on mine), I think that should be used. Windows means VC++, since it's the only fast and reliable programming language for it. Also, C++, Assembler and Pascal all belong to the DOS era, which is (admit it) over.
Which hardware to use? Which processor (Intel or AMD), videocard (Voodoo3500, TNT2 or G400) and soundcard (SoundBlaster, SoundBlaster live or GUS)?
What file format should I use for graphics? .raw (easy, but large), .jpeg (small, but very complex), or another one? How can it be implemented in demo's? The same question for music (Tracked? MP3?).
So, hardcore coders, this is what I need. Answers and solutions to these problems, preferably with example code, could help me and other people to start coding.
That was this issue's diary entry. It's an introduction, the coming entries will have a different structure. I'd be really grateful for reactions and feedback. I'll work hard to start coding, and I need your feedback to do so. Next issue, I'll show you how far I got, which help was useful, tell about my coding problems in greater detail, and I'll probably include some code I made in Hugi's bonuspack.