29
Loading ...

Rs on Rails 2010

Embed Size (px)

Citation preview

Page 1: Rs on Rails 2010

Loading ...

Page 2: Rs on Rails 2010
Page 3: Rs on Rails 2010

Porque ruby pode ser divertido sem r***s!

Pedro Pimentel – ThoughtWorks

Robson Mendonça - Fande

Page 4: Rs on Rails 2010

Agenda

Como funciona um jogo

Comparativo web dev X game dev

Porque ruby ?

Chingu

Componentes do Chingu

Code walkthrough

Demo

Page 5: Rs on Rails 2010

Como funciona um jogo

O que é um jogo?Jogo é toda e qualquer atividade em que as regras são feitas ou criadas num ambiente restrito ou até mesmo de imediato.

Tipos de jogosStorytelling e Puzzle

Organização e construção

Page 6: Rs on Rails 2010

Cenário

Page 7: Rs on Rails 2010

Cenário

Page 8: Rs on Rails 2010

Personagens

Page 9: Rs on Rails 2010

Cálculos e mais cálculos!

Page 10: Rs on Rails 2010

Animações - Sprites

Um quadro de cada vez

Page 11: Rs on Rails 2010

Desenvolvimento WEB

DISPATCH

REQUEST

RESPONSE

Page 12: Rs on Rails 2010

Desenvolvimento de Jogos

INITIALIZE

CALCULATE

DRAW

Page 13: Rs on Rails 2010
Page 14: Rs on Rails 2010

Porque Ruby ?

Agradável

Facilmente extensível

Porque eu posso

Porque eu quero

Page 15: Rs on Rails 2010

Chingu FTW

História github.com/ippa/chingu

Page 16: Rs on Rails 2010

O que o Chingu oferece?

Aceleração gráfica 2D com OpenGL

Um objeto de jogo básico com x, y, ângulo, cor,

redimencionamento e zorder.

Detecção de colisão (quadrada e circular)

Page 17: Rs on Rails 2010

O que o Chingu oferece?

Classes de suporte para Animação, Parallax-

scrolling, Particulas, etc.

Um robusto sistem de game state.

Solução para manipulação de assets.

Pluginable, stackable logic called 'traits'

Page 18: Rs on Rails 2010
Page 19: Rs on Rails 2010

Chingu – Componentes

Chingu::Window

Chingu::GameObject

Chingu::BasicGameObject

Chingu::GameStateManager

Chingu::GameState

Traits

Page 20: Rs on Rails 2010

Chingu::Window

$window

Framerate, states & input

Updates/draws BGO / GO

Gosu::Window with extras

Page 21: Rs on Rails 2010

Chingu::GameObject

Personagens

Create != New

Input mapping

Page 22: Rs on Rails 2010

Chingu::BasicGameObject

GO com menos gordura

Frame vazio

Extensível com Traits

Page 23: Rs on Rails 2010

Chingu::GameStateManager e Chingu::GameState

Baseado em Pilha

Helpers para push / pop

Similar a uma Chingu::Window

Estados default: pause, edit

Page 24: Rs on Rails 2010

Traits

Se comportam como plugins

Exemplos:

Timer

bounding_box

Animation

collision_detection

Page 25: Rs on Rails 2010

chipmunk

Page 26: Rs on Rails 2010
Page 27: Rs on Rails 2010

DEMO TIME

Page 28: Rs on Rails 2010

Caso não os veja novamente, uma boa tarde e uma boa noite

Page 29: Rs on Rails 2010

Contato

Pedro Pimentelwww.pedropimentel.com@zukunftsalick

Robson Mendonçawww.myweboncreate.com@robsonmwoc