Mostrando entradas con la etiqueta C#. Mostrar todas las entradas
Mostrando entradas con la etiqueta C#. Mostrar todas las entradas
miércoles, 4 de marzo de 2015

Lenguajes para desarrollar juegos

0 comentarios
 
Hoy vamos a ver una parte importante a definir para poder comenzar con nuestro juego, los posibles lenguajes de programación a usar para el desarrollo de videojuegos.
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++ 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 Debugemuladores, 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.
Leer entrada
miércoles, 2 de junio de 2010

Proyecto RPG IdearSoft

0 comentarios
 
Bueno como ya se ha visto que estamos buscando colaboradores para el proyecto del juego/motor RPG en Xna, acá va un pequeñisimo avance de lo que se comenzó a hacer, la presentación y el menú del juego.
Cabe aclarar que la imágen en donde se encuentra el menú fue sacada de internet pero nos sirve a modo de ejemplo, y la música la hice yo al igual que todo lo que pueden ver.
Espero que les guste y que incentive a muchos a formar parte de este proyecto.

Leer entrada
miércoles, 5 de mayo de 2010

Instalación de XNA y C#

2 comentarios
 
Bueno para poder empezar necesitamos instalar el C#, ya que en nuestro caso el lenguaje a utilizar va a ser ese y el XNA 3.1

Recomiendo descargar el Visual C# 2008 Express Edition que es con el que trabajamos para hacer los ejercicios del tutorial. El Visual C# 2008 Express Edition se lo pueden bajar desde acá:
http://argade.blogspot.com/2010/04/visual-c-2008-express-edition.html

Luego de descargarse el Visual C# Express Edition hay que descargar el XNA 3.1 el cual lo pueden descargar desde acá:
http://argade.blogspot.com/2010/05/xna-game-studio-31.html

Instalar Visual C# 2008 Express Edition:

Al ejecutar la aplicación nos mostrará la siguiente ventana. 
Instalacion1
















Presionamos Siguiente.
Instalacion2
Marcamos las opciones y presionamos Siguiente.
Instalacion3
Desmarcamos el Cuadrito y presionamos Siguiente.
Instalacion4
Finalmente presionamos Instalar.
Instalacion5
y comenzaran a Descargarse los elementos marcados.
Instalacion6
Al Terminar nos dirá que tenemos 30 días para registrar nuestro producto, recomiendo hacerlo es totalmente gratuito las instrucciones las tienes en cerras en el primero ovalo.
Instalación de XNA 3.1;
Ahora bien ya tenemos instalado Visual Studio 2008 pero ahora debemos instalarle el XNA
Al ejecutar la aplicación se nos abre la siguiente ventana:
InstalacionXNA1
Esta será la imagen que veremos al correr el programa XNA 3.1, presionamos siguiente.
InstalacionXNA2
Aceptamos los términos del contrato y presionamos siguiente.
InstalacionXNA3
En esta ventana pueden activar la opción que quieran, una vez seleccionadas las reglas proceden a Instalar.
InstalacionXNA4
InstalacionXNA5
Presionamos Finalizar y ya tendremos instalado Visual C# y XNA Game Studio 3.1.

InstalacionXNAFinal

El próximo capítulo vamos a ver como se conforma un programa en C# con Xna.
Leer entrada
martes, 4 de mayo de 2010

Tutorial Xna (Introducción) por Argade

0 comentarios
 
Bueno gente les comento primero que nada que en este momento del blog voy a empezar a hacer un tutorial en español desde 0 para poder programar en Xna, asi que seguramente voy a tardar un poco mas en hacer los post y dejando de lado un poco las noticias, asi que si hay algun bondadoso que tenga ganas de ofrecerse para postear alguna que otra noticia en el blog, bienvenido sea.
Bien empecemos por lo basico
¿Qué es Xna?
XNA es una API desarrollada por Microsoft para el desarrollo de videojuegos para las plataformas Xbox 360 , Windows y Zune.
¿Qué es una API?
Según las siglas significa "interfaz de programación de aplicaciones". Una interfaz de programación representa una interfaz de comunicación entre componentes de software. Osea en definitiva una API es un conjunto de "llamadas" a ciertas bibliotecas. Y ¿Para qué me sirve una API?, bueno básicamente en esas bibliotecas a las cuales llamamos existen funciones que nos facilitan mucho las cosas, por ejemplo necesitamos iniciar el modo de video de la placa, sin una API tendríamos que estar usando ensamblador para llamar a interrupciones de video para poder iniciar el modo de video.
En definitiva algo asi:

#include  getch(), clrscr()
#include  MK_FP, geninterrupt()
#include memset()
unsigned char *pantalla = (unsigned char *) MK_FP(0xA000, 0);
void SetMCGA()
{
_AX = 0x0013;
geninterrupt (0x10);
}
void SetText()
{
_AX = 0x0003;
geninterrupt (0x10);
}

