Про описание подхода я всё понимаю, примерно было описано про crossjs
http://alljs.ru/crossjs/, но это надо переписывать, чем я и займусь в ближайшее время. Пример было легче сначала написать.
Демо с пятнашками не выкладывал, т.к. пока не решил, а где все эти демки будут лежать. Но можно и здесь пока положить
<!doctype html>
<html>
<head>
<title>Пятнашки</title>
<style type="text/css">
body {
font-family: arial, sans-serif;
font-size: 13px;
}
</style>
<script type="text/javascript"
src="https://raw.github.com/Kolyaj/Bricks/TagGame/lib/taggame.pack.js"></script>
</head>
<body>
<div id="tag"></div>
<script type="text/javascript">
var game = new Tag({
renderTo: 'tag'
});
game.addEventListener('win', function() {
alert('Круто, вы разложили их!');
});
</script>
</body>
</html>
NodeJS уже давно встаёт без шаманства даже на винду, а под убунту всегда вставал без шаманства.