ideas.adoc 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. = Ideas List
  2. :author:
  3. :revnumber:
  4. :revdate: 2016/03/17 20:48
  5. :keywords: gsoc
  6. :relfileprefix: ../
  7. :imagesdir: ..
  8. ifdef::env-github,env-browser[:outfilesuffix: .adoc]
  9. Below is listed every idea for a prospective jME student project during GSoC.
  10. +
  11. Got a suggestion? Please discuss it in the link:http://www.jmonkeyengine.com/forum/[forum].
  12. +
  13. [quote]
  14. ____
  15. If the forum won't suffice we can always be reached at mailto:contact@jmonkeyengine.com[]
  16. ____
  17. == Worth noting
  18. *Difficulty setting pending:* The developers have yet to estimate difficulty and scope for each of the suggested projects.
  19. +
  20. *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.
  21. === Finish/extend sound engine
  22. jME's sound engine is almost complete, but lacks more extensive testing and has room for improvements.
  23. === New terrain system
  24. 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]
  25. === Basic AI system
  26. Basic path-finding, primitive bot behavior…
  27. === Game frameworks
  28. 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].
  29. === Extended builders for particle effects
  30. === Cinematics
  31. 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)
  32. === Game Development Environment: Editors
  33. 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.
  34. === Post process effect
  35. Add a new post process effect to jME, follow the way the HDRProcessor and BasicShadowProcessor were designed. Some examples of post process effects:
  36. * Motion Blur
  37. * Depth of Field
  38. * Parallel-Split Shadow Maps
  39. * More advanced shadow filtering (VSM, Jittered)
  40. * Bloom
  41. === jME Importer
  42. Create a new importer for jME, it should be a popular format for most effectiveness. Some examples:
  43. * 3DS
  44. * OBJ - MTL (material) file import. Should be able to support normal and specular maps!
  45. * Collada (advanced)
  46. === Scene editor
  47. Create a scene editor, with model importing, moving around models, editing particles and applying materials, etc.
  48. If you want something simpler than the above, you can just write a particle editor
  49. === Game state system: AppState
  50. Create a game state system, similar to jME2's StandardGame and GameState. Please call it AppState though.
  51. === Improved multithreading support
  52. (advanced)
  53. === Deferred rendering
  54. (advanced)
  55. === Hardware skinning
  56. === A jME Game
  57. 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.
  58. === Android Interface
  59. E.g. Create “virtual arrow keys and other buttons on the screen, for those phones without keyboard but only touchscreen.
  60. === Android Multitouch support
  61. (Android 2.1 only?)
  62. === Android Trackball support
  63. === General core Android optimizations
  64. === Evaluation: Game Asset Pipeline
  65. * Evaluate various model converters and creators, audio tools, 3-D and 2-D graphic tools (free and paid).
  66. * Write an example make script that regenerates the artwork everytime the designer made changes, and copies the files to the developer's directory.
  67. * Collect the best practices (pros/cons/limitations of tools and approaches) in a comparison table.
  68. === Evaluation: Deployment Options
  69. * Applet, Webstart, OneJAR, …
  70. * Free vs commercial executable creators for all supported operating systems…
  71. * Icons, auto-updaters, and installers, for all supported operating systems…
  72. * Write an ant target that generates:
  73. ** zipped release-ready desktop executables for all operating systems…
  74. ** Webstartable or Applet-ready JARs…
  75. * Collect the best practices (pros/cons/limitations) in a comparison table.
  76. === jME on the iPhone
  77. XMLVM is a project that let's you convert .class-files (and .net-clr files) into xml-files. This xml-files then
  78. 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.
  79. Here some links:
  80. link:http://www.xmlvm.org/overview/[http://www.xmlvm.org/overview/]
  81. link:http://www.xmlvm.org/iphone/[http://www.xmlvm.org/iphone/]
  82. link:http://www.cokeandcode.com/aboidblog[http://www.cokeandcode.com/aboidblog]
  83. opengl-compatlib (in sourcefolder src/xmlvm2objc/compat-lib/java ):
  84. org..xmlvm.iphone.gl