Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Menu

Mostrar Mensajes

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

Mostrar Mensajes Menu

Mensajes - tamudo

#31
Cita de: "Mars Attacks"¿Alguien puede grabarlas y subirlas?

Me sumo a la propuesta
#32
Programación gráfica / Re: Comparativa de Engines
11 de Enero de 2008, 05:38:02 PM
Cita de: "Tarzan"He leído los post de tamudo y he de reconocer que hay información muy buena sobre Ogre3D pero, tal vez podríamos avanzar un poco más si lo comparamos con las características que presentan otros engines: irrlicht, TrueVision3D, etc..)

Propongo escribir un post (dentro de este mismo) cuyo título sea Engine1 VS Engine2 y cuyo contenido hable únicamente de esos dos engines.
Evidentemente si alguien tiene más información sobre los mismos puede escribir otro post incluyéndola. (Es una idea, no quiero que nadie piense que trato de forzar un sistema)... Tal vez lo suyo sería tener un tema general titulado Engines y dentro del mismo hablar sobre unos y otros...
8)  gracias por la parte que me toca. Si quieres ponerte con ello te animo a hacerlo. Yo no se si será más o menos interesante lo que he escrito, pero al menos he aprendido bastante. Claro que yo estoy haciéndolo porque me mandaron escribir algo sobre videojuegos para la facultad... bueno, el tema es que tu tengas motivación para hacerlo. Venirte mal no va a venirte, tu ya ves lo que haces. venga ANIMO!
#33
me ha parecido IMPRESIONANTE! el acabado está genial, la música y los gráficos muy buenos. El estilo de juego es simple pero adictivo. Y no se si los demás habéis visto el editor de misiones, ya que nadie ha comentado nada. Está muy conseguido y es superintuitivo. Va incrustado en el juego y  viene con mucha ayuda incluida. Mi más sincera enhorabuena. Además es lo que dice zwiTTeR:
Cita de: "zwiTTeR"... y es que habéis encajado la parte "didáctica" muy bien dentro de la estructura del juego, ofreciendo mucha información pero sin obligar a nadie a leerla.
Soy andaluz y me siento muy orgulloso de vuestro trabajo, a ver si llego al nivel de Málaga y veo que es lo que ponéis de mi city  8). Por cierto, me interesa mucho saber qué pasos habéis tenido que dar para conseguir la subvención por parte de la junta.

También podríais explicar un poco, si no os importa, qué tal el proceso de desarrollo. Las librerías que habéis usado, herramientas utilizadas, tiempo que os ha llevado terminarlo... y alguna dificultad que halláis encontrado.

MUCHA SUERTE Y ANIMO!


PD: La web y la tienda de camisetas geniales
#34
Programación gráfica / Introducción a Ogre3D
09 de Enero de 2008, 01:05:27 PM
Tengo listo el siguiente artículo de introducción a OGRE, pero hay una parte que puede que algunos términos no los halla castellanizado bien, sobre todo nombres de algunas técnicas gráficas. La lista de caracteristicas técnicas la he sacado de aquí. Si encontrais alguna cosa rara me lo comentais, os estaré muy agradecido. Sino veis nada pos lo publicaré tal cual en el blog.

-----------------------------------------------------------------------------------------


Caracteristicas generales

    - Diseño orientado a objetos. Interfaz simple y fácil de usar, diseñada para que requiera poco esfuerzo el renderizado de escenas en tres dimensiones
    - Arquitectura basada en plugins muy flexible que permite extender las funcionalidades del motor
    - Sistema de Carga/Respaldo. Soporte de zip/pk3 para archivar
    - Diseño limpio y bien documentado de las clases del motor
    - Independiente de la API gráfica, se puede utilizar OpenGL o DirectX


Renderizado

    - Material LOD
    - Soporta la gama completa de operaciones de función fija como multitextura y multipass blending, coordinación de generación de texturas
    - Soporte para múltiples técnicas de materiales
    - Objetos transparentes gestionados automáticamente
    - Sistema de fuentes con fuentes TrueType y texturas precreadas
    - Sistema de GUI 2D con botones, listas, cajas de edición, barras de desplazamiento, etc. (Usando CEGUI)


Gestión de escena

    - Altamente personalizable. Flexible gestión de escena no vinculada a ningún tipo de escena. Se puede usar las clases predefinidas si encajan bien o crearse subclases propias para obtener un control total sobre la organización de la escena
    - Grafo de escena jerarquico
    - BSP, Octrees, Occlusion Culling, LOD


