Game design and development

In recent years, game programs were mostly developed using C language and the use of OpenGL technologies to create 3D games. However with the rise of Java 3D technologies since 2000 and the ability to use OpenGL technologies with Java, it is now possible to create 3D animations in Java. Sun Microsys...

Full description

Bibliographic Details
Main Author: Muhammad Aizat B Omar.
Other Authors: Chua Hock Chuan
Format: Final Year Project (FYP)
Language:English
Published: 2010
Subjects:
Online Access:http://hdl.handle.net/10356/40405
Description
Summary:In recent years, game programs were mostly developed using C language and the use of OpenGL technologies to create 3D games. However with the rise of Java 3D technologies since 2000 and the ability to use OpenGL technologies with Java, it is now possible to create 3D animations in Java. Sun Microsystems then went on to develop JInput which allows users to discover and use input devices such as the traditional keyboard and mouse and to the more fun engaging controllers like gamepads and joysticks. JOAL was also developed to allow Java programmers to implement sound effects into a Java program. With all these technologies available, Java programmer can now develop 3D games with Java through the design of a simple scene graph. This project shows the different Java technologies used in creating a simple multiplayer first person shooter 3D game. The most fundamental concept which is the design and creating of a scene graph will be explained in this report. Once the scene graph is created one can employ Java 3D or JOGL to create the 3D environment and the different objects in the environment. The use of JInput and vecmath class from Java 3D will be explained on how they are programmed to achieve first-person navigation within an environment by controlling a keyboard and a mouse. Align axis bounding box concept is used in detecting collision between objects in a 3D environment. Lastly, a simple multiplayer (client/server) implementation is used to achieve a simple connection between two players.