]> git.r.bdr.sh - rbdr/r.bdr.sh/blob - 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
1 ---
2 layout: post
3 title: Creando un juego en ruby con gamebox
4 category: posts
5 tags: español ruby tutorial ruby-pong
6 description: "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
11 Este es el preámbulo de una serie de tutoriales para hacer un juego
12 utilizando [gamebox][gamebox], una librería de ruby que nos permite
13 hacer juegos de manera sencilla. En esta primera lección empezaremos el
14 proyecto y analizaremos un poco los archivos que se crean, para poder
15 empezar a hacer el juego realmente en nuestras sigueintes lecciones.
16
17 El tutorial asume varias cosas, y es importante mantenerlas en mente al
18 seguir el tutorial:
19
20 1. 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
25 2. 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
30 Instalar gamebox es fácil, solo tenemos que instalar la gema:
31
32 gem install gamebox
33
34 Listo. Hemos instalado gamebox, pero esto no nos ayuda mucho, sólo nos
35 permite crear el proyecto, aún falta un poco para poder empezar a hacer
36 el juego. Para crear el proyecto es sencillo también:
37
38 gamebox ruby-pong
39
40 Esto creará un directorio llamado ruby-pong que contiene varios
41 archivos. Ya tendremos tiempo de revisarlos más a fondo, pero veamos
42 rá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
75 Gamebox creó el esqueleto del proyecto por nosotros. Tenemos directorios
76 bastante básicos para un proyecto de ruby: `src` que contiene nuestro
77 código fuente, `config` que contiene archivos de configuración, `doc`
78 donde va nuestra documentación, `lib` en donde pondremos librerías de
79 apoyo para nuestro juego, `script` que contiene scripts para ayudar a
80 generar elementos del juego, `spec` en donde haremos nuestras pruebas y
81 `data` donde pondremos assets para nuestro juego como fonts, gráficos,
82 música y efectos de sonido.
83
84 Listo, nada fuera de lo normal ahí. Entre los archivos creados se
85 encuentra un Gemfile. Lamentablemente, tiene algunas cosas que no
86 sirven. 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
88 documento: `gem 'kvo', '0.0.2'`.
89
90 Con eso listo solo nos quedan dos pasos para hacer:
91
92 $ bundle install
93 $ ruby src/app
94
95 Listo! tienes tu primer juego corriendo. Aunque más que un juego es una
96 pantalla negra con un cuadrito rojo... difícilmente algo que llamarías
97 un juego. Pero pronto empezarán los tutoriales reales y haremos juntos
98 un pong, como los viejos colonistas.
99
100 P.S. En [Github][github] puedes encontrar un repositorio con el código que iremos
101 haciendo. Habrá un branch para cada parte del tutorial.
102
103 P.P.S. Si sabes instalar chipmunk en OS X 10.8 con Xcode 4.5, o si
104 tienes alguna recomendación o pregunta, por favor hazla llegar
105 por [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