Gracias Gracias:  11
Página 1 de 5 12345 ÚltimoÚltimo
Resultados 1 al 15 de 62

Tema: Proyecto fin de carrera xna

  1. #1
    Relojero 3D Avatar de kiko_L
    Fecha de ingreso
    Dec 2005
    Ubicación
    Pamplona
    Mensajes
    1,819

    Proyecto fin de carrera. XNA

    Hola a todos, primero decir que este tema no sé muy bien donde ponerlo: Es un trabajo en proceso, pero no de modelado, ni animación, podría ponerlo en videojuegos, pero no es un videojuego exactamente, es más bien una aplicación.
    Me explico mejor: Hace un tiempo dejé el proyecto fin de carrera (curro + proyecto de = aburrimiento y fracaso) así que, me he decidido a empezar otro en algo más divertido.
    Se trata de programar una aplicación en XNA (entorno de desarrollo en C# para programar en DirectX (http://es.wikipedia.org/wiki/Microsoft_XNA)), en la cual cargaré una escena creada en 3D Studio Max (una habitación) y la cual podré recorrer con el mando de la Wii conectado a mi ordenador.
    Dado que mucha gente hace la típica pregunta "Quiero hacer un juego ¿Cómo se hace? " he pensado que está podría ser una buena oportunidad para qué la gente se inicie en la programación de juegos o aplicaciones 3D.
    Espero que a la gente le interese y poder así ir explicando los pasos que voy dando (creación de cámaras, carga de escenas, iluminación, etc.)

    Edito: Se me olvidaba comentar que también se pueden programar juegos y aplicaciones para la XBox 360.
    Un saludo a todos.
    Miniaturas adjuntadas Miniaturas adjuntadas Proyecto fin de carrera xna-xna.jpg  
    Última edición por kiko_L; 01-03-2010 a las 20:14

  2. #2
    Abe Avatar de a caramecha
    Fecha de ingreso
    Mar 2009
    Ubicación
    Vigo
    Mensajes
    551

    Respuesta: Proyecto fin de carrera. XNA

    Adelante te sigo

  3. #3
    My Member
    Fecha de ingreso
    Jan 2008
    Ubicación
    Pamplona
    Mensajes
    348

    Respuesta: Proyecto fin de carrera. XNA

    Yo también me apunto a seguir el hilo que seguro que hay muchas cosas interesantes que, aprender. Coño y además de Pamplona, eso hay que verlo.
    Última edición por Rompecabezas; 01-03-2010 a las 22:26

  4. #4
    Relojero 3D Avatar de kiko_L
    Fecha de ingreso
    Dec 2005
    Ubicación
    Pamplona
    Mensajes
    1,819

    Respuesta: Proyecto fin de carrera. XNA

    Gracias a los dos. Aún no sé muy bien como enfocarlo. No sé si ir poniendo avances que consiga o hacer un minitutorial, o una mezcla de las dos. Aún estoy verde porque estoy aprendiendo, pero creo que no es mala idea ir poniendo aquí lo que voy aprendiendo a modo de repaso. Saludos

  5. #5
    Usuario completo Avatar de Sadyk
    Fecha de ingreso
    Jun 2008
    Ubicación
    madrid
    Mensajes
    519

    Respuesta: Proyecto fin de carrera. XNA

    Yo iría subiendo avances explicandolos y resolviendo las dudas.
    Seguiré el hilo, me parece muy interesante el tema de XNA, pues tengo un manual, pero no me decido a empezarlo, porque no se c#.
    Pero algún día lo empezaré (por algo me gaste los 30 euros).
    Lo que ma ha llamado la atención es lo del mando de la wi, como lo piensas hacer? Me parece muy interesante
    DICEN que tras la muerte está la vida eterna. Yo prefiero ensañarme con el cuerpo.

  6. #6
    That's moronic Avatar de Hulkong
    Fecha de ingreso
    Jan 2008
    Ubicación
    Madrid
    Mensajes
    3,313

    Respuesta: Proyecto fin de carrera. XNA

    Suerte, tienes al público expectante.
    -
    Efecto mariposa. Nombre técnico: dependencia sensitiva de las condiciones iniciales.

    Por un clavo, se perdió la herradura;
    Por una herradura, se perdió un caballo;
    Por un caballo, se perdió un jinete;
    Por un jinete, se perdió la batalla;
    Por una batalla, se perdió el reino.

    Flickr

  7. #7
    Relojero 3D Avatar de kiko_L
    Fecha de ingreso
    Dec 2005
    Ubicación
    Pamplona
    Mensajes
    1,819

    Respuesta: Proyecto fin de carrera. XNA

    Cita Iniciado por Sadyk Ver mensaje
    yo iría subiendo avances explicandolos y resolviendo las dudas.
    Seguiré el hilo, me parece muy interesante el tema de XNA, pues tengo un manual, pero no me decido a empezarlo, porque no se c#.
    Pero algún día lo empezaré (por algo me gaste los 30 euros).
    Lo que ma ha llamado la atención es lo del mando de la wi, como lo piensas hacer? Me parece muy interesante.
    Existe una librería preparada para usar el mando de la Wi, y lo primero que hice fue cerciorarme que era compatible con XNA. He visto que hay algún ejemplo hecho por la red, aunque la verdad que no son muchos. Estoy esperando a qué me llegue un conector bluetooth que compré para empezar a probar.
    Mañana espero poner un poco de teoría básica de cómo es un programa sencillo en XNA. Saludos y gracias.

  8. #8
    Relojero 3D Avatar de kiko_L
    Fecha de ingreso
    Dec 2005
    Ubicación
    Pamplona
    Mensajes
    1,819

    Respuesta: Proyecto fin de carrera. XNA

    Bueno venga, voy a empezar con lo básico, los requisitos:
    * Visual C# express edition (gratuito con un simple registro): http://www.Microsoft.com/express/Dow...2008-Visual-CS (Si tenéis la versión pro perfecto, pero con la express funciona perfectamente).
    * XNA Game Studio 3.1 (también gratuito): http://www.Microsoft.com/downloads/d...displaylang=en.
    Simplemente con estos dos instaladores tendríamos todo lo necesario para empezar a hacer nuestros juegos.
    Os pongo también unos enlaces de interés:
    * Desarrollo dirigido a XBox 360: http://www.xbox.com/en-US/dev/regdev.htm.
    * Comunidad XNA: http://creators.xna.com/en-US/.
    * Blog sobre XNA: http://aprendiendoxna.wordpress.com/.
    Libro sobre XNA:
    * Learning XNA 3.0 (O'reilly) :http://oreilly.com/catalog/9780596521967 (Lo estoy leyendo y es muy interesante)

  9. #9
    Relojero 3D Avatar de kiko_L
    Fecha de ingreso
    Dec 2005
    Ubicación
    Pamplona
    Mensajes
    1,819

    Respuesta: Proyecto fin de carrera. XNA

    Lección 1 tSi no se tienen nociones de programación es mejor comenzar con lo básico. Aquí voy a dar por sabidas muchas cosas en cuestión de programación, como, por ejemplo, qué es una clase, herencia, qué es un método, paso de parámetros, etc.
    Vamos a crear nuestra primera aplicación XNA (un juego, aunque no tenga nada). Para ello iniciamos Visual Studio y creamos un nuevo proyecto tipo Windows game (Como se muestra en la primera imagen). Le ponemos el nombre que queramos.
    Vamos a ver qué pasa cuando compilamos el programa (Build--> Generar Solución o Ctrl+Shift+B) y lo ejecutamos (Debug--> Iniciar Depuracción o F5). (Se adjuntan dos imágenes).
    Lo que obtenemos lo vemos en la 4ª imagen. Es una simple pantalla azul, pero en esencia eso es nuestro primer juego en XNA.
    Mañana explicaré la estructura básica del programa (que al final siempre es la misma). Un saludo.
    Miniaturas adjuntadas Miniaturas adjuntadas Proyecto fin de carrera xna-leccion1_1.jpg   Proyecto fin de carrera xna-leccion1_2.jpg   Proyecto fin de carrera xna-leccion1_3.jpg   Proyecto fin de carrera xna-leccion1_4.jpg  


  10. #10
    Relojero 3D Avatar de kiko_L
    Fecha de ingreso
    Dec 2005
    Ubicación
    Pamplona
    Mensajes
    1,819

    Respuesta: Proyecto fin de carrera. XNA

    Sigamos con las lecciones:
    using System;.
    Using System. Collections. Generic;.
    Using System. Linq;.
    Using Microsoft.Xna. Framework;.
    Using Microsoft.Xna. Framework. Audio;.
    Using Microsoft.Xna. Framework. Content;.
    Using Microsoft.Xna. Framework. GamerServices;.
    Using Microsoft.Xna. Framework. Graphics;.
    Using Microsoft.Xna. Framework. Input;.
    Using Microsoft.Xna. Framework. Media;.
    Using Microsoft.Xna. Framework. Net;.
    Using Microsoft.Xna. Framework. Storage;.
    Namespace MiPrimerProgramaXNA.
    {.
    /// <summary>.
    /// This is the main type for your game.
    /// </summary>.
    Public class game1 : Microsoft.Xna. Framework. Game.
    {.
    GraphicsDeviceManager graphics;.
    SpriteBatch spriteBatch;.
    Public Game1().
    {.
    Graphics = new GraphicsDeviceManager(this);.
    Content. RotDirectory = "Content";.
    }.
    /// <summary>.
    /// Allows the game to perform any initialization it neds to before starting to run.
    /// This is where it can query for any required services and load any non-graphic.
    /// related content. Calling base. Initialize will enumerate th rouge any components.
    /// and initialize them as well.
    /// </summary>.
    Protected override void Initialize().
    {.
    // TODO: Add your initialization logic here.
    Base. Initialize();.
    }.
    /// <summary>.
    /// LoadContent will be called once per game and is the place to load.
    /// all of your content.
    /// </summary>.
    Protected override void LoadContent().
    {.
    // Create a new SpriteBatch, which can be used to draw textures.
    SpriteBatch = new SpriteBatch(GraphicsDevice);.
    // TODO: use this. Content to load your game content here.
    }.
    /// <summary>.
    /// UnloadContent will be called once per game and is the place to unload.
    /// all content.
    /// </summary>.
    Protected override void UnloadContent().
    {.
    // TODO: Unload any non ContentManager content here.
    }.
    /// <summary>.
    /// Allows the game to run logic such as updating the world.
    /// checking for collisions, Gathering input, and playing audio.
    /// </summary>.
    /// <param name="gameTime">Provides a snapshot of timing values.</param>.
    Protected override void Update(GameTime gameTime).
    {.
    // Allows the game to exit.
    If (GamePad. GetState(PlayerIndex. One). Buttons. Bak == ButtonState. Pressed).
    This. Exit();.
    // TODO: Add your update logic here.
    Base. Update(gameTime);.
    }.
    /// <summary>.
    /// This is called when the game should draw itself.
    /// </summary>.
    /// <param name="gameTime">Provides a snapshot of timing values.</param>.
    Protected override void Draw(GameTime gameTime).
    {.
    GraphicsDevice. Clear(Color. CornflowerBlue);.
    // TODO: Add your drawing code here.
    Base. Draw(gameTime);.
    }.
    }.
    }
    .
    Nuestra clase principal tendrá esta forma. En ella se disitinguen varios elementos clave:
    Variables:
    * GraphicsDeviceManager graphics: Este objeto representa el dispositivo gráfico actual de nuestro ordenador. Se podría decir que va a hacer de "puente" entre nuestra aplicación y la GPU de nuestra tarjeta gráfica. Es vital por TODO lo que hagamos en nuestra pantalla va a pasar por este objeto.
    * SpriteBatch spriteBatch: Este objeto lo usaremos a la hora de dibujar un sprite (se considera sprite a cualquier imagen 2D o 3D integrado en una escena. Un juego en 2D, por ejemplo, se hará mediante la inclusión de varios sprites (enemigos, fondos, etc.)).
    Métodos:
    * Initialize(): En este método podremos inicializar cualquier variable que utilicemos en nuestro programa.
    * LoadContent(): Se utiliza para cargar el contenido que vayamos a utilizar en nuestro programa (texturas, objetos 3D, etc).
    * UnloadContent(): Tiene el efecto contrario. Descargar y liberar todos los recursos obtenidos por el programa.
    * Update(GameTime gameTime): Este método es uno de los más importantes, en él definiremos que queremos que pase cuando se actualice el estado de ciertas variables. Por ejemplo, si queremos implementar una cámara qué cuando pulsemos la tecla W se mueva hacia adelante, tendremos que definir en el método Update dicha transformación (cómo cambia la cámara para qué se mueva).
    Vemos que en nuestro ejemplo el programa comprueba en dicho método si el Pad de la XBOX esta conectado y a continuación vuelve a llamarse a sí mismo (con esto concluimos que el programa no es otra cosa qué un bucle infinito que espera a qué se produzcan eventos como una tecla pulsada para cambiar su estado).
    Se observa también que existe una variable llamada gameTime ¿Qué hace esta variable? Pues nos indica el tiempo que ha pasado desde que ha comenzado a ejecutarse el programa ¿Y para qué? Para determinar cuando deben pasar las animaciones, etc ya que los ordenadores no siempre tienen la misma velocidad y aplicaciones que en un ordenador van bien en otros podrían ir muy rápido o muy despacio.
    * Draw(GameTime gameTime): Este es el método que se va a encargar de "dibujar" nuestros objetos en la pantalla.
    Siempre se suele intentar que el método Draw sea únicamente el que cargue los objetos, texturas, y que la lógica del programa ocurra en los métodos Update de las diferentes clases. Y aquí llegamos a otro punto:
    ¿Cuántos métodos Update se tienen?
    Pues pueden ser muchos, uno por clase que creemos. En ocasiones necesitaremos que hagan algo, en otras no. Todo depende de cómo organicemos nuestro código. Veremos esto más adelante

  11. #11
    Relojero 3D Avatar de kiko_L
    Fecha de ingreso
    Dec 2005
    Ubicación
    Pamplona
    Mensajes
    1,819

    Respuesta: Proyecto fin de carrera. XNA

    Os pongo una captura de pantalla de un juego programado en XNA (y descargable desde aquí http://exdream.com/XnaRacingGame/). El juego es totalmente configurable (conocimientos de XNA) para añadir lo que desemos (coches nuevos, texturas diferentes, niveles, etc).
    Como veis la potencia de XNA es mucha, toda la qué vuestro conocimiento os vaya dando. Las posibilidades son infinitas (shaders, física, colisiones, etc.)
    Miniaturas adjuntadas Miniaturas adjuntadas Proyecto fin de carrera xna-racing_game_full.jpg   Proyecto fin de carrera xna-xnaracer.jpg  

  12. #12
    Relojero 3D Avatar de kiko_L
    Fecha de ingreso
    Dec 2005
    Ubicación
    Pamplona
    Mensajes
    1,819

    Respuesta: Proyecto fin de carrera. XNA

    Y por último hoy, os dejo un video de una aplicación que hice la semana pasada. Simplemente es la carga de un objeto 3D que hice con 3D Studio Max (y colgué por aquí hace cosa de año y pico) y una cámara libre con la qué movernos por la escena.
    Espero que el video se vea bien, si no se ve lo cambio
    Archivos adjuntados Archivos adjuntados

  13. #13
    Estudiante Avatar de krateos_29
    Fecha de ingreso
    Sep 2007
    Mensajes
    943

    Respuesta: Proyecto fin de carrera. XNA

    Parece interesante el proyecto. Le tendré reservado un ojo.

  14. #14
    GañaaaannNN!!!!!! Avatar de wurthkiller
    Fecha de ingreso
    Feb 2006
    Ubicación
    Zaragoza-España
    Mensajes
    367

    Respuesta: Proyecto fin de carrera. XNA

    Me parece un tema cojo, apasionante, buen hilo. Estaré atento, aunque por lo poco que he leído veo que esto de la programación se me queda un poco grande(o eso, o es pereza qué no sé qué es peor). Pero voy a seguir el hilo con mucho interés, a ver si consigo hacer algo fuera del agro3D.
    Mis felicitaciones, es un gran hilo. Un saludo.
    Posdata: Van 5 estrellicas
    "Caga mas un buey que cien golondrinas..."

    (refrán aragones)
    www.bntestudio.es

  15. #15
    Usuario Avanzado Avatar de emguepo
    Fecha de ingreso
    Oct 2009
    Ubicación
    Cartagena, Colombia
    Mensajes
    205

    Respuesta: Proyecto fin de carrera. XNA

    Muy interesante, estaré pendiente de esto, aunque como dicen por ahí " esto de la programación me queda un poco grande(o eso, o es pereza qué no sé qué es peor.)". Saludos, excelente hilo,

Página 1 de 5 12345 ÚltimoÚltimo

Temas similares

  1. Proyecto de último año de carrera
    Por Furan en el foro Videojuegos
    Respuestas: 9
    : 03-12-2019, 20:06
  2. Proyecto fin de carrera
    Por Jimmy78 en el foro Quien eres tu - Aqui puedes presentarte
    Respuestas: 3
    : 31-12-2008, 05:31
  3. Proyecto fin de carrera ii
    Por anatole en el foro Trabajos Finalizados
    Respuestas: 6
    : 20-09-2008, 12:16
  4. Proyecto fin de carrera
    Por anatole en el foro Trabajos Finalizados
    Respuestas: 8
    : 12-09-2008, 11:27
  5. Proyecto fin de carrera arquitectura-
    Por M_acto en el foro Trabajos Finalizados
    Respuestas: 30
    : 15-04-2007, 22:33

Actualmente estos son sus permisos de publicación en el foro.

  • -No puedes crear nuevos temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes responder temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes subir archivos adjuntos al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes editar tus mensajes al no estar registrado o no haber iniciado sesión en el foro.
  •