Si tuvieramos una API que llame a una biblioteca que tenga la función esta definida, seguramente haríamos algo asi:

InicializarVideo(Resolucion)

Conclusión resumimos 14 líneas en 1 sola.Tal vez no sea tan complicado inicializar el modo de video, pero si tendríamos que cargar modelos y texturas 3D podrían ser muchisimas líneas resumidas en una sola o en un par en su defecto.

Como ibamos explicando Xna técnicamente es un Marco de Trabajo (Framework), basado en .NET Framework 2.0 y al igual el .NET Framework 2.0, éste corre sobre el CLR, aunque en una implementación que provee un manejo optimizado para la ejecución de videojuegos.
Resumidamente y muy por encima un Framework es un entorno de trabajo que nos reune todas las funciones que llaman a las bibliotecas para poder programar más comodamente en lo que tengamos que hacer.
 Hasta acá todo muy lindo pero muchos se preguntarán que es el CLR, bién El Common Language Runtime o CLR (Lenguaje común en tiempo de ejecución) es el componente de máquina virtual de la plataforma .Net de Microsoft.  Es la implementación del estándar Common Language Infrastructure (CLI) que define un ambiente de ejecución para los codigos de los programas. El CLR ejecuta una forma de código intermedio (bytecode) llamada Common Intermediate Language (CIL, anteriormente conocido como MSIL -- Microsoft Intermediate Language), la implementación de Microsoft del CLI.
Los desarrolladores que usan CLR escriben el código en un lenguaje como C# o VB.Net. En tiempo de compilación, un compilador.NET convierte el código a MSIL (Microsoft Intermediate Language). En tiempo de ejecución, el compilador en tiempo de ejecución (Just-in-time compiler) del CLR convierte el código MSIL en código nativo para el sistema operativo. Alternativamente, el código MSIL es compilado a código nativo en un proceso separado anterior a la ejecución. Esto acelera las posteriores ejecuciones del software debido a que la compilación de MSIL a nativo ya no es necesaria.
Para que se vea un poco mejor entonces lo que se hace es lo siguiente: Nosotros tenemos nuestro código en un lenguaje como C#, VB.NET o cualquier otro lenguaje .NET, cuando le damos play, para que ejecute el código de fuente, el programa se compila, al compilar el programa se convierte el código en C# o en el lenguaje que lo hayamos hecho en un lenguaje intermedio entre el C# o el lenguaje que hayamos utilizado y el código de máquina o código nativo, luego mientras se ejecuta el código de fuente (osea el programa ya compilo y está corriendo), se convierte lo que quedo en el lenguaje intermedio al lenguaje nativo "en tiempo de ejecución".


Hasta acá vamos bien, entonces el funcionamiento de todo el sistema seria

Capas de XNA - Las diferentes capas de XNA, vistas de arriba a abajo, el XNA game studio utiliza la  funcionalidad del xna framework, y éste a su vez se basa en el .net framework. Por último están las  plataformas a las que van destinadas nuestras aplicaciones, windows, Xbox 360 o zune.


En otras palabras, XNA es una plataforma de desarrollo de videojuegos sobre DirectX, en la cual disponemos de cierta funcionalidad ya integrada lo que nos permite centrarnos en la parte de qué queremos hacer en nuestro juego y no en el cómo hacerlo.
Para verlo gráficamente:


Framework de XNA - Los recuadros verdes se corresponde con la funcionalidad que ya viene de "serie" con el framework.

Bueno en este momento ya tendríamos una idea de que es XNA y de como funciona, en el próximo Capítulo vamos a ver lo que necesitamos instalar para poder comenzar con la acción.
Leer entrada
martes, 20 de abril de 2010

Visual C# 2008 Express Edition

0 comentarios
 
Microsoft Visual C# 2008 Express, es un entorno de desarrollo ligero que Microsoft pone a disposición de todos de forma gratuita. Tanto si te estás iniciando a la programación en este lenguaje, como si ya tienes unos sólidos conocimientos del mismo, este IDE será ideal para tí, casi no notarás la diferencia entre este y una versión comercial.

 

- Entorno de programación estable y fácil de usar.
- Diseño de aplicaciones de Windows Presentation Foundation (WPF).
- Adición de controles a los proyectos mediante C4F Developer Toolkit y C4F Vista P2P Developer Kit.
- Creación de aplicaciones interactivas con Facebook Developer Toolkit.
- Posibilidad de usar gran cantidad de código predefinido.
- Soporte para realizar diagnósticos y optimización del sistema.


Descargar
Visual C# 2008 Express Edition (2.57 MB)
Leer entrada