]> git.r.bdr.sh - rbdr/r.bdr.sh/blame_incremental - jekyll/_posts/2012-11-01-creando-un-juego-en-ruby-con-gamebox-0.md
Merge branch 'master' of abuguet.net:nsovocal
[rbdr/r.bdr.sh] / jekyll / _posts / 2012-11-01-creando-un-juego-en-ruby-con-gamebox-0.md
... / ...
CommitLineData
1---
2layout: post
3title: Creando un juego en ruby con gamebox
4category: posts
5tags: español ruby tutorial ruby-pong
6description: "Preámbulo para una serie de tutoriales en la que haremos un juego clon de pong utilizando la librería gamebox de ruby."
7---
8
9![PEEEEWWWWWWWWWW][header]
10
11Este es el preámbulo de una serie de tutoriales para hacer un juego
12utilizando [gamebox][gamebox], una librería de ruby que nos permite
13hacer juegos de manera sencilla. En esta primera lección empezaremos el
14proyecto y analizaremos un poco los archivos que se crean, para poder
15empezar a hacer el juego realmente en nuestras sigueintes lecciones.
16
17El tutorial asume varias cosas, y es importante mantenerlas en mente al
18seguir el tutorial:
19
201. El tutorial está pensado para OS X. Esto es particularmente
21 importante cuando instalemos librerías con `brew`. Si estás haciendo
22 el tutorial en linux, puedes usar herramientas para instalar paquetes
23 en tu distribución como `apt-get` o `yum`.
24
252. La versión de ruby que usaremos es 1.9.3 ... el uso de rvm es
26 recomendado.
27
28## Parte 0: Instalar gamebox y empezar un proyecto.
29
30Instalar gamebox es fácil, solo tenemos que instalar la gema:
31
32 gem install gamebox
33
34Listo. Hemos instalado gamebox, pero esto no nos ayuda mucho, sólo nos
35permite crear el proyecto, aún falta un poco para poder empezar a hacer
36el juego. Para crear el proyecto es sencillo también:
37
38 gamebox ruby-pong
39
40Esto creará un directorio llamado ruby-pong que contiene varios
41archivos. Ya tendremos tiempo de revisarlos más a fondo, pero veamos
42rápido:
43
44 .
45 ├── Gemfile
46 ├── README
47 ├── Rakefile
48 ├── config
49 │   ├── boot.rb
50 │   ├── environment.rb
51 │   ├── game.yml
52 │   ├── gamebox_generator_version.yml
53 │   └── stage_config.yml
54 ├── data
55 │   ├── fonts
56 │   │   └── FONTS_GO_HERE
57 │   ├── graphics
58 │   │   └── GRAPHICS_GO_HERE
59 │   ├── music
60 │   │   └── MUSIC_GOES_HERE
61 │   └── sounds
62 │   └── SOUND_FX_GO_HERE
63 ├── doc
64 ├── lib
65 ├── script
66 │   └── generate
67 ├── spec
68 │   └── helper.rb
69 └── src
70 ├── app.rb
71 ├── demo_stage.rb
72 ├── game.rb
73 └── my_actor.rb
74
75Gamebox creó el esqueleto del proyecto por nosotros. Tenemos directorios
76bastante básicos para un proyecto de ruby: `src` que contiene nuestro
77código fuente, `config` que contiene archivos de configuración, `doc`
78donde va nuestra documentación, `lib` en donde pondremos librerías de
79apoyo para nuestro juego, `script` que contiene scripts para ayudar a
80generar elementos del juego, `spec` en donde haremos nuestras pruebas y
81`data` donde pondremos assets para nuestro juego como fonts, gráficos,
82música y efectos de sonido.
83
84Listo, nada fuera de lo normal ahí. Entre los archivos creados se
85encuentra un Gemfile. Lamentablemente, tiene algunas cosas que no
86sirven. Entonces hay que comentar o borrar la línea que dice `gem
87'chipmunk'` y se tiene que agregar una línea nueva al final del
88documento: `gem 'kvo', '0.0.2'`.
89
90Con eso listo solo nos quedan dos pasos para hacer:
91
92 $ bundle install
93 $ ruby src/app
94
95Listo! tienes tu primer juego corriendo. Aunque más que un juego es una
96pantalla negra con un cuadrito rojo... difícilmente algo que llamarías
97un juego. Pero pronto empezarán los tutoriales reales y haremos juntos
98un pong, como los viejos colonistas.
99
100P.S. En [Github][github] puedes encontrar un repositorio con el código que iremos
101haciendo. Habrá un branch para cada parte del tutorial.
102
103P.P.S. Si sabes instalar chipmunk en OS X 10.8 con Xcode 4.5, o si
104tienes alguna recomendación o pregunta, por favor hazla llegar
105por [Twitter][twitter] o [Email / Jabber][jabber]
106
107[header]: /img/articles/ruby-game-dev-0/header.png
108[gamebox]: http://shawn42.github.com/gamebox/
109[twitter]: http://twitter.com/benbeltran
110[jabber]: mailto:ben@nsovocal.com
111[github]: https://github.com/benbeltran/ruby-pong