Online Casino - Planning

Posted on 2007-07-24
Last Modified: 2013-11-13
I am currently planning to set up a team to create an online casino inc. poker. I myself will not be responsible for the prgramming but I need to get my head round the required setup of the whole system to be able to designate tasks between the team.

I do not want any wins or losses to be calculated on the users computer for security reasons. I want to be able real time...send a "play" to my server. The response is then calculated ie. win/lose and then is sent down to the users comp. This will also be similar for poker in that all hands will be "dealt" on the server. And each users computer will only receive their 2 cards and no-one elses.

I just need to find a way, in princible, that I can send and receive variables, in real time to and from the server. The only way I can think is to use a database and check for the fields every 5 seconds etc.

If anyone has any suggestions it would be much appreciated.

Question by:grantunwin
    LVL 24

    Accepted Solution

    In general, there are two ways to do this

    The way that you are describing is called a disconnected architecture, where the client periodically connects to the server to see what has changed. This method is most scalable because servers will try to limit the number of concurrent connections

    The (older) other way is to have all clients continually connected to the server. That way the client doesn't need to check every five seconds. Instead, the server will deliver information to the client whenever it becomes available. This method is faster, but more resource consuming

    You also have to figure out what sort of UI you are going to have. If you have a web page, you can connect periodically with ajax  and update the users page. You could also build a thick client which establishes its own connection to the server.
    LVL 3

    Author Comment

    I want to have a downloadable program for the user to download. What programming languages would you suggest to use so that I can contact the right people.
    LVL 1

    Assisted Solution

    Use Java because it simply best for these kind of heavy web app
    LVL 24

    Expert Comment

    Java is OK. I think I would use one of the .net languages because deployment is relatively easy, and the support and libraries are readily available. You can get the express versions for free, also.
    LVL 2

    Assisted Solution

    The key word I think you're looking for here "web services".

    A web service allows the client to communicate with the server, using a regular HTML connection (ie they can go through company firewalls etc). They work pretty much like function calls but the procedure is called from the client computer but stored and executed on the server computer.

    So for example a client might send a "twist" command to the server via a web service. The server executes a "twist" function and returns the resulting card to the client.

    You need a way to keep track on the server of the other cards. If you were using Microsoft's ASP.NET, there is a thing called "session state" that can do that for you. You may need to use a database on the server to keep track of the state of play at any moment. Bear in mind that if people are betting money and your server fails, you need be able to recover any in-progress games. You'll need a solid database like oracle, sql server or postgres to be able to do that.

    Microsoft .NET has lot's of support for web services, though they not specifically a microsoft thing. Java can read/write web services very easily.

    Myself I would suggest you use .NET, with C# and sql server. If you don' want to do it yourself, you can easily hire in c# programmers to write this kind of thing for you.

    LVL 2

    Expert Comment

    Something to be aware of though. Most online casinos do not write the software themselves. The reality is that professional grade casino software is really expensive to write, because it needs to be audited at various stages to demonstrate fairness, and comply with various international gambling regulations.

    As well as the gaming stuff itself you need to manage user accounts, manage money going in and out, produce regulatory reports and have statistical functions to detect maniplulation (eg multiple card players at a poker table colluding, or card counting in blackjack). Laws keep changing in relation to online gambling, particulary in relation to US residents, so you'll probably need a legal team as well just to keep the contracts up to date and ensure that weren't operating illegally

    If what you want to do is set up an online casino, you should at least think about buying in the software, and concentrating on the branding and marketing.

    This is a (fairly impartial I think) link to some common casino software

    LVL 1

    Expert Comment

    Forced accept.

    EE Admin
    LVL 1

    Expert Comment

    I have gone through all of your recent posts and deleted them.
    Experts-Exchange is not a place for you to be advertising your product.

    The site guidelines specifically prohibit the posting of email addresses for purposes of off-line contact.

    Experts Exchange Moderator

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    Training Course: Java/J2EE and SOA

    This course will cover both core and advanced Java concepts like Database connectivity, Threads, Exception Handling, Collections, JSP, Servlets, XMLHandling, and more. You'll also learn various Java frameworks like Hibernate and Spring.

    Suggested Solutions

    Title # Comments Views Activity
    java constructor error 8 63
    Delphi Mdi application Child forms get behind control 7 67
    scoreUp challenge 14 40
    for loop with Set 4 35
    Here we come across an interesting topic of coding guidelines while designing automation test scripts. The scope of this article will not be limited to QTP but to an overall extent of using VB Scripting for automation projects. Introduction Now…
    Whether you’re a college noob or a soon-to-be pro, these tips are sure to help you in your journey to becoming a programming ninja and stand out from the crowd.
    An introduction to basic programming syntax in Java by creating a simple program. Viewers can follow the tutorial as they create their first class in Java. Definitions and explanations about each element are given to help prepare viewers for future …
    In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…

    779 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    15 Experts available now in Live!

    Get 1:1 Help Now