La parte de la programación que es algo bastante complejo para elegir, primero tenemos que definir para que plataforma vamos a programar, pc, celulares, iphones, web, xbox, e.t.c.Voy a explicar las tecnologías que podemos usar respecto a lo que yo se, seguramente después vamos a ir agregando cosas.
Bueno para los que no tienen mucha idea de programación al principio, si quieren ir haciendo algun jueguito, pueden agarrar el GameMaker mientras van estudiando programación.
Game Maker es una herramienta de desarrollo rápido de aplicaciones. El programa es gratuito, aunque existe una versión comercial ampliada con características adicionales. Actualmente se encuentra en su versión 8.0. El programa está diseñado para permitir a sus usuarios desarrollar fácilmente videojuegos sin tener que aprender un lenguaje de programación como C++ o Java. Para los usuarios experimentados Game Maker contiene un lenguaje de programación de scripts llamado Game Maker Language (GML), que permite a los usuarios personalizar aún más sus videojuegos y extender sus características.
Para hacer algo bueno en 3D tenemos FpsCreator, Es una herramienta altamente flexible y fácil de usar para crear juegos de acción en primer persona con impresionantes gráficos 3D. Únicamente tienes que utilizar el sencillo editor 3D para dar vida a tus personajes y entornos. Muros, luces, puertas, enemigos, munición, armas y todo tipo de componentes más se introducen con sólo arrastrar el ratón y con increíble precisión. Todos los elementos se vinculan de forma inteligente. Tú simplemente tienes que seleccionarlos y jugar con un clic del ratón. FPS Creator X10 utiliza scripts personalizados para cada elemento del juego. Desde el comportamiento de la IA hasta la forma en que una llave abre la puerta, prácticamente todo está controlado por scripts en lugar del código del programa. Esto significa que, aquellos que quieran meter mano en el código, pueden abrir los archivos de los scripts con cualquier editor de texto y modificarlo. Aunque es perfectamente posible crear un juego complejo y de grandes dimensiones sin introducir una sola línea de código, la opción está ahí para quienes quieran mayor nivel de control.
Obviamente hay muchísimos programas como estos pero no nos vamos a expandir mucho en estos temas.
El mejor lenguaje para desarrollo de juegos con el cual se hacen los juegos AAA utilizado por las grandes empresas para hacer juegos para PC es el C++ , antes de aprender C++ es recomendable saber C. Podemos encontrar la version gratuíta Dev-C++ o la paga de Microsoft Visual C++, que también podemos encontrar en .Net. Con C++ se pueden hacer juegos para Xbox, para Pc, para PlayStation para lo que se te pueda ocurrir, por ejemplo Windows esta hecho con C++ para que puedan ver la dimensión de lo que se puede hacer con este lenguaje.
C++ es un lenguaje excelente para crear juegos debido a su potencia y flexibilidad. Utilizando Visual C++ y una librería gráfica , se puede escribir juegos en código nativo o código administrado. Esta flexibilidad le permite crear su juego en la plataforma con la que se sienta más cómodo. No obstante, crear un buen juego es un desafío que está fuera del ámbito de este paseo guiado.
C# es un lenguaje ideal para programar para Xbox360 por ejemplo, también se puede programar sobre windows, iphone, celulares, e.t.c. Como podemos ver es un lenguaje con mucho potencial y con capacidades inmensas. C# es un lenguaje de propósito general orientado a objetos creado por Microsoft para su plataforma .NET.
Su sintaxis básica deriva de C/C++ y utiliza el modelo de objetos de la plataforma .NET el cual es similar al de Java aunque incluye mejoras derivadas de otros lenguajes. C# fue diseñado para combinar el control a bajo nivel de lenguajes como C y la velocidad de programación de lenguajes como Visual Basic. Es una parte esencial de la plataforma .Net, C# combina los mejores elementos de múltiples lenguajes de amplia difusión como C++, Java, Visual Basic o Delphi. De hecho, su creador Anders Heljsberg fue también el creador de muchos otros lenguajes y entornos como Turbo Pascal, Delphi o Visual J++. La idea principal detrás del lenguaje es combinar la potencia de lenguajes como C++ con la sencillez de lenguajes como Visual Basic, y que además la migración a este lenguaje por los porgramadores de C/C++/Java sea lo más inmediata posible.
Delphi es otra opción que podemos tener a la hora de programar juegos para PC. Delphi es una opción viable para el desarrollo? Sí, definitivamente. Está siendo desarrollado activamente, y hay una buena parte 3 de los componentes que hay. Usted probablemente puede recibir una aplicación de acabado mucho más rápido en Delphi entonces un montón de otras herramientas. Es grande para el desarrollo general de aplicaciones de Windows y las aplicaciones de base de datos. Para los juegos, los controladores de dispositivo o el desarrollo de aplicaciones incrustadas YMMV. Delphi es un producto, no un lenguaje, mas bien es la implementación de Object Pascal de la empresa Borland, es un producto de software que integra un IDE (Integrated Developement Environment, Entorno Integrado de Desarrollo), un Compilador de Object Pascal y un Depurador. Debido a que es el mas famoso y usado de los compiladores Object Pascal mucha gente cuando habla de Delphi está hablando en realidad de la implementación en Delphi del lenguaje Object Pascal, para todo los casos practicos Delphi y Object Pascal tienen significados equivalentes aunque no identicos, de todas formas yo, cuando hable de Delphi haré referencia tanto al producto de Borland como al lenguaje Object Pascal, excepto cuando explícitamente así lo indique.
Basicamente el lenguaje Java nos sirve para desarrollar aplicaciones para celulres y dispositivos móviles. La primer aplicación, y quizás más lucrativo hasta la fecha, fue el uso de la mensajería SMS (Short Message Service). Nuestros pequeños terminales nos permiten enviar mensajes cortos de texto (hasta un tamaño de 160 caracteres) que son enviados desde el terminal al centro servidor de mensajes cortos o SMSC (Short Message Service Centre), que a su vez se encarga de hacer llegar el mensaje al móvil destinatario. El lenguaje Java es un lenguaje completamente orientado a objetos. Todo en Java es un objeto. La versatilidad y eficiencia de la tecnología Java, la portabilidad de su plataforma y la seguridad que aporta, la han convertido en la tecnología ideal para su aplicación a redes. De portátiles a centros de datos, de consolas de juegos a superequipos científicos, de teléfonos móviles a Internet, Java está en todas partes. Java ha sido probado, mejorado, ampliado y probado por una comunidad especializada de más de 6,5 millones de desarrolladores, la mayor y más activa del mundo. Gracias a su versatilidad, eficiencia y portabilidad, Java se ha convertido en un recurso inestimable ya que permite a los desarrolladores:
- Desarrollar software en una plataforma y ejecutarlo en prácticamente cualquier otra plataforma
- Crear programas para que funcionen en un navegador web y en servicios web
- Desarrollar aplicaciones para servidores como foros en línea, tiendas, encuestas, procesamiento de formularios HTML, etc.
- Combinar aplicaciones o servicios que usan el lenguaje Java para crear servicios o aplicaciones totalmente personalizados
- Desarrollar potentes y eficientes aplicaciones para teléfonos móviles, procesadores remotos, productos de consumo de bajo coste y prácticamente cualquier tipo de dispositivo digital
Con Visual Basic 6 podemos hacer juegos para windows, pero para hacer jueguitos simples y por hobbie por que la realidad es que no esperes ganar plata.Visual Basic es un lenguaje de programación desarrollado por Alan Cooper para Microsoft. El lenguaje de programación es un dialecto de BASIC, con importantes agregados. Su primera versión fue presentada en 1991, con la intención de simplificar la programación utilizando un ambiente de desarrollo completamente gráfico que facilitara la creación de interfaces gráficas y, en cierta medida, también la programación misma. Desde el 2001 Microsoft ha propuesto abandonar el desarrollo basado en la API WIN 32 y pasar a trabajar sobre un framework o marco común de librerías independiente de la versión del sistema operativo, .NET Framework, a través de Visual Basic .NET (y otros lenguajes como C# de fácil transición de código entre ellos).Visual Basic es más usado para hacer programas administrativos o de gestión, por su facilidad de acceso a base de datos. Nos puede servir como un lenguaje para aprender a programar, para aprender a manejar base de datos y para practicar hacer juegos simples.
Muchos diseñadores y programadores suelen subestimar a los videojuegos, considerándolos un mero pasatiempo infantil desprovisto de toda seriedad. Sin embargo, pocas aplicaciones logran explotar al máximo las capacidades de diseño y desarrollo de una herramienta como un juego lo hace. Consideremos un simple juego de plataformas, donde se requiere entre otras cosas de un desplazamiento (scroll) del fondo a medida que el personaje se mueve por el escenario, una capacidad para detectar colisiones, aplicaciones físicas (velocidad, aceleración, fricción, gravedad), manejo de eventos de sonido, música de fondo y efectos visuales de todo tipo. Y esto en el más simple de los casos. Podríamos hablar de un juego de "avanzada", donde se empleara sonido panorámico, generación de entornos en tiempo real, música funcional que respondiera a determinados eventos, o complejos algoritmos de inteligencia artificial que rigeran el comportamiento de los enemigos. Flash tiene una interfaz gráfica muy buena para programar, podemos hacer juegos muy buenos e interesantes, nos puede servir más que nada para juegos web, un 90% de los juegos web podemos decir que están desarrollados en flash, lo malo es que no es un lenguaje preciso, porque por ejemplo si quisieramos hacer un metrónomo para realizar un juego de música seria imposible, y aparte es un lenguaje que si se le agregan muchas animaciones, se pone muy lento. En conclusión nos puede servir para hacer pequeños juegos web.
PHP es un lenguaje de programación interpretado, diseñado originalmente para la creación de páginas webs dinámicas. Es usado principalmente en interpretación del lado del servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz de línea de comandos o en la creación de otros tipos de programas incluyendo aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTK+.
PHP es un acrónimo recursivo ºque significa PHP Hypertext Pre-processor (inicialmente PHP Tools, o, Personal Home Page Tools). Con PHP basicamente podemos hacer paginas webs, pero hace un tiempos se impuso una moda de hacer juegos con este lenguaje, se pueden hacer juegos tipo tetris, osea simples, o la moda que se impuso es hacer juegos, donde se muestren imágenes, y se vaya contando una historia, por ejemplo tipo age of empires pero sin animaciones, solo imágenes y texto, se maneja con base de datos para poder obtener recursos, grabar partidas, obtener experiencia, e.t.c.
Objective-C es el lenguaje por defecto para desarrollar para el iPhone. Es un lenguaje basado y a la vez superconjunto de C, es decir, cualquier programa C es a su vez un programa Objective-C y corre sin ningún problema.
Objective-C es un lenguaje orientado a objetos. Comparado con C++, la gramática es mucho más sencilla y concisa. Sus raíces, además de C, se pueden encontrar en Smalltalk.
La importancia de Objective-C es cada vez mayor, pues es el lenguaje de programación de toda la plataforma de Apple (Macintosh, iPod, iPhone).
Para mi gente Javera, verán que Objective-C es a veces un poco extraño, pero si se tiene cuidado de aprender las principales diferencias, uno puede llegar a querer rápidamente a este lenguaje.
El ambiente de desarrollo de Apple, XCode, hace que programar en Objective-C sea muy pero muy cómodo. Las librerias que Apple entrega son un ejemplo de diseño y buen gusto, así como las herramientas de Debug, emuladores, etc.
Es necesario aprender un poco de C y saber programar en cualquier lenguaje antes de ver detalles de Objective-C.
En el próximo post vamos a hablar sobre librerías gráficas y de sonido que podemos usar para complementar estos lenguajes de programación.