martes, 9 de diciembre de 2008

Nuevo control para ASP .NET :

Leo en el blog de Scott Guthrie que Microsoft ha lanzado un nuevo control para asp .Net que nos permitirá crear gráficas de forma rápida y sencilla.

<asp:chart /> puede usarse con ASP .NET 3.5 y es realmente sencillo usarlo:

<asp:Chart id="miGrafica" runat="server" />

Scott enlaza en su blog las descargas para el control.

graficas

sábado, 22 de noviembre de 2008

Microsoft Robotics y LEGO Mindstorms.

Estrenando la sección de .Net voy a hablar sobre la conferencia a la que asistí el viernes pasado, un poco tarde, pero es que he estado malo toda la semana y apenas he encendido el ordenador.

Bueno pues como he dicho el viernes pasado asistí a una charla sobre Microsoft Robotics organizada por BCN DEV, que aprovechando que se organizaba el Tech-Ed  Europeo en Barcelona consiguieron traer como ponente al crack Bruno Capuano.

Nueva sección en el blog, .Net

Si te gusta desarrollar juegos en XNA, posiblemente te guste el desarrollo en general, y como ya comenté en uno de los primeros post que escribí, XNA se escribe en C#, que es el lenguaje nativo de .Net.

A partir de ahora aparte de los post sobre XNA y programación básica para C#, y todo lo que tenga que ver con XBOX 360, Live y juegos también escribiré sobre tecnologías .Net.

.net

miércoles, 19 de noviembre de 2008

Mirrors Edge en 2D

De vez en cuando salen pequeñas maravillas en Flash, y esta es una de ellas.


Borne Games y EA Games han se han unido para crear una versión en 2D de esté genial título que con unas animaciones deliciosas y una jugabilidad que engancha desde el primer momento conseguirá enganchar a cualquier fan del juego. Conmigo lo han conseguido.


JUGAR!


me2d


me2d2


 

jueves, 13 de noviembre de 2008

Nueva oleada de Baneos en Live.

Microsoft está realizando una nueva oleada de baneos del Live.


Bien hecho, tendrían que hacerlo más a menudo, estoy cansado de encontrarme en las partidas On-Line con gente con la consola pirateada haciendo trampas.


Han aprovechado el lanzamiento de Gears Of War 2, que por cierto ha vendido dos millones de copias en su primer fin de semana a la venta (yo aún no lo tengo, que este fin de semana he estado muy entretenido), imagino que para coger a más gente con las manos en la masa.


Me hace gracia la gente que “chipea” su consola y luego se queja de que los banean, y encima balbucean que si es ilegal que si patatin que si patatan, ¿pero a caso te las leído lo que aceptas cuando te das de alta en el Live? Pues dice que no tienes una consola modificada y que pueden expulsarte si te pillan con una y tu lo has aceptado.


Es verdad que los juegos son caros, muy caros, pero ese no es motivo para destrozar el trabajo de muchos programadores y demás trabajadores del sector que seguro que le echan muchísimas más horas y esfuerzo del que mucha gente se cree, además hay muchísimas alternativas a piratear: seleccionar más los juegos que compramos, comprar en tiendas on-line fuera de España, el mercado de segunda mano, esperar a que lo bajen, etc.


En definitiva, los que no pirateamos estaremos más tranquilos sabiendo que no habrán tramposos en nuestras partidas en el Gears 2, y lo que piratean rajarán de lo malos que son los de Microsoft porque no les dejan piratear tranquilamente, ah no, que no piratean, que hacen copias de seguridad… jajaja…

viernes, 7 de noviembre de 2008

Sintaxis básica. Variables.

Cuando realizamos un programa, en nuestro caso un juego, siempre necesitamos almacenar una serie de datos para realizar cálculos que necesitaremos a lo largo de nuestro juego, como por ejemplo almacenar el número de vidas que nos quedan y restar una cuando nos maten. Como es de suponer los datos que necesitaremos guardar pueden ser de muchos tipos, pueden ser números, números con decimales, texto… etc.


Para utilizar y guardar estos valores usamos las variables.


C# usa tipos de variables inflexibles, o lo que es lo mismo, cuando creamos una variable siempre tendremos que indicar de que tipo es.


Para decidir qué tipo de variables usar hemos de tener en cuenta una serie de factores:


· Tipo de datos que queremos usar.


· El espacio que ocupara, no es lo mismo usar un número que sabemos que no va a ser muy grande, que un texto largo.


jueves, 6 de noviembre de 2008

XNA 3.0

