complex-engine
Version:
JS Component Entity Framework for Gamedevelopment
98 lines (61 loc) • 3.65 kB
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>