Below is listed every idea for a prospective jME student project during GSoC.

+

Got a suggestion? Please discuss it in the forum.

+

If the forum won't suffice we can always be reached at mailto:contact@jmonkeyengine.com[]

Worth noting

Difficulty setting pending: The developers have yet to estimate difficulty and scope for each of the suggested projects.

+

GDE-appropriate: Many of the suggestions below would be most suitable as an extension to our WIP 'Game Development Environment', but won’t be identified as such until further evaluation. Doing so keeps the jME 3.0 core clean and lean.

Finish/extend sound engine

jME’s sound engine is almost complete, but lacks more extensive testing and has room for improvements.

New terrain system

One of the most sought after features for jME is a complete terrain system, topped off with a user-friendly visual editor. → Terrain Systems

Basic AI system

Basic path-finding, primitive bot behavior…

Game frameworks

A great way of adding to jME3’s accessibility. A 'game framework' would be a bare-bones implementation of a genre-specific, clearly defined type of gameplay, like a First-person_shooter.

Extended builders for particle effects

Cinematics

A system that eases the job of handling all the different kinds of camera-, recording and playback work involved for making a cinematic in any type of game. Additionally, the use of pre-rendered and edited footage in-game (either in 3D space or contained in cut scenes)

Game Development Environment: Editors

Editors for the gde could become a way to avoid bloating the core engine. More specialized tools like cinematics creation and terrain editing might be best suited as an extension to the jME3 Game Development Environment.

Post process effect

Add a new post process effect to jME, follow the way the HDRProcessor and BasicShadowProcessor were designed. Some examples of post process effects:

  • Motion Blur

  • Depth of Field

  • Parallel-Split Shadow Maps

  • More advanced shadow filtering (VSM, Jittered)

  • Bloom

jME Importer

Create a new importer for jME, it should be a popular format for most effectiveness. Some examples:

  • 3DS

  • OBJ - MTL (material) file import. Should be able to support normal and specular maps!

  • Collada (advanced)

Scene editor

Create a scene editor, with model importing, moving around models, editing particles and applying materials, etc. If you want something simpler than the above, you can just write a particle editor

Game state system: AppState

Create a game state system, similar to jME2’s StandardGame and GameState. Please call it AppState though.

Improved multithreading support

(advanced)

Deferred rendering

(advanced)

Hardware skinning

A jME Game

Create a game using jME. Doesn’t have to be advanced or graphically intense, something like pacman in 3D for example for geeneral optimization of the engine and many community resources.

Android Interface

E.g. Create “virtual arrow keys and other buttons on the screen, for those phones without keyboard but only touchscreen.

Android Multitouch support

(Android 2.1 only?)

Android Trackball support

General core Android optimizations

Evaluation: Game Asset Pipeline

  • Evaluate various model converters and creators, audio tools, 3-D and 2-D graphic tools (free and paid).

  • Write an example make script that regenerates the artwork everytime the designer made changes, and copies the files to the developer’s directory.

  • Collect the best practices (pros/cons/limitations of tools and approaches) in a comparison table.

Evaluation: Deployment Options

  • Applet, Webstart, OneJAR, …

  • Free vs commercial executable creators for all supported operating systems…

  • Icons, auto-updaters, and installers, for all supported operating systems…

  • Write an ant target that generates:

    • zipped release-ready desktop executables for all operating systems…

    • Webstartable or Applet-ready JARs…

  • Collect the best practices (pros/cons/limitations) in a comparison table.

jME on the iPhone

XMLVM is a project that let’s you convert .class-files (and .net-clr files) into xml-files. This xml-files then can be translated into different targets and also objective c. They already implemented an compatibilty layer you can write your android-application against and create iphone objective c-sourcecode including makefiles out of it. (It seems that) all you have to do is to run the makefile on a MAC. Kev Glass implemented the opengl-translation and one nehe-lesson is included as example.

Here some links:

opengl-compatlib (in sourcefolder src/xmlvm2objc/compat-lib/java ): org..xmlvm.iphone.gl