iSnake Multiplayer Snake Game Project

1
3247

iSnake Multiplayer Snake Game is a gaming project that aims to bring the simplicity and fun of the traditional snake game with some new and advanced features. The game incorporates computer-controlled intelligent opponents who will challenge the human players. This project, overall, focuses on implementation of computer-controlled intelligent opponents and multiplayer functionality.

As a multiplayer game, iSnake allows more than one users or players to play the game over a network. The game, in comparison to the traditional game, has added dimensions; it is more challenging and interesting.

Only the project report (pdf format) of this iSnake Multiplayer Snake Game is available for download at the moment. Below, I’ve briefly introduced the project with its objectives, programming environment, components, limitations and future scopes. You can find the detailed description of the project in the project report.

Download iSnake Multiplayer Snake Game with Project Report

[sociallocker]

Download iSnake Multiplayer Snake Game with Project Report

[/sociallocker]

About iSnake Multiplayer Snake Game:

iSnake Multiplayer Snake Game Project Report
The game field (unfolded Envelop)

This game aims to change the way people think of traditional snake game. It will offer the experience of commercial multilayer games to the player retaining the simplicity of traditional snake game.

Objectives:

  • Create a snake game that will have all the functionality of the traditional snake game.
  • Introduce multilayer functionality in the game that will allow several players to play a game simultaneously. It should be able to give the experience of a real time multiplayer game to the players.
  • Introduce computer controlled intelligent opponent (unique feature of this game) to make the game more challenging and interesting. The movement and action of these intelligent opponents will be controlled by computer whose aim will be to eat the food before human players capture it.

Programming Environment:

Several open source tools have been used to develop this project. They are listed below:

  • Netbeans 5.5 IDE: All the developers of iSnake team used Netbeans IDE for the development of this project.
  • Inkscape 0.45 and Gimp 2.2: These graphics development tools were extensively used for the development of User Interface components. The illustrations presented in this report have also been prepared using these open source tools.
  • Gnuplot: The data obtained during profiling of two path finding algorithms viz. Blackmamba and Viper was plotted using gnuplot.
  • OpenOffice Writer 2.2: All the project documents and this report were prepared using OpenOffice Writer 2.2.
  • Wireshark Network Traffic Analyzer 0.99.6: During the development of iSnake Game Server Manager (GSM) @ SF.net, Wireshark tool was used to analyze the network traffic.

Components Overview:

The complete iSnake application is divided into four major components:

  1. iSnake Client Application: iSnake client application refers to the application used to play snake game. A player joins an already existing iSnake game server using this application.
  2. iSnake Game Server: iSnake game server handles the multiplayer feature of this game and allows multiple iSnake client applications to play the game hosted by that particular game server.
  3. Intelligent Autonomous Opponent Snakes: These are computer controlled snakes whose aim is to challenge the human players. The project has two implementations of path finding algorithms to create intelligent autonomous opponent snakes. These algorithms return the shortest possible path from given source (S) and target (T) coordinate pair considering the obstacles (if any) present in the game field. The code name for these two implementations are ‘Blackmamba’ and ‘Viper’.
  4. iSnake Game Server Manager (GSM) @ SF.net: iSnake Game Server Manager (iSnake – GSM) hosted at http://isnake.sf.net is used to manage all the information about iSnake game servers being hosted over the Internet.

Limitations/Future Enhancements:

Limitations:

  • The present implementation of iSnake can only be played in LAN. Due to large latency time and bandwidth limitation, it cannot be played over the Internet.
  • Path finding algorithms (Blackmamba and Viper) implemented in this game have their own computation limitations which has been described in ANNEX A and B of the project report.
  • Full stress test of the application has not been done yet. Hence, the response of game server in unpredictable situations cannot be handled properly.
  • iSnake’s Game Server Manager (iSnake – GSM) located at http://isnake.sf.net is still in its early development phase. There are some unresolved security issues.

Future Enhancements:

  • Port iSnake to cell phone platform and One Laptop Per Child – OLPC (which uses Sugar Desktop environment). The presence of several connectivity options(Bluetooth, WIFI, GPRS, CDMA) in cell phones makes it a very attractive platform for a multiplayer game like iSnake. Local WIFI network formed by kids using OLPC laptops can be used as a platform for iSnake’s deployment.
  • As iSnake game server communicates with remote playing using a well defined and very simple protocol, iSnake clients programmed in other programming platform like Flash, Python, etc. can be developed.

Also see,
Snake and Ladders Game in C
Tank Wars Game in C++
Helicopter Game in C++

Conclusion:

This iSnake Multiplayer Snake Game is a multiplayer version of the traditional snake game. The computer controlled intelligent opponents have been successfully tested in the game. Only the project report of this gaming project is available at the moment; other necessary project files if found will be updated in the download links.

1 COMMENT

LEAVE A REPLY

Please enter your comment!
Please enter your name here