A-to-Z Challenge Day Eight: Hello World!
Computer programming is just so…what? Geeky? Nerdy? Maybe. Yeah, actually, it’s actually really geeky.
When I was in high school I seriously thought about going into it for a living. Basic, C++, C#, all kinds of other languages were at my fingertips. I won my high school’s computer departmental award for some of the projects I did in the self-taught “advanced computer programming” class I took (at first with another student, then in the second semester alone).
So why didn’t I get into it? I think that has to do with the fact that I enjoyed computer programming, but I didn’t want to do it for a living. I loved solving challenging logic puzzles using a coding language, but if I had to do that every day through school and for a job I’d go crazy. I think it’s because I found programming fun, and sometimes you can’t make a career out of things you find to be fun.
I’m certain that with computer programming, turning the things I love about it into a day-in-day-out career would have disenchanted me. I’d probably grow to really dislike it, actually.
So, bullet dodged. The things I love about computer programming I still love. The question is: what do I do with programming now? I make little projects that are just for fun. Sometimes they challenge me, and sometimes I just want to make something geeky.
That’s how I came to design “Warp Factor Awesome!” I was doing research, like any good geek, about the warp drive of the Star Trek starships. Michael Okuda (@MikeOkuda) developed a formula to determine the velocity of a starship traveling at warp speeds in Star Trek: The Next Generation.
Taking that formula and some of my geeky exuberance for creating fairly useless, but awesome, things I made a program that would determine the travel times and warp speeds of a ship traveling at warp to different destinations.
The first thing to note is that this is fairly interactive. It has flashing lights on the LCARS and when you press a button it makes noises. There are two different warp scales that you can use, one from TOS with a slower scale and the Okuda TNG scale, which has faster speeds (and past warp nine it increases to warp ten asymptotically). You can enter a distance in light years to travel, or you can use the drop down box to select a destination, which automatically inputs the distance in light years.
After you press the “Engage!” button (heh…) you get a new screen with a .gif of either the TOS Enterprise or the Enterprise-E depending on which warp scale you use. You can see the distance in three different scales.
I’ve also included some Easter Eggs, like accidentally causing a warp core breech if you press too many of the wrong buttons (there’s a .gif of Geordi diving under the falling shield in the engineering section).
This was a really fun program to make and I learned some interesting coding tricks to get it to work right.
I’m actually working on Warp Factor Awesome 3.0 that has more fun things, like LCARS sounds and sound clips of Majel Barret voicing the Enterprise computer (and if you press the “Quit” button you hear Picard say, “This is no longer amusing.”). I’m also trying to program a game where Data goes a bit crazy and tries to shoot you with a phaser, so you have to shut down his neural net (why would you want to shoot Data?) and another where you are the weapons officer and have to deal with shields, torpedoes, and phasers to take down enemies.
So computer programming is still fun for me, even if it’s just a hobby and I’m essentially a novice. WFA was done in Basic, though I’m working on a C++ version as well just because I can.
Disclaimer: CBS Studios owns the copyright for LCARS.