ideas.html 12 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]--><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="Asciidoctor 1.5.4"><meta name="keywords" content="gsoc"><title>Ideas List</title><link rel="stylesheet" href="./asciidoctor.css">
  2. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.5.0/css/font-awesome.min.css">
  3. <link rel="stylesheet" href="./coderay-asciidoctor.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/2/docsearch.min.css"></head><body class="article toc2 toc-left"><div id="header"><div id="toolbar"><a href="https://github.com/jMonkeyEngine/wiki/edit/master/src/docs/asciidoc/gsoc/ideas.adoc"><i class="fa fa-pencil-square" aria-hidden="true"></i></a><a href="https://github.com/jMonkeyEngine/wiki/new/master/src/docs/asciidoc/gsoc/"><i class="fa fa-plus-square" aria-hidden="true"></i></a><input dir="auto" style="position: relative; vertical-align: top;" spellcheck="false" autocomplete="off" class="searchbox__input aa-input" id="doc-search" name="search" placeholder="Search in the doc" required="required" type="search"></div><h1>Ideas List</h1><div class="details"><span class="author" id="author"></span><br><span id="revnumber">version ,</span> <span id="revdate">2016/03/17 20:48</span></div><div id="toc" class="toc2"><div id="toctitle">Table of Contents</div><ul class="sectlevel1"><li><a href="#worth-noting">Worth noting</a><ul class="sectlevel2"><li><a href="#finish-extend-sound-engine">Finish/extend sound engine</a></li><li><a href="#new-terrain-system">New terrain system</a></li><li><a href="#basic-ai-system">Basic AI system</a></li><li><a href="#game-frameworks">Game frameworks</a></li><li><a href="#extended-builders-for-particle-effects">Extended builders for particle effects</a></li><li><a href="#cinematics">Cinematics</a></li><li><a href="#game-development-environment-editors">Game Development Environment: Editors</a></li><li><a href="#post-process-effect">Post process effect</a></li><li><a href="#jme-importer">jME Importer</a></li><li><a href="#scene-editor">Scene editor</a></li><li><a href="#game-state-system-appstate">Game state system: AppState</a></li><li><a href="#improved-multithreading-support">Improved multithreading support</a></li><li><a href="#deferred-rendering">Deferred rendering</a></li><li><a href="#hardware-skinning">Hardware skinning</a></li><li><a href="#a-jme-game">A jME Game</a></li><li><a href="#android-interface">Android Interface</a></li><li><a href="#android-multitouch-support">Android Multitouch support</a></li><li><a href="#android-trackball-support">Android Trackball support</a></li><li><a href="#general-core-android-optimizations">General core Android optimizations</a></li><li><a href="#evaluation-game-asset-pipeline">Evaluation: Game Asset Pipeline</a></li><li><a href="#evaluation-deployment-options">Evaluation: Deployment Options</a></li><li><a href="#jme-on-the-iphone">jME on the iPhone</a></li></ul></li></ul></div></div><div id="content"><div id="preamble"><div class="sectionbody"><div class="paragraph"><p>Below is listed every idea for a prospective jME student project during GSoC.</p></div>
  4. <div class="paragraph"><p>+
  5. Got a suggestion? Please discuss it in the <a href="http://www.jmonkeyengine.com/forum/">forum</a>.</p></div>
  6. <div class="paragraph"><p>+</p></div>
  7. <div class="quoteblock"><blockquote><div class="literalblock"><div class="content"><pre>If the forum won't suffice we can always be reached at mailto:&amp;#x63;&amp;#x6f;&amp;#x6e;&amp;#x74;&amp;#x61;&amp;#x63;&amp;#x74;&amp;#x40;&amp;#x6a;&amp;#x6d;&amp;#x6f;&amp;#x6e;&amp;#x6b;&amp;#x65;&amp;#x79;&amp;#x65;&amp;#x6e;&amp;#x67;&amp;#x69;&amp;#x6e;&amp;#x65;&amp;#x2e;&amp;#x63;&amp;#x6f;&amp;#x6d;[]</pre></div></div></blockquote></div></div></div>
  8. <div class="sect2"><h3 id="worth-noting">Worth noting</h3><div class="paragraph"><p><strong>Difficulty setting pending:</strong> The developers have yet to estimate difficulty and scope for each of the suggested projects.</p></div>
  9. <div class="paragraph"><p>+
  10. <strong>GDE-appropriate:</strong> Many of the suggestions below would be most suitable as an extension to our WIP '<a href="http://www.jmonkeyengine.com/forum/index.php?board=33.0">Game Development Environment</a>', but won&#8217;t be identified as such until further evaluation. Doing so keeps the jME 3.0 core clean and lean.</p></div>
  11. <div class="sect2"><h3 id="finish-extend-sound-engine">Finish/extend sound engine</h3><div class="paragraph"><p>jME&#8217;s sound engine is almost complete, but lacks more extensive testing and has room for improvements.</p></div></div>
  12. <div class="sect2"><h3 id="new-terrain-system">New terrain system</h3><div class="paragraph"><p>One of the most sought after features for jME is a complete terrain system, topped off with a user-friendly visual editor. → <a href="http://jmonkeyengine.com/wiki/doku.php/terrain_systems">Terrain Systems</a></p></div></div>
  13. <div class="sect2"><h3 id="basic-ai-system">Basic AI system</h3><div class="paragraph"><p>Basic path-finding, primitive bot behavior…</p></div></div>
  14. <div class="sect2"><h3 id="game-frameworks">Game frameworks</h3><div class="paragraph"><p>A great way of adding to jME3&#8217;s accessibility. A 'game framework' would be a bare-bones implementation of a genre-specific, clearly defined type of gameplay, like a <a href="http://en.wikipedia.org/wiki/First-person_shooter">First-person_shooter</a>.</p></div></div>
  15. <div class="sect2"><h3 id="extended-builders-for-particle-effects">Extended builders for particle effects</h3></div>
  16. <div class="sect2"><h3 id="cinematics">Cinematics</h3><div class="paragraph"><p>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)</p></div></div>
  17. <div class="sect2"><h3 id="game-development-environment-editors">Game Development Environment: Editors</h3><div class="paragraph"><p>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.</p></div></div>
  18. <div class="sect2"><h3 id="post-process-effect">Post process effect</h3><div class="paragraph"><p>Add a new post process effect to jME, follow the way the HDRProcessor and BasicShadowProcessor were designed. Some examples of post process effects:</p></div>
  19. <div class="ulist"><ul><li><p>Motion Blur</p></li><li><p>Depth of Field</p></li><li><p>Parallel-Split Shadow Maps</p></li><li><p>More advanced shadow filtering (VSM, Jittered)</p></li><li><p>Bloom</p></li></ul></div></div>
  20. <div class="sect2"><h3 id="jme-importer">jME Importer</h3><div class="paragraph"><p>Create a new importer for jME, it should be a popular format for most effectiveness. Some examples:</p></div>
  21. <div class="ulist"><ul><li><p>3DS</p></li><li><p>OBJ - MTL (material) file import. Should be able to support normal and specular maps!</p></li><li><p>Collada (advanced)</p></li></ul></div></div>
  22. <div class="sect2"><h3 id="scene-editor">Scene editor</h3><div class="paragraph"><p>Create a scene editor, with model importing, moving around models, editing particles and applying materials, etc.
  23. If you want something simpler than the above, you can just write a particle editor</p></div></div>
  24. <div class="sect2"><h3 id="game-state-system-appstate">Game state system: AppState</h3><div class="paragraph"><p>Create a game state system, similar to jME2&#8217;s StandardGame and GameState. Please call it AppState though.</p></div></div>
  25. <div class="sect2"><h3 id="improved-multithreading-support">Improved multithreading support</h3><div class="paragraph"><p>(advanced)</p></div></div>
  26. <div class="sect2"><h3 id="deferred-rendering">Deferred rendering</h3><div class="paragraph"><p>(advanced)</p></div></div>
  27. <div class="sect2"><h3 id="hardware-skinning">Hardware skinning</h3></div>
  28. <div class="sect2"><h3 id="a-jme-game">A jME Game</h3><div class="paragraph"><p>Create a game using jME. Doesn&#8217;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.</p></div></div>
  29. <div class="sect2"><h3 id="android-interface">Android Interface</h3><div class="paragraph"><p>E.g. Create “virtual arrow keys and other buttons on the screen, for those phones without keyboard but only touchscreen.</p></div></div>
  30. <div class="sect2"><h3 id="android-multitouch-support">Android Multitouch support</h3><div class="paragraph"><p>(Android 2.1 only?)</p></div></div>
  31. <div class="sect2"><h3 id="android-trackball-support">Android Trackball support</h3></div>
  32. <div class="sect2"><h3 id="general-core-android-optimizations">General core Android optimizations</h3></div>
  33. <div class="sect2"><h3 id="evaluation-game-asset-pipeline">Evaluation: Game Asset Pipeline</h3><div class="ulist"><ul><li><p>Evaluate various model converters and creators, audio tools, 3-D and 2-D graphic tools (free and paid).</p></li><li><p>Write an example make script that regenerates the artwork everytime the designer made changes, and copies the files to the developer&#8217;s directory.</p></li><li><p>Collect the best practices (pros/cons/limitations of tools and approaches) in a comparison table.</p></li></ul></div></div>
  34. <div class="sect2"><h3 id="evaluation-deployment-options">Evaluation: Deployment Options</h3><div class="ulist"><ul><li><p>Applet, Webstart, OneJAR, …</p></li><li><p>Free vs commercial executable creators for all supported operating systems…</p></li><li><p>Icons, auto-updaters, and installers, for all supported operating systems…</p></li><li><p>Write an ant target that generates:</p><div class="ulist"><ul><li><p>zipped release-ready desktop executables for all operating systems…</p></li><li><p>Webstartable or Applet-ready JARs…</p></li></ul></div></li><li><p>Collect the best practices (pros/cons/limitations) in a comparison table.</p></li></ul></div></div>
  35. <div class="sect2"><h3 id="jme-on-the-iphone">jME on the iPhone</h3><div class="paragraph"><p>XMLVM is a project that let&#8217;s you convert .class-files (and .net-clr files) into xml-files. This xml-files then
  36. 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.</p></div>
  37. <div class="paragraph"><p>Here some links:</p></div>
  38. <div class="paragraph"><p><a href="http://www.xmlvm.org/overview/">http://www.xmlvm.org/overview/</a>
  39. <a href="http://www.xmlvm.org/iphone/">http://www.xmlvm.org/iphone/</a>
  40. <a href="http://www.cokeandcode.com/aboidblog">http://www.cokeandcode.com/aboidblog</a></p></div>
  41. <div class="paragraph"><p>opengl-compatlib (in sourcefolder src/xmlvm2objc/compat-lib/java ):
  42. org..xmlvm.iphone.gl</p></div></div></div></div><div id="footer"><div id="footer-text">Version <br>Last updated 2016-07-22 07:15:15 UTC</div></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/2/docsearch.min.js"></script><script>docsearch({
  43. apiKey: 'a736b6d93de805e26ec2f49b55013fbd',
  44. indexName: 'jmonkeyengine',
  45. inputSelector: '#doc-search',
  46. debug: false // Set debug to true if you want to inspect the dropdown
  47. });</script></body></html>