2D RACING CAR: A GAME IN JAVA A PROJECT REPORT
Submitted for the partial fulfillment of the award of the Degree of BACHELOR OF TECHNOLOGY In COMPUTER SCIENCE AND ENGINEERING
By : SANJAY KUMAR SINGH(CS,0309710090) VIKRANT YADAV(CS,0309710116) Under the invaluable guidance of
Mr.Sanjeev Pippal (Professor)
At GALGOTIAS COLLEGE OF ENGINEERING AND TECHNOLOGY UTTAR PRADESH TECHNICAL UNIVERSITY
LUCKNOW 2006-2007
Department of CSE Galgotias College of Engineering & Technology Knowledge Park II, Greater Noida.
Certificate This is to certify that the project titled “2D RACING CAR” has been completed successfully in Galgotias College of Engineering & Technology by : SANJAY K SINGH (CS,0309710090) VIKRANT YADAV (CS,0309710116)
GUIDE Mr. Sanjeev Pippal Parmanand Astya
Prof.
HOD CS
ACKNOWLEDGEMENTS This project would not have been possible without the direct involvement of the following people: we extend our deepest regards to our project guide & prof, dept. of CSE at Galgotias College of Engineering & technology, Mr.Sanjeev Pippal, who gave so generously of his time & experience. We are deeply indebted to his for his constant encouragement to work on this game, which utilizes the latest concepts in java. it is because of his infallible support that we have been able to complete this project. It is our pleasure to place on record our profound & sincere thanks to all our teachers, the library dept., & others for their invaluable cooperation. we would like to thank them all for helping us work in our area of interest. we also take this opportunity to take the blessings of our family without which we are incomplete.They are a continuous source of inspiration to us. It is our duty not to forget THE ALMIGHTY to thank for the completion of this project work.
(Sanjay Kr.Singh) Dept. of CSE GCET, GR. NOIDA.
(Vikrant Yadav) Dept. Of CSE GCET, GR. NOIDA
ABSTRACT
The ultimate goal of the project is to allow one person to drive his or her car on one workstation and the other person drive his or her car on a second workstation while both individuals can view both cars on their screens. The name of our product will be "Racing car".I bumped over the idea of developing a 2D RACING CAR game when I first played the game ROAD RASHERS in flash . the game has awesome graphics, great background score and a superb look and feel. That’s when I thought of implementing this game as it would not only test my programming skills , but
also my creativity as I decided to included rendered graphics. Although the game does resemble ROAD RASHERS ,the latter is a far more superior game with much more sophistication in terms of enemy car, petrol and enemy attacks in general etc. nonetheless , this project has been a real learning experience for me as I not only came across the intricacies involved in core java programming in particular. This game involves enemy car, the main car, road, tracks and petrol. I have done as much justice to the game as I could although I did want to add more features like 3D support etc but that would have required a longer gestation period. Nevertheless, this game , as has been the response from my colleagues and teachers. Moreover it is very simple to play .
TABLE OF CONTENTS : S.No No
Topic
1.
Preclude 1
2.
Present scenario 2
3.
Background 12
4.
Feasibility Study
5.
System Requirement Specification
6.
Design
Page
7.
Detailed Design
8.
Deliverables
9.
Conclusion & Extension
10.
Appendix A – References
11.
Appendix B – Glossary
PRECLUDE Games are everywhere! Today, interactive entertainment can be found on cell phones, televisions, wristwatches, DVDs, and PCs. The process of developing games for platforms not originally intended to offer interactive entertainment can be difficult. Programmers have used creative ingenuity to overcome the hardware and software limitations for decades. This effort has often resulted in the creation of games on devices—such as an oscilloscope—not normally considered game machines. Many game developers enjoy making a computer or piece of technology perform in a manner that was not previously thought possible.
Time has passed, and game development continues as strong as ever. Game developers diligently seek the small adjustments and optimizations that will make games perform faster and create more dynamic and immersive worlds. Some aspects of technology have become more stratified while others continue to explore and push boundaries. Java™ has provided a powerful platform on which to develop interactive content. The ultimate goal of the project is to allow one person to drive his or her car on one workstation and the other person drive his or her car on a second workstation while both individuals can view both cars on their screens . The name of our product will be "Racing car". Simple 2D car racing game is made in core java .It is product which is can be easily used. Use up, down,left, right key to move the car and adjust the speed.
PRESENT SCENARIO Developing games with the current Java platform can be a challenge. Though that might sound like a criticism of the technology, it can just as easily be said about any game-related technology or platform. Sooner or later, developers bump up against the limitations of the platform and want more resources, more control, and more power. This section identifies some of the specific challenges related to developing
games on the Java platform through an analysis of some of the major genres popular in current game development. The discussion centers on some of the key elements that each genre needs to be able to execute to be considered successful. It then maps those elements against the current Java platform, identifying strengths and weaknesses that may be exposed. SPORTS GAMES The sports genre is currently one of the most popular in modern gaming. In early days, sports-related video games were limited to those shown on major television, such as baseball, football, and hockey. The sports genre has benefited significantly from increases in technology. When playing original sports titles such as Atari Football on the Atari 2600, viewers had to stretch their imagination to see the star quarterback as a tiny pixel. Although it was a fun game to play, almost everything was left to the imagination. Newer technology sparked an increase in overall complexity of sports titles, allowing for league play as well as trading and customized player creation. Current versions of sports titles are likely to have almost a perfect tie-in with the current season with regard to team rosters and player stats, as well as startlingly realistic depictions of the stadiums and the players’ images. Over time more niche sports such as the X-Games have become popular. Some have even achieved greater fame due to the video game adaptations of their events, such as Tony Hawk: Pro Skater by Neversoft. This game not only allows players to
execute crazy tricks that defy the laws of physics completely but also defies the main characters in the game for their seemingly unlimited skateboarding skills. Sports Genre and Java From a purely developmental perspective, Java is a good development platform to use to create a sports title. One of the aspects that set most sports games apart is the cataloging of data related to plays and players. This data is particularly important for the hardcore fans and those who like to keep track of current players and team statistics. Some games allow players to play old all-star teams against the current player rosters. This feature requires strong organization and rapid access to the data during the game. Java is particularly strong when using database management, which can either hold this information locally or store it on a remote game server. Another popular element in sporting games today is the multiplayer networked aspect. The ability to play head to head has significantly expanded the sports market as well as created great experiences for the throngs of fans. Sun Microsystems™ is a company that sells high-end servers and server technology. One of the important aspects of Java’s development was that it needed to play well with Sun hardware. For this reason, Java is notoriously powerful in server-based applications and can handle databases containing sports data. A key criticism related to Java is that the most successful implementations of sports games occur in
the console space. Though PC ports of many sports games exist, they are usually afterthoughts for a successful console release. Java currently has no implementation with major console providers. It is important to note the console market dwarfs the PC market by an estimated factor of 10 to 1. Whereas this is a goal for the future, limited progress has been made in making Java available for console developers. Part of the delay is the lack of Java compliance on the current generation of hardware, particularly related to floating-point restrictions. From the commercial standpoint, this limitation continues to hurt Java’s play for a larger acceptance from game developers working on sports titles as well as other typically successful console titles. In summary, Table 1.1 lists the major benefits to using Java and the drawbacks for sports titles.
Pros Cons Offers strong network libraries Lacks a standard performance timer Provides a scalable database foundation Lacks Java ports to major console for use in custom playbooks and rankings platforms TABLE 1.1 Pros and Cons of Java in Sports Games PUZZLE GAMES People love to solve puzzles. Puzzle games appeal to a search for order in chaos and can also provide
hours of fun. If the total number of hours a student spent playing Tetris were amortized over the total amount of time spent in class during a college year, the result would most likely show an amazing number of hours spent playing the game in contrast to studying. The puzzle genre is alive and well to this day. Many Web sites have implemented Java applets for popular games such as Chess and Spades, as well as a number of original puzzle titles. A recent game of note that was built in Java is the innovative massively multiplayer online (MMO) pirate roleplaying game (RPG)/puzzle by Three Rings called Puzzle Pirates (see Figure 1.1). In Puzzle Pirates, players participate in pirate adventures in an online RPG, but when trouble breaks out, the players must use their powerful puzzle-solving skills to overcome adversity.
Puzzle Games and Java Puzzle games leverage some of the best aspects of the Java platform. Games that don’t require intense timing accuracy work incredibly well and provide a strong
FIGURE 1.1 Puzzle Pirates by Three Rings. productivity boost because of the wide range of graphic tools and multimedia libraries. Puzzle games can be distributed as applets or stand-alone applications, allowing them to work with multiple rendering pipelines (Abstract Window Toolkit [AWT] or Java OpenGL [JOGL] API/J3D). Java’s strong networking and database support lend themselves to creating and storing a lot of information for the player, such as rankings or high-score tables. On the downside, although puzzle games can be distributed through a range of methods, those that are run online through applets must contend with the fact that many Web browsers are not released with the most current Java Runtime Environments (JRE).
Therefore, the applet developer must post new locations for players to download the latest JRE. Although this fact might not seem to be a major disadvantage, the fact that applets can’t work as simply as they were designed could turn some players away from a game. Additionally, for games that require high-performance timers, developers could see the lack of timer support as a limitation to some types of game play that might require a highresolution analysis of when input is received or a move is executed. Generally speaking, the puzzle game genre represents one of the most ideal and immediate prospects for any new Java game programmer. In summary, Table 1.2 lists the major benefits and concerns when using Java to create puzzle games. Pros Cons Offers a platform on which one can Timing concerns could affect certain easily develop games for release as either types of game play an applet or as a stand-alone application Provides a built-in application program Many browsers ship with outdated interface (API) for rapid development Java Runtime Environments boost TABLE 1.2 Pros and Cons of Java for Puzzle Games