= Ideas List :author: :revnumber: :revdate: 2016/03/17 20:48 :keywords: gsoc :relfileprefix: ../ :imagesdir: .. ifdef::env-github,env-browser[:outfilesuffix: .adoc] Below is listed every idea for a prospective jME student project during GSoC. + Got a suggestion? Please discuss it in the link:http://www.jmonkeyengine.com/forum/[forum]. + [quote] ____ 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 'link:http://www.jmonkeyengine.com/forum/index.php?board=33.0[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. → link:http://jmonkeyengine.com/wiki/doku.php/terrain_systems[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 link:http://en.wikipedia.org/wiki/First-person_shooter[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: link:http://www.xmlvm.org/overview/[http://www.xmlvm.org/overview/] link:http://www.xmlvm.org/iphone/[http://www.xmlvm.org/iphone/] link:http://www.cokeandcode.com/aboidblog[http://www.cokeandcode.com/aboidblog] opengl-compatlib (in sourcefolder src/xmlvm2objc/compat-lib/java ): org..xmlvm.iphone.gl