Texturizado

    - Básico, multi-texturizado, bumpmapping, mipmapping, texturas volumétricas y proyectadas
    - Texturizado proyectivo automático entre vínculos con texturas unitarias a instancias Frustum
    - Puede registrar textura de fuentes externas
    - Soporta PNG, JPEG, TGA, BMP y DDS  como archivos de imagen


Iluminación

    - Por vértice, por pixel, Lightmapping
    - Puede tener un número ilimitado de luces en la escena
    - Soporte a través de programas de vértices y de fragmentos.

Sombras

    - Shadow mapping, shadow volume
    - Técnicas soportadas: modulative stencil, additive stencil, modulative projective
    - Múltiples esténciles para optimizaciones de sombras, incluyendo programas de vertices de extrusión, luz y sombras inteligentes, integración con la malla LOD, métodos zpass y zfail, esténciles de doble cara y saturación de recorte de región.
    - Textura sombras que se desvanecen a larga distancia


Shaders

    - Vertex y  pixel shaders de alto nivel
    - Soporta programas de vértices y de fragmentos de bajo nivel escritos en ensamblador, y programas de alto nivel en Cg, HLSL, y GLSL


Animación

    - Cinemática inversa, animación esquelética, animación de mezcla:
    - Animación del esqueleto, incluyendo la mezcla de múltiples animaciones y de peso variable de skinning de huesos


Mallas

    - Cargado de malla, skinning, progresivo
    - Aceleración de skinning por hardware
    - Flexibilidad en los formatos de malla de datos aceptados
    - Exportadores para muchas herramientas de modelado incluidas Milkshape3D, 3D Studio Max, Maya, Blender y Wings3D.


Curvas y superficies

    - Splines
    - Caminos Bezier bicuadrados para superficies curvas


Efectos especiales

    - Cartografía de medio ambiente, billboarding, sistema de partículas, motion blur, cielo, agua, niebla
    - Sistemas de partículas, incluyendo emisores fácilmente extensibles y affectors (personalizable mediante plugins). Los sistemas pueden ser definidos mediante scripts para un ajuste fácil
    - Soporte para skyboxes, skyplanes y skydomes, muy fáciles de usar

Scripting

    - El lenguaje de script permite mantener los materiales fuera del código
    - Scripts de renderizado multipaso


Física

    - Física básica, detección de colisiónes, cuerpos rígidos
    - Controladores que permiten organizar fácilmente los valores entre los objetos derivados
    - Incluye bindings para múltiples sistemas de colisión/física de terceras partes, como ODE o Newton


----------------------------------------------------------------------------------

El artículo ya ta casi listo, me queda revisar nada más esta parte, por favor echarle un ojo y me comentais.

Un saludo
#35
Programación gráfica / Introducción a Ogre3D
08 de Enero de 2008, 08:40:24 PM
Cita de: "Juan Mellado"Ya estás dentro, he incluido la categoría "videojuegos" de tu blog dentro del Planet.

¡Gracias por colaborar!

Saludos.

Hey! ya me he visto en el planet  8). Por cierto, me acabo de dar cuenta que tengo 3 post que se llaman prácticamente igual! vaya despiste! toi empanao xD

Otra cosa, tengo una duda, si actualizo los post por alguna errata o algo, se vuelven a publicar en el planet?. Es por andar con más precaución o menos antes de publicar. Además los post largos que le pongo el tipico "Continuar leyendo" los tengo que hacer a mano actualizando el post. Aunque si le pongo la etiqueta videojuegos despues de actualizarlo... bueno, si veis que salen post duplicados o algo me lo decís (estaré yo atento tb). Bueno, espero aportar cosas interesantes.

Un saludo
#36
Proyectos / Motor de modelado emocional
08 de Enero de 2008, 05:30:09 PM
Cita de: "zwiTTeR"Jejeje, tiene buen aspecto, estaría bien aplicarlo a todo un pequeño "mundo" o ciudad y ver lo que hace cada personajillo xD.

Suerte!

ya te digo! como molaría!

Cita de: "quique.martinez"Me haría mucha ilusión verlo integrado en un videojuego pero no sé cómo se programa un videojuego a nivel de producción, o cómo podría compartirlo con alguien interesado (el núcleo está en C++ con STL y más externamente he usado .NET)

Se podría aplicar para automatizar algunas reacciones emotivas básicas. Que los npcs se acercaran o se alejaran de ti en función de tu carisma, tu aspecto, tu reputación o tus inquietudes. Cosas parecidas se ven, pero supongo que con mucho código por debajo, un motor que automatice las respuestas emotivas parece muy útil para cierto tipo de juegos, como los tipo sims o los juegos de rol. A ver si alguien se anima y te ayuda con el juego. ANIMO!
#37
Cita de: "Mars Attacks"Al final antes de acostarme anoche me lo pasé. Creía que habría más fases, ciertamente te quedas con ganas de más. Qué estrés, qué jaleos, qué simple y a la vez complicado, qué chulo eso de jugar a través del tiempo contigo mismo :D

