Download
william sanville cse 4904 milestone ii n.
Skip this Video
Loading SlideShow in 5 Seconds..
JokerStars: Online Poker PowerPoint Presentation
Download Presentation
JokerStars: Online Poker

JokerStars: Online Poker

360 Vues Download Presentation
Télécharger la présentation

JokerStars: Online Poker

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. William Sanville CSE 4904 Milestone II JokerStars: Online Poker

  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?