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
40
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Embracing the Ebb and Flow
colly
86
4.7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
950
It's Worth the Effort
3n
185
28k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
How to Ace a Technical Interview
jacobian
277
23k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Music & Morning Musume
bryan
46
6.6k
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!