Ostia que chulo! Tan simple y tan adictivo, también se me ha hecho to corto, al final lo chungo es hacerte una buena puntuación
#38
Programación gráfica / Introducción a Ogre3D
07 de Enero de 2008, 05:15:38 PM
Cita de: "[Fonet"]Me interesa mucho estos tutoriales, y estaría muy bien que estubieran en tu blog en pdf, yo ya me los estoy pasando a PDF.

Estoy seguro que mucha gente se los descargaria para cuando decidiera comenzar con OGRE.
Cita de: "Mars Attacks"Un buen documento introductorio :)
Me alegro de qué os haya gustado  :D, muchas gracias por los comentarios. Por cierto Fonet, dicho y hecho. Poco a poco iré colgando lo que vaya haciendo. Voy un poco retrasado, pues a día de hoy debería tener terminado casi entero y todavía me faltan algunas cosas por tocar.

Cita de: "[EX3"]Podrias publicar tu blog en el Planet Stratos e ir comentandolo inclusive en algunos foros y demas, no se como lo haran los demas pero se que esto de los blogs va mucho en linea del "boca en boca" para dar a conocer nuevos blogs. Otra seria que en la firma aparte del nombre del blog pusieras alguna frase corta que describiera o detallara lo de los tutoriales, asi la gente captaria su atencion.

Ya conocía el planet. De hecho, lo sigo regularmente y mucho de lo que se publica me interesa bastante. Pues no tengo ningún problema en publicar en el planet stratos! pero, ¿qué tengo que hacer? Me tengo que poner en contacto con Juan Mellado? parece que es él el que tiene alojado el planet. Bueno, pues ya me comentáis.

Un saludo
#39
Programación gráfica / Introducción a Ogre3D
04 de Enero de 2008, 11:56:53 AM
Cita de: "[EX3"]Un consejo. Mi recomendacion seria que te montaras una web o un blog donde subir estos articulos ya que aqui en el foro con el tiempo se perderan "como lagrimas en la lluvia" y seria como tirar trabajo a la basura. En el blog podras incluso organizarlo por categorias. De esta forma siempre estaria a mano de todos y sin tener que hacer submarinismo por el foro :)
Pues esa era mi intención. Pero se me ocurrió de ponerlo antes por aquí ya que muchos soys ya expertos en estos temas y quizás teníais algun comentario que hacerme sobre el artículo, algún feedback o aporte interesante que pudiera incluir,algún gazapo o un fallo en alguno de los pasos del tutorial.

Sinceramente, mi blog es nuevo y apenas lo lee nadie y ya que tengo que hacerlo (y quiero, que el tema lo he elegido yo! xD) pues qué el mayor número de gente se aproveche de mi trabajo y les pueda ser útil. Pero bueno, seguiré tu consejo e iré pasando los artículos a mi blog. Por cierto muchas gracias por tu comentario.

Cita de: "[EX3"]
phpBB por defecto no tiene etiquetas para alineacion de textos.
ammm, es que encontre esto pero al probar los comandos, en la vista previa funcionaban nada más los que vienen en el editor del foro
#40
Programación gráfica / Introducción a Ogre3D
03 de Enero de 2008, 11:32:48 PM
Introducción

Un motor hace referencia a una serie de rutinas de programación que permiten el diseño, la creación y la representación del juego. La analogía con el motor de un automóvil es bastante  ilustrativa: el motor debajo del capó no es visible, pero le da la funcionalidad al automóvil que es la de transportar. La misma analogía permite explicar algunos de los aspectos que, generalmente, maneja un motor de juegos, en el que las texturas y los modelos 3D serían la carrocería, pintura e interiores.

Del mismo modo en que carrocería, pintura y exteriores no andan sin un motor, el arte y los guiones del juego no funcionan sin un motor de juegos. Un motor de juegos es el núcleo software de un videojuego o de una aplicación interactiva con gráficos en tiempo real. Éste provee las tecnologías necesarias, simplifica el desarrollo y, en algunos casos, permite el desarrollo para distintas plataformas (Mac/Linux/Windows/Consolas).

