This page was last updated on March 13th, 2020(UTC) and it is currently May 30th, 2023(UTC).
That means this page is 3 years, 78 days, 11 hours, 53 minutes and 59 seconds old. Please keep that in mind.
0 Introduction
I'm going to be frank right off the bat. The whole reason I decided to write this is due to my cynicism: people always ask me to teach them X, Y, or Z, but then end up wasting my time half-way through by simply giving up and never getting back to me. I take my time to create materials to teach people according to their needs, because I'm a nice guy, but, frankly, no one ever follows through. The goal of this tutorial is to solve this once and for all: giving people precisely what they need to learn the things that they'll likely need, but not in a way that requires I do more than simply tell them to read this. I'm open for questions and feedback both related and unrelated to this tutorial, however I can't continue wasting time on people who aren't willing to put in the work to do what's necessary to actually learn.
That said, to accomplish this goal, this project needs to last until I'm either dead, blind, or suffering from Alzheimer's disease. Given the nature of anything and everything ultimately becomming "deprecated," including programming language concepts, that means I need to use a platform that's not likely go disappear anytime soon. In this case, DOS has many emulators, despite it basically being discontinued as an operating system. Emulators are on a wide range of platforms from iPhone to Android, and especially the common everyday PC/AT computer. When writing the tutorial examples, I've used DOSBox since it's the dominant choice for DOS emulation at the time. This, unfortunately, comes at a cost: since it currently does not support long file names, the C++ code I wrote requires some "hacky" solutions to get working, but that is it's own advantage: knowing how fragile most programming languages really are to limited systems. If, however, DOSBox itself becomes unavailable, and I'm made aware of this, I will do my best to port the files that need ported to another common emulator. However, the content of the tutorial will continue to assume and reflect the usage of DOSBox.
In order to make this simple, what you need to do, yourself, is get a copy of DOSBox, or some other DOS emulator. This zip file contains that which you need in addition to the DOSBox installation. While the tutorial does not have you coding right away (since we're starting from basic chemistry), you'll likely want to test your setup long before investing that much time into this. Unfortunately, you'll have to do some things yourself. You need to "mount" the foulder called "root" as "C", set the DJGPP variable to point to DJGPP, and you'll want to set PATH to include the DJGPP and VIM binaries. On my computer, this was what was in my "autoexec" section of my doxbox.conf file (the DJGPP folder was C:\djgpp on my windows computer):
mount c C:\djgpp\root
set DJGPP=C:\DJGPP\DJGPP.ENV
set PATH=C:\DJGPP\BIN;C:\VIM\VIM73;%PATH%
C:
Then use the command "cd projects\game" then type "make run" to see if it works or not. The first thing it's testing whether or not the compiling environment is set up properly. If it is, it should build an exe file, which should promptly run after it spends about 10 minutes making the exe to begin with. You should see "stars" all over, "aliens" on the right, and "yourself" on the "left." If the red balls touch you, your ship disappears. If you touch them with your green balls, they disappear. The program does not automatically exit when you're done, but instead you need to hold down control and press C on your keyboard. You can move with the arrow keys and you fire your green balls with the spacebar. I noticed on mobile platforms, you sometimes need a physical keyboard (probably via bluetooth) to get the keypresses to register.If you can move around and exit the program, then you've managed to pass the test, and your building environment is ready for the programming sections of this tutorial.
Lastly, the lessons are going to be of wildly varying lengths. When I first started writing it, I had the goal of making many really, really tiny lessons.
Get your own web kitty here!
©Copyright 2010-2023. All rights reserved.