Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - [D4N93R]

#1141
Artículo en construcción



Contenido:

Introducción
En este post veremos como crear un juego básico para Windows Phone 7 Series utilizando XNA framework. Ningún código se posteará en el post, sino más bien usaré pastebin, que me parece queda mejor para posts como este. Como lenguaje usaré C#, pero puede ser portado a VB.Net o a cualquier otro lenguaje de .Net fácilmente.

Requisitos
A continuación requisitos para este tutorial/guía

  • Descargar e instalar Windows Phone Developer Tools Beta
  • Descargar este demo Game State Management, con el cual nos ayudaremos con esas clases a manejar los diferentes screens, las clases están bien explicadas, pero de todos modos explicaremos un poco más detallado su funcionamiento, ya que es una buena metodología de desarrollo de juegos.
  • Obviamente conocimientos sobre .Net, en este caso voy a programar en C# y no creo que los programadores de VB.Net tengan problemas en entenderlo. Iré explicando las clases del framework de Xna mientras se vayan usando en el proyecto.

Conceptos Básicos

 -Windows Phone: Es un sistema operativo desarrollado por Microsoft para smartphones y dispositivos móviles. Es el sucesor de Windows Mobile con el lanzamiento de Windows Phone 7 Series.

 -Microsoft XNA: Es una serie de herramientas más un entorno de programación que fácilita el desarrollo de juegos.

 -Emulador: Consiste en duplicar las funciones de un sistema desde otro completamente diferente. De esta forma, por ejemplo, podemos ejecutar Windows Phone desde el computador sin necesidad de tener un dispositivo móvil en mano.

 -Game Loop: Es el núclero de todo juego, y consiste en un bucle infinito que se ejecuta al iniciar el mismo. Dependiendo de las técnicas de programación de un juego, éste puede tener 1 o más bucles: Game Loop, Rendering Loop, IA Loop, entre otros.


Definiendo el juego
El tipo de juego será un paddle, en este caso haremos un remake de Arkanoid. De esta forma podemos conocer bien todos los aspectos necesarios para crear un juego 2D: Score, Levels, Goals, entre otros.

Gráficos
Los gráficos en un juego 2D son bastante sencillos comparados con uno 3D. Pero ¿qué son?, pues simplemente sprites, bitmaps!!! sí, imágenes normales , comunes y corrientes. Lo único que tienen de diferente es que en caso de que no sean rectangulares tendremos que usar un color para la transparencia, normalmente el magenta.

Para este juego encontré un set de ya hecho, lo que me facilitó mucho el trabajo. Noten que en juegos grandes, mayormente los 3D, requieren de un gran numero de personas involucradas al desarrollo, desde programadores, músicos, artistas, modeladores 3D, voces, guionistas, etc.

El set lo pueden descargar acá.

Las animaciones las haremos con una secuencia de sprites, algo así como un GIF.

Creando el proyecto
Abrimos Visual Studio y hacemos Click en New Project o Nuevo Proyecto. Seleccionar la categoría de proyecto: XNA Game Studio 4.0 bajo Visual C#, luego seleccionamos el tipo de proyecto: Windows Phone Game (4.0), le damos un nombre y hacemos click en OK.




Ya tenemos el proyecto creado, veamos un poco el explorador de soluciones:


Vemos que hay dos proyectos, uno que es el proyecto principal en donde va todo el código del juego, a menos de que quieran crear componentes (dll) pero esa es otra historia. Y el otro proyecto es de contenido, es decir, donde metemos imágenes, sonidos, videos, etc..

Visual Studio nos crea varias cosas para darnos una mano inicial pero, nosotros usaremos un framework que estoy haciendo en base al proyecto Game State Management.


Puesta a Punto del Proyecto
Ya tenemos nuestro proyecto creado, ahora solo falta establecer las bases sobre las que vamos a programar. Como muchos saben, antes de hacer una casa/edificio hay que construirle las bases, las fundaciones en las que se crearán paredes, techos, etc. Pues para nosotros es lo mismo, necesitamos un buen proyecto, con todas las bases necesarias para comenzar con el flujo del juego en sí.

Primero conozcamos las clases que vamos a usar:


Game Loop


#1142
Cita de: Skeletron en 20 Julio 2010, 22:35 PM
Cita de: globsharp en 20 Julio 2010, 20:09 PM
Si le dieran a este hombre una colleja cada vez que dice la palabra malévolo ya no se acordaría ni de cómo se programa...

PD: ¿cuánto dinero dona Stallman al tercer mundo? Steve Jobs no sé, Bill Gates un montón. Deberían enseñar a Stallman qué es un empresario.

Grande Apple, grande Microsoft, y grande GNU.

Buen comentario

Indeed!
#1143
Cita de: Fitoschido en 21 Julio 2010, 08:32 AM
Yo no digo eso... Por ejemplo, SahrpDevelop también tiene muchas cosas y es bastante ligero.

No creo que todas las funciones de Visual Studio Ultimate merezcan ocupar 6 GB... ;D

Visual Studio 2010 Ultimate pesa 2333 Mb, qué versión dices tú que pesa 6GB?

   - El emulador de Windows Mobile, Windows Phone 7 Series
   - Diseñador de WPF, WWF
   - Full soporte para Framework 4.0
   - El debugger es mucho mejor
   - Entre otras cosas sin contar Visual Studio Team Edition.

Vale la pena Visual Studio? Sí, si desarrollas proyectos de gran valor.

Saludos!
#1144
Yo una vez le eché un ojo con Asp.Net pero ni me acuerdo xD estará bien refrescar la memoria un poco :)
#1145
No importa, quedan los registros en Edit, solo tienes que guardar los cambios.

Cual es el DataSource de tu gridView?
#1146
Mu Bueno!! xD hahaha
#1147
Lanza un panel, normalito, un panel, y píntalo con Graphics! Voy saliendo a mi casa xD mañana vemos xD
#1148
Sí, me gusta el tema, como que voy a escribir al respecto. Posiblemente este fin de semana. xD
#1149
A la orden, cualquier cosa, sigue escribiendo en este mismo post..

Saludos!
#1150
Este es un demo de sacar unos ID:

Código (vbnet) [Seleccionar]

Dim List
  Dim Msg
  Dim Object
 
  On Local Error Resume Next
 
  Set List = GetObject("winmgmts:{impersonationLevel=impersonate}").InstancesOf("Win32_BaseBoard")
  For Each Object In List
     Msg = Msg & "Motherboard Serial Number: " & Object.SerialNumber & vbCrLf
  Next

  Set List = GetObject("winmgmts:{impersonationLevel=impersonate}").InstancesOf("Win32_Processor")
  For Each Object In List
     Msg = Msg & "Processor Unique ID: " & Object.UniqueID & vbCrLf
  Next

  Set List = GetObject("winmgmts:{impersonationLevel=impersonate}").InstancesOf("Win32_BIOS")
  For Each Object In List
     Msg = Msg & "BIOS Serial Number: " & Object.SerialNumber & vbCrLf
  Next

  Set List = GetObject("winmgmts:{impersonationLevel=impersonate}").InstancesOf("Win32_LogicalDisk")
  For Each Object In List
     Msg = Msg & "Disk Serial Number: " & Object.VolumeSerialNumber & vbCrLf
  Next

  MsgBox Msg


El algoritmo debes sacarlo por tu cuenta, ya que si te digo uno yo, sería fácil para todo el que viera este post "crackear" tu aplicación.

Puedes pasarte por la sección de Criptografía del foro.

Saludos!