Tue, 30 Jan 2007
"Back in the day" (I can’t believe I’m using that expression) I use to love to program computers. I started out in Jr high school writing games in BASIC, I went to High School and had a blast playing on an IBM 360 mainframe that was timeshared to our school.I remember when the Apple I came out. It was a kit that you had to build yourself. It came with 4k of RAM That’s right boys and girls, 4000 bytes! Total!. If you wanted an additional 8K of RAM you had to buy an additional circuit board for $200.
Then the Apple ][ came out. Then the Amiga, the Coleco Adam, the Texas Instruments TI994A, the PC Jr, the Apple Mac and so on.
Let’s see how many of the old programmers remember this: "Back in the day" (Dang, I’m saying it again!) there use to be these books that you could buy with 101 computer games written in BASIC. You would have to type in the code yourself. Of course, you’d usually make some sort of typing mistake so you’d have to debug your code. Then you’d play the game (after you saved your code on a cassette tape. Damn I’m feeling old!) If you were a real geek then you’d modify the code to add some feature that you wanted it to have and you’d make the game your own. That’s pretty much how I learned to write software, by copying other people’s code. I can’t begin to count the number of times that I was typing in somebody else’s code and said to myself :"Wow! I didn’t know you could do that!"
So now it’s coming up on a year since I’ve written any code for a living. And the last couple of years at my last job were pretty frustrating because I was essentially the liason between an atrociously bad vendor and my company. In the last 2 or 3 years at that job I probably only spent 3 months actually being a programmer. On one hand I was being told that I was a great programmer, on the other hand, they wouldn’t actually let me write any code. But when things broke I was right there fixing the problem and getting things done. So I knew what I was doing, but for some reason they wouldn’t use my talents.
In any case, I was browsing the internet and found something that reminded me of those good old days of building your own games in BASIC. It’s started to rekindle my love of programming.
Robocode is a game I’ve played with in the past, but I just started messing around with it again. Basically, you have a tank. Then you write some code that describes how that tank will behave. The code you write is in Java, my favorite programming language. Then you put your tank in an arena with other tanks and let them fight it out while you watch the carnage.
Yep, that’s good clean fun.
Robocode was written as a tool to help people learn the Java programming language. After a year off from programming and with the few years before that being pretty light I found myself making all the newbie mistakes all over again. Forgetting to import classes, messing up my package structure, using classes that I havn’t defined yet and so on. If there’s a way to mess up I was doing it.
So why was I having so much fun?
It brought me back to the days when you could actually write a game on a tiny computer in your bedroom and it would be fun and interesting enough to play. This was before the days of 3D graphics and CDs and games that took up gigabytes of space. I mean Geez-Oh-Petes! Gigabytes! I remember sitting in a car with a buddy as he was browsing through a local computer magazine when he said "Hey check this out! 2 gig hard drives just dropped below $200! " Now you can get 250 gigs for less than $100.
I guess Moore’s Law still works.
Robocode is so old now that a lot of the tutorial links are broken and web pages that use to support it have vanished. But it’s still a fun way to play with some computer code. So go geek out, get Robocode and bring yourself back to the days when we "hand rolled" our own games and wrote the code ourselves.
Those were the days.
[edit] It turns out that there’s a brand new version of Robocode as of YESTERDAY. Go get it.
This story is from the
[/geek] department
permanent link
