Friday, 13 April 2012

J2me-PHP Based Multiplayer Gaming Project Report


PROJECT REPORT ON

GLOBAL MULTIPLAYER MOBILE GAME FOR J2ME PLATFORMS USING GPRS CONNECTION

Abstract

Bluetooth gaming has been a landmark in current gaming scenario. But, the major drawback of using Bluetooth for gaming is its range. In order to increase the range for playing, we aim at using GPRS wherein the game will be installed on the mobile device and the server will update all the game data.
We are trying to develop a simple real-time multiplayer game ‘Snakes and Ladders’ for mobiles which will be operated using GPRS networks. The entire project will be developed in J2ME and server side interface will be developed in PHP scripting language. Multiple users can login to the server and play games simultaneously on their mobile phones. This game will be installed on the client mobile device communication is done using GPRS connection.

Chapter 1:Background and Motivation

1.1 Introduction

In the last five years, both the gaming market and the mobile communication market have seen a tremendous growth. Today the total revenue of the game industry exceeds the film industry by far and it is still growing. As an example: the overall revenue of mobile phone games in India increased. On par with this, the demand for more mobile multiplayer games has also seen considerable growth. This evolution leads to a completely new set of problems; such as user preferences for mobile games or analysis of next generation handheld devices. Besides those market changes there is another important aspect to consider. Through the last years the technology and distribution of mobile phones and handhelds massively increased. There is a high demand for mobile game applications, but yet both the devices and the used technologies do not provide a satisfying solution.

1.2 Background of the Survey

1.2.1 Gaming on Mobile Phones

Today, PC and console games are big business —an important branch of the entertainment industry and almost impossible to develop without a substantial investment of time, money, and other resources. That is what makes the new sector of mobile and wireless games so exciting. There is considerable room for innovative designers and programmers to make their mark and build valuable businesses with surprisingly limited resources. The mobile device is not simply a small, portable game machine of the old type, but something new and different, with different opportunities, exciting potential, and, at least at the present, significant development limitations.

Platform Opportunities

Mobile Gaming offers exciting opportunities for both business and creative persons alike. The potential audiences of mobile games are enormous - the best selling game console (Play station and Game boy) have sold lesser consoles compared to mobile phones that are sold worldwide. Moreover mobile games are much cheaper to develop than conventional PC based games.

Portability

There's a reason that Game Boy has sold more units than any other game console ever manufactured: portability is prized. People like being able to play whenever and wherever they choose. A phone may not be a great Game device by comparison to modern consoles or computers, but people have their phones with them almost all the time.

Networked

Because mobile phones are networked devices, there are great advantages compared to consoles like play-stations. With mobile multiple players can be connected which is the main aim of our project. Multiplayer games are feasible even given their other limitations.

1.2.2 Game Categories

Common mobile game categories include Arcade, Puzzle, Action, Sport, and Traditional.

  Arcade games

Arcade games are either based on classic arcade titles such as Asteroids, Pac Man, and Space Invaders, or are original titles with the same kind of game play. Since, early arcade machines were quite limited in their media display capabilities and processing power, the style is an obvious one to translate to mobile devices.

   Puzzle games

Puzzle games are solo play games that engage puzzle-solving skills, sometimes with continuous motion as in Tetris, sometimes more turn-based, in the manner of Bejeweled or Snood (popular PC puzzle games). These games tend to appeal more to casual gamers, rather than hardcore, which means that the potential market is enormous, but doesn't generally support high prices and often distributed free.

   Action Game
The term "Action game" is somewhat nebulous. Generally, it refers to a game in which a player controls a single character that moves through space, often engaging in combat with opponents. Player skill, rather than resource management or another type of challenge, is the focus of the game. Examples include Tomb Raider, Spyro the Dragon, and Sonic the Hedgehog.


·         Sport games
Sports games are based on real-world (or sometimes imaginary) sports, and they constitute a large portion of the console and PC market, with titles like John Madden Football and FIFA Soccer. Given the small screen real-estate and limited control of mobile devices, it is hard to recreate team sports, but many early console sports titles faced similar issues, which were resolved by, for instance, offering hockey games with four team members per side. This approach will work for mobile games as well. Sports like golf and bowling are also easy to translate to mobile devices. Successful sports games are often based on licenses from sports personalities or sport associations.

