1 / 10

Yard Wars

Yard Wars. David Greer Alex Gross Ahsen Uppal. Goals. Wireless, Portable Development Real Time Voice Conferencing Exciting, Expandable Game Engine. Wireless, Portable Development. Real-time, asynchronous networking between many clients, using TCP/IP

tilden
Télécharger la présentation

Yard Wars

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Yard Wars David Greer Alex Gross Ahsen Uppal

  2. Goals • Wireless, Portable Development • Real Time Voice Conferencing • Exciting, Expandable Game Engine

  3. Wireless, Portable Development • Real-time, asynchronous networking between many clients, using TCP/IP • Client/server architecture in emBedded and Visual C++, using MFC • Found and improved Microsoft bugs: • CCeSocket • CAsynch + Csocket • MFC Key Handler

  4. Real Time Voice Conferencing • Account for network delays by buffering on both ends, handling network problems gracefully. • Use non-blocking calls to avoid long waits. • Minimize delay between recording and playing by separating the threads. • Manage time delays between users by maintaining input and output queues.

  5. Exciting, Expandable Game Engine • Object-oriented model for all components: users, scenery, background, flags. • Uses GAPI, the Pocket PC Game API, for full control of all parts of the user interface. • Easily upgradeable to include sprites (animations), sound effects, and other features.

  6. System Specifications • Tested for Two-Player Mode • Code is fully expandable, but our group was only provided with two clients to test. • Wireless Voice Communications • Nominal two second delay • Zero packet loss, using dynamic buffering • Game Engine Response Time • Multi-threaded, event-driven program waits for data before updating state. • Since the system spends most of its time waiting for data, it can manage all threads more efficiently.

  7. Dynamic BufferingAvoiding the Readers/Writers Problem OnReceive: • Allocates new memory for each incoming audio packet • Adds new packet to the tail of a priority queue (stream), unique to each player OnTimer: • Checks all streams for data • If !empty, adds packet to buffer • If buffer full, send to clients • Clean up memory

  8. Low-Delay Send / Record Minimizing Delays in Transmission OnReceive: • Adds packet into two-second buffer • When two-second buffer fills, play buffer OnTimer: • Finishes recording • Sends recorded buffer (non-blocking!) • Starts Recording

  9. Modular Game EngineError Correction, Rules Enforcement, Communication Error Correction: • Boundary Checking (edges, flag oasis, trees) • Safe Zones / Sides Rules Enforcement: • Capturing Opponents / Flags • Distance Calculation Communication: • Creates character matrix with symbols ($, -, 1, 2 …) which correspond to graphics in the game • Handling each player’s moves, rules, and transmitting data between client and server. • Player Screen vs. Server Screen

  10. DEMO

More Related