


Facilidad de codearlo
Legible, lenguaje natural
Dinámico
Todo está orientado a objetos
Distintas maneras de hacer las cosas : Libertad
Altamente productivo: Mayor tiempo libre
Divertido

https://github.com/xenda/limagamejam
https://github.com/TheBlasfem/thegrim

http://megamanruby.com/



gem install gosu
gem install chingu 


Trabajemos nuestros objetos heredando Chingu::GameObject

Usamos los traits de velocity y effect

Comprendiendo los offset...

Los propulsores de la nave no tienen energía infinita, detengámosla. La nave no puede desaparecer!

Conozcamos los GameState, crearemos 2 estados de juego, uno de pausa y otro para jugar


Crearemos 30 monedas aleatoriamente para ganar puntos cuando pasemos por encima de ellas =)
Creamos el objeto moneda

Crearemos monedas cada 1500 ms, usaremos el trait timer

Ahora le daremos a las monedas y a la nave los traits de colision y forma
traits :collision_detection, :bounding_circle
Y definimos que si el jugador colisiona con una moneda, esta desaparece y el jugador gana 10 puntos

Animaciones y un editor super cool de escenario

Class Mario < Chingu::GameObject
def initialize(options)
super
@animations = Chingu::Animation.new(:file => "mario.bmp")
@animations.frame_names = {:run => 0..2}
@animation = @animations[:run]
end
def update; @image = @animation.next; end
end
class Play < Chingu::GameState
def initialize
super
self.input = { :e => :edit}
load_game_objects
end
def edit
push_game_state(GameStates::Edit)
end
end

https://github.com/TheBlasfem/flisolchingu