Get more from Analytics with Google BigQuery - Javier Ramirez - Datawaki- BBVACI
Fun With Ruby And Gosu Javier Ramirez
-
Upload
javier-ramirez -
Category
Technology
-
view
4.438 -
download
0
description
Transcript of Fun With Ruby And Gosu Javier Ramirez
![Page 1: Fun With Ruby And Gosu Javier Ramirez](https://reader034.fdocuments.in/reader034/viewer/2022052321/554f59c2b4c905524c8b540e/html5/thumbnails/1.jpg)
* in *
EuRuKo presents
Javier Ramírez([email protected])
Fun with Ruby (and without r***s)
Program your own games with Gosu
![Page 2: Fun With Ruby And Gosu Javier Ramirez](https://reader034.fdocuments.in/reader034/viewer/2022052321/554f59c2b4c905524c8b540e/html5/thumbnails/2.jpg)
the charactersRuby ................. as The Damsel Hardware ............ as The Villain Gosu ...................... as The Hero Chipmunk ........ as The Scientist Rubyscript2exe ........ as Himself
![Page 3: Fun With Ruby And Gosu Javier Ramirez](https://reader034.fdocuments.in/reader034/viewer/2022052321/554f59c2b4c905524c8b540e/html5/thumbnails/3.jpg)
why gameswork rest play sleep
improve, have fun
![Page 4: Fun With Ruby And Gosu Javier Ramirez](https://reader034.fdocuments.in/reader034/viewer/2022052321/554f59c2b4c905524c8b540e/html5/thumbnails/4.jpg)
why ruby
because i can! less code, less cluttereasy to try out
![Page 5: Fun With Ruby And Gosu Javier Ramirez](https://reader034.fdocuments.in/reader034/viewer/2022052321/554f59c2b4c905524c8b540e/html5/thumbnails/5.jpg)
why meBASICLOGO
PASCAL / DBase
Assembler
C/C++SQL
VBasic
HTML ASP
JavaScript
JAVAPHP
RUBY
![Page 6: Fun With Ruby And Gosu Javier Ramirez](https://reader034.fdocuments.in/reader034/viewer/2022052321/554f59c2b4c905524c8b540e/html5/thumbnails/6.jpg)
Non-technical considerations● concept ● game specs / core design● gameplay/game mechanics● balance● look and feel
More at “Game Architecture and Design: A New Edition”by Andrew Rollings & David Morris
![Page 7: Fun With Ruby And Gosu Javier Ramirez](https://reader034.fdocuments.in/reader034/viewer/2022052321/554f59c2b4c905524c8b540e/html5/thumbnails/7.jpg)
what's in a game?(game development 101)
Part I
![Page 8: Fun With Ruby And Gosu Javier Ramirez](https://reader034.fdocuments.in/reader034/viewer/2022052321/554f59c2b4c905524c8b540e/html5/thumbnails/8.jpg)
Web Development Abstraction
![Page 9: Fun With Ruby And Gosu Javier Ramirez](https://reader034.fdocuments.in/reader034/viewer/2022052321/554f59c2b4c905524c8b540e/html5/thumbnails/9.jpg)
One ring to rule them all
![Page 10: Fun With Ruby And Gosu Javier Ramirez](https://reader034.fdocuments.in/reader034/viewer/2022052321/554f59c2b4c905524c8b540e/html5/thumbnails/10.jpg)
Game Development Abstraction
3D games are the same, just harder
![Page 11: Fun With Ruby And Gosu Javier Ramirez](https://reader034.fdocuments.in/reader034/viewer/2022052321/554f59c2b4c905524c8b540e/html5/thumbnails/11.jpg)
Game Development Components
![Page 12: Fun With Ruby And Gosu Javier Ramirez](https://reader034.fdocuments.in/reader034/viewer/2022052321/554f59c2b4c905524c8b540e/html5/thumbnails/12.jpg)
the living game
![Page 13: Fun With Ruby And Gosu Javier Ramirez](https://reader034.fdocuments.in/reader034/viewer/2022052321/554f59c2b4c905524c8b540e/html5/thumbnails/13.jpg)
Development Components● main loop / event loop● game logic: levels, collisions, AI ...● stateless images (tiles / models)● stateful images (sprites / models)● sound FX and music
![Page 14: Fun With Ruby And Gosu Javier Ramirez](https://reader034.fdocuments.in/reader034/viewer/2022052321/554f59c2b4c905524c8b540e/html5/thumbnails/14.jpg)
when Ruby met Gosu
Part II
![Page 15: Fun With Ruby And Gosu Javier Ramirez](https://reader034.fdocuments.in/reader034/viewer/2022052321/554f59c2b4c905524c8b540e/html5/thumbnails/15.jpg)
about by Julian Raschke and Jan Lücker
Gosu (고수 ): High Hand - Leader
C++ + Ruby Bindings
http://code.google.com/p/gosu/(http://tinyurl.com/euruko-gosu)
![Page 16: Fun With Ruby And Gosu Javier Ramirez](https://reader034.fdocuments.in/reader034/viewer/2022052321/554f59c2b4c905524c8b540e/html5/thumbnails/16.jpg)
design rationaleBloatfree: Gosu aims to contain everything that is necessary to write a game in clean C++ or Ruby code, yet not much more.
Reality-driven: Everything in Gosu exists for the same single reason: It was necessary for an existing project. Nothing was, and will ever be, added out of boredom.
![Page 17: Fun With Ruby And Gosu Javier Ramirez](https://reader034.fdocuments.in/reader034/viewer/2022052321/554f59c2b4c905524c8b540e/html5/thumbnails/17.jpg)
game demo
![Page 18: Fun With Ruby And Gosu Javier Ramirez](https://reader034.fdocuments.in/reader034/viewer/2022052321/554f59c2b4c905524c8b540e/html5/thumbnails/18.jpg)
source code
http://code.google.com/p/eurukuest(http://tinyurl.com/eurukuest)
http://tinyurl.com/euruko-games
![Page 19: Fun With Ruby And Gosu Javier Ramirez](https://reader034.fdocuments.in/reader034/viewer/2022052321/554f59c2b4c905524c8b540e/html5/thumbnails/19.jpg)
Gosu::Window
![Page 20: Fun With Ruby And Gosu Javier Ramirez](https://reader034.fdocuments.in/reader034/viewer/2022052321/554f59c2b4c905524c8b540e/html5/thumbnails/20.jpg)
Gosu::Image
load individually or tiled
drawing can be rotated / scaled
supports z-index
can use Rmagick objects
![Page 21: Fun With Ruby And Gosu Javier Ramirez](https://reader034.fdocuments.in/reader034/viewer/2022052321/554f59c2b4c905524c8b540e/html5/thumbnails/21.jpg)
Gosu::Sample & Gosu::Song
full playback controlvolume, speed, pause, resume, stop, pan
looping supported
midi are better if converted to XM
![Page 22: Fun With Ruby And Gosu Javier Ramirez](https://reader034.fdocuments.in/reader034/viewer/2022052321/554f59c2b4c905524c8b540e/html5/thumbnails/22.jpg)
Gosu::Font
can be a system font or a file
easy to check the real width
supports rotation and scaling
![Page 23: Fun With Ruby And Gosu Javier Ramirez](https://reader034.fdocuments.in/reader034/viewer/2022052321/554f59c2b4c905524c8b540e/html5/thumbnails/23.jpg)
code walkthrough
![Page 24: Fun With Ruby And Gosu Javier Ramirez](https://reader034.fdocuments.in/reader034/viewer/2022052321/554f59c2b4c905524c8b540e/html5/thumbnails/24.jpg)
aboutby Scott Lembcke
A 2D rigid body physics library, designed with 2D video games in mind.
http://code.google.com/p/chipmunk-physics(http://tinyurl.com/euruko-chipmunk)
![Page 25: Fun With Ruby And Gosu Javier Ramirez](https://reader034.fdocuments.in/reader034/viewer/2022052321/554f59c2b4c905524c8b540e/html5/thumbnails/25.jpg)
about
![Page 26: Fun With Ruby And Gosu Javier Ramirez](https://reader034.fdocuments.in/reader034/viewer/2022052321/554f59c2b4c905524c8b540e/html5/thumbnails/26.jpg)
about
![Page 27: Fun With Ruby And Gosu Javier Ramirez](https://reader034.fdocuments.in/reader034/viewer/2022052321/554f59c2b4c905524c8b540e/html5/thumbnails/27.jpg)
chipmunk basicsSpaceBodyShapeVectJoint
![Page 28: Fun With Ruby And Gosu Javier Ramirez](https://reader034.fdocuments.in/reader034/viewer/2022052321/554f59c2b4c905524c8b540e/html5/thumbnails/28.jpg)
your 15 minutes of fame
Part III
![Page 29: Fun With Ruby And Gosu Javier Ramirez](https://reader034.fdocuments.in/reader034/viewer/2022052321/554f59c2b4c905524c8b540e/html5/thumbnails/29.jpg)
doing it is just half the fun
![Page 30: Fun With Ruby And Gosu Javier Ramirez](https://reader034.fdocuments.in/reader034/viewer/2022052321/554f59c2b4c905524c8b540e/html5/thumbnails/30.jpg)
tar2rubyscriptby Erik Veenstra
RBA file:init.rb => tar + base64 + comments
![Page 31: Fun With Ruby And Gosu Javier Ramirez](https://reader034.fdocuments.in/reader034/viewer/2022052321/554f59c2b4c905524c8b540e/html5/thumbnails/31.jpg)
rubyscript2exeby Erik Veenstra
packages ruby, the script and alldependencies together into an executable file.
works on windows, linux, OSx
![Page 32: Fun With Ruby And Gosu Javier Ramirez](https://reader034.fdocuments.in/reader034/viewer/2022052321/554f59c2b4c905524c8b540e/html5/thumbnails/32.jpg)
rubyscript2exeFirst Step: it runs the application, checking for all the required gems and scripts, creating a list of dependencies to include in the executable
![Page 33: Fun With Ruby And Gosu Javier Ramirez](https://reader034.fdocuments.in/reader034/viewer/2022052321/554f59c2b4c905524c8b540e/html5/thumbnails/33.jpg)
rubyscript2exeThe “Environment Embedding Executable” gzips all the dependenciesand attaches the file to a copy of eee
![Page 34: Fun With Ruby And Gosu Javier Ramirez](https://reader034.fdocuments.in/reader034/viewer/2022052321/554f59c2b4c905524c8b540e/html5/thumbnails/34.jpg)
http://[email protected]://twitter.com/supercoco9
muhahahahaha!
http://www.workingwithrails.com/person/5987-javier-ramirez