1/10/07
So... I've finally gotten around to starting my programming blog. I'm known as MDR Falcon and I've been programming for a little over two years now. Ever since I got my graphing calculator in 8th grade, I've wanted to make games, but I never knew how to get started. In the fall of my freshman year of high school, I received some calculator games that appeared to be somehow different from the other games I had previously come across. The difference was, these were in BASIC, meaning that the code could easily be read and understood on the calculator itself, unlike with assembly programs. I started examining the code and messing around with some commands, but I always got errors. Finally, I got it right and was able to display text on the screen, and it was then that I realized I would soon be able to make the kind of games that I had dreamed about for over a year. Or so I thought.
It turned out that TI-BASIC is a really crappy language in terms of speed. This is because, unlike assembly code, the calculator has to translate each BASIC command into machine code and then execute each and every time the command is encountered. Anyway, I started out my programming ventures with a text-based game (though it did have a couple crappy pictures), Sims 1862: Plantation. It was quite large for an 83+ BASIC program (over 9000 bytes, as I recall) and slow because the programming structure was so inefficient. It took me probably about two months to program, but all my friends thought it was hilarious and I certainly learned a lot from it.
I don't recall doing a whole lot of programming that winter. My next project turned out to be Sims 1862: Brothel, which was an idea that one of my friends came up with that I took, at best, half-seriously at first. However, once I got into programming Brothel, it seemed like a much better idea and turned out pretty well. I actually tried to organize the program structure this time and was able to come up with a save system that actually worked.
That spring, I tried to write a fully graphical mini golf program, but it didn't turn out because I couldn't figure out how to get the ball to bounce off the sides properly (and still to this day I think it would be difficult to come up with a full-proof algorithm, not to mention it would probably be slow, and so the project, sadly, remains unfinished). After seeing Sudoku in a South Dakota newspaper that summer, I was inspired to write a Sudoku program. It actually turned out pretty well for my experience level, but it relied on external programs for additional puzzles, which is a bad thing when it comes to calculator programming.
I worked on some other projects throughout the school year, including Sketchpad and Modart during track season. Towards the end of my sophomore year, I decided to begin a project that would become legendary in due time (at least to those at my school): Plantation 2. It was very similar to the original Plantation, but it was much more graphical and had (drumroll, please) animation! I consider Plantation 2 to be my baby. It's nearly perfect because virtually the whole program is encased in While loops, but it does use some gotos and labels (which is bad in case you aren't familiar with programming). Also, there *may* be memory leaks (which is bad, and the fault of gotos and labels), but I think the End commands take care of it. Anyway, enough with my rambling...
I was close to done with Plantation 2 when summer began, but once summer began I shelved it and began learning z80 assembly language (which is really hard). Toward the end of the summer, I completely re-wrote Sudoku from scratch and released it as v2.0. I also decided it was time to finish Planation 2 and did so with the help of Kerm Martian's Sourcecoder 2 (found at cemetech.net). Both of these projects turned out very well and I consider them among my best work. Probably included in that best work is Minequest, a Minesweeper clone that I programmed this last fall. I also started programming Battleship at the beginning of this school year, but it has been shelved for months now.
This winter, I decided to learn how to program Nintendo DS homebrew. And that's where I'm at right now. So far, my most advanced program is a sprite that can walk around a map, which scrolls! My first working homebrew program that I ran on my DS was a simple "Hello World!" one, which is pictured. My friend has this crazy awesome idea for a DS game that he told me about the other day that could make us rich (hopefully). It's basically like memory where you have to touch cards on the touch screen to flip them over and find pairs, but the crazy thing is that you have to do it to the rhythm of various songs. It's kind of like DDR in that symbols scroll across the screen telling you what to do on the next beat (like flip a card or drag a pair to the... uh... pair-dragging-place). Cool, huh? It could get really intense as the music gets faster and the patterns get more complicated.
So, that's a taste of what I've been doing in programming for the last two years. My major upcoming projects (hopefully) include Plantation 3 and Revolution 2032 for both the TI-83+/84+ and the Nintendo DS, as well as the DS game I was talking about above. Well... that's it for now. Auf wiedersehen!
-MDR Falcon