1. Herramientas para empezar |
![]() |
![]() |
Videojuegos - Curso de Programación de juegos | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Escrito por Vicengetorix | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() Esta pregunta es lo que pretende responder este articulo. Lo primero que quiero aclarar es que no hay un metodo fijo ni especialmente correcto si el resultado es satisfactorio (como todo en la vida). Yo tengo el mio, que es el que he usado para mi, pero robablemente existiran 1000 metodos alternativos para cada cosa y seguramente mejores. En todo caso "el movimiento se demuestra andando" (Zenon) asi que vamos a empezar, que siempre estaremos a tiempo de variar el metodo de hacer las cosas. Empezare recalcando lo que ya dije que hace falta en el articulo anterior debido a que es particularmente importande desde mi punto de vista. Tener real interes, voluntad y tiempo: No es tarea de un dia hacer un juego por simple que sea, y menos si mientras lo haces estas aprendiendo. La mayoria de la gente lo intenta un rato, ve que no termina de estar claro y se aburre. Para programar en general hay que ser cabezon. Ser de los que piensa "de aqui no me muevo hasta que no me salga", por eso muchas personas odian la programacion, no tiene nada de inmediatez, sin embargo la recompensa es mayor (en satisfaccion personal). Por otro lado, por mas cabezon y aficionado que seas, el tiempo que se requiere es considerable. Hay que buscar documentacion, codigo ejemplo, analizar documentacion y codigo, ponerse a teclear codigo, probarlo, falla..., revisarlo, probarlo de nuevo, ..., ..., ... Tambien depende de la capacidad de cada uno. Yo debo ser particularmente torpe. Tampoco me importa perder el tiempo en algo que me gusta. Dos cosas mas muy importantes: Internet y el Ingles. Yo programo por aficion. En internet hay documentacion gratis para aburrir y no me apetece gastarme un duro... euro. La documentacion es indispensable asi que ¡a internet!. El ingles me temo que tambien sera importante. La mayoria de la documentacion esta en ingles, y cuando digo la mayoria me refiero a un 95% (a ojo, puede ser mas). En español hay algo, poco, pero es siempre basico. Cuando quieres mas, se acabo el español. Yo pongo mi granito de arena en este sitio a favor del castellano. En todo caso pensad que es una bendicion que sea el ingles el idioma dominante en internet y la informatica. Podria haber sido el aleman, ruso, arabe o chino. Casi se me olvida otra "cosita": las matematicas. No es necesario ser pitagoras pero un vistazo a la parte donde habiamos estudiado el espacio euclideo, vectores y sobre todo matrices, nos vendra bien a la hora de trabajar en 3 dimensiones, si queremos entender lo que hace el codigo ejemplo y no copiar como idiotas sin entender nada y que luego no funcione. Hasta aqui es el sermon del abuelo cebolleta; ahora iremos a cosas mas tangibles (hasta que me ponga a divagar). Empezamos por el lenguaje en que programaremos. Se puede hacer un juego en cualquier lenguaje de programacion pero si lo queremos hacer bien (aunque aficionados intentamos hacerlo lo mejor posible) usaremos el C++. ¿Por que? por que todos los programadores serios lo usan, porque es el mas eficiente en la relacion esfuerzo en programar-rendimiento (en comparacion con ensamblador, por ejemplo), y sobre todo porque en C o C++ encontraremos el 90% de los ejemplos en la documentacion, el codigo publicado y desde este lenguaje podremos usar casi todas las librerias gratuitas que muchos aficionados en el mundo ponen a disposicion publica. Solo necesitamos un compilador, y siguiendo la logica de nuevo, sera gratis. Hay varias opciones: Borland C++. Es un clasico que a mi particularmente me gusta mas que los otros, lo que no quiere decir que sea lo que uso al final. Tiene un compilador sin entorno de programacion, solo las herramientas en modo comando. Se puede descargar, tras registro en la pagina, desde aqui: Borland C++ compiler 5.5. Tambien ha sacado el Turbo C++ explorer que si viene con IDE. Como editor para usar compiladores sin IDE se puede usar CodeBlocks, editor gratuito y que se configura solo para usar varios compiladores. Aqui podras ver la variedad de compiladores posibles. Nuestra eleccion, de nuevo por motivos de compatibilidad con el codigo y librerias escritas por voluntariosos programadores, sera Microsoft, que gracias a dios ha sacado una version gratuita de su compilador e IDE. A parte de instalar el compilador necesitaremos tambien el SDK correspondiente para que no fallen los programas mas que una escopeta de feria. Visual C++ 2008 EXPRESS. SDK para WINDOWS SERVER 2008 y ... Puedes buscar si quieres el Visual C++ 2005 espress y su SDK correspondiente, que son los que yo tengo instalados. Son las versiones anteriores y tambien gratuitas. Al instalarlo y compilar, puedes tener problemas al no encontrar las librerias standard. Cuando instales VC++ y el SDK, por favor, lee esto antes: Correcta intalacion de VC++ y el SDK. A partir de aqui todo depende del C/C++. Si sabes C++ mejor, si no es mejor que vayas aprendiendo. En la seccion de manuales hay unos cuantos. De momento solo queda una decision que tomar que es ya una vieja discusion en multitud de foros: ¿que libreria grafica usar?. Al final la cuestion se queda entre DirectX y OpenGL. Primero aclarar para que queremos una libreria grafica. Podriamos programar nosotros mismos funciones para acceder directamente a la memoria de video, como se hacia antes, y despues funciones para dibujar una linea, un cuadrado y asi hasta llegar a una figura 3D ... y ya estariamos jubilados. Ya tenemos bastante trabajo con otras cosas y nadie hace eso ya. Las librerias graficas son suficientemente complicadas de usar. Ahora el viejo enfrentamiento entre DirectX y OpenGL. Pues no, no voy a decir cual es mejor porque no soy un experto ni me importa mucho. Con los mismos criterios de disponibilidad de manuales, codigo ejemplo, librerias compatibles y demas recursos en internet y gratis, la opcion sera OpenGL. Ademas es el standard para la mayoria de empresas del ramo, que forman el grupo de trabajo que define OpenGL y te sirve para Windows, Linux, Mac, ... En la zona de descargas hay, de momento, dos documentos que no deben perderse de vista referentes a OpenGL: El BlueBook, nos servira de referencia cuando estemos programando y el RedBook, manual que deberiamos empezar a echar un vistazo. En resumen, vamos a usar: Lenguaje: C++ Compilador: Microsoft Visual C++ 2008/5 EXPRESS Graficos: OpenGL ... todo gratuito y con abundante documentacion, como debe ser. Mas adelante necesitaremos algun programa para generar graficos que usar en 2D y 3D pero eso es otro tema. ¡Sólo los usuarios registrados pueden escribir comentarios!
3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved." |