Thursday, October 18, 2007

Chapter 1: I am born

This is the second time I have started development of the World of V. Actually, it's more like the fifth. While this blog will chronicle my efforts setting up and programming V, I thought I should start by tracing the history of this project.

I first started to work on a text-based online RPG around 2004. I had played a few online RPGs (Vampires! was my first, and of course inspired the V interface) and thought about making my own. In the summer of 2004 (I think) I took a course in Software Engineering. The term project was an online student grading system and my team and I built it with PHP and an Oracle database. This gave me some experience with PHP, and I realized that was how many of these games were programmed. I started playing with PHP and started making my own game to hone my skillz. I think I got as far as user registration, login, and moving around on the map. For some reason I always get stuck right around the map.

The following semester I took a course in relational databases (working for a company that makes post-relational dbs gives you a greater appreciation for the difference). I learned how I should have been setting up my project all along, and did a little normalization work. But still, nothing more than running around.

And then V was shrouded in darkness....

Spring of 2006. Graduate school. The course is Concurrent Programming. I am introduced to the coolness that is Java servlets. V is reborn. and reborn. and reborn.

V w/ servlets started as a normal servlet app. I think I combo'd JSP and the standard doGet routines methods. I think I only did user registration on that version. Then, the following conversation took place with a friend:
friend: "If you are using servlets, why don't you use AJAX?"
me: "AJAX? What the hell is AJAX?"
friend: "You've never heard of AJAX? Oh, it's awesome. It lets you update pages without reloading a page. Google uses it in gmail. Look it up."

a little later

me: "Wow, this is awesome. You can make some really cool stuff with this. "
friend: "Yeah, not many people know about it. You would think more sites would use it."
me: "Yeah, I'm surprised it isn't more popular"

And so V was reborn... again. I read all of the crap that's out there, wrote my own damn XML interpreter, and re-wrote V as an AJAX app. I did a lot of work on it. I made user registration and login. And you could walk around on the map. And then the XML started to crap out on me and I read an article on AJAX with JSON.

And so V was reborn.... again. This time I was passing back JSON stuff, so there wasn't much that had to change, just strip out the XML and throw in the Javascript crap. And then, stuff happened (long story, don't want to talk about it), and I found myself bored and with a lot of time on my hands (not that I had nothing to do, I had plenty to do, but I just wasn't going to do it). So I decided to learn WebObjects. I had always heard about it. I had certainly seen it on Apple's developer website, and it seemed like to good of a deal to pass up ($50,000 off, this week only!)

And so V was reborn... again. I worked on it a lot. I moved to New England. I got user registration to work, and you could sign in and walk around on the map. You could even battle monsters and enter buildings. And then I got a job and moved and had no time.

Less than a year later, I'm moved in and am bored at work. And so V is reborn again. But this time I'm documenting things. I know V will be a landmark game, one that historians will pin as the game that changed the world, and so as a gift, I am documenting all development in this blog. Plus, my old computer drown so I have to re-install everything again, and I really wish I had written down all of the steps I took while installing things.

So here goes nothing!

No comments: