Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Game Dev in Ruby
Search
Danielle Smith
December 03, 2014
0
36
Game Dev in Ruby
Short talk on Game dev in Ruby using the Gosu gem
Danielle Smith
December 03, 2014
Tweet
Share
More Decks by Danielle Smith
See All by Danielle Smith
Ruby Ruby
daninithepanini
0
140
A Brief History of Ruby
daninithepanini
0
39
Static Type Inferencing ... in Ruby?
daninithepanini
0
21
Off the Rails
daninithepanini
0
26
Action Game
daninithepanini
0
35
RubyGL
daninithepanini
0
26
YeSQL
daninithepanini
0
24
Euler vs Hamilton
daninithepanini
0
41
Featured
See All Featured
Building Applications with DynamoDB
mza
96
6.7k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
A better future with KSS
kneath
239
18k
Bash Introduction
62gerente
615
210k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
Become a Pro
speakerdeck
PRO
29
5.6k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
Product Roadmaps are Hard
iamctodd
PRO
55
11k
Transcript
Game Dev in Ruby by Daniel Smith
It’s awesome
Game dev is fun!
Ruby is fun!
None
The Gosu Gem
Simple 2D engine
Sprite-based
Great Community
Challenges
Interpreted Language
Garbage Collector is EVIL
Not quite mobile yet
require ‘gosu’
class MyAwesomeGame < Gosu::Window def initialize super WIDTH, HEIGHT, FULLSCREEN
end end
Game Loop
... def update # game logic end def draw #
put stuff on the screen end
Input
... def button_down id # ... end def button_up id
exit if id == Gosu::KbEscape end
Images
... def initialize ... @ship_image = Gosu::Image.new self, “ship.png” end
def draw @ship_image.draw x, y, z end
Shut up and show some games!
#{code.demo :live}
Thanks!