·         Traditional games
Traditional games include board or card games such as Othello (also known as Reversi), Noughts   and   Crosses   (Tic-tac-toe),   Patience   (Klondike   Solitaire), Snake & Ladders.
In our project, we are trying to develop a traditional game “Snake & Ladders” using J2ME platform. This game will work on GPRS connection available in the mobile phones.

1.3 Motivation

Gaming has seen a tremendous increase in last 5 years. People need gaming which is easier to play and available at all times, whenever they wish to play. Mobile is a device which is greater in use than consoles like PC and play-stations. Also it is cheap to buy a mobile game then the PC games. So mobile gaming using GPRS is the best option.
In the current scenario Bluetooth gaming has reached its peak point. The range of Bluetooth device is very less because of which the playing range is also limited.  In today’s mobile gaming environment only 1or 2 people can play any game together.
GPRS is a technology which can overcome above problems. GPRS can be activated very easily on mobiles devices. It is one such technology which brings the world together and so the playing range can also be extended. J2ME is a portable java programming language designed especially for mobiles. We will be developing our application using these technologies.
“Snake and ladder” is the game that we have chosen for demonstration of our project. It is a traditional game which requires no gaming skills but then too it’s the most popular game played all over the world. We are trying to make this game a bit skillful so that some tactics can be applied during playing.

 

1.4 Problem Definition

In this project, we are trying to develop a Multiplayer game to be played via GPRS. You can invite multiple players from all over the world for playing games.  We are also trying to provide chat feature for players using which they can chat while playing.
Our aim is to design a mobile multiplayer game, i.e., the game would be installed on the mobile device and these devices would be connected via GPRS. We have chosen our traditional snake and ladder game for demonstration purpose. Also, we aim at making this game skillful by changing the snake and ladder positions after each round and introducing some changes in the way the game is played. Also, by introducing the chat feature, we are providing an additional advantage to the users to chat while they play.

Chapter 2

System analysis and design

2.1 Hardware Requirements

Computer Requirement:
              1. Well equipped server

Mobile Requirement:
              1. Java enabled mobile

2.2 Software Requirements

Computer Requirement:
              1. JAVA JDK 1.6
              2. NetBeans 7.1
              3. Xamp Server
              4. Geany
              5. MySQL Database

Mobile Requirement:
             1. JAVA JDK1.6
             2. GPRS services

2.3 Overall System Description

Registration Page

Login Page

Invite Page 

Intitiator page:Start game

Accept Invite

Playing Game

Playing Game





 

Playing Game


Multiple players keep playing simultaneously connected via GPRS




 

Chat Page





2.4 System Architecture


Our system will constitute of mainly the client-mobile device and sever-PC server. Multiple clients will be connected to the server via GPRS.

Multiple Mobile connected with Server

Server
The server is used to performs following functionalities,
  1.  It tracks the current game position by maintaining log. It maintains a log of the players and notifies them on a new move. Also, the server notifies other clients about the structure of initiators game board (position of snakes and ladders). 
  2. The server is also responsible for accepting connections from clients and passing/receiving messages to/from them. Server works in two phases.  In the first phase it waits for the clients to connect.  After all of the clients have connected, then we move in to the second phase, that of playing the game.
Client
In contrast to the server you will be simultaneously running a number of clients, one for each player.The client contains three parts. 
1. It must have a GPRS connection which connects to the server and passes/receives messages to/from it
2. It must have a graphical display for the user to interact with.
 This graphical display will show:
·         The snakes-and-ladders board.
·         Some kind of message box to inform the player of what is happening (e.g. It’s your go!).
·         A throw dice button, which only has an effect when it is your go.
·         A chat box as we are adding a chat feature to the application.
·         Registration page for users to get register.
·         A login page in order to login to the game server.

We will need to layout all of these components in a JFrame using one or more layout managers.
  1. The client is responsible for generating a random number and moving the user discs.    

Rules of Snakes and Ladders

1)                  The initiator will start the game
2)                   Every player has a colored counter
3)                  At the start of the game all the counters are on square 0 (off the board).
4)                  Each player takes turns in rolling a dice.
5)                  The player’s counter advances the number of squares shown on the dice.
6)                  If the counter finishes on the bottom of a ladder it moves to the top of the ladder.
7)                  If the counter finishes on the top of a snake it moves to the bottom of the snake.
8)                  If a player reaches square 30 they win.


2.5 Diagrams and System Architecture







Activity Diagram


Use Case Diagram 1




Use case Diagram 2

2.6 Algorithms

