A trailer from extended version of what i’ve done for Ludum Dare #26
It is HTML5
The full version is coming to IOS/Android using CocoonJS
Windows/OSX/Linux – If I manage to port it using node-webkit
A trailer from extended version of what i’ve done for Ludum Dare #26
It is HTML5
The full version is coming to IOS/Android using CocoonJS
Windows/OSX/Linux – If I manage to port it using node-webkit
Sorry for not posting too much recently. I have so many projects going on. Still I am very active in aggregating html5 related **everything** so hope that I can at least save you some time on crawling the internets:
HTML5 dungeon crawler by clintbellanger and yubatake
I encourage you to look at the game source if it is still unobfuscated. Procedural programming at its best – haven’t expected that it can be so clean and readable.
Brilliant assets, lovely graphics and … this music – it really compares to the one of the best theme songs ever created.

My totally non objective picks for the best browser based games on LD26. There are a lot of entries with awesome assets – but I am posting only these which also have immersive GAMEplay
Hell yes they will. Great psychological portraits of characters. Really easy to identify with the main character. Awesome point-and-clickish graphics.
Deserves more comments – one of the most interesting and polished games on this LD.
Great atmosphere, super polished – I don’t like the gameplay(!!!) but it has so much potential that I hope the author will work something out of this.
Verlet.js – implementation of verlet physics in javascript. Not super useful thing, but I bet a great designer can come up with something interesting.
Phaser – blossoming gamedev library – I hate frameworks and stuff – what makes it different then?
mazbox/synths/dubstep/ – still better than dubstep produced by some djs.
Also available on

Mozilla Marketplace
Bonus – work in progress title for the next version:
This time I’ve prepared an interactive demo of new features for you. Guess the hottest addition is borderImage which is a first step for making a GUI library 
Read more at canvasquery.com
This is based on my experience gained while porting anitroubles to
IOS/Android.

Phonegap is uncomparably slow. Ejecta is IOS only. Haven’t tried Titanium SDK.
Q: How to develop IOS/Android app for free? A: It is impossible.
However a bunch of thoughts on that:
Here is the Hello World. The documentation and knowledge sources are really inconsistent and scattered so below are some traps you might fall into (as I did):
var screenCanvas = document.createElement("Canvas");
document.body.appendChild(screenCanvas);
![]()
It is really easy to get your thing working on FirefoxOs + you can test it without any compatible device using simulator plugin.
Try Tide SDK – You can easily create desktop application using variety of web technologies like javascript, ruby, php, css, html5. I think you could even try to hit Valve’s Steam with a decent game.
I will update this article according to my further experience
Don’t overcomplicate things – in most cases all you need are mixins with some variations.
[inlineadh]
I just made up this name. It consists of universal methods that can be applied to any other object in order to manipulate its properties.
/* physics - constructor manipulator */
var Physics = function(object) {
object.v = [0, 0];
object.forces = [ ];
object.x = 0;
object.y = 0;
};
_.extend(Physics, {
addForce: function(object, x, y) {
object.forces.push([x, y]);
},
stop: function(object) {
object.forces = [ ];
},
step: function(object, delta) { ... }
});
Ok, now some object that will use these physics superpowers.
var Soldier = function(args) {
Physics(this);
};
Soldier.prototype = {
step: function(delta) {
Physics.step(this, delta)
/* some other behaviours for the soldier,
for example - self healing with no limits*/
this.hp++;
},
jump: function() {
Physics.addForce(this, 0, -100);
}
};
If you don’t like passing the object each time you may prefer apply/call approach instead:
var Physics = function() {
/* note that there is no `object` anymore */
this.x = 0;
this.y = 0;
};
var Soldier = function() {
Physics.apply(this, arguments);
};
We used apply to pass “this” context to a certain Physics method.
Like in the previous example we have constructor manipulator – but then we extend an object’s prototype – so we can call new methods directly using “this.method”
var Sprite = function(object) {
object.spriteAnimation = null;
object.spriteFrame = null;
};
_.extend(Sprite, {
/* I am prefixing every property to
* decrease a chance for naming conflicts */
spriteStep: function() { ... },
spriteSetAnimation: function() { ... },
render: function(ctx) { ... }
});
var Enemy = function() {
Sprite(this);
};
Enemy.prototype = {
changeStance: function(stance) {
this.stance = stance;
this.spriteSetAnimation("enemy-" + stance);
},
render: function(ctx) {
this.spriteRender(ctx);
}
};
_.extend(Enemy.prototype, Sprite);
You don’t really need magical javascript `class` systems for it.
/* base `class` for all controls, components, widgets or how do you call them */
function GuiComponent() {
this.border = "2px solid #000000";
this.foreground = "#444444";
this.background = "#fafafa";
};
GuiComponent.prototype = {
redraw: function() { },
onMouseDown: function() { ... }
};
/* simple button */
function GuiButton() {
/* call the base contructor */
GuiComponent.apply(this, arugments);
}
GuiButton.prototype = {
redraw: function() {
/* draw the button in its own specific way */
},
onMouseDown: function() {
/* call the mouse down from the base */
GuiComponent.prototype.onMouseDown.apply(arguments);
/* then do some other - button specific stuff */
}
};
You might actually want to copy all the properties that are not defined from the base `class`.
function inherit(object, parent) {
for(var key in parent) {
if(!object.hasOwnProperty(key)) {
object[key] = parent[key];
}
}
};
inherit(GuiButton.prototype, GuiComponent.prototype);
Be creative – you can easily forge your own `class` system that suits your needs using this approach. You can even add this parent thing if you miss it so much and don’t really need composition (you will be inheriting only from one object):
GuiButton.prototype = {
parent: GuiComponent,
redraw: function() {
/* omg so simple */
this.parent.redraw();
}
}
I will start to write down the ideas and discoveries before I forget.
1) Porting HTML5 game to: IOS, Android, Linux, Windows, Firefox OS
2) What to care about when working with CocoonJS
3) How to write a font-face loader (I think this would be the first one)
4) How to rescue bricked iPad using linux + windows on Virtual Box
5) How to properly write a game/application that fits to screen – including window resize and orientation change
6) How to emulate bitmap fonts and retro title screens using font-faces and canvas
7) Some tutorials demonstrating touch events in Canvas Query microframework
How is it different from other tools of this kind?
Most of them have no consistent brushes. Theirs philosophy is rather like – “look how many useless brushes I can implement”.
So I have decided to pick just a few which looks sketchy – there is save and share so you know – go nuts and let it spread :)
Will be released real soon.
Also hope to have time to describe technologies and other things behind it.


Social Widgets powered by AB-WebLog.com.