Presentation is loading. Please wait.

Presentation is loading. Please wait.

JokerStars: Online Poker William Sanville CSE 4904 Milestone II.

Similar presentations


Presentation on theme: "JokerStars: Online Poker William Sanville CSE 4904 Milestone II."— Presentation transcript:

1 JokerStars: Online Poker William Sanville CSE 4904 Milestone II

2 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  Popular Card Games  Hold 'em, Omaha

3 Motivation  Not only an interest in playing cards  Online Poker System Requires:  Desktop Development  Network Programming  Multi Threading  Security

4 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

5 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

6 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

7 High Level Modules  Server Module  Client Module  Networking  User Interface  Game Engine  Game Entities

8 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

9 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

10 High Level Modules Cont.  Networking Module  Basic functionality and classes used by both Client and Server modules  Packets, Serialization

11 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

12 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

13 High Level Modules Cont.  Game Entities  Class definitions for various elements of the game  Cards  Chips  Deck  Player  Dealer

14 Priority  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

15 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

16 Concepts  User Interface Concept  Nothing fancy, just buttons and pictures

17 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

18 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

19 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

20 Questions?


Download ppt "JokerStars: Online Poker William Sanville CSE 4904 Milestone II."

Similar presentations


Ads by Google