Con un poco de retraso por mi parte os comento que el día 30 de Octubre se lanzó la versión 3.0 de XNA.


Yo de momento para el proyecto (del que por cierto muy pronto posteare novedades)  seguiré con la versión 2.0, pero no tardare mucho en cambiar y hacer un tutorial de cómo actualizar de la versión 2.0 a la 3.0, junto con las novedades que aporta la nueva versión.


Para usar la versión 3 es necesario tener las versiones 2008 de visual C# express o de Visual Studio.


Después del salto las URL para la descarga:


domingo, 2 de noviembre de 2008

Microsoft anuncia los premios Dream-Build-Play.

Si aún eres escéptico de lo que se puede conseguir con XNA, aquí tienes una buena muestra de la calidad a la que se puede llegar con un poco de trabajo y talento.


Microsoft organiza cada año los premios DREAM-BUILD-PLAY otorgando premios en metálico (40.000$) y distribución en el LIVE para los ganadores.


Conoce a los ganadores.

martes, 28 de octubre de 2008

Make games, make money.

Cada vez queda menos para que Microsoft lanze la plataforma Xbox LIVE Community Games, con la que los desarrolladores independientes tendrán una "lanzadera" para sus creaciones.

Mientras arreglo el destrozo que tengo en el PC y que me impide hacer los tutoriales, os dejo el link de como funcionará todo esto:

Introducing Xbox LIVE Community Games

miércoles, 22 de octubre de 2008

Portal: Still Alive.


Portal: Still Alive ya está disponible para descargar desde el Live Arcarde. Solo 1200 Microsoft Points, y chicos, este juego vale realmente la pena, además incluye nuevos puzles.


Una apuesta segura. 

martes, 21 de octubre de 2008

Microsoft quiere que hablemos bien.

Leo en enotrolado.net que Microsoft ha comprado una patente que permite censurar audio en tiempo real, de momento es solo eso, una patente, pero claro está que una de las utilidades que se le puede dar en el futuro es la censura en el juego On-Line. Por lo que puedo leer sobre el tema, la tecnología permite desde el clásico BEEEEP, a cambiar las palabras malsonantes por otras pasando por bajar el volumen.

Me asaltan algunas dudas con esta tecnología que imagino que con el tiempo serán resueltas, pero lo que sí que espero es que si llegan a lanzar algo por el estilo, sea totalmente opcional, es algo que para los niños está bien, pero que podría llegar a destrozar un juego por completo.


Hay que ver que puritanos son  y que doble moralidad tienen estos americanos…


sábado, 18 de octubre de 2008

Ciclo de ejecución de un juego XNA.

Es importante conocer el ciclo de ejecución de un juego creado con XNA.
Al crear un nuevo proyecto de juego XNA, podemos ver como se crean una serie de métodos automáticamente, estos son los métodos principales del juego.

Una aplicación normal, como cualquiera de las que usas en tu PC a diario, normalmente lo que hace al ejecutarse es esperar a que realices una acción para ejecutarla, mientras tanto esta a la espera, un juego se comporta de forma distinta, también está a la espera de que realices una acción, como pulsar un botón del mando o una tecla del PC, pero mientas lo haces, no se queda simplemente esperando ya que un juego siempre está ejecutándose en blucle (una vez tras otra), por lo tanto estará continuamente ejecutando los métodos antes mencionados, por eso es tan importante conocer que hace cada uno de esos métodos y en qué orden los ejecuta, debemos saber donde escribir nuestro código. Navegando por Internet he encontrado este diagrama que explica a la perfección el flujo que sigue un juego: (xna-para-torpes.blogspot.com/)



Ahora crea un proyecto nuevo de juego Windows y observa los métodos que crea, están colocados en el mismo orden en el que se ejecutan:
Lo primero que encontramos es el constructor del juego, aquí pondremos las cosas que queremos que se ejecuten si o si, por ejemplo inicializamos el valor de la carpeta donde guardaremos los contenidos del juego como gráficos o músicas, el tamaño de la ventana de juego, si queremos que sea a pantalla completa, etc.

[sourcecode language='csharp']
public Game1()
{
graphics = new GraphicsDeviceManager(this);
Content.RootDirectory = "Content";
}
[/sourcecode]

Lo siguiente es el método Initialize, aquí va toda la lógica de inicialización del juego, aquí en nuestro juego hemos definido la posición donde se pinta nuestra nave en la pantalla.

[sourcecode language='csharp']
protected override void Initialize()
{
// TODO: Add your initialization logic here

base.Initialize();
}
[/sourcecode]

