William sanville cse 4904 milestone ii
1 / 20

JokerStars: Online Poker - PowerPoint PPT Presentation

  • Updated On :

William Sanville CSE 4904 Milestone II. JokerStars: Online Poker. Background. Popular Systems PokerStars, Full Tilt Poker “Virtual Casino” Players connect from all over the world Support multiple games concurrently Variety of card games at different stakes Tournaments, cash games

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'JokerStars: Online Poker' - DoraAna

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
William sanville cse 4904 milestone ii l.jpg

William Sanville

CSE 4904

Milestone II

JokerStars: Online Poker

Background l.jpg

  • Popular Systems

    • PokerStars, Full Tilt Poker

    • “Virtual Casino”

    • Players connect from all over the world

    • Support multiple games concurrently

      • Variety of card games at different stakes

      • Tournaments, cash games

  • Popular Card Games

    • Hold 'em, Omaha

Motivation l.jpg

  • Not only an interest in playing cards

  • Online Poker System Requires:

    • Desktop Development

    • Network Programming

    • Multi Threading

    • Security

Project description l.jpg
Project Description

  • Simulate a card game over the Internet

    • Allow players to communicate

    • View and handle the cards

    • Make decisions

      • Place bets, fold, etc.

  • Support for multiple games

    • Project should be flexible to support any card game

      • Game should run by a modular, interchangeable rule engine

User requirements l.jpg
User Requirements

  • Internet Connection

    • Preferably high speed

  • .NET Framework

    • Supported Operating Systems:

      • Windows 98 or higher

      • Linux, Solaris, Mac OS X

        • www.mono-project.com

Development environment l.jpg
Development Environment

  • Application will be written in C#

    • Visual Studio 2008

    • Code will be documented using XML Comments

    • Code should pass FxCop code analysis

      • Static code analysis to ensure proper practices, naming conventions

  • Server module will be deployed on a Windows Server 2008 machine

High level modules l.jpg
High Level Modules

  • Server Module

  • Client Module

  • Networking

  • User Interface

  • Game Engine

  • Game Entities

High level modules cont l.jpg
High Level Modules Cont.

  • Server Module

    • Deployed on a dedicated machine

    • Continuously listen for connections

      • TCP/IP

    • Send and receive data to and from clients

    • Solicit actions from players

    • Broadcast player actions to other players

High level modules cont9 l.jpg
High Level Modules Cont.

  • Client Module

    • Deployed on the end user's machine

    • Connect to game server

    • Pass and receive messages to and from game server

High level modules cont10 l.jpg
High Level Modules Cont.

  • Networking Module

    • Basic functionality and classes used by both Client and Server modules

      • Packets, Serialization

High level modules cont11 l.jpg
High Level Modules Cont.

  • User Interface

    • Bridge between the end user and Client module

    • Receive input from user

    • Display the users currently playing the game

    • Display cards, chips, and other game elements

High level modules cont12 l.jpg
High Level Modules Cont.

  • Game Engine

    • Defines the rules of the game

    • Handle the flow and runtime of the game

      • Determine which player needs to act

      • Determine what actions are valid for each player

      • Evaluate winning hands

High level modules cont13 l.jpg
High Level Modules Cont.

  • Game Entities

    • Class definitions for various elements of the game

      • Cards

      • Chips

      • Deck

      • Player

      • Dealer

Priority l.jpg

  • Problem:

    • One team member

    • One semester

    • Unrealistic to deliver a fully featured online card system

  • Solution:

    • Cut scope

    • Prioritize

      • Ensure that the project is a success

Priority continued l.jpg
Priority Continued

  • Main Focus: Networking

    • Client and Server modules will be the highest priority

    • Manage multiple connections

    • Develop a working message passing system

  • Second Focus: Game Entities & Engine

    • Automate the runtime of the game

  • Third Focus: User Interface

    • A basic interface will need to be developed in order to test the game engine and entities

Concepts l.jpg

  • User Interface Concept

    • Nothing fancy, just buttons and pictures

End result l.jpg
End Result

  • Single table of No Limit Texas Hold 'em

    • 1 to 9 players

  • Automated game flow

    • Game Engine determines whose turn it is and asks them for their action

    • If time is running short, this will be substituted with a “human dealer” to perform the duties of the game engine

      • Server Module will have a debugging control panel

  • Support for future enhancements

    • Keep it clean, modular, easy to upgrade

Future enhancements l.jpg
Future Enhancements

  • Security

    • Data will need to be encrypted

      • Out of scope for this semester

    • Integrity of messages must be preserved

      • Man in the middle attacks

      • Identity spoofing

  • Scalability

    • Support for multiple, concurrent tables

    • Greater number of users

Other enhancements l.jpg
Other Enhancements

  • Randomness

    • “Anyone who considers arithmetical methods of producing random digits is, of course, in a state of sin.” - John von Neumann

    • Project will be using standard math libraries, pseudo random numbers

    • Commercial systems use more sophisticated methods

      • Mouse movement of users

      • Temperature readings