UNPKG

complex-engine

Version:

JS Component Entity Framework for Gamedevelopment

98 lines (61 loc) 3.65 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>JSDoc: Home</title> <script src="scripts/prettify/prettify.js"> </script> <script src="scripts/prettify/lang-css.js"> </script> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css"> <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css"> </head> <body> <div id="main"> <h1 class="page-title">Home</h1> <h3> </h3> <section> <article><h1>ComplexJS</h1> <p>ComplexJS is a JS written Component Entity System for HTML5 Gamedevelopment.</p> <p>It's strong structure enforces you to write seperated code in a very reusable way. This means that you can reuse the components already created in other projects and add them to a new one.</p> <p>Due to the Component Entity System architecture you are required to do seperation of concern within your code. Also you (should)have more simpler, clearer and more maintainable files.</p> <p><strong>NOTE</strong> <code>complex</code> is just a game engine. It doesn't provide any renderer functionality or game logic.</p> <h2>Npm</h2> <pre><code>npm i complex-engine --save </code></pre> <h1>How To</h1> <p><a href="/doc/GettingStarted.md">Getting started</a></p> <h1>Modules</h1> <p>To improve your dev experience there are some modules which provide already written systems and other helpers</p> <ol start="0"> <li><a href="https://github.com/complexjs/complex-threejs">complex-theejs</a></li> <li><a href="https://github.com/complexjs/complex-scripting">complex-scripting</a></li> </ol> <h1>API</h1> <p><a href="http://complexjs.github.io/complex-engine/index.html">API Reference</a></p> <h1>Concept</h1> <p>The idea behind (yet another game engine) <code>complex-engine</code> to have a lot of reusable code which you can reuse across multiple projects. <code>complex-engine</code> follows the <a href="https://en.wikipedia.org/wiki/Entity_component_system">Component Entity System</a> pattern.</p> <p>Basically you have entities on the screen which represents all single instances of something. Those entities hold a list of components which define it's behaviour. The component is just like a store for data. For example if we want a entitiy to be drawn at a certain position, we need some coordinates. Lets say we need a <code>x</code>, <code>y</code>, <code>width</code> and <code>height</code> variable for that. Those variable will be stored in the component. The business logic (in our case the rendering/drawing) will be written in a system. The system receives every entity, and does something with it's attached components data.</p></article> </section> </div> <nav> <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="Component.html">Component</a></li><li><a href="Engine.html">Engine</a></li><li><a href="Entity.html">Entity</a></li><li><a href="EntitySystem.html">EntitySystem</a></li><li><a href="GroupManager.html">GroupManager</a></li><li><a href="Manager.html">Manager</a></li><li><a href="Scene.html">Scene</a></li><li><a href="System.html">System</a></li><li><a href="VoidSystem.html">VoidSystem</a></li><li><a href="World.html">World</a></li></ul> </nav> <br class="clear"> <footer> Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.3</a> on Sun Sep 08 2019 20:40:30 GMT+0200 (Central European Summer Time) </footer> <script> prettyPrint(); </script> <script src="scripts/linenumber.js"> </script> </body> </html>