Comienza en Pequeño

1 reply [Last post]
Jorge Palacios
Offline
Free member
Joined: 2009/10/16

Saludos a toda la comunidad...

Como algunos ya saben, yo soy un aprendiz de programador que intenta aprender cada dÃ_a un poco más acerca del desarrollo de juegos y programación; puesto que es la parte que más me gusta. En este sentido, de lo que he aprendido este año dejaré lo más importante.

"Start small" - Comienza en pequeño. Esta es la frase que muchos entusiastas escucharán al momento de pedirle consejo a alguien ya experimentado en la industria (sino, que por favor Andrés lo certifique).

En la web, por ejemplo gamedev.net, existen muchos desarrolladores pidiendo ayuda para su MMORPG, o que quieren que otros desarrolladores se les unan para asÃ_ cumplir su "gran idea".

Todo esto me lleva a dar un par de ideas (en realidad son más) para todos aquellos que, como yo, quieren iniciar en esta industria con buen pie y seguir la filosofÃ_a "Comienza en pequeño" pero sobretodo para quien quiera vivir de esto... (esto significa que no les diré cuál es el "camino fácil").

- Aprende Inglés. Es lo mejor que puedes hacer por tu vida. 1) Aprovecharás mejor los recursos de la web en este campo 2) Te abre muchos horizontes profesionales 3) Está demostrado que quienes hablan un segundo idioma y/o tocan un instrumento, desarrollan y aprovechan más su cerebro.

- Repasa matemáticas. Matrices, Conjuntos, TrigonometrÃ_a, etc. Con tomar el plan de estudios de un colegio reconocido o el plan de estudios de bachillerato de cuando tu papá estudiaba, es suficiente. No digo que el actual no sirva, pero la educación de antes era mejor.

- Aprende un lenguaje de programación lo mejor que puedas. Preferiblemente C++, porque es un estándar.

- Aprende un API para manejo de multimedia que sea sencillo y que te permita hacer muchas cosas por tÃ_ mismo. En la misma via de C++, recomendarÃ_a SDL con el set de librerÃ_as "amigas" (SDL_image, SDL_mixer, SDL_ttf).

- Aprende a manejar cada uno de los módulos de la librerÃ_a y haz pequeños programas sencillos.

- Haz un juego pequeñito. Y HAZLO COMPLETO.

- Repite el paso anterior tantas veces sea necesario... en el camino encontrarás personas que se unan a tus proyectos, te unirás a otros. Harás amigos y aprenderás de tus errores.

------------------------------------------------------------------------

Ideas de juegos pequeños:

- La Vieja.
- 4 en raya.
- Damas.
- Pong.
- Tetris.
- Space Invaders.
- Pac-Man.
- Asteroids.
- Super Marios Bros.

Más o menos en ese órden.... primero deben aprender a mostrar por pantalla y entender qué es un "game loop". Luego abstraer a un plano técnico y matemático su juego. AsÃ_ mismo recibir por teclado y/o gamepad o joystick. Reproducir audio, conocer distintos formatos de audio y en qué los beneficia c/u. Damas, La Vieja, 4 en raya.

Después tienen que aplicar un poco la matemática con Pong y conocer la detección de colisiones. Los demás también van por ese mismo camino. Y ya de último queda el manejo de niveles, máquinas de estado, etc.

Algo importante en esto, es que para un programador no se requiere que tengan un arte de los mil amores... lo que realmente importa es que funcione "al pelo".

Para quien en un futuro quiera escalar a la posición de game designer, un ejercicio serÃ_a tomar un concepto X y adaptarlo al juego, o adaptar el juego al concepto. Ejemplo: tennis... aja... y qué hacemos para hacerlo único? vamos a combinarlo con peleas. CABOOM! Battle Tennis.

-------------------------------------------------------------------------

Consejos finales y links.

- Lean muchÃ_simo.... lean en español, lean en inglés... lean reviews de juegos, lean el cómo se hizo, las entrevistas... lo que sea.... siempre se aprende.

- Jueguen.... y luego de que pasaron el juego, un buen ejercicio es analizar el juego como si fuese un libro. Analicen el concepto artÃ_stico, la interfaz con el usuario, lo que sea...no importa.... aprendan divirtiéndose.

- Diviértanse haciendo todo lo que les comenté y todo lo que los demás puedan enseñarles, todo lo que puedan mejorar.

Links de interes dentro de este foro:

http://www.igda.org/Forums/showthread.php?threadid=32939

http://www.igda.org/Forums/showthread.php?threadid=33403

http://www.igda.org/Forums/showthread.php?threadid=34141

Si quieres más información....

gamedev.net (inglés)

SDL (inglés)

libsdl.org

http://lazyfoo.net/SDL_tutorials/index.php

C++ (español)

http://c.conclase.net/curso/index.php

PD: Repito.... esto es un resumen de lo más importante aprendido este año. En ningún momento he dicho que soy un gurú o un experto, simplemente es mi pequeño aporte a la comunidad. Smile

Miguel Eduardo
Offline
Free member
Joined: 2009/10/16

Pues muchas gracias todo consejo se acepta, y sera muy bien aprovechado.