I am looking to have a website created primarily for tracking and trading of virtual shares for properties within an existing computer game. In addition I need a basic community section (forum), a voting(poll) system where results are weighted by each players share size, and a system for paying out dividends based on share sizes.
It is important for me to get all coding done properly by professionals so that the code is dynamic and easy to modify. I am open to doing this both with php/sql or with asp/mssql. (Or others if appropriate alternatives exist).
First some overall information:
This website will supply support features for an in-game investment in the virtual world "Entropia Universe". The game does not have any features for shared ownership which is the reason we create this website.
In the game we have a single asset which generates income. We are several people that invested in this together, but one person is managing the investment. The investment generates income which will be paid out to the investors at regular intervals. Some times decisions needs to be taken for the ivnestment, and this needs to be voted on.
We want to make this website so that we can use it to coordinate this investment. We want to be able to buy and sell shares. We want to be able to pay out dividends(see below). We want to have custom polls where the weight of each vote is proportional to the owners share size. We also need some admin possibilities(see below).
When first making the effort to create this website I would also like to make it generic enough that I can use it for other investment objects later. It therefor should be like a stock exchange where I can add new investment oppertunities.
I will try to briefly sum up the features:
1. Registration page of accounts (DB table: key, ingame name,? balance)
2. Administration page (ban, kick, rename, freeze assets(no trading allowed), assign user roles (site admin, site helper, investment manager)
3. Trading page (List a custom quantity of shares for sale at specific price, List of all shares available where its possible to buy all or part of a stack of shares at the given price)
4. Investment object custom page where information about ongoing votes, news items and current shareholders are listed.
4.1 It should be possible to see how big % of the share owners have voted (not % of numbers, but % of the shares the ones that bid so far owns compared to the shares of those that didn't bid)
4.2 The investment manager should be able to add news items.
5. Investment object admin page where the investment manager can create new polls and add news items.
6. Investment object trade history (all trades must be logged)
7. Investment object admin page(Only for website admins) - create, remove,
8. Deposit/Withdrawal page (website admins and helpers): A page that allows a website admin or a website helper to add to or remove funds from any balance. (The idea here is that someone pays a website admin in the game, and then the admin adds these funds to the account here on the website) - Same for withdrawals; We meet in game, we transfer the money, then remove assets from website. Withdrawals should be 2-steps; 1. freeze money, 2. enter withdrawn amount, 3. unfreeze money.
9. Dividend payouts: Each investment object must have its own bank balance that the investment manager can insert money into. The dividend payout page must be a page only for investment managers where he can pay out any amount from the balance of the investment object to the shareholders. This should be automatic based on currently owned share size.
10. Dividend payout log page. Should show a list of all payouts done, along with very basic statistics (total payouts done, total payouts this month, this year).
Update 6/1-2010: This is not about developing a game. The game is already there - what we need is a website for some support features listed above. The website will not in any way interact with the game, nor with any real money payment service like paypal or credit card deposits. It is all handled indirectly by admins withdrawing/depositing into users account manually.