Implementation and Study of a “Term” based Role Playing Game using Client Server Paradigm. Vaithiyanathan Sundaram
About the project Implements a client server paradigm. Designs a multiplayer game inspired by several existing Role Playing Game. Studies the impact of these games and player behaviors on the servers. Suggests a measurement profile for efficient load balancing of servers.
Scope of this project Learn the working of client server modeling Learn the working of TCP/IP stack in the application of client server paradigm Learn the usage of Java sockets in establishing connections. Learn the implementation of GUIs Learn the art of Role Playing Game mechanics.
Implementation details Platform: Windows 7 Language: Java and Java Swing IDE: Netbeans Game design: Own algorithm
My journey Phase 1: Phase 1 Game design, Requirements planning, low-level implementation Success rate 100% Phase 1 Game design, Requirements planning, low-level implementation Success rate 100% Phase 1 Game design, Requirements planning, low-level implementation Success rate 100%
My journey Phase 2 Extension of low level working, Implementation of User Interface Success rate 100% Phase 2 Extension of low level working, Implementation of User Interface Success rate 90%
My journey Phase 3, Now Phase 3 Sophistication of User Interface and Game design
The Player’s User Interface
Game mechanics A: attack C: Critical rate M: Mana penalty H: Health penalty Machine gun: 20 A 80 C 0 M 0 H Magical Sword: 25 A 60 C 10% M 0 H Rocket Launcher: 35A 60 C 5% M 10% H
Game mechanics Assault rifle: 40 A 60 C 15% M 0 H Heal Grand power of death: 70 A Random C 20% M 25% H
Working Player 1 Player 2 1.Player 1 sends computed attack 2.Server refreshes player 2 3.Player 2 fights back 4.Server refreshes player
Demonstration
Performance study Real time performance testing for the server with a PAIR of players Check 1 Type of player Random or intelligent
Performance study Check 2 Number of dynamic Join and leave Simulated performance testing when 1-10 pairs of players join and leave the server randomly
Performance study Check 3 Gameplay style Lethargic or Barbaric Performance testing for a pair of lethargic players.
Challenges faced Implementation of a real time refreshing of the state of the opponent using a standalone Java Swing GUI. Since the Operating system used in Windows 7, it was difficult to measure the CPU usage from the “task manager”. In Linux it is fairly simple and accurate to measure the CPU usage at regular instances.
Summary Implement a working client server paradigm Implement multiple client instances and maintain concurrency at server Implement a real time multiplayer gaming prototype Study the requirements of the server before choosing the right load balancing technique before deploying them in large scale.