Download presentation
Presentation is loading. Please wait.
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 Buffering Avoiding 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 Engine Error 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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.