Programming (Part 1)
Hey, it’s pointless personal trivia day! Hooray.
Anyway, I’ve never taken up computer programming in any official “this is what I’m going to do for work” sort of level but it’s off and on been a background hobby of mine. I’ve been considering getting back into it lately which has inspired this historical blog post.
The first programming language I ever learned any part of was BASIC. This was around 1987-1988 when I was 7 or 8 years old. I know this because, at the time, my dad had gone back to school to finish his degree in Computer Science and I learned a bit of Basic from him based on what he was learning at the time in college. I never used it for anything super elaborate. The most complicated piece of code I ever created involved a simple password that would then display a bunch of text or ask questions that would display different text based on the user’s response. Simple “If Else” style programming.
This “If Else” method of programming is very simple but it’s a set up that can be used for a lot if managed properly. It’s a method that would translate over tot he next segment of my programming years in High School. Because I was in Advance Math, I was required to own a fancy TI-85 Graphic Calculator. The most exciting thing any of us ever did on these calculators was to program little games and programs.
I had two major programming projects I created for the TI-85 and irritatingly, both have been completely lost to the throws of time. I didn’t get a PC link cable until well after High School so I had no effective way to back up my hard work. The first and main undertaking I ever had was a pair of games called “Dragon Quest”.
The name Dragon Quest was chosen in tribute to Dragon Warrior, before I knew Dragon Warrior was in fact also secretly called Dragon Quest in Japan. The first game was a very simple RPG, all contained in one saved file. You would exist at the town most of the game. You could buy potions to heal in this town or stay at the inn to heal. You also ha the option to “explore”. Exploring would result in one of two encounters, a small dragon or a wizard. Everything did a set amount of damage so the whole game was extremely predictable. After 20 battles, exploring would result in an encounter with the “Dragon Lord” who was a much tougher dragon.
The battles were the shinning point in this game. It took a ton of memory but the battles were all graphical. You’d see a wizard, dragon, or Dragon Lord graphic on screen to indicate the type of encounter. Your two attacks, slash and stab, would overlay a different graphic depending on which was used. These were basic black and white images created in the calculator’s Graph Drawing function.
Many people liked this game in my High School and it was generally pretty distributed among people who had graphic calculators.
So I created a sequel. The sequel dropped all graphics in the interest of saving memory. However, this memory saving allowed for a TON more features. The player could now learn 4 different spells over town, a fireball, healing, nuke and better healing. You could also spend money from encounters on new weapons to do more damage. All damage was now variable. The encounters were much more varied with two dozen types of enemies that would randomly show up. Halfway through you’d be given the option to solve a series of riddles and fight the mighty White Dragon in order to earn the best Sword, Xcalubur. Instead of 20 encounters the number was increased to 50. There was also the addition of a menu driven system since I had figured out how to work this function. Lastly, since 50 battles was a lot to make it through, the game featured a three file save system that would write everything to a file.
The next best feature, which was highly underlying and not visible to the player, was that the game was broken up into a series of modular files. I had learned how to call one file within another. This meant that the main game was in fact, nothing but a series of calls to other files. It also meant one part could be much more easily tweaked as needed.
The most impressive part of all this really was that I’d never had any level of education in how the TI-85 was supposed to be programmed. I had the manual, which described the available functions and commands, and the rest as all trial and error or luck.
I mentioned that I had created two major projects. Dragon Quest was the first, the second was “Windows for the TI-85”. At least that’s what I called it. It wasn’t really very Windowsish. Basically I created a menu based graphical icon based system for launching the programs on my Calculator. Unfortunately the icons were part of a static background and the menus were all hard coded so it wasn’t portable to anyone else’s calculators. It was more of an experiment than anything.
Next… Part 2: The HTML, C, and C++ Years….