{"assets":[],"author_link":"author\/superjoe\/","author_name":"superjoe","cat":"LD #27","categories":["LD #27"],"comments":[],"epoch":1373164980,"event":"LD27","likes":5,"metadata":{"p_key":"79402","p_author":"superjoe","p_authorkey":"0","p_urlkey":"288412","p_title":"I humbly submit \u201cchem\u201d \u2013 my 2d canvas-based game engine optimized for rapid development","p_cat":"LD #27","p_event":"LD26","p_time":"1373164980","p_likes":"5","p_comments":"0","p_status":"WAYBACK","us_key":null,"us_name":null,"us_username":null,"event_start":"1366934400","event_key":"16","event_name":"LD26"},"source_url":"2013\/07\/07\/i-humbly-submit-chem-my-2d-canvas-based-game-engine-optimized-for-rapid-development\/","text":"<p>Hello there! I am happy to finally participate in a Ludum Dare. I look forward to playing everybody\u2019s games.<\/p>\n<p>I thought I would share this project of mine called <a href=\"https:\/\/github.com\/superjoe30\/chem\/\" title=\"chem\">chem<\/a>.<\/p>\n<p>It is designed to rapidly prototype 2d browser-based games using canvas. Some of the features:<\/p>\n<ul>\n<li>Automatically creates a spritesheet for your assets and then loads the assets at runtime.<\/li>\n<li>Provides API for drawing animated sprites in a canvas\n<ul>\n<li>Supports anchor points and rotation<\/li>\n<\/ul>\n<\/li>\n<li>Write code in JavaScript or other compile-to-javascript languages such as Coffee-Script.<\/li>\n<li>Uses\u00a0<a href=\"https:\/\/github.com\/substack\/node-browserify\">browserify<\/a>\u00a0to compile your code which allows you to harness the power of code on\u00a0<a href=\"https:\/\/npmjs.org\/\">npm<\/a>.\n<ul>\n<li>For example,\u00a0<a href=\"https:\/\/github.com\/superjoe30\/node-astar\">A* search<\/a><\/li>\n<li>Allows you to organize code modules using\u00a0<code>require<\/code>\u00a0and\u00a0<code>module.exports<\/code>\u00a0syntax.<\/li>\n<\/ul>\n<\/li>\n<li>Everything from code to spritesheet is compiled automatically when you save.<\/li>\n<li>Handles main loop and frame skipping.<\/li>\n<li>Handles all the boilerplate for keyboard and mouse input.<\/li>\n<\/ul>\n<p>Here are some simple game examples if you want to see how code using this project is structured:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/superjoe30\/meteor-attack\">Meteor Attack<\/a>\u00a0\u2013 dodge meteors in space (<a href=\"http:\/\/coffeescript.org\/\">coffee-script<\/a>)<\/li>\n<li><a href=\"https:\/\/github.com\/superjoe30\/holocaust\/\">holocaust<\/a>\u00a0\u2013 rebuild society after a nuclear holocaust ravages the world (javascript)<\/li>\n<li><a href=\"https:\/\/github.com\/superjoe30\/dr-chemicals-lab\/tree\/master\/javascript\">Dr. Chemical\u2019s Lab<\/a>\u00a0\u2013 My PyWeek #14 entry, ported to chem (coffee-script)<\/li>\n<li><a href=\"https:\/\/github.com\/thejoshwolfe\/vapor\">vapor<\/a>\u00a0\u2013 vaporware game. Not cool yet. (<a href=\"https:\/\/github.com\/satyr\/coco\/\">coco<\/a>)<\/li>\n<\/ul>\n<p>In addition, the <a href=\"https:\/\/github.com\/superjoe30\/chem\/\">README<\/a> has an introduction and the reference API documentation.<\/p>\n<p>I hope it helps!<\/p>\n<p>Love,<\/p>\n<p><a href=\"http:\/\/andrewkelley.me\/\" title=\"superjoe\">superjoe<\/a>.<\/p>","time":"July 7th, 2013 2:43 am","title":"I humbly submit \u201cchem\u201d \u2013 my 2d canvas-based game engine optimized for rapid development","title_was_empty":false}