Wednesday, December 12, 2007

Log as guest feature

If you're like me, you probably created accounts on numerous web sites just to take a look at a service or a game. And if you're like me, you're probably getting tired of it and most of the time you just don't bother with yet another account creation process.

Inspired by Maid Marian, I added a way to easily "see how it looks" with the "log as guest" feature.

For Chasing Tortoise, I made sure visitors could take a look at the game without having to create an account. Screenshots being limited, I felt this was a good way to get people more easily into the game. For this project, the "log as guest" feature will allow anyone to enter the world, freely walk around and chat just by clicking a button with all other features being locked.

There is 4 access level available so far: Guest, player, GM and admin. Each command is linked to an access level. Each time a command is sent to the server, a check is first made to make sure the current character has the correct access level to execute this command, higher access levels being able to invoke lower access level commands.

So commands like /addzone, /deletezone are restricted to the admin level. Commands like /createnpc, /ban are restricted to GM. All other commands are restricted to the "player" access level (like /open, /use, /trade, ...).

The only commands available to the "Guest" access level are /logasguest, /logout and /move. This way, guests are unable to trade, buy from merchants, open their inventory, open containers and so on. I'm even thinking of restricting guests to some zones to make sure this feature is not used for scouting or any abuse. The point here is to show what the game looks like so people can decide if they want to create an account or not.

The name of a guest player is automatically set to "Guest[guest id]", [guest id] being the first number available starting at 1 and counting up. When a guest leaves, the number becomes available again. I'll probably have to add some filter to prevent characters' names being set as "Guest###" at the account creation so each name remains unique.

The to-do list of features I really wanted to have at start now looks really short which is a good news. It means that really soon I'll do another pass at all commands to do code revision in prevision to start alpha in January. That's still a lot of work but I'm getting closer!


Poo Bear said...

Nice idea.

Most mmorpgs seem to be 1.5Gig or more these days and I'm too lazy to spend an hour downloading them. So you've solved that problem :)

Then there's the creating an account, five attempts at guessing the captcha, authorising via email, opening hotmail up, getting side tracked reading some other email, forgetting what I was doing, etc. What a pain! Sounds like you've nailed that too :)

One extra convenience - how hard would it be to carry any achievements, names, character config or loot aquired into the proper account?

I'd probably log in as a guest and then start running around doing things and get sucked in. Then half an hour later remember I needed to create a proper account, but not want to have to repeat that half an hour of play or lose anything I'd gained.

Over00 said...

Well as it is currently, all commands are blocked so a guest wouldn't be able to buy things, fight, harvest, train skills, ...

However, you bring an interesting point that would be easy to code. I can see how fluid this would make the first experience. Right from the game interface, there could be a button "Create account" that would just switch the name of the character to the chosen one without taking you out of the game. There's surely something appealing in this.

I'll start to think about this. Maybe there could be a way to let guests have more interaction with the world without making the "guest" feature an open door for exploits, which is my main concern.