Ø  Display a 5*6 matrix board with a count of 1 to 30
Ø  Display snakes and ladders position on board with S(head, tail) and L(bottom, top)
Ø  User’s disc will be displayed on starting position of board
Ø  On clicking the dice a random number will be generated.
Ø  For starting the game
·         Each time a random number is generated.
Ø  For movement on board there are 3 cases
·         Case 1:The disc comes on snake head
ü  Move disc to snake tail
·         Case 2:The disc comes on ladder base
ü  Move disc to ladder top
·         Default: Normal move
ü  Increment the user to dice number



 

Chapter 3

Conclusion


3.1 Conclusion

In this project we have introduced an integrated application that is based on the classic table game “Snakes and Ladders”. The key-idea of the game is the use and combination of messenger, gaming and networking technique. The application combines the potential of mobile and games technology in a novel and innovative way to support multiplayer environment. The charges for the GPRS connection are minimal and affordable. A major bottleneck from the users’ point of view for our current application was the user interface. But with the increase in use of touch screen mobiles, this limitation seems to disappear soon.
                  

3.2 Future Work

The developed game can be tested on 3g networks. Although network speed is not an issue for this game, improved speed can increase user interest. Integrating it with WLAN for high speed gaming is also possible. This developed game would not work on android phones. But we can surely use the same algorithms for porting it to Android and IPhone. Furthermore, game can be made more interactive by applying some audio sound whenever event occurs. The position of snake and ladder can be changed after every round of the game. In the near future, we plan to explore how to enhance user interfaces with speech recognition technology. For example, interactive voice recognition (IVR) technology can be used for voice activated user navigation and voice messages can be converted to text before sending them on the discussion board. These enhancements are crucial for sustaining the growth of mobile devices in education.



References


[1] Multiplayer Mobile Games. (2007). Retrieved August 2011, from www.smackall.com: http://www.smackall.com/multiplayer.php
[2] (2005), Nokia Ul API JavaDoc reference. Forum Nokia.
[3] Nokia, F. (n.d.). Introduction to Mobile Game Development. Retrieved from whitepapers.zdnet.com.
[4] The GPRS Technology and Its Uses. (n.d.). Retrieved from www.openmediaforge.org.
[5] Game Programming All in One, Bruno Miguel Teixera de Sousa, Premier Press Game Development Series, PHI, 2003.
[6] Guidelines for Game Developers Using Nokia Java MIDP Devices Version 1.0,8 Nov 2004.
[7] Designing Single Player Games, Forum Nokia.
[8] Wireless Java with J2ME: Michael Morrison, SAMS, TechMedia, 2005
[9] Snake and Ladder Lite (Games). (2010). Retrieved September 2011, from www.speakipad.com: http://www.speakipad.com/ipad-apps/snake-and-ladder-lite-games
[10] A Brief Introduction to MIDP Programming, Forum Nokia, 2005
[11] Gupta, A. (n.d.). J2ME_IntroGaming.pdf. Retrieved October 2011, from http://www.mindfiresolutions.com: http://www.mindfiresolutions.com/mindfire/J2ME_IntroGaming.pdf
[12] (2008, 04 10). Retrieved october 2011, from http://digitalworlds.wordpress.com: http://digitalworlds.wordpress.com/2008/04/10/the-process-of-game-creation-the-game-design-document/
[13] Powers, M. (2007, April). Mobile Multiplayer Gaming, Part 3:Multiplayer Games with Bluetooth. Retrieved October 2011, from developers.sun.com: http://developers.sun.com/mobility/midp/articles/gamepart3/#2



For more details about the project you can email me at makaranddalal2807@gmail.com 
or comment your queries below

4 comments:

  1. Can you make a tutorial how to make Sudden attack SEA private server.

    ReplyDelete
  2. Can you give me the details of SEA private server???
    I will try my best to make tutorials of it..!!

    ReplyDelete
  3. Nice ρoѕt. I used tο be сheckіng conѕtantly thіѕ blog аnd I'm impressed! Extremely helpful info specifically the ultimate part :) I handle such information a lot. I was seeking this certain info for a very long time. Thanks and good luck.

    Feel free to visit my web page: Chios studios

    ReplyDelete
  4. I cоnstantly emаіleԁ this website ρost pagе to all
    my contacts, as if like to reaԁ it аfterwaгd my contacts will toо.


    Here is my sitе - GSA Captcha breaker trial

    ReplyDelete