Soy estudiante de segundo año en la universidad y me especializo en ingeniería de software. Después de graduarme, quiero trabajar en una empresa de juegos.
A menudo me preguntan cómo alguien con poca o ninguna experiencia en programación puede empezar a crear juegos. Hasta ahora, siempre he hecho todo lo posible por responderlas una por una. Sin embargo, la cantidad de preguntas ha aumentado a un nivel inmanejable, por lo que decidí reunir todos los consejos en un artículo para que la gente los use como referencia.
Este artículo está dirigido a personas 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 los aspectos de programación y diseño del desarrollo de juegos en lugar de los aspectos artísticos. Tampoco voy a escribir sobre la industria de los juegos (porque hay mucha información sobre el tema), pero te explicaré algunas de las cosas que debes hacer antes de crear un juego. Dicho esto, no pienses que el método que he presentado aquí es el único o el mejor camino para 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. Tienes un montón de opciones, incluyendo Basic, Pascal, C, C++, Java, etc., y también hay un gran debate sobre qué lenguaje es mejor para los principiantes. Para conocer los pros y los contras de varios idiomas, consulte el excelente artículo de John Hattan ¿Qué idioma debo utilizar?
Recomiendo usar C y C aquí. Algunas personas piensan que estos lenguajes son demasiado difíciles para los principiantes, pero personalmente estoy en contra de esta opinión porque yo mismo comencé con C. Además, C/C es actualmente el lenguaje más utilizado, por lo que podrás encontrar mucha información y ayuda. No importa si aprender C o C primero, porque una vez que aprendas uno, no será un gran problema aprender el otro. Sin embargo, 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 aún no puedes programar bien sin usar las clases, no te apresures a aprender las clases todavía)
Si encuentras que aprender C/C es muy difícil, no importa. simplemente responda Vaya por la borda y elija un lenguaje más sencillo de aprender, como Basic o Pascal. Pero creo que si sigues adelante y encuentras buena información, aprender C/C no es un gran problema.
Tu siguiente pregunta es: ¿Cómo aprendo C/C++? Me alegra que hayas hecho esta pregunta. La mejor manera es asistir a clases. Tener un profesor que te ayude a responder preguntas tendrá un gran impacto en tu desarrollo, y las tareas de programación garantizarán que realmente comprendas lo que aprendes.
Si asistir a conferencias no está en tu radar, lo mejor que puedes hacer es encontrar algunos buenos libros. No te concentres en esos libros de "enciclopedia", porque terminarás comprando algunos. Le recomiendo que vaya a una librería local y dedique algún tiempo a explorar los libros introductorios de C y C hasta que encuentre uno que comprenda y del que pueda aprender. Mientras tanto, es posible que también quieras comprar algunos libros avanzados o un libro de referencia, pero una vez que tengas algunos conocimientos del idioma, tendrás una mejor idea de lo que necesitas. Algunas sugerencias se pueden encontrar en el canal LIBROS de la web.
Aquí, permítanme explicarles brevemente lo que preocupa a muchos programadores principiantes que he visto, especialmente a los jóvenes: no tener dinero para comprar libros u otras cosas. En primer lugar, hay muchos recursos disponibles de forma gratuita, incluidas bibliotecas y Macmillan Computer Publishing (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 (legal;lt;) 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 sus libros de aprendizaje que como materiales separados.
2. Elija el compilador apropiado
El programa o código fuente que escriba se almacena en un archivo de texto. Incluso puede usar el Bloc de notas para escribir programas C/C. Sin embargo, debe haber algo que pueda convertir estos códigos fuente en un archivo ejecutable. Para C y C, tal cosa es un compilador.
Existe una gran cantidad de compiladores disponibles, muchos de los cuales son 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 suelen tener menos funciones que los compiladores comerciales o carecen de un buen soporte técnico. Afortunadamente, la mayoría de los compiladores comerciales tienen una versión introductoria o de aprendizaje que tiene la misma funcionalidad que la versión completa pero es mucho más económica. La única restricción es que no puedes distribuir programas desarrollados con este compilador (lo que definitivamente no podrás hacer por un tiempo). mucho tiempo).
Básicamente, el compilador que elijas depende de cuánto dinero puedas gastar y para qué sistema operativo y plataforma desarrollarás. Si va a contribuir con Windows, le recomiendo encarecidamente utilizar Visual C de Microsoft. Tiene un potente entorno de desarrollo que te lo pone fácil y no existe otro compilador más adecuado para desarrollar software de Windows. Si eres estudiante, puedes conseguir una copia a un precio muy bajo. Si planea desarrollar programas bajo DOS, es mejor que utilice el DJGPP gratuito.
3. Elija una plataforma de destino
Aunque puede terminar desarrollando programas para varias plataformas, aún así debe elegir una de la cual aprender. Cuando estás aprendiendo un lenguaje, antes de comenzar con la programación gráfica, probablemente quieras utilizar un sistema operativo que no sea GUI, como DOS o UNIX. Esto le ayuda a centrarse en el aprendizaje de idiomas y evitar problemas de nivel superior, como la programación de Windows.
Sin embargo, una vez que estés listo para comenzar a crear tu juego, es hora de considerar cambiar tus
plataformas de destino. Estas son algunas de las plataformas más utilizadas:
Windows: si desea trabajar a tiempo completo en la industria del juego o si desea que un gran grupo de personas juegue, entonces Windows es su primera opción. . Sus clientes objetivo utilizan principalmente Windows y eso no cambiará pronto. Hoy en día, una gran cantidad de juegos de Windows utilizan una tecnología de la que probablemente hayas oído hablar llamada DirectX. DirectX es una biblioteca de programas que te permite manipular directamente el hardware, por lo que puedes confiar en él para escribir juegos de alto rendimiento.
DOS: DOS fue alguna vez la plataforma dominante para juegos, pero eso es noticia de ayer. Aunque algunos aficionados todavía desarrollan juegos para DOS, no se desarrollan juegos comerciales para DOS y DOS está decayendo a medida que Microsoft deja de brindar soporte. Si estás empezando a crear juegos, no elijas DOS, y si ya lo has hecho, no te detengas ahí. Nota: Debido a que hay muchos libros de programación de juegos escritos para DOS, al estudiarlos puede pensar que desarrollar juegos en DOS tiene sentido. Sin embargo, a medida que crece el número de libros de programación de juegos de Windows, este argumento se vuelve cada vez menos relevante.
Linux: Linux es una variante de UNIX que se está volviendo cada vez más popular debido a su estabilidad, bajo costo y naturaleza anti-Microsoft. Aunque los usuarios de Linux todavía son relativamente pequeños en la actualidad, debido a sus entusiastas y al crecimiento potencial del mercado, se ha convertido en una opción viable como plataforma de destino.
Macintosh: Mac tiene un número pequeño pero muy leal de seguidores, y casi todos los entusiastas de Mac que conozco tienen un deseo ardiente de tener más juegos para Mac. No he visto mucha información sobre el desarrollo de juegos en Mac, pero estoy seguro de que la hay, por lo que es una elección razonable.
Consolas de juegos domésticas: El mercado de juegos para consolas de juegos (como Playstation, N64, Dreamcast, etc.) es enorme y tiene perspectivas prometedoras. Sin embargo, por diversas razones, actualmente es poco probable que se desarrollen juegos de consola no comerciales. La mayoría de los juegos que desarrolles para consolas serán comprados por empresas de juegos comerciales.
4. Completamente cargado
Es hora de hablar del juego real. Aunque mucho de lo que digo se aplica a otros lenguajes, por simplicidad voy a 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 crear juegos. Debe comprender y dominar punteros, matrices, estructuras, funciones, clases, etc. Una vez que hayas hecho eso, estarás listo para comenzar a crear tu juego.
Este artículo no puede enseñarte todo lo que necesitas saber sobre cómo crear juegos. Afortunadamente esto tampoco es necesario. Hay muchos libros sobre este tema y cientos de tutoriales en línea. GameDev.net debería tener todo lo que necesitas por ahora. Aquí tienes algunas sugerencias para empezar:
Estudia uno o varios libros. Para los programadores principiantes de juegos de Windows, "Trucos de los gurús de programación de juegos de Windows" es un excelente tutorial introductorio a la programación de Windows. Este sitio tiene muchos libros excelentes enumerados en la sección Libros de este sitio. Lea estos libros, repita todas las rutinas y vuelva a leer los capítulos que no comprenda.
Utilizar tutoriales online para complementar las carencias de los libros. Además de aclarar algunas de las cosas que lees, los tutoriales en línea suelen cubrir temas que no se tratan en los libros.
Consulta a un experto. Si no puede encontrar la respuesta en un libro o tutorial, visite el foro de mensajes o la sala de chat de este sitio. Hay muchas personas aquí que están dispuestas a ayudar.
No pienses en los puntos anteriores como un proceso ordenado, sino como un proceso cíclico paralelo.
No basta con estudiar y pensar. Debes poner en práctica lo aprendido. Comience con un juego simple y avance. Puedes leer el artículo de Geoff Howland "¿Cómo creo juegos? Un camino hacia el desarrollo de juegos".
Primero, haz un plan para tu trabajo. No se apresure a unirse a un equipo, ya que eso solo ralentizará su proceso de aprendizaje. Cuando tengas varios juegos en tu bolsillo, harás una mayor contribución a un equipo.
Una cosa tengo que decir sobre los libros: necesitas leer otros libros además de programación de juegos. Para crear los tipos de juegos que ves en las listas de tiendas, tendrás que profundizar en temas más avanzados que los que enseñan la mayoría de los libros de programación de juegos. Es posible que puedas encontrar algunos en los tutoriales, pero aún necesitas comprar algunos libros sobre gráficos, inteligencia artificial, redes, física, etc. Esta es una forma segura 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 marcar una gran diferencia:
Cuando se trata de recopilar conocimientos, la aplicación es clave. Realmente no puedes saber ni entender estas cosas a menos que las uses. Realice algunos pequeños programas de prueba para aplicar lo que ha aprendido y, de hecho, complete los ejercicios al final de cada capítulo del libro.
Juega toneladas de juegos. Encontrarás inspiración que te ayudará a crear mejores juegos. Por supuesto, esto también es un bienvenido alivio del estrés de la programación.
Ayuda a los demás. Aprenderá más a medida que ayude a otros.
Termina tu trabajo. No caigas en la trampa de pensar: “Sé que puedo terminar este juego, pero tengo una idea mejor y en su lugar voy a hacer este gran proyecto.
"Aprenderás más si sigues adelante y tienes el trabajo para demostrar que eres más que solo hablar. Mantenlo simple y no intentes hacer un juego grande y complicado hasta que tengas mucha experiencia. " .
Es hora de comenzar con Quake 4. Claro, puede que no sea fácil, pero al menos tendrás un punto de partida y sabrás dónde buscar más información después de años de arduo trabajo. , ¡lo conseguirás!