HTML5, gamedev
e o
Skeleton Jigsaw
por
Willian Molinari
a.k.a. PotHix
Porque!?
Gamejam Itaú cultural
Cadê o Ruby?
Close enough :)
E o Ruby?
WarOS
https://github.com/pothix/waros
■ Ruby 1.9.3
■ Gosu
■ Rspec
■ SDL (via Gosu)
Motivação
Distribuição
Python?
PyGame é bem legal!
JavaScript
Really?
RECONQUEST
https://github.com/pothix/reconquest
Escrever do zero?
Vantagens
■ Menos código e arquivos menores
■ Conhecer todo o código
■ Micro tuning
Desvantagens
■ Lá vem mais uma engine…
■ Não contribui com nenhuma outra
■ Teria que construir algumas ferramentas
Engines
LimeJS
http://limejs.com
Crafty
http://craftyjs.com
秋葉原
Akihabara
https://github.com/akihabara/akihabara
Várias outras!
https://github.com/bebraw/jswiki/wiki/Game-Engines
Impact
http://impactjs.com
Impact
Morre $100 nessa brincadeira
Fonte: https://humblebundle.com
Impact por $30!
Eu escolho você, Impact!
Weltmeister (Level Editor)
1 ig.module('game.entities.hud')
2 .requires('impact.entity')
3 .defines(function () {
4 EntityHud = ig.Entity.extend({
5 _wmIgnore: true,
6 animSheet: new ig.AnimationSheet('media/hud.png', 10, 10),
7 gravityFactor: 0,
8 zIndex: 2,
9 name: "hud",
10 piece_collected: false,
11
12 init: function (x, y, settings) {
13 this.parent(x, y, settings);
14 this.addAnim('empty', 1, [0]);
15 this.addAnim('full', 1, [1]);
16 },
17
18 update: function () {
19 if( this.piece_collected ){ this.currentAnim = this.anims.full; }
20 this.parent();
21 }
22 });
23 });
1260 linhas de código Javascript no total (segundo sloc)
http://github.com/plaev
O Protótipo
História
Arte e Design
Por que pixel art?
(Nessa escala)
RECONQUEST
https://github.com/pothix/reconquest
Biolab Disaster
http://playbiolab.com
…
wat
Ferramentas
O Clássico Moderno
Paleta de Cores
Mais de 16 Milhões!
Alpha Channel
Concept Art
Level Design
Verticalidade
Explorando outros conceitos.
Dificuldade
na Criação das Fases
E a solução.
Áudio
Música
http://freemusicarchive.org
Efeitos Sonoros
http://thirdcog.eu/apps/cfxr
Edição
http://audacity.sourceforge.net
Áudio inicial
Áudio após edição
Antes 2.5MB
Depois 1.0MB
Compressão
*aproximado
4.0K analytics.js
1.2M game.min.js
4.0K index.html
2.6M media
Tamanho total
Mobile
Por que não?
Mobile Safari
http://youtu.be/aPYeNaR5ps0
Android Browser
Vários problemas
Muitos devices
e muitos navegadores
Fallbacks
Um mal necessário
Retrospectiva
Plataformas & Softwares
(Fora o que já foi citado)
+
Tempo investido
26
SPRINTS
4 horas
por semana
(Mais ou menos)
26 * 4 = 104 horas
Duas semanas de trabalho full time
Quase 1 ano
desde o início
580
commits
Erros
■ Decidir não suportar mobile desde o início
■ Usar levels pra fazer outras telas
■ Detalhes demais no começo
■ Não trabalhar ao mesmo tempo
Acertos
■ SCRUM
■ Google Docs
■ Atenção ao detalhes
■ Sem pressa mas com responsabilidade
■ Equipe pequena
Perguntas?
http://plaev.me/
Willian Molinari
@PotHix
pothix@plaev.me
http://pothix.com
Rafael Masoni
@rmasoni
rmasoni@plaev.me
http://rafaelmasoni.com

Html5, gamedev e o skeleton jigsaw