1 de septiembre de 2014

¿Cómo se hace un videojuego? (1/7)

Esta es una pregunta muy requerida por los lectores. Podríamos decir que básicamente hay dos maneras de responderla. Por un lado, dar una respuesta superficial y por el otro, dar una respuesta en profundidad. En el primer caso, una respuesta superficial sería: “para hacer un videojuego hay que estudiar un lenguaje de programación, diseñar gráficos, sonidos, y por último hacer un programa que maneje dichos elementos en función de las acciones del teclado/mouse/joystick”. Es verdad, pero a todo eso le falta algo muy importante: conocer los videojuegos. Una persona puede tener mucho conocimiento de programación, hacer cursos de diseño y con eso, ser un buen programador o diseñador. Tal vez pueda hacer excelentes programas que manejen bases de datos, llevar la contabilidad de una empresa o ser arquitecto y hacer planos o dibujos de gran calidad. Pero, si nunca jugó un videojuego, difícilmente podrá hacer uno. Tampoco basta solo con jugar juegos, sino comprender la lógica detrás de los juegos. Por ejemplo: si controlamos un personaje que avanza por un mapa y llega a cierta zona donde no puede avanzar más, ¿por qué no avanza? ¿qué zona del personaje o que puntos del personaje son los que al contacto con el mapa no le permite seguir avanzando? ¿qué sucede si el personaje realiza cierta acción y puede seguir avanzando? ¿qué condiciones cumple?
Si estudiamos el comportamiento de los videojuegos y comprendemos su lógica, tendremos una base para comenzar a diseñar nuestros propios videojuegos. Aquí es donde comienza la respuesta en profundidad. La respuesta en profundidad no es única, ya que hay muchas maneras de explicar en detalle cómo se hace un videojuego. Esto varía según el lenguaje de programación utilizado y el tipo de juego que se desee hacer. En este caso, voy a explicar cómo hacer un videojuego de plataformas. Hay que comprender que para hacer un buen videojuego no existe un camino fácil. Se requieren ciertos conocimientos, capacitación en algunas áreas (programación, matemáticas, física, etc.) que permitirán que el desarrollo del videojuego tenga éxito. Y aunque algunos programas facilitan el desarrollo de videojuegos, estos no permiten un control total sobre lo que se hace y en general consumen recursos innecesarios. Existen muchos lenguajes de programación, el que utilizaremos en este ejemplo será el C++. También, utilizaremos dos librerías que nos ayudarán en el manejo de gráficos: SDL y SDL_image.