The three virtues of a programmer: Laziness, Impatience, and Hubris. – Larry Wall
The purpose of this mod is to facilitate cash prize tournament through an in-game commerce service. This mod leverages concepts around Distributed Gaming and the Meesha implementation. For the first release, PayPal is used for secure transactions.
I'm very interested in creating commerce experiences within gaming. (Before anyone jumps to conclusions, NO, I don't want to create a 3-D store within a game!) Much of this interest has come from many years of game play, especially in Massive Multiplayer Online Role-Playing Games (MMORPG) like Ultima Online and Everquest. (For further reference, see "Inspiration", below.)
Also, have you seen Ultimate Arena? Pretty cool, but I wanted to be able to choose from the many different games created by the Unreal community of developers. And, hey, why pay someone else a commission?!
There are two components to running Vegas Style games: The mutator and the commerce service.
Technically, "Vegas Style" is a mutator. It has the following features:
- In-game currency called "Gibsons". (Named after William Gibson who you should all know, love, worship. ;))
- Ability to set entry fees ("antes") in Gibsons on the server in order to play. (DeathMatch games only, for now.)
- Separate and secure CHAP logins to commerce service for transaction management and player accounts.
The Commerce Service is a set of web pages. It has the following features:
- Tracks in-game commerce transactions and player accounts. (i.e.: games, sessions, antes, winnings, reversals.)
- Ability to exchange Gibsons for U.S. Dollars and vice-versa via payment gateways.
- PayPal gateway. (Possibly others in the future: Authorize.Net, etc.)
- Session management featuring CHAP logins.
- Player account management via web only. (This is purposely a security feature.)
... more detail here in a bit.
- Move commerce service to Meesha implementation. (Account management will still be via web.)
- Add more payment gateways, like Authorize.Net.
- Make Gibsons exchangeable with UO gold, Everquest platinum, and Star Wars Galaxies credits. :cool:
- "Make plans to take over the world." - The Brain ("Pinky & The Brain")
- Virtual Worlds: A First-Hand Account of Market and Society on the Cyberian Frontier Paper by Edward Castronova that documents the real economy created within the world of Everquest's Norrath.
- Terra Nova Incredible blog around the impact of online games.
- Proskenion Edward Castronova's website.
Foxpaw: Well, my two cents would be, when real money becomes involved people can get kind of serious about the game, and it can foster bad attitudes. From a technical standpoint, I think you may run into a different problem. You can make it hard for a person to decompile your source code and figure out a way to try and cheat other people out of their money, but you can't really make it impossible for them to decompile the sources. I'm not sure if it would be really difficult or not, but I would be wary of the security implications when people have the incentive of real money.
appleweed: Good points all around. We actually had a short thread on this on the forums: Vegas discussion. I see this mod for use with groups of people that know each other very well. In this case, I see playing UT for cash no different than playing a buck a hole in golf or a friendly poker game. I have thought of some ways to combat cheating, but this would be necessary only for anonymous tournament play. Also, in the end, whomever owns the UT server can pretty much determine the winner. It isn't a simple matter of protecting the code. (Tho, the MD5 checks do help.) One could easily add another mutator to the server that says "my buddy Tim always wins". However, noone will be able to simply login and steal your winnings. That has been protected using encryption, the fact that account information is never replicated and ultimately your PayPal account handles your cash winnings. More of this will be made obvious when I update the "How?" above.
MythOpus: Knowing very little about replication and the order data should be sent... I was just looking at the diagram and noticed something. I read it in two different ways... one... the players are sending data to the commerce server itself, without sending the commerce data through the UT server to be verified... or if I'm reading it in a different way, the commerce server shouldn't be sending data to the players directly as it could be corrupted and hacked. Shouldn't all data be routed through the UT server for more security?