SlideShare uma empresa Scribd logo
1 de 93
Baixar para ler offline
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

Mais conteúdo relacionado

Semelhante a Html5, gamedev e o skeleton jigsaw

Jogos independentes
Jogos independentesJogos independentes
Jogos independentes
Paulo Zucco
 

Semelhante a Html5, gamedev e o skeleton jigsaw (20)

Apresentando a Godot Game Engine no FISL 16
Apresentando a Godot Game Engine no FISL 16Apresentando a Godot Game Engine no FISL 16
Apresentando a Godot Game Engine no FISL 16
 
It’s all about the game
It’s all about the gameIt’s all about the game
It’s all about the game
 
Jogos independentes
Jogos independentesJogos independentes
Jogos independentes
 
TDC2011 - Desenvolvimento de jogos com Javascript e HTML5
TDC2011 - Desenvolvimento de jogos com Javascript e HTML5TDC2011 - Desenvolvimento de jogos com Javascript e HTML5
TDC2011 - Desenvolvimento de jogos com Javascript e HTML5
 
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
 
Desenvolvimento de jogos com Cocos2d-x
Desenvolvimento de jogos com Cocos2d-xDesenvolvimento de jogos com Cocos2d-x
Desenvolvimento de jogos com Cocos2d-x
 
E dá para desenvolver webgames com Django?
E dá para desenvolver webgames com Django?E dá para desenvolver webgames com Django?
E dá para desenvolver webgames com Django?
 
Como Fazer Seu Próprio Gameboy - CPBR11
Como Fazer Seu Próprio Gameboy -  CPBR11Como Fazer Seu Próprio Gameboy -  CPBR11
Como Fazer Seu Próprio Gameboy - CPBR11
 
Raspberry Pi + Python
Raspberry Pi + PythonRaspberry Pi + Python
Raspberry Pi + Python
 
Como colaborar com projetos opensource com o GitHub
Como colaborar com projetos opensource com o GitHubComo colaborar com projetos opensource com o GitHub
Como colaborar com projetos opensource com o GitHub
 
Contribuindo com Projetos Open Source utilizando Git e Github
Contribuindo com Projetos Open Source utilizando Git e GithubContribuindo com Projetos Open Source utilizando Git e Github
Contribuindo com Projetos Open Source utilizando Git e Github
 
Hack Thursday - NodeJS
Hack Thursday - NodeJSHack Thursday - NodeJS
Hack Thursday - NodeJS
 
Minicurso "Jogos Multiplataforma com Javascript"
Minicurso "Jogos Multiplataforma com Javascript"Minicurso "Jogos Multiplataforma com Javascript"
Minicurso "Jogos Multiplataforma com Javascript"
 
CRI-O - TDC Floripa 2018
CRI-O - TDC Floripa 2018CRI-O - TDC Floripa 2018
CRI-O - TDC Floripa 2018
 
Arduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojoArduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojo
 
Groovy Power
Groovy PowerGroovy Power
Groovy Power
 
Github - Escrevendo código e compartilhando conhecimento
Github - Escrevendo código e compartilhando conhecimentoGithub - Escrevendo código e compartilhando conhecimento
Github - Escrevendo código e compartilhando conhecimento
 
Como Fazer Seu Próprio Gameboy - SpACE UNIFEI
Como Fazer Seu Próprio Gameboy -  SpACE UNIFEIComo Fazer Seu Próprio Gameboy -  SpACE UNIFEI
Como Fazer Seu Próprio Gameboy - SpACE UNIFEI
 
iOS libraries
iOS librariesiOS libraries
iOS libraries
 
WebAssembly além da Web - Casos de Uso em IoT
WebAssembly além da Web - Casos de Uso em IoTWebAssembly além da Web - Casos de Uso em IoT
WebAssembly além da Web - Casos de Uso em IoT
 

Mais de Willian Molinari

Abertura do ruby_rails_no_mundo_real_guru_sp
Abertura do ruby_rails_no_mundo_real_guru_spAbertura do ruby_rails_no_mundo_real_guru_sp
Abertura do ruby_rails_no_mundo_real_guru_sp
Willian Molinari
 

Mais de Willian Molinari (14)

Desconstruindo a web
Desconstruindo a webDesconstruindo a web
Desconstruindo a web
 
Mesos
MesosMesos
Mesos
 
As escolhas do desenvolvedor
As escolhas do desenvolvedorAs escolhas do desenvolvedor
As escolhas do desenvolvedor
 
Desenvolvimento de jogos com HTML5 e javascript
Desenvolvimento de jogos com HTML5 e javascriptDesenvolvimento de jogos com HTML5 e javascript
Desenvolvimento de jogos com HTML5 e javascript
 
Javascript and browser games
Javascript and browser gamesJavascript and browser games
Javascript and browser games
 
How we used ruby to build locaweb's cloud (http://presentations.pothix.com/ru...
How we used ruby to build locaweb's cloud (http://presentations.pothix.com/ru...How we used ruby to build locaweb's cloud (http://presentations.pothix.com/ru...
How we used ruby to build locaweb's cloud (http://presentations.pothix.com/ru...
 
Ruby e xmpp
Ruby e xmppRuby e xmpp
Ruby e xmpp
 
Game network programming
Game network programmingGame network programming
Game network programming
 
Locasberos
LocasberosLocasberos
Locasberos
 
Simplestack
SimplestackSimplestack
Simplestack
 
Implementações paralelas
Implementações paralelasImplementações paralelas
Implementações paralelas
 
Abertura do ruby_rails_no_mundo_real_guru_sp
Abertura do ruby_rails_no_mundo_real_guru_spAbertura do ruby_rails_no_mundo_real_guru_sp
Abertura do ruby_rails_no_mundo_real_guru_sp
 
Vim
VimVim
Vim
 
What is and how does work RubyLearning.org
What is and how does work RubyLearning.orgWhat is and how does work RubyLearning.org
What is and how does work RubyLearning.org
 

Último

Último (9)

ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 

Html5, gamedev e o skeleton jigsaw