1234567891011121314 |
- <!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"><title>project</title><link rel="stylesheet" href="./asciidoctor.css">
- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.5.0/css/font-awesome.min.css">
- <link rel="stylesheet" href="./coderay-asciidoctor.css"></head><body class="article toc2 toc-left"><div id="header"><h1>project</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="toolbar"><a href="https://github.com/jMonkeyEngine/wiki/edit/master/src/docs/asciidoc/jme3/advanced/atom_framework/docs/project.adoc"><i class="fa fa-pencil-square" aria-hidden="true"></i></a><a href="https://github.com/jMonkeyEngine/wiki/new/master/src/docs/asciidoc/jme3/advanced/atom_framework/docs/"><i class="fa fa-plus-square" aria-hidden="true"></i></a></div><div id="toctitle">Table of Contents</div><ul class="sectlevel1"><li><a href="#the-structure">The structure</a><ul class="sectlevel2"><li><a href="#videogame-structure">Videogame structure</a></li><li><a href="#project-source-structure">Project source structure</a></li></ul></li></ul></div></div><div id="content"><div class="sect2"><h3 id="the-structure">The structure</h3><div class="sect2"><h3 id="videogame-structure">Videogame structure</h3><div class="paragraph"><p>I have a strong conceptual POV about video game, which affected by cinematography a lot. Because English is not my native language I can misunderstood the real meaning of the noun but I’ve tried to find the right words in decade.</p></div>
- <div class="paragraph"><p>This one is mine, maybe only me but noone else :p :</p></div>
- <div class="paragraph"><p>So consider this 5 level of separation:</p></div>
- <div class="olist arabic"><ol class="arabic"><li><p>Main : The main entry, have everything only relate to this single game, single application. Also game specific Configs should be here</p></li><li><p>Core : The shared part can be used in almost every application share the same base</p></li><li><p>Stage : The ‘Stage’ is the base of entities, activites and events… It’s not nessesary care about the gameplay but the World, Camera, Light and Effects, Cinematic. Stage contain most of the underlying logic, and the actors.</p></li><li><p>GamePlay: The part care about the routine of the game, the player, characters, stories, items, gameactions, techtree… it’s make the game look more like a game than an normal software or a movie. Gameplay contain most of the interactive part.</p></li><li><p>State : Even your game routine can be modeled by something else not States, I introduced State to be more friendly with JME3′s AppState concept. I ultilized it and leveraged it, and you should also.</p></li></ol></div>
- <div class="paragraph"><p>Others optional:</p></div>
- <div class="olist arabic"><ol class="arabic"><li><p>*Network : For network game, blending between state, sub-routine and arbitrary events is difficult and may require other kind of paradigm, that’s why is not in Stage, but elsewhere outside.</p></li><li><p>*Services: If your game use external services such as Web or IAP or something like that.</p></li><li><p>*UI: UI stand for user interface, almost everygame have user interfaces but not all, so it’s also optional</p></li><li><p>*Script: For scripting, in my application, I embed Groovy everywhere, but I also preseved a place to hold “tranditional” run-time script that only be awared and executed when the game is already running.</p></li><li><p>*Model: If you are in a company or from a strong “standard lized” Java workflow, it’s nearly you’ll come up with some Bean like this, but it’s kind of for normal software not a game.</p></li><li><p>*Generated: Also if you have to embed some XML or some generated sources</p></li><li><p>*DB: Of course Database and persistent solution can be here( if not better be in the Service section)</p></li></ol></div>
- <div class="paragraph"><p>…</p></div></div>
- <div class="sect2"><h3 id="project-source-structure">Project source structure</h3><div class="paragraph"><p>The directory :
- * src</p></div>
- <div class="ulist"><ul><li><p>my.game.name</p><div class="ulist"><ul><li><p>main</p></li><li><p>core</p></li><li><p>state</p></li><li><p>gameplay</p></li><li><p>(*)network</p></li><li><p>(*)services</p></li><li><p>(*)ui</p></li><li><p>(*)others</p></li></ul></div></li></ul></div>
- <div class="paragraph"><p>More detailed, You can find a better example here in my game examples:
- <a href="../../../../jme3/atomixtuts.html">atomixtuts</a></p></div></div></div></div><div id="footer"><div id="footer-text">Version <br>Last updated 2016-07-10 11:39:03 UTC</div></div></body></html>
|