This blog originally appeared on GarageGames.com. You may view the original here.
At the end of December 2010 I launched the public alpha of Greenwood Faire, my medieval themed virtual world. Instant Action had shut down the previous month and I wasn't sure if the then torquepowered.com site would still be operational past the end of the year. As this site was really the only venue I was using to post information about my game and portal site, I decided to launch and get the word out. I was heavily into some contract work at the time to make ends meet and didn't have any free time to finish off the last few features I wanted to launch Greenwood Faire with. So on the launch weekend I ripped out anything that I didn't consider ready for alpha and made the game live. And then, from the world's point of view, nothing else happened.
Well, as we all now know, torquepowered.com didn't shut down. GarageGames was reborn and I was able to come along for the ride. Things began to stabilize again and I was able to think about the next steps for Zworldo.com. My ultimate goal was to have multiple games available on the web site, so I headed down that path. Very slowly, mind you, but that's nothing new to the indie developer. My direction for the next virtual world was based on a timely sale of art content packs.
A winter wonderland virtual world that we'll just call "Watch Out For That Tree" for now.
I also had a crazy idea of a world that showcases the future direction of Zworldo.com. If you're aware of Disney's Blue Sky Cellar then you know the direction I was taking.
What is this? A centre for ants?!?
I spent months tweaking here, adjusting there. Honestly, I think I was just enjoying the process of crafting rather than doing what was best for my portal site. I also became busy with the launch of Torque 1.1, and very busy with the launch of Torque 1.2. So again, time passed with nothing new visibly happening at Zworldo.com.
In the end however, I have managed to finally put together an update by going back to my Greenwood Faire roots, which is why I'm here writing this blog (long and winding indeed).
Originally I architected my Zworldo.com browser plug-in to assume only one code base would be used for all games on the site. There was the main library and script, and each game could add script and art as needed (and only downloaded when the user actually plays the game). This kept things neat and tidy, and each game was essentially a mod. Why not?
Well this turned out to be not so good an idea. As I was making changes to Greenwood Faire on my development machine I wanted to be able to post test builds on the web site for others to try out, but without it interfering with the currently released version. This just wasn't possible. And what if it really did make sense to have another game with a different core code base? This also wasn't possible. Time to rethink things.
What I did was modify the browser plug-in and my patch creation system to allow for games to be placed in separate directories on the user's machine if so required. My snowy town game mentioned above uses the same base as Greenwood Faire (currently using T3D 1.1 Beta 3) so it would remain in the same directory. But what if I wanted to release a version of T3D 1.2's Chinatown on my site (hint, hint)? It would be best for it to go into its own, separate place so I don't need to have this and my other games patched on the same schedule.
So version 1.2 of my browser plug-in was born and is currently up at Zworldo.com. One tricky thing to over come was how to install v1.2 on user machines that already had v1.1 installed. If a web browser has already loaded a plug-in (a DLL under windows) then it holds a lock onto the file itself, often until the browser is closed. This means that I cannot simply overwrite the DLL with a new one. My solution was to install the new plug-in version into the same directory as the old one but treat it as a whole new plug-in with a different file name, GUID, etc. A quick update so the web pages refer to the new plug-in and we're done!
One of the incomplete features I removed from the Greenwood Faire launch was table games. Table games are just as they sound: games that you play on a table top. Think of checkers, backgammon, solitaire, etc. I wanted you to be able to walk into the tavern, sit at a table and choose a game to play. The game would then appear on the table and you start to play it right there, in 3D. The interface would be within the world itself -- you move pieces by clicking on them and anyone in the room sees the results. And of course, you need to be able to play with your friends who are also sitting at the table.
I chose English Draughts, also known as Checkers, as my test game:
Ooo, you probably shouldn't have moved there.
Before you start a game you can choose which player is white or black (determines who goes first), and you can also choose a diagonal variation of the game. Then the table leader -- the first person to sit at the table -- starts the game. You click on a piece to select it and then click on an empty square to move it. All of the various rules are in place to make sure you perform a valid move. This is done both on the client (to minimize server traffic) and on the server (to minimize meat heads).
While the game table window provides the current game status such as whose turn it is, I also added turn indicators in the game world in the form of player flag boxes. Using only the best in medieval technology, these simple wooden lever and flag boxes show who is currently in the hot seat. They are found at the sides of the game board and work automatically without any player intervention. This also allows any passer by to see the current state of the game. And when a player wins or there is a draw, you're awarded with a little fanfare and the special crown flags. Then you can reset the game table and start again.
So be sure to drop by Zworldo.com sometime and give it a try. Here's to hoping that my next update won't be 11 months off...
- Dave