El método Update, este método se ejecuta constantemente y es donde actualizaremos el estado del juego, por ejemplo aquí programaremos el movimiento de los sprites al pulsar el teclado.

[sourcecode language='csharp']
protected override void Update(GameTime gameTime)
{
// Allows the game to exit
if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
this.Exit();

// TODO: Add your update logic here

base.Update(gameTime);
}
[/sourcecode]

Y por último se ejecuta el método Draw, que es donde se pintaran en pantalla todos los elementos del juego.

[sourcecode language='csharp']
protected override void Draw(GameTime gameTime)
{
graphics.GraphicsDevice.Clear(Color.CornflowerBlue);

// TODO: Add your drawing code here

base.Draw(gameTime);
}
[/sourcecode]

¡Hasta la próxima!

miércoles, 15 de octubre de 2008

Sintaxis básica de C#

Ya hemos visto código C# en nuestro juego, ahora hay que entender que hace, cómo y porqué, y pare ello tienes que conocer la sintaxis básica.

Este capítulo puede parecerte muy básico si tienes algún conocimiento previo, pero es necesario para quien no tenga ni idea.



PUNTOCOMA


Cada una de las instrucciones que escribamos ha de acabar con punto y coma “;” , excepto cuando abrimos o cerramos un bloque de código.


Hasta que no pongamos ; el compilador no detecta el fin de la instrucción, de esta forma si la instrucción es muy larga la podemos poner tranquilamente en dos líneas.


Un bloque de código es, como su propio nombre indica una parte de código fuente que usamos en un contexto específico, por ejemplo un bucle o una sentencia de control del flujo del código. Veamos un ejemplo:



[sourcecode language="csharp"]
int a = 0; //Una instrucción, ponemos ";"
bool esPar;

if (a % 2 == 0)// Abrimos bloque de código, no ponemos ";"
{
esPar = true; //Una instrucción, ponemos ";"
} // Cerramos bloque de código, no ponemos ";"
else
{
esPar = false;
}
[/sourcecode]

COMENTARIOS


Los comentarios son líneas de código que no se compilaran, sirven para dejar anotaciones en nuestro programa. Un comentario puede ser muy útil tanto si trabajas solo como si lo haces en equipo, piensa que hay partes del código que no recordaras despúes de pasado un tiempo.


Hay dos formas de comentar, con doble barra “//” para comentar una sola línea o con barra asterisco – asterisco barra “/* */” para comentar varias líneas.



[sourcecode language="csharp"]
//Comentario de una linea

/* De esta forma podemos comentar en varias lineas.
*
* Hasta que no cerremos el comentario podemos poner lo que queramos.
* -----------------------------------------------------------
*/
[/sourcecode]

Rumor: Metal Gear Solid 4 en 360.

Metal Gear Solid 4 podría ver la luz en 360, por lo menos esto es lo que dicen los rumores que empiezan a tomar forma en la red.


La verdad es que no me extrañaría nada teniendo en cuenta que la consola base de esta generación es XBOX 360 y que el único mercado en el que PlayStation 3 era intocable, el Japonés, ha caído y ya vende más consolas Microsoft que Sony.


Con los costes de desarrollo que hay actualmente en los juegos triple A, ¿es rentable desarrollar estos juegos en exclusiva? Veremos en que acaba todo esto.


- Rumor en Vida Extra.


- Rumor en IGN.


- Ventas de consolas en Japón.

lunes, 13 de octubre de 2008

El primer congreso de desarrolladores de Videojuegos.

Doid es una asociación sin ánimo de lucro para promover la cultura y la industria del videojuego. Además está presidida por el amigo y crack de la industria Nae.

Han organizado El primer congreso de desarrolladores de Videojuegos, habrá mucha gente importante del sector y actividades varias, algunas de ellas muy interesantes.


Lecturas interesantes.

Mientras preparo los tutoriales sobre C# (no he tenido mucho tiempo estos días), te dejo unas lecturas muy interesantes (en Ingles) sobre gráficos 2D y XNA:


- Estructura del motor de un juego


- Pixel Shader


- XNA Best Practices 

jueves, 9 de octubre de 2008

Street Fighter IV

No soy muy fan de los juegos de lucha, algunos como el Dead or alive tienen cosas que me gustan, como los contragolpes o los distintos niveles de altura en los escenarios, pero enseguida me cansan y dejo de jugarlos.

Desde que el género dio el salto a las 3D no hay ninguno al que realmente tenga ganas de jugar… hasta ahora… Si, Street Fighter IV es en 3D, pero mantiene la magia de las 2D. Espero con ansias su lanzamiento.






