This blog originally appeared on GarageGames.com. You may view the original here.
THE LONG AND WINDING ROAD
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).
PLUG IN A NEW PLUG-IN
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...
Public Alpha Soft Launch and More
December 22, 2010 David Wyand
This blog originally appeared on TorquePowered.com. You may view the original here.
PUBLIC ALPHA SOFT LAUNCH
The title says it all. As of this past weekend, Zworldo.com and its first game, Greenwood Faire, have gone public. I've decided to maintain the Alpha designation as there is still a lot of content that I would like to put in place. Right now you can:
Sit in the tavern and chat with friends while listening to streaming music.
Enjoy making your own live music with a couple of instruments.
Explore the surroundings by day, or at night by torch light.
Attempt to make it to the center of the hedge maze.
Can you find the hidden cave?
I have a few barriers up to help keep you contained within the currently built areas, but I'm sure some of you will find ways around them. :) If you ever get into trouble, just drop out and reconnect and you'll start back at the docks.
What? Do not enter? Now you're just daring me to find a way through!
BROWSER PLUG-IN INSTALLATION
Obviously before anyone can play my games on Zworldo.com they will have to install my tiny (~1MB) browser plug-in. That alone may be a turn-off to some players. Honestly, looking back at how the industry has changed since I started this project in the Spring of 2009, it may have been a wiser choice to go with some other technology that already has a large installed base. At least larger than my current installed base of a few testers.
My hope has always been that players are slowly becoming used to installing some plug-in if they want to play true 3D games from their browser. Games such as Free Realms, Wizard 101, Battlefield Heroes, Quake Live, and Need for Speed World certainly demonstrate willing players are out there. I just need to convince them that my plug-in is as safe as anyone else's.
Step 1: Minimal Permission
When it comes to installing a browser plug-in, the number of required clicks from start to installed needs to be as few as possible. It would also be great to avoid the dreaded Admin Permission Required window if at all possible. That alone will give the player pause as it can open their whole computer to the plug-in.
To avoid requiring administrator access I'm taking advantage of Windows Protected Mode. This means installing into the user account's LocalLow directory, and only making use of the HKEY_CURRENT_USER (HKCU) registry subtree. It also requires that you make sure your installer never requests administrator access for any of its operations. By following these practices I've been able to avoid any request to increase privileges, and hopefully provide the player with some peace of mind.
Step 2: Signed Installer and Plug-in
When a user attempts to install anything from the web, they're presented with a number of warnings about how the program may be harmful to their computer. The only way to really minimize these warnings -- they'll never completely go away -- is to sign both your installer and your browser plug-in.
I decided to go ahead and spend the $500 to obtain a signing certificate from VeriSign. After going through their internal checks to ensure that Gnometech Inc. is a valid company (which takes a day or two) and paying my fee, I received my digital certificate. Actually applying the certificate to my installer executable and plug-in DLL was extremely easy and complete in a couple of minutes.
Step 3: Open Communication About Plug-in
The first two steps are great to try and convince the user to complete the install while they are going through the process. But it doesn't help much if they don't even start to install the plug-in. To help convince them that it is OK to install my plug-in, I've tried to let them know how the plug-in will be installed and that everything will be fine.
Web page excerpt describing who I am and how safe my software is
And hopefully that is enough to also convince you to drop by www.zworldo.com and try out the public alpha of Greenwood Faire. :) If you run into any issues, please feel free to post here, or in the Discussion area of my Zworldo Facebook Page. And while you're there, please Like the page. Thanks!