miércoles, 27 de febrero de 2008

¿Por qué C/C++?


Tal vez sea obvio por qué. Por supuesto hay lenguajes más fáciles e incluso más modernos. Pero sigue siendo un lenguaje de uso profesional.
Si uno echa una ojeada a las ofertas de trabajo de los equipos de desarrollo, verá una y otra vez la exigencia, para los programadores, de dominio y experiencia en la programación en C y C++.

Por ejemplo. En la página de ofertas de empleo de Bungie (la desarrolladora de la saga Halo) se anuncia que de un programador (generalista) se espera que sea o goce de:
  • Smart, driven and adaptable
  • Passionate about games and game programming
  • Excited to tackle new and varied challenges
  • High quality standard for personal code
  • Basic understanding of algorithms, performance and optimization
  • Good working knowledge of C/C++
... y ventajas añadidas son:
  • Previous console experience
  • Professional C/C++ coding experience
  • Expertise in a specialist area (such as mathematics, physics, networking, AI or graphics)
  • Experience working in a team environment and good communication skills
  • History of hobbyist game programming, mod or bot work
  • A love of combat on the high seas
Por eso, aunque no sea el lenguaje más accesible, puestos a aprender algo conviene empezar por aquí. El salto luego a otros tipos de código no puede ser muy complicado (quien sabe programar en un lenguaje tiene una familiaridad con los algoritmos y el empleo de recursos que bien debe valer en otros casos).

Más ventajas: hay muchos compiladores gratuitos y mucho soporte on-line y es un lenguaje de alto y bajo nivel (es decir, permite programar tanto operaciones rudimentarias como operaciones de operaciones).

Ah, se me olvidaba: un muy buen libro para empezar (el que yo he usado y sigo usando) es Aprenda C++, de Jess Liberty y David B. Horvath, muy bien traducido por Anaya Multimedia. Su carencia principal es que ignora C. Pero sus bondades son muchas: buena curva de aprendizaje, muchos ejemplos, magnífica ordenación de los capítulos (incluyendo uno sobre precompilación, otro sobre plantillas y otro sobre manipulación de errores), bastante dirigido a la programación orientada a objetos y lleno de consejos para programar código limpio, eficiente y fácil de mantener.

lunes, 18 de febrero de 2008

Haz algo: aprende C/C++

En agosto de 2007 decidí "hacer algo". Desde entonces he aprendido algo de C++ y he estado leyendo páginas, foros y blogs sobre desarrollo indie y hobbyists.

Después de darle muchas vueltas (y comprarme un PC nuevo, amén de 2 libros sobre programación de videojuegos en alemán -en español nada parece valer la pena) he decidido...

¡aprender más C++!

Ése es mi propósito para el 2008.

Pero para no aburrirme, en lugar de teclear el código bobo de los manuales (tipo "Hola mundo"), he decidido aprender codificando pequeñas aplicaciones basadas en el gratuito y resultón Game Engine de Haaf.

sábado, 16 de febrero de 2008

De qué va esto

Publico aquí un diario de mis progresos en el desarrollo de videojuegos y videojuguetes o, mejor dicho, de cómo vendré a convertirme en un modesto y a la vez ambicioso desarrollador.

El "pentálogo" de esta empresa lo constituyen los "propósitos de año nuevo para novatos de Chris Hecker".

Está en inglés. Un resumen puede ser:

1. Haz algo al respecto (es decir: algo jugable, qué demonios).
2. Juega, pero críticamente.
3. Desarrolla tus capacidades (las que sean y de algún modo).
4. Contacta con gente como tú (por ejemplo... ¡por medio de un blog!).
5. Aprende a programar.

Iré concretando.