miércoles, 8 de octubre de 2008

Ficheros del proyecto. Moviendo la nave.

Ayer publique el código que nos permite mostrar y mover la nave por pantalla, era muy tarde y no me dio tiempo a subir los ficheros del proyecto. Bien, pues aquí los tienes:


Descargar ficheros.


El gráfico de la nave se encuentra ya en el proyecto, lo tienes en Content/Graficos


Saludos!

martes, 7 de octubre de 2008

Moviendo la nave.

Como comente en el anterior post, primero voy a poner el código del juego para que te vayas animando al ver algo en movimiento y para los que ya tienen algo de conocimientos no se aburran, lo explicare muy por encima, pero no te preocupes si no entiendes muchas cosas, en los siguientes tutoriales lo iré explicando.

lunes, 6 de octubre de 2008

Ya tenemos grafico para la nave.

Ya tenemos protagonista, gracias al amigo Fran, un crack que es capaz de hacer algo como el video que pongo a continuación, que se ha currado esta nave. Thank's Fran!



Poco a poco vamos dando forma a nuestro clon de Asteroids. ¿Habrá que ponerle un nombre no? ¿Alguna sugerencia?






viernes, 3 de octubre de 2008

Nuestra nave ya se mueve.

He pensado mucho en como plantear los tutoriales, es un poco complicado sincronizar los de C# y los de XNA, para poder empezar a programar un juego necesitas unas bases de C# y programación, pero si me pongo con tutoriales de programación general y paso del XNA te vas a cansar o a desanimar, ya que lo que tú quieres es crear un juego.

Así que he decidido hacerlo de la siguiente manera:


Primero hare un capitulo de XNA, construyendo nuestro juego, poco a poco, pondré el código y lo explicare un poco y  aunque no sepas para que sirven algunas líneas de código no te desanimes, porque lo siguiente que hare serán los tutoriales de C# basados en el código del juego y explicando que es cada cosa. De esta forma iremos viendo como se crea el juego, que ver cosas en movimiento siempre anima y después aprenderemos como se hacen las cosas y porque.


 No he tenido mucho tiempo estos días y no he podido preparar el tutorial de XNA, pero sí que he podido picar el código del siguiente capítulo, este es el resultado:


