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