]> git.r.bdr.sh - rbdr/serpentity/blobdiff - README.md
Prepares for bower
[rbdr/serpentity] / README.md
index 3878dd15a67c219c103888b220f2390d97c03c8e..4d73f182208efc8b870f5cb21f366c535891cf72 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,17 +1,20 @@
-Serpentity is a simple entity framework inspired by Ash.
+# Serpentity
+
+Serpentity is a simple entity framework inspired by [Ash][ash].
 
 Usage:
 
-require('serpentity');
+    require('serpentity');
 
 ## Instantiating an engine
 
-var engine = Serpentity();
+    var engine = Serpentity();
 
-Add entities or systems:
+Add entities or systems, systems are added with a priority (the smaller
+the number, the earlier it will be called):
 
     engine.addEntity(entityFactory());
-    engine.addSystem(new GameSystem());
+    engine.addSystem(new GameSystem(), priority);
 
 Update all systems:
 
@@ -26,7 +29,7 @@ Remove entities or systems:
 
 Entities are the basic object of Serpentity, and they do nothing.
 
-    var entity = new Serpentity.entity();
+    var entity = new Serpentity.Entity();
 
 All the behavior is added through components
 
@@ -70,28 +73,40 @@ that comply with that API
 
 Systems are called on every update, and they use components through nodes.
 
-Class("TestSystem").inherits(Serpentity.System)({
-    prototype : {
-        added : function added(engine){
-            this.nodeList = engine.getNodes(MovementNode);
-        },
-        removed : function removed(engine){
-            this.nodeList = undefined;
-        }
-        update : function update(dt){
-            this.nodeList.forEach(function (node) {
-                console.log("Current position is: " + node.position.x + "," + node.position.y);
-            });
+    Class("TestSystem").inherits(Serpentity.System)({
+        prototype : {
+            added : function added(engine){
+                this.nodeList = engine.getNodes(MovementNode);
+            },
+            removed : function removed(engine){
+                this.nodeList = undefined;
+            }
+            update : function update(dt){
+                this.nodeList.forEach(function (node) {
+                    console.log("Current position is: " + node.position.x + "," + node.position.y);
+                });
+            }
         }
-    }
-});
+    });
 
 ## That's it
 
 Just run `engine.update(dt)` in your game loop :D
 
+## Checking it in the frontend (dev).
+
+You can link the bower package (bower.json is in `lib/serpentity/` to
+make paths cleaner), then link it again from the root directory and
+spawn a python server (`python -m SimpleHTTPServer`). The test page
+will be available in `http://localhost:8000/browser_test/`
+
+If you just want to use it, it's available as a bower package!
+
+
 ## TO-DO
 
 * Removing components
 * Implement the ashteroids demo (Serpentoids)
 * Actually check performance
+
+[ash]: http://www.ashframework.org/