[youtube=http://es.youtube.com/watch?v=WZlM2vW1Ylo]


 Un par de aclaraciones, el grafico de la nave no es el definitivo, es uno cutre rápido que me he creado para el ejemplo, tendremos grafista para el juego, ya hablaremos de ello.


La música de fondo es un tema original que me han pasado para el juego, será la que usaremos en el menú del juego, también hablare de esto un poco más adelante.


Por último, si ves que la nave al moverse da pequeños saltos, no te preocupes, cuando lo hagas tú te funcionará bien, es lo que tiene grabar el video con una calidad no muy alta...

jueves, 2 de octubre de 2008

Demo de Pro Evolution 2009 ya disponible.

¿Es que necesitas algo más? ¡Corred insensatos!

[caption id="attachment_98" align="aligncenter" width="300" caption="Posiblemente el mejor juego de futbo"][/caption]

miércoles, 1 de octubre de 2008

Gears of War 2


Mientras preparo los siguientes tutoriales, os voy a hablar de uno de los juegos que más estoy esperando. No voy a ser muy original, Gears Of War 2.


A falta de algo más de un mes para su lanzamiento, ya es mucha la información que se sabe sobre el juego que revoluciono los el género de acción táctica llevándolo al gran público.


El sistema de juego no va a cambiar mucho en esta segunda parte, a la que se le dará más importancia a la historia que en la primera parte, profundizando más en la guerra entre humanos y Locus, solo espero que el modo historia dure algo más que en el uno.


Todo será más grande y mejor, entornos destructibles, más armas (mención especial al lanzallamas y al mortero), más enemigos…


A la espera de que el juego sea lanzado y pueda jugar con él  y probar el modo historia, y sobre todo el multijugador os dejo con el tráiler del juego.







martes, 30 de septiembre de 2008

Nuestro juego. Un clon de Asteroids.


Posiblemente sea uno de los juegos más versionados y clonados de la historia de los videojuegos, y nosotros no íbamos a ser menos, es el juego perfecto para aprender, practicar y adquirir conocimientos para afrontar proyectos más complejos.


El juego consiste en una pequeña nave espacial que se mueve por la pantalla, disparando a los asteroides  que aparecen en su camino y evitando chocar con estos o con sus restos.


Un juego que se lanzó en 1979 y que aún hoy se sigue jugando y versionando no puede ser malo.


Juego en flash.







 

lunes, 29 de septiembre de 2008

Estructura de un proyecto XNA.

Hoy vamos a ver como es un proyecto XNA y de que se compone. El otro día ya vimos como se creaba y también vimos como crear una clase y como instanciarla, hoy toca el turno de ver un poco más en detalle lo que hicimos y vamos a preparar el entorno para nuestro primer juego.


Lo primero que hemos de hacer es crear el proyecto:


1- Vamos al menú Archivo -> Nuevo -> Proyecto o Ctrl. + Mayús. + N o el icono



sábado, 27 de septiembre de 2008

C#.Capitulo 1: Programación orientada a objetos.

Una de las cosas que más me costó comprender y asimilar cuando empecé en esto de programar fue la orientación a objetos, tal vez por que aprendí con C, que es un lenguaje secuencial no orientado a objetos, tal vez porque no me lo explicaron bien o tal vez porque no doy para más, no lo sé, la cuestión es que me costó lo suyo.

Para explicar la orientación a objetos siempre se pone el ejemplo del coche, que tiene ruedas y un color y bla bla bla…, nunca me ha parecido un buen ejemplo, aunque conceptualmente no es malo, no me ayuda a comprender de que va el tema, por eso voy a intentar explicártelo tal y como a mí me hubiese gustado que me lo explicasen, aunque si no lo entiendes no dudes en preguntar en los comentarios.


Un programa informático, no es más que una serie de instrucciones que le damos a la máquina para que se comporte como nosotros queremos, y como todos sabemos, las máquinas son tontas, por lo tanto tenemos que decirles cómo han de hacer las cosas y para eso tenemos los lenguajes de programación como C#, que es un lenguaje orientado a objetos.


Los objetos son construcciones de programación que se componen de datos, comportamiento e identidad. Los datos del objeto se encuentran en los campos, propiedades y eventos del objeto; los métodos e interfaces del objeto definen los comportamientos del objeto.


Duke Nukem 3D en LIVE Arcade


Si nena, si

Si nena, si


jueves, 25 de septiembre de 2008

Creación de un proyecto XNA

Para empezar a crear nuestro juego necesitamos tener las herramientas necesarias: Microsoft Visual C# Express (nosotros vamos a usar la versión 2005) y XNA Game Studio 2.0, ya está disponible la versión 3.0, pero de momento esperaremos a que deje de ser una versión beta para usarla.


Las podemos descargar gratuitamente desde creators.xna.com, una vez las tenemos descaradas e instaladas podemos empezar a programar.



martes, 23 de septiembre de 2008

¿Qué es XNA?

Que levante la mano el que no haya pensado en crear alguna vez su propio juego, es algo que todos los apasionados de los videojuegos hemos querido hacer, pero que normalmente por falta de conocimientos, que no de ganas, siempre se ha quedado en eso, pensamientos.
Tal vez hayas hecho tus pinitos con alguna herramienta de creación a base de menús, como puede ser RPG Maker, pero son herramientas centradas en un genero concreto, en este caso el rol por turnos en 2D, también existen algunos lenguajes de programación orientados a crear juegos en 2 Dimensiones, como Fenix , pero son lenguajes algo limitados y mal documentados.
El año pasado Microsoft lanzo una API (un conjunto de funcionalidades) basada en .Net 2.0 para la creación de videojuegos para Xbox 360 y PC a la que llamó XNA. Aunque debido a su arquitectura .Net soporta la programación bajo varios lenguajes, el usado por XNA es C#.
Esto quiere decir que XNA Game Studio nos facilita la tarea de la programación, consiguiendo que el tiempo de creación de un videojuego se disminuya considerablemente, así como la dificultad de programarlo.
Si no sabes programar no te preocupes ya que aquí aprenderás desde cero, sin tener conocimientos previos, para que el juego que está en tu mente, también lo esté en tu PC.

lunes, 22 de septiembre de 2008

Hello world!

Primer post, y como no podía ser de otra manera es de bienvenida. No me voy a limitar a escribir artículos sobre XNA, la idea principal de este blog es la de crear un juego desde cero, post a post, además de escribir artículos sobre programación básica en C#, para que todo el que quiera, aún sin tener conocimientos previos de programación pueda crear sus propios juegos para PC y XBOX 360. También hablaré sobre algunos lanzamientos para XBOX 360, los que más me interesen. Así pues, espero veros por aquí creando junto a mí.
class HolaMundo
{
public static void Main()
{
System.Console.WriteLine("¡Hola, mundo!");
}
}