Existen muchas librerías que proporcionan las funciones básicas de un motor de juegos, como DirectX, OpenGL, Java3D, SDL, Newton, entre otros. Las librerías gráficas como OpenGL y  
DirectX usan los drivers de las tarjetas gráficas, de forma que constituyen la interfaz entre la aplicación software (juego) y el adaptador gráfico hardware. Aúnan funciones para dibujar objetos 2D/3D y los motores gráficos se suelen sustentar en ellas. Una librería gráfica, a partir de modelos en 3D, consiguen obtener un espacio bidimensional, pero un motor de juegos hace más cosas, como iluminación, anti-aliasing o mezcla de texturas. Existen varias razones por la que el uso de motores de juego es importante. Algunas de ellas son:
    - Facilita el desarrollo
       - Abre nuevas oportunidades de negocio, como es la venta de las licencias de los motores para la realización de otros juegos
       - Abstracción de la plataforma. Si un Motor corre en varias plataformas, nuestro juego también
       - Separación de Motor/Contenidos, lo cual permite tener varios grupos de trabajo en paralelo
       - Beneficios a terceros, ya que los avances en el motor pueden beneficiar a varios juegos
       - Permite enfatizar en la parte artística, ya que, al tener mayor grado de abstracción, se tiene menor carga de trabajo en programación
       - Mayor modularidad y reaprovechamiento
Los motores de juego surgen en la década de los 90 tras el éxito de Doom y Quake. Juegos como Quake 3 y Unreal ya se diseñaron separando motor y contenidos ¿Qué ilustra el éxito de estos juegos? Por un lado, una mayor rapidez del mundo de los videojuegos. Desarrollar motores agiliza el desarrollo de juegos y permite sacar secuelas más fácilmente para mantener el mercado "caliente". Además, el licenciar posteriormente los motores permite obtener unos beneficios extras muy suculentos.

La arquitectura de un motor de juegos debe proporcionar mucha abstracción. Con que las librerías utilizadas estén portadas a todos los SO, permitimos que nuestro motor o juego funcione en todas las arquitecturas necesarias. Un parámetro que se debe tener muy en cuenta al elegir un motor de juegos es su portabilidad y en qué librerías se basa. Los motores de juego suelen tener una estructura como la que sigue:


Figura 1: Esquema típico de un motor de juegos

El motor gráfico o de render es el que proporciona funciones de renderizado 2D, 3D y de sprites. Se suele apoyar en librerías/APIs gráficas como OpenGL o DirectX. Define una capa de abstracción entre el HW/SO y el juego en sí. Además, se encarga de la visibilidad (BSP y buffers), el mapeado, el antialiasing, la gestión de mallas 3D, entre otras cosas.

El grafo de escena es una parte muy importante de un motor de juegos. Ésta es una estructura de datos muy utilizada en editores gráficos basados en vectores y en videojuegos. Se encarga de ordenar la representación lógica y, también a veces, espacial de una escena gráfica. Cada nodo puede tener muchos hijos, pero, un nodo sólo suele tener un padre. El efecto de algo sobre un padre es visible por todos sus hijos. Así, una operación sobre un grupo se propaga hacia todos sus nodos hijo. Esto permite manejar (escalar/mover/rotar/etc.) grupos de objetos como si fueran uno solo. En los juegos, cada nodo suele representar un objeto en la escena.

Figura 2: Ejemplo de representación de varios objetos en grafo de escena

El motor de físicas es software que simula modelos de física utilizando variables del tipo velocidad, masa, etc. Su objetivo es simular y predecir los efectos bajo diversas situaciones de lo que ocurre en la vida real o en un mundo de fantasía. En los juegos se utilizan cada vez más, sobre todo en los de carreras donde factores como la fuerza centrífuga o derrapajes necesitan de ecuaciones físicas para aportar realismo.

El detector de colisiones es un algoritmo empleado para detectar cuándo dos o más objetos colisionan. Se suelen realizar mediante el cálculo de la intersección de volúmenes simples (Bounding Volumes). Se pueden utilizar distintos volúmenes para envolver el objeto y así detectar mejor las colisiones, como cubos o esferas. Se puede tomar como un componente independiente, aunque tiene mucho que ver con el grafo de escena y el motor de físicas.

El motor de inteligencia artificial es el encargado de dotar a ciertos elementos del juego un comportamiento pseudointeligente. Por regla general, lo que se aplica en los juegos son técnicas muy simples de inteligencia artificial como máquinas de estados o algoritmos de búsquedas. Sin embargo, cada vez más se utilizan nuevas técnicas para conseguir una inteligencia más "realista" como redes neuronales o algoritmos genéticos.

El motor de sonido es el encargado de reproducir la banda sonora del juego y los efectos de sonido, como disparos o explosiones, en sincronía con la acción del juego.

