Este artículo está dirigido principalmente a aquellos que quieren desarrollar sus propios juegos, pero tienen poca o ninguna experiencia en programación. De hecho, también asumo que el lector no tiene ningún conocimiento de programación. Me centraré en la programación y el diseño para el desarrollo de juegos en lugar del arte, y no voy a hablar de la industria de los juegos (porque hay demasiada información sobre el tema), pero te guiaré a través de algunas de las cosas. debes hacer antes de crear un juego. El objetivo de esta explicación es que el método que presento aquí no debe considerarse la única ni la mejor manera de aprender a crear juegos, pero ha funcionado para mí y para otros.
1. Elige un idioma
Lo primero que debes hacer es elegir un idioma. Tiene muchas opciones, incluidas Basic, Pascal, C, C++, Java, etc., y existe mucho debate sobre qué lenguaje es mejor para principiantes. Para conocer los pros y los contras de varios idiomas, consulte el excelente artículo de John Hattan ¿Qué idioma debo utilizar?
Aquí recomiendo usar C y C++. Algunas personas piensan que estos lenguajes son demasiado difíciles para los principiantes, pero yo personalmente me opongo a esta opinión porque comencé con C++. Además, C/C++ es actualmente el lenguaje más utilizado y puedes encontrar mucha información y ayuda. En cuanto a si aprender C o C++ primero, no importa mucho, porque una vez que aprendes uno, no importa si aprendes el otro. Pero si elige C++ desde el principio, asegúrese de comprender y dominar la programación de procedimientos antes de aprender la programación orientada a objetos. Por ejemplo, si no usas clases o no eres bueno programando, no te apresures a aprender las clases.
Si crees que C/C++ es difícil de aprender, está bien. Vuelva a lenguajes más simples como Basic o Pascal. Pero creo que si persistes, encuentras buenos materiales y aprendes C/C++, no habrá problema.
Tu siguiente pregunta es: ¿Cómo aprendo C/C++? Me alegra que hayas hecho esta pregunta. La mejor manera es tomar clases. Tener un maestro que lo ayude a responder preguntas tendrá un gran impacto en su desarrollo. La tarea de programación garantizará que realmente domine el conocimiento que ha aprendido.
Si asistir a conferencias no está en tu rango de consideración, entonces lo mejor que puedes hacer es encontrar algunos buenos libros. No te concentres en esos libros "completos" porque terminarás comprando algunos. Le sugiero que vaya a su librería local y dedique algún tiempo a buscar libros sobre C y C++ hasta que encuentre uno que pueda comprender y del que pueda aprender. Mientras tanto, es posible que desees comprar algunos libros avanzados o libros de referencia, pero una vez que tengas algunos conocimientos del idioma, tendrás una mejor idea de lo que necesitas. Podéis encontrar algunas sugerencias en el canal de libros de la web.
Aquí explicaré brevemente los problemas que preocupan a muchos programadores principiantes, especialmente a los jóvenes, que he encontrado: no hay dinero para comprar libros u otras cosas. Primero, hay muchos recursos gratuitos, incluidas bibliotecas y MacmillanComputerPublishing (su sitio web www.mcp.com tiene cientos de libros de programación). En segundo lugar, si quieres convertirte en un buen programador, debes considerar invertir en ello. Utilice varios medios (legales; <) para conseguir algo de dinero.
Hay muchos tutoriales de aprendizaje de C y C++ en Internet, pero creo que estos tutoriales son mucho mejores como referencia para tus libros de aprendizaje que como materiales separados.
2. Elija un compilador apropiado.
El programa o código fuente que escribes se almacena como un archivo de texto. Incluso puedes usar el Bloc de notas para escribir programas C/C++. Sin embargo, debe haber algo que pueda convertir este código fuente en un archivo ejecutable. Para C y C++, tal cosa es el compilador.
Existe una gran cantidad de compiladores, muchos de ellos gratuitos. Elegir un compilador adecuado es muy importante y la ventaja de los compiladores gratuitos es que puedes probarlos uno por uno para ver cuál te gusta más. Sin embargo, los compiladores gratuitos a menudo no son tan potentes como los compiladores comerciales o carecen de un buen soporte técnico. Afortunadamente, la mayoría de los compiladores comerciales tienen una versión inicial o de aprendizaje que tiene la misma funcionalidad que la versión completa, pero a un precio mucho menor. La única restricción es que no puedes distribuir programas desarrollados con este compilador (ciertamente no los mantendrás a largo plazo).
Básicamente, el compilador que elijas depende de cuánto dinero puedas gastar y en qué sistema operativo y plataforma desarrollarás el programa. Si desea contribuir a Windows, le recomiendo utilizar Microsoft Visual C++. Tiene un potente entorno de desarrollo que puede hacerte sentir relajado. Ningún otro compilador es más adecuado para desarrollar software de Windows. Si eres estudiante, puedes comprar una copia a un precio muy bajo. Si planea desarrollar programas en DOS, lo mejor es utilizar el DJGPP gratuito.
3. Seleccione una plataforma de destino.
Aunque eventualmente puedas desarrollar programas para varias plataformas, aún debes elegir una para aprender. Cuando aprende un idioma, es posible que desee utilizar un sistema operativo que no sea GUI, como DOS o UNIX, antes de comenzar a programar gráficos. Esto le ayudará a concentrarse en el aprendizaje de idiomas y evitar algunos problemas de alto nivel, como la programación de Windows.
Pero una vez que estés listo para empezar a crear juegos, deberías considerar cambiar el tuyo.
Plataforma de destino. Estas son algunas de las plataformas más utilizadas:
Windows: si quieres trabajar en la industria del juego a tiempo completo o quieres que un gran grupo de personas juegue tu juego, entonces Windows es tu primera opción. Sus clientes objetivo utilizan principalmente Windows y eso no va a cambiar pronto. Actualmente, una gran cantidad de juegos de Windows utilizan una tecnología de la que quizás haya oído hablar llamada DirectX. DirectX es una biblioteca que te permite manipular directamente el hardware y puedes usarla para escribir juegos de alto rendimiento.
DOS: DOS solía ser la principal plataforma para jugar, pero eso es cosa del pasado. Aunque algunos fanáticos todavía están desarrollando juegos para DOS, no hay juegos comerciales desarrollados para DOS, y DOS también decayó porque Microsoft dejó de admitirlo. Si recién estás comenzando a jugar, no elijas DOS. Si ya has hecho esto, no te quedes. Nota: Debido a que hay muchos libros de programación de juegos escritos para DOS, cuando los estudie, es posible que sienta que desarrollar juegos con DOS es natural. Pero a medida que aumenta el número de libros de programación de juegos de Windows, este argumento se vuelve cada vez menos significativo.
Linux: Linux es una variante de UNIX que se está volviendo cada vez más popular debido a su estabilidad, bajo costo y trama anti-Microsoft. Aunque Linux actualmente tiene pocos usuarios, sus seguidores y el crecimiento potencial del mercado lo han convertido en una opción viable como plataforma de destino.
Consolas de juegos domésticas: Las videoconsolas (como Playstation, N64, Dreamcast, etc.) tienen un mercado enorme y un futuro brillante. Sin embargo, por diversas razones, actualmente es imposible desarrollar consolas de juegos no comerciales. La mayoría de los juegos que desarrolles para consolas serán comprados por empresas de juegos comerciales.
4. Potencia suficiente
Es hora de hablar de juegos. Aunque mucho de lo que digo se aplica también a otros lenguajes, en aras de la simplicidad asumiré que ha elegido C/C++ para la programación de Windows.
En primer lugar, debes tener un buen conocimiento de C y C++ antes de siquiera pensar en cómo empezar a jugar. Debe conocer y dominar punteros, matrices, estructuras, funciones y clases. Una vez que hayas hecho esto, podrás empezar a crear juegos.
Este artículo no puede enseñarte todo lo que necesitas saber sobre cómo crear juegos. Afortunadamente, esto no es necesario. Hay muchos libros sobre este tema y cientos de tutoriales en línea. GameDev.net debería tener todo lo que necesitas ahora mismo. Aquí hay algunas sugerencias para comenzar:
Estudie uno o más libros. TricksoftheWindows Game Programming Master es un excelente tutorial introductorio para programadores de juegos de Windows. Hay muchos libros excelentes enumerados en la sección de libros de este sitio web. Lea estos libros, repita todas las rutinas y vuelva a leer los capítulos que no comprenda.
Complemente el libro con tutoriales en línea. Además de aclarar lo que has leído, los tutoriales en línea suelen cubrir temas que no se tratan en los libros.
Solicita asesoramiento a expertos. Si no puede encontrar la respuesta en un libro o tutorial, visite el foro de mensajes o la sala de chat de este sitio web. Hay mucha gente dispuesta a ayudar.
No pienses en los puntos anteriores como un proceso ordenado, sino como un proceso cíclico y paralelo.
No basta con aprender y pensar. Debes poner en práctica lo que aprendes.
Comience con un juego simple y avance. Puedes leer el artículo de Geoff Howland "Cómo hago Gamesapath para el desarrollo de juegos".
Primero, haz un plan para tu trabajo. No se apresure a unirse a un equipo, ya que esto sólo ralentizará su proceso de aprendizaje. Contribuyes más a un equipo cuando tienes algunos juegos en tu bolsa.
En cuanto a los libros, quiero recordarte que además de programación de juegos, también necesitas leer otros libros. Para crear los tipos de juegos que ves en los precios de las tiendas, tendrás que profundizar en el tema con más profundidad de lo que enseñan la mayoría de los libros de programación de juegos. Algunos de ellos pueden encontrarse en tutoriales, pero aún necesitas comprar algunos libros sobre gráficos, inteligencia artificial, redes, física, etc. Esta es la única manera de obtener un título en informática porque se te pedirá que tomes cursos que crees que no tienen nada que ver con la programación de juegos, pero en realidad sí lo tienen.
5. Resumen
A continuación se muestran algunas técnicas que pueden tener un gran impacto:
Para recopilar conocimientos, la aplicación es clave. Si no se utilizan estas cosas, es imposible conocerlas y comprenderlas verdaderamente. Realice algunos pequeños programas de prueba, aplique lo que ha aprendido y complete los ejercicios que siguen a cada capítulo del libro.
Juega muchos juegos. Encontrarás inspiración que te ayudará a crear mejores juegos. Por supuesto, esta también es una forma popular de aliviar el estrés de la programación.