he proposed specification is of a J2ME Profile that covers nine areas of game development:
1. 3D Modeling and Rendering for Games
2. 3D Physics Modeling for Games
3. 3D Character Animation for Games
4. 2D Rendering and Video Buffer Flipping for Games
5. Game Marshalling and Networked Communication
6. Streaming Media for Games
7. Sound for Games
8. Game Controllers
9. Hardware Access for Games
These nine areas above provide the core facilities of a game platform. To build that platform, the expert group intends to leverage existing APIs whenever possible. In the event that no existing APIs cover the required functionality (e.g. Physics Modeling for Games), the expert group will define new APIs or spin off new JSRs to define new APIs that the Games Profile will include by reference. In some cases modifications to existing APIs might be desirable to meet the unique requirements of a game platform. In this case one of two approaches will be taken:
1. A proposal describing requirements and suggested changes to an API will be made to the expert group responsible for the pertinent API. If the changes can be agreed to and can be adopted in a maintenance release in a timely fashion, the Games Profile expert group will work closely with the other expert group to produce the change. The Games Profile would then incorporate the maintenance revision of the existing API by reference.
2. If suitable modification to the existing API isn’t feasible then the Game Profile expert group will create suitable new APIs within its own name space.
Game developers are extremely concerned about performance and as such look for ways to determine the capabilities of a particular platform This expert group will also investigate metrics that are relevant to games and look for ways to use those metrics in characterizing implementations.
2.2 What is the target Java platform? (i.e., desktop, server, personal, embedded, card, etc.)
A goal of the Games Profile is scalability across a range of devices. This profile is targeted at high-end consumer game devices (based on the CDC and Foundation Profile) and desktops (J2SE). However the expert group intends to focus on J2ME platforms with a likely reference implementation on the CDC.
2.3 What need of the Java community will be addressed by the proposed specification?
There is growing interest in targeting the Java platform for game development. Java technology has much to offer game developers, from improvements in reliability and time-to-market of game development efforts, to device independence and platform scalability. To date, however, there has not been a focus on optimizing Java technology for development and play of sophisticated games.
Most game development shops are small companies that cannot afford to focus efforts on more than one or two of today’s proprietary platforms. The resulting games are tied to specific devices, and are relatively fragile. Overall, game development and maintenance costs are skyrocketing. By defining a Java Games Profile we will create a standard through which game developers can better leverage their development investment, prevent lock-in, and broaden their target market.
2.4 Why isn’t this need met by existing specifications?
In order to program cutting-edge games for the Java platform the developer needs access to APIs representing functionality that is not supported by existing profiles and editions. The needs of game developers are radically different from those of the markets Java technologies have addressed to date. The Java 2 Platform, Standard Edition, defines API and functionality that are not necessary in a game programming environment (e.g. CORBA support, etc.). Conversely, many functions that are considered ancillary extensions to a desktop use are required for game development (i.e. audio codecs, streaming video, hardware assisted 3D graphics, etc.). Existing J2ME profiles forgo many unnecessary APIs, but further reduce functionality (e.g. 2D support) to reduce footprint.
2.5 Please give a short description of the underlying technology or technologies:
This Profile will be based on the Connected Device Configuration (CDC) and probably the Foundation Profile. In addition it will likely reference Java 3D and Java Media Framework APIs.
Additional APIs will probably be added to provide missing functionality such as physics modeling, animation , and game marshalling.
2.6 Is there a proposed package name for the API Specification? (i.e., javapi.something, org.something, etc.)
Where new game-specific APIs must be defined, the proposed package name is javax.games.*. Should additional APIs be required that are anticipated to be reusable in other contexts (other profiles) they will be defined in non-game-specific packages in javax.*.
2.7 Does the proposed specification have any dependencies on specific operating systems, CPUs, or I/O devices that you know of?
2.8 Are there any security issues that cannot be addressed by the current security model?
2.9 Are there any internationalization or localization issues?
2.10 Are there any existing specifications that might be rendered obsolete, deprecated, or in need of revision as a result of this work?
None. As stated above, if minor extensions to an existing specification would permit the games profile to use the existing specification in its entirety, the games profile expert group will explore the possibility of extending the existing specification with the expert group of that specification.
2.11 Please describe the anticipated schedule for the development of this specification.
We intend to have a publicly reviewable draft in Summer 2001. Within a year of that a reference implementation and TCK should be available with a final specification.
2.12 Please describe the anticipated working model for the Expert Group working on developing this specification.
Details of the functionality identified for this JSR have purposefully been left indistinct to allow the expert group to design the best solutions for the needs of their industry. That work has already begun with the discussions held at the first Java Gaming Platform summit meeting, on Dec 6 & 7, 2000 at the Sun Santa Clara campus and will continue by means of a closed email list and further virtual or face to face meetings as required.
It is anticipated that portions of the APIs might be identified as useful more generally than in the context of the Games Profile. We anticipate that such APIs could be spun off into independent JSRs, with their own expert groups potentially drawing members from outside the community of game developers. Such JSRs would then be incorporated into the Games Profile by reference.