Programando
juegos con ruby
Julio López Montalvo - @TheBlasfem
Disculpe... ¿Tiene un momento para conversar
sobre Ruby? Le va a cambiar su vida
MATZ
"Ruby is designed to make programmers happy"
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/
http://www.libgosu.org/
http://ippa.se/chingu
Instalación de gemas
Ingresar por terminal:
gem install gosu
gem install chingu
GET READY
... For this
DESARROLLEMOS UN JUEGO
Hagamos una Ventana con Chingu::Window
creemos una nave!
Trabajemos nuestros objetos heredando Chingu::GameObject
Démosle movimiento a la nave!
Usamos los traits de velocity y effect
Comprendiendo los offset...
corrijamos algunos bugs...
Los propulsores de la nave no tienen energía infinita, detengámosla. La nave no puede desaparecer!
pongamos pausa al juego
Conozcamos los GameState, crearemos 2 estados de juego, uno de pausa y otro para jugar
hagámoslo más divertido
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
YAPA!!!
Animaciones y un editor super cool de escenario
Diseña Sprites, crea movimiento
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
crea tu escenario con el editor gui
class Play < Chingu::GameState
def initialize
super
self.input = { :e => :edit}
load_game_objects
end
def edit
push_game_state(GameStates::Edit)
end
end
GRACIAS
https://github.com/TheBlasfem/flisolchingu