La gestión de redes está alcanzando una progresiva mayor importancia. Hoy por hoy, casi todos los juegos tienen una componente de red. Existen juegos exclusivamente online, de los cuales, la mayoría ofrece partidas multijugador a través de red. Es importante tener un componente que aglutine todas las utilidades de red, de forma que, el hecho de que se juegue de una forma u otra sea, en cierta medida, "transparente" para el desarrollador del juego.

Todas las partes que componen un motor de juegos tienen su importancia, pero lo más básico e imprescindible de un motor de juegos es el motor gráfico. Aunque el Grafo de Escena es también una pieza vital, el resto de componentes son más prescindibles y no aparecen en todos los motores, y cuando lo hacen, aparecen como plugins. La elección del motor de un motor u otro es algo fundamental, sobre todo si necesitamos alguno de estos componentes. Un ejemplo de motor de juegos básico es OGRE 3D, que, básicamente, aglutina únicamente funciones de tratamiento gráfico y deja a elección del usuario las otras componentes. La comunidad de OGRE es la que ofrece multitud de librerías para complementarlo y añadirle funcionalidad, las cuales se integran a la perfección con dicho motor. Pero OGRE 3D no es único, pues existen infinidad de motores. Éstos se suelen clasificar por su licencia de uso:

Los motores comerciales suelen tener la ventaja de proporcionar soporte y mayor número de herramientas de desarrollo adicionales. No obstante, coste de licencia puede suponer un gran inconveniente, puesto que suele ser mayor cuantas mejores prestaciones ofrezca el motor. Algunos de los distintos motores comerciales pueden ser:
    - Torque Game Engine
       - 3D Game Studio
       - Blitz3D
       - Reality Engine
       - Deep Creator
       - Cipher
Los aquí mostrados son los que se pueden llamar "asequibles". Me refiero con ello a los que tienen licencias de bajo coste. Ninguno de estos se han utilizado para los últimos títulos AAA, pero son utilizados frecuentemente por pequeños estudios y grupos amateurs de desarrollo.

Los motores de código libre en cambio presentan la ventaja de que no tienen ningún coste, junto a que el usuario tiene la libertad de poder modificarlos si así lo necesita. Por el contrario, tienen la desventaja de que no hay soporte técnico "oficial", aunque la comunidad suele ayudar, y puede sufrir en determinadas ocasiones falta de herramientas que ayuden al desarrollo. Además, hay que tener en cuenta que muchos de estos motores están regidos por unas licencias de uso limitadas y pueden surgir inconvenientes si el juego que se va desarrollar presenta fines comerciales. Algunos de los motores open source más populares son:
    - OGRE
       - Crystal Space
       - Irrlicht
       - jME
       - Reality Factory
       - RealmForge GDK
Como hemos visto OGRE 3D no es el único motor, e, igualmente, lo mismo no es el que más conviene, ya que cada uno de ellos ofrece diferentes funcionalidades y licencias de uso. Antes de aventurarse con un proyecto es conveniente analizar con profundidad cual es el que más se ajusta a nuestras necesidades, ya que una buena elección puede evitar numerosos quebraderos de cabeza.

------------------------------------------------------------------------------------

Para los que lo prefiráis: VERSION PDF

Por cierto, no funciona el BBCode para alinear y centrar textos?
#41
Programación gráfica / Introducción a Ogre3D
03 de Enero de 2008, 09:19:09 PM
Cita de: "davirro"a mi me interesa muucho porque dentro de poco empezaré con el ogre, nos vemos
Me alegra mucho tu interés, aunque parece que eres el unico...
#42
General / Feliz 2008
01 de Enero de 2008, 09:57:59 PM
Que tengáis todos un muy buen año!
#43
Modelado / Herrero - 2200 polys
01 de Enero de 2008, 09:52:52 PM
uuuuuh! es la caña! suerte con el pack
#44
Off-topic / final fantasy VII ...
31 de Diciembre de 2007, 04:43:55 PM
joe que currada de trabajo. Captura a captura... hay que tener ganas! Pero digo yo: haciendo to eso sigue siendo divertido jugar?  te corta todo el climax, yo pienso en que cada x minutos tengo que pararme a sacar una captura y hacer un comentario chorra...:shock: casi me entran más ganas de estudiar! y ya es decir xD
#45
Programación gráfica / En busqueda del motor apropiado
31 de Diciembre de 2007, 01:16:33 PM
Si quieres algo de más alto nivel puedes probar con CRM32Pro, creada por TheAzazel, un miembro del foro. Tiene un subforo dedicado y digo yo que puede resolverte dudas de primera mano. Además está basada en SDL, que es lo que te recomendó davirro.

Venga mucha suerte con tu entrenamiento!





Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.