Game Development Community

dev|Pro Game Development Curriculum Blog 3 - Public Alpha Soft Launch and More

by David Wyand · 12/21/2010 (7:59 am) · 30 comments is a free-to-play web site featuring games/worlds built with Torque 3D. Its first game, Greenwood Faire, was until recently in private alpha testing.


The title says it all. As of this past weekend, and its first game, Greenwood Faire, have gone public. Please go to and try out my game. 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!


Obviously before anyone can play my games on 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 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!

All blogs in this series: Blog 1 Blog 2 Blog 3 Blog 4

- Dave

About the author

A long time Associate of the GarageGames' community and author of the Torque 3D Game Development Cookbook. Buy it today from Packt Publishing!

Page «Previous 1 2
12/21/2010 (5:13 pm)
Congratulations Dave! You gave me the opportunity to try out Zworldo for a few months now and I have to say that you have crafted a really awesome environment that has a lot of cool vibe and feel to it.

I cannot wait to see what else you do with this world (personally I hope that it is some big badass dragon to slay) and with the tech that you have enhanced from the initial T3D release such as the engine itself and the web player.
12/21/2010 (9:28 pm)
install my tiny (~1MB) browser plug-in
Wow, that's considerably smaller than the stock T3D webplugin.
12/22/2010 (5:28 am)
Thanks for helping to test out my world. It's always great having friends stop by.

I started with the standard Torque 3D web plug-in and repurposed it. Its main purpose now is to provide downloading/patching, and communications between the game engine and the browser. The common game executable and assets, along with game specific assets, are only downloaded when the user navigates to the game's web page.

- Dave
12/22/2010 (6:13 am)
Very impressive. It is an exciting time for Torque made projects.
Clever idea to expand the Torque 3D web plug-in, I had not thought of that. Got me rethinking some design ideas.
12/23/2010 (4:21 am)
Dave this is amazing stuff, loved the quick plugin and the streaming process was quick and easy. Great job!
12/23/2010 (7:22 am)

Thanks! It was great to meet up with you in game, play some impromptu music together, and take you through the hedge maze.
12/23/2010 (9:51 am)
@David Wyand:

Interesting concept. I like it.
One hint: Take care about your triggered music. Sometimes the music stops abrupt. Maybe some smooth fade-in/fade-out (including blending) could be a solution.

Offtopic: David, did you thought about to update your Lightwave-DTS-Exporter? I am working a lot with your exporter and TGE. It would be great to use the exporter also with T3D and the newest version of the DTS-Format.

Edit: Yes, i found the hidden cave. :-)
12/23/2010 (12:38 pm)
The booths have no collision mesh.
12/27/2010 (9:40 pm)
Thanks for trying out the game on multiple occasions. The streaming music does indeed need to work to both start without a slight pop, and fade whenever you leaves its defined bounds. I'll likely need to create a custom emitter for it.

And yes, there are a few items that don't yet have a collision mesh. T3D 1.1 alpha had some issues with them, and I haven't gone back to add the collision meshes back in now that I'm under T3D beta 3.

- Dave
12/27/2010 (9:42 pm)
As for the DTS exporter: I've used it for all shapes in Greenwood Faire. I've done a few updates here-and-there and do need to get them out to the community. I'll see what time I can free up to send it out. I'm not sure when I'll have time to update it for the latest DTS version.

- Dave
12/28/2010 (3:11 pm)
Thank you very much for the response. I know how important a good toolset is. If you need a guy for an internal beta test, please contact me.
MSN Messenger:
I am using Lightwave 9.6 (32bit) for Windows.

By the way: If necessary, i will also pay for the exporter. A good tool is always worth the money.

01/01/2011 (12:19 pm)
I made another test with two machines.

Install on WinXP Pro (32bit) and Firefox 3.6.13: No problems.
Install on Win7 (32bit) and IE8: No problems.

I used the two machines to create two players. The sync works very well (sitting down, stand up, holding/hiding a torch, wave). But movement and rotation have a little delay.
01/01/2011 (12:20 pm)
I can not use a chair in the tavern, when another player is already sitting there. Very good!!!

Which resolution do you use? It seems, that HorizSizing and VertSizing of the GameTSCtrl are set to "relative".

When i resize the window of the browser, the chat-window and the toolbar at the bottom get a new position. Very good.
01/01/2011 (12:23 pm)
Some mistakes/issues:

Some houses have lightbleeding.

The bells of the church/chapel don't care about the master volume.

Already mentioned above, movement and rotation of the players have some delay.

I can move the chat-window, the main menu and the options window. But if i click and hold down the LMB and the mouse-cursor is over the title of the window, i can not move the window.
01/01/2011 (12:24 pm)
The lighting intensity of the torch is a little bit too large/big. Using a high intensity with a much smaller falloff would be better.

Have the inner falloff and the outer falloff of the torch the same value? When i hold a torch and move to another player, his mesh is lit abrupt.

When the women is sitting on a chair, the torch intersects with her right leg and knee.
01/01/2011 (12:25 pm)
Depending on the size of the browser window, the Hud is hidden partially. Maybe a GuiScrollCtrl could be a solution.

When a dynamic light is out of view, it is disabled. I guess it has something to do with scenemanagement and ghosting/scoping. But if a dynamic light has a big range, the lighting of the scene changes abrupt, when i rotate the control-object.

01/01/2011 (12:26 pm)
Sorry, i had to split my post into several smaller posts, because the forum seems to be a little bit buggy.
01/01/2011 (7:47 pm)
Hey Thomas.

Thanks for all of the testing. That was unexpected and very welcome. I receive a text message on my phone any time someone connects and saw you were on at the top of the hour. Unfortunately the message was unusually delayed so I just missed you.

Now on to your comments (also split across multiple posts due to the forum bug):

01/01/2011 (7:48 pm)

1. The movement and rotation are standard T3D but I put in an optimization for network bandwidth. It appears that I'm being bitten by this -- you'll also likely notice a stutter while swimming. I'm going to remove this optimization in the next patch and see if it helps.

01/01/2011 (7:48 pm)

2. I use a GuiScriptNotifyCtrl that checks for onResize for my custom PlayGui. Through its resize callback I resize and reposition everything as appropriate. I tend to build the GUIs themselves at 1024x768 and consider that my lowest supported resolution, although I've tried out lower resolutions. Some odd aspect ratios may cause some issues that I still need to correct for.

Page «Previous 1 2