Dominio Cerrado!! ¿¿Por Copyright??

Este es el mail que me ha llegado esta noche alegando que la web tiene contenido con Copyright, sin explicar cual es dicho contenido y procediendo a deshabilitarme el dominio.


Cabe destacar que la web está alojada en un servidor de blogspot, y no tk, asi que en primer lugar no entiendo que contenido ilegal puede haber en el dominio .tk y en segundo lugar aunque revisasen mi blog, trata solo de mis proyectos personales y no hay ningun tipo de copyright infringido... asi que, puesto que no me han dado mayor explicación, no entiendo el motivo.


PD: Adjunto el mail que me ha notificado el aviso.
PD2: He reactivado el dominio a la espera de una segunda y última revisión, tal como avisan en el mail.
_______________________________________________________


Dear Dot TK domain registrant,

The Dot TK Abuse and Copyright Infringement department has
visited your website today.

Unfortunately we have to say that today we cancelled your domain NOXWINGS.TK.
No-one can re-register this domain again at this stage. This may change
in the future.

The reason for the cancellation is that the website address
you used for your Dot TK domain name was not accessible or
did not follow the guidelines set in our terms and conditions.



If you want to have us re-verify the content you can press this link.

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

If you are in doubt, please review our terms and conditions, which can be found at: http://www.dot.tk/en/doc_tcfree_v350.pdf

We thank you for using Dot TK.

Dot TK Abuse / Copyright Infringement team

Sistema de terreno (viejo vs nuevo)

Empiezo a pensar si de verdad merece la pena utilizar el sistema de terreno actual para crear los mapas ya que usa un metodo "antiguo" que no provee de capacidad para generar las sombras del terreno sobre si mismo (solo a traves de shaders).

En resumen:
  • Con el sistema antiguo...
    • Tendría un terreno paginado (es decir de unas dimensiones enormes, sin mayor coste)  y vegetación animada etc.
    • El mapa no genera sombras sobre sí mismo (p.e. las montañas no generarán sombras) pero si puedo conseguir fácilmente que el terreno en general se oscurezca/aclare a la luz de dia/noche y que reciba las sombras de otros objetos.
    • El rendimiento es mas rápido aún con shaders.
  • Adoptando el nuevo sistema...
    • Tendria un terreno con paginación (mediante otro sistema) y reacción a sus propias sombras  aunque tardan unos segundos en generarse
    • Me evitaria tener que programar yo los shaders pero con un sistema de terreno mucho mas complicado de implementar.
    • No tendría vegetación y para obtenerla tendría que cambiar el código al nuevo sistema.
    • El rendimiento es bastante lento.
De momento estoy usando el antiguo sistema de terreno utilizando un shader para utilizar un nuevo sistema de texturas (alpha splatting) y para proveer al terreno de iluminación básica.

Trasteando con Ogre: sistema de sombras

Hace tiempo estube haciendo pruebas con este sistema previamente, ya que la técnica utilizada para dibujar las sombras era demasiado costosa para el procesador cuando tenia que dibujar muchas formas o formas más complejas, ahora he encontado una buena configuración bastante optimizada y con buenos resultados visuales.

Con esta primera toma de contacto decidí comenzar a usar una técnica de sombreado que utiliza una textura como buffer para las sombras, con la cual comenzó el primer problema ya que solo generaba sombras a distancias cercanas a la cámara, con lo cual descubrí también que variando el tipo de iluminación de modulativa a aditiva podía conseguir que las sombras no desapareciesen a alejarte demasiado (excepto usando luz direccional o usando luz que abarca zonas muy amplias, aquí el buffer actuará dibujando las sombras mas cercanas unicamente)

Hasta aquí es donde había llegado, pero realmente la solución no me convencía, ya que la calidad de las sombras no era muy buena. Al final trasteando ayer con las demos de Ogre se puede observar que con la tecnica de sombreado por textura podemos elegir los parámetros tipo de proyección y material.

Modificando el tipo de proyección por defecto (uniforme) a "LiSPSM" o "plane optimal" la proyección de la sombra deja de verse pixelada y adquiere una calidad mucho mayor. En cuanto al tipo de material usado, utilizando un "Depth shadowmap" se consigue que los materiales de los objetos reciban sombras creadas por otros (aunque aún no estoy seguro de que esto sea necesario para que los objetos reciban sombras, puede que haya otras formas)



El DepthShadowMap de la estatua de la demo, la verdad que queda un poco mal, pero bien hecho le da mucho realismo al modelo 3D, básicamente lo que aqui cambia es la definición de la sombra. A la izquierda la sombra esta muy pixelada, y a la derecha la sombra es mucho mas definida, con apenas diferencia de fps.

Ps move para pc!! Ánimo

Todos conocemos el famoso mando de Nintendo Wii Remote que dió un sopló de aire fresco al mundo de los videojuegos con este nuevo controlador. Lo que no todo el mundo sabe es que las aplicaciones de este mando se ampliaban también al PC pudiendo usarse para diversos propósitos tales como para crear una pantalla multitáctil [1] o para utilizarse con algún juego del ordenador como podía ser el crysis (en un parche no oficial) [2].


Al igual que ocurrió con este mando, era de esperar que con la salida al mercado del nuevo mando presentado por sony, apareciera algún proyecto con la intención de dar soporte al mando en el PC, ese proyecto es MoveOnPC [3]. Iré siguiendo el proyecto para ver los progresos que consiguen ya que sería realmente planteable añadirlo a mi proyecto (de hecho es lo que desde un principio me hubiera gustado) así que espero les salga bien ^^.

Fuentes:
[1]
http://www.youtube.com/watch?v=5s5EvhHy7eQ
[2]
http://news.softpedia.com/news/Play-Crysis-Using-the-Wii-Remote-and-Nunchuk-80709.shtml
[3]
http://code.google.com/p/moveonpc/

Project-Caelum: soporte para cmake y codigo reestructurado.

Bueno hacia bastante tiempo que no actualizaba esto. Lo cierto es que apenas si he tocado el proyecto, mas que nada por las vacaciones que me he pegado la verdad XD han estado genial la verdad ^^. La cuestión es que a cuenta de la pereza y las vacaciones pues no he tocado nada del proyecto así que tampoco había mucho que decir la verdad.

De momento el único cambio significativo que hay es que he añadido soporte para cmake al código, lo cual me ha facilitado bastante las cosas a la hora de reestructurar el código y me ayudará bastante también supongo a la hora de compilarlo para windows. Eso sí, ahora mismo el proyecto es como si hubiera dado un paso atrás y no hace nada. Me he dado cuenta que bastantes cosas importantes las había hecho sin pensar y a lo rápido con el entusiasmo de ver como quedaba, pero para nada ofrecía la flexibilidad que necesita el proyecto.

Aún faltan muchas cosas por hacer pero de momento lo imprescindible es:
  1. volver a programar los controladores de los personajes y sus respectivas habilidades
  2. integrar el sistema de paginación con el motor de físicas,
Esta última me imagino me va a dar muuchos problemas puesto que el mapa se carga dinamicamente y no hay tiempos de carga... :S

Editores Graficos para Ogre

Como ya he dicho estoy usando la librería Ogre como capa de renderizado, y hoy viendo una comparativa de este motor gráfico me he topado con Ofusion, un editor WYSIWYG (What You See Is What You Get), que resulta ser un plugin para 3dMax en el cual puedes crear escenas o añadir shaders a los objetos, lo cual aún ni he mirado como se hace pero a mano supongo que habrá que tocar los scripts de materiales o los shaders ( con lo cual no estoy muy familiarizado ). Así que me he puesto a buscar mas editores de este estilo y parece haber un par mas con buena pinta, Ogitor y Artifex Terra.

OFUSION


OGITOR


ARTIFEX TERRA

(al parecer su pagina está caída hace tiempo y no tiene mucha actividad :S aunque tenia buena pinta...)
http://www.shareware.de/artifexterra3d-free-community-edition/

PD: Todos estos editores y más en Ogre DCC Tools
PD2: Tambien parece haber un pequeño programa para traducir shaders de DirectX a OpenGL (HLSL2GLSL)

Recuperando mi ordenador... poco a poco

Bueno ya he conseguido el último código y el media que tenia de project-caelum. He compilado el ultimo ogre y bullet, con soporte para threads esta vez.

Esta vez he compilado tambien los plugins como librerías dinámicas e intentaré cargarlos a través del sistema de plugins de Ogre, que me parece mas conveniente. Sin embargo antes de esto, para poder reestructurar el código como he diseñado y no tener que tirarme horas para ir cambiando el makefile me estoy planteando el soporte para cmake y así  también me será mas fácil el port a windows cuando toque.

Recompilando

Hace cosa de un mes formateé el portátil y hasta día de hoy aun no tenia nada puesto, ahora mismo acabo de compilar Ogre 1.7.1 y Bullet 2.76, pero también tendré que volver a recompilar la librería estática que hice para SkyX (la hice estática para no comerme la cabeza al linkarla) y otra para la geometría paginada y claro está volver a recompilar el proyecto.

Edit: Igual mejor compilarla en una librería dinámica y cargarla como plugin a través de Ogre.

Ya he pensado unos cuantos cambios para reorganizar un poco la estructura de Project-Caelum así que espero tener algo de tiempo libre para hacerlo, aun así sigo sin tener ninguna idea que me convenza para el sistema de peleas, tan solo para el de hechizos... pero bueno algo se me ocurrirá ;)

Project-Caelum: Tendrá que esperar un poco

Últimamente me estaba costando un poco expandir nuevas funcionalidades y no me convence la flexibilidad de lo que hay hecho hasta el momento, además hay muchas cosas que han sido programadas un poco "on the fly" según salían y creo que está un poco chapucero la verdad. Así que estoy en planes de rediseñar todo el motor del juego y planearlo un poco más antes de ponerme a programarlo, para que pueda ser totalmente extendible. La idea es que cuando la codificación del proyecto esté terminada, siga siendo extendible mediante nuevos personajes e incluso nuevos ataques para cada uno etc. lo cual me hace rediseñar todo el código si quiero llegar a buen puerto.

Además a parte de todo esto me estoy centrando en el nuevo blender 2.5 al cual han cambiado bastante el GUI pero que también parece mas profesional y estoy aprendiendo nuevas técnicas de animación y sobre todo de rigging. En este caso es importante que aprenda bien todo esto sobre diseño 3D ANTES de realizar nada definitivo por que una vez realizados las mallas esqueletos texturizados rigging y animaciones realizar un mínimo cambio en alguna de las etapa supondría una cantidad de trabajo enorme e innecesaria si es posible evitarla.

Project Caelum: de vuelta al trabajo…

Llevo bastante tiempo sin programar nada entre el "descanso" de exámenes y demás, pero parece que vuelven las ganas de hacer algo nuevamente.

El tema del plugin SkyX está totalmente integrado ya en el proyecto aunque aun hay cierto bug por resolver en SkyX sobre la luna, (es una pena, porque es preciosa) pero bueno, ahí no puedo hacer nada, no es competencia mía. El otro plugin, de geometría paginada, supongo que será mi siguiente paso, a ver si a partir de ahí ya tengo una forma de crear entornos y escenarios básicos y me puedo concentrar en el algoritmo de reconocimiento de gestos y en la estructura del juego sobre los hechizos de magia de los personajes y ya se puede ir haciendo algo jugable.

Humm... De momento estoy aún a falta de buenas ideas sobre un sistema de peleas (melee) que me convenza, igual es que le pido demasiado pero debería ser muy dinámico y permitir peleas extremadamente rápidas, en las que halla que hacer acopio de todos nuestros reflejos, pero en los que los controles sean medianamente intuitivos y se dependa de la propia habilidad del jugador para ganar el combate, en lugar de su nivel o personaje. Aun así, evidentemente, cada personaje dispondrá de diferentes cualidades, y será mas dado a la magia o al combate cuerpo a cuerpo.

Intentaré crear un nuevo video para enseñar el progreso en cuanto tenga el siguiente plugin a punto también ;)

Project Caelum: Sistema de Hechizos y Gestos

Antes de entrar en detalles, primero tengo que explicar el porqué de esto.

    La idea


Creo haber dicho que me gustaría que el sistema de combates de Project-Caelum sea muy dinámico y se base casi completamente en la habilidad del jugador y en sus reflejos. Así pues, me ha parecido una forma interesante asociar la evocación de conjuros a diferentes dibujos o trazos. Me explico, al entrar en modo evocación (o cast) podremos dibujar con el ratón un trazo el cual quedará reflejado en la pantalla en forma de "halo" o trazo de luz, y si el trazo está formado correctamente y está asociado a un hechizo, este se ejecute. De esta forma quedará patente la habilidad del jugador para realizar los hechizos, mediante la rapidez y posiblemente la calidad o no del trazo ( si se parece mucho podría recibir mas potencia, y si por el contrario la forma dibujada dista mucho de cualquiera, podrían aplicarse efectos adversos) aunque esto ultimo no tiene prioridad por el momento.

    Halibidad real = habilidad in-game

1.-De esta forma es la habilidad del jugador la que juega el papel mas importante.
2.-Este método permite hacer mas complicados, los hechizos mas potentes, es decir  podemos asignar trazos sencillos a hechizos comunes, y trazos muy complicados y costosos a hechizos mas potentes.
3.-Se puede determinar la complejidad de un trazo matemáticamente, ya sea por la complejidad en si misma del trazo, o variando el nivel de similitud necesario a alcanzar. Esto mismo puede permitir crear un sistema en el cual cada jugador puede fijar los trazos asignados a cada hechizo, y el sistema decidirá si cumple la complejidad mínima para dicho hechizo.

FtS: Video presentación de personajes

Con motivo de la presentación que hemos tenido que ofrecer en la universidad al entregar Freedom to Smash como nuestro proyecto de MCT (Multimedia Computing Technology) tengo un video para enseñaros que hice como presentación de los personajes de FtS ;)

Project Caelum: añadiendo plugins

Bueno de momento tengo un sistema bastante básico de animaciones funcionando, y aunque aún no he comenzado con el sistema de cámaras (quizás debería...) he estado echando un vistazo a un par de plugins para añadir al proyecto; uno sobre simulación de cielo, y otro de geometría paginada ( heightmap, densisty maps) etc...

  • Simulación de cielo (ciclos día/noche)
Para la simulación del cielo mis opciones eran el plugin Caelum(sí, del mismo nombre que mi proyecto :P) y SkyX. Y visualmente me gustaba mucho mas este último, aunque por desgracia hasta hace poco solo disponía de shaders para DirectX así que buscando he encontrado una traducción bastante maja de los shaders a OpenGL y tras un par de retoques (solo funcionaba bajo GPU Nvidia) ya parece funcionar bien, ahora solo queda revolver un poco con los parámetros para que de el look & feel que busco e integrarlo en el proyecto.

  • Geometría paginada
Para la geometría paginada voy a usar "pagedgeometry" un plugin para Ogre creado con este propósito, y que ademas proporciona, mapas de altura ya incluidos en el propio Ogre y  mapas de densidad para definir la cantidad de vegetación en las diferentes zonas del mapa, y por supuesto la geometría paginada que permite dividir el terrenos en partes o "páginas" para cargar y mostrar tan solo las partes inmediatamente necesarias del terreno, permitiendo crear mundos gigantescos.

Con este he tenido un par de problemas puesto que la versión de mercurial de Ogre ya no soporta la función "setWorldGeometry" con lo cual el plugin de geometría paginada no funcionaba...

  • Próximamente
Ahora que ya he conseguido compilarlo y hacerlo funcionar espero que no me suponga mucho mas incluir esto en el proyecto. A ver si cuando consiga añadir un par de cosas hago otro nuevo video ;)

Project Caelum: sistema de animaciones

Actualmente estoy de exámenes asi que no tengo mucho tiempo para mis proyectos, pero ahora mismo estoy pensando en el sistema de animaciones y de pelea de forma que sea totalmente expandible y permita que cada personaje pueda tener habilidades y modos de ataque diferentes.

He hecho un esquema básico sobre el sistema de animación y no deberia tomarme mucho tiempo, a ver si despues de hacer esto rehago el sistema de control de la cámara y empiezo ya con algo mas interesante... control de gestos o algún melee básico para que vaya siendo un poco mas jugable.

Ideas pendientes…

Bueno, como todo proyecto, comienza por una idea, y como todos los que alguna vez hemos querido hacer un proyecto,  ideas tenemos y a patadas :-P (por desgracia, demasiadas como para poder cumplir con todas). Aun así hay ciertas cosas que me gustaría hacer y que me parecen muy interesantes, entre ellas implementar...
  • Algoritmo de detección de gestos
  • Algoritmo "pathfinding"
  • Algún tema de realidad aumentada
  • También algo de conectividad móvil.

Project Caelum: Video

Bueno parece que project-caelum ultimamente va avanzando.

Por el momento ya hay una base hecha con Ogre OIS y OpenAL que espero no necesite muchos cambios, y acabo de integrar recientemente Bullet para las físicas.

Aunque aún queda bastante por hacer, mejorar las fisicas, reconocimiento de gestos, sistemas de particulas, rayscene queries, CEGUI...

Comenzamos!

Bienvenidos a mi blog!


Me llamo David, y soy un estudiante de ingeniería informática. Puesto que mis proyectos empiezan a aumentar de tamaño (mayormente videojuegos, o al menos un intento :P), he creído oportuno crear un blog para comentar los progresos que voy haciendo así como cualquier noticia referente o de ayuda.

Actualmente mis proyectos son:

Comenzamos a realidad este juego hará ya 2 años, pero lo abandonamos pasado poco tiempo, debido a que el abundante trabajo que requería y los conocimientos necesarios, se nos escapaban de las manos. Este juego prometía mucho, pretendía ser un juego en 3d muy dinámico, estilo prince of persia con multiples combos y mucha libertad de movimiento, escenarios abiertos... vamos, que era una locura! Aun así gracias mayormente a uno de nuestros componentes (Jonan Ander Peñalba) conseguimos tener un motor básico (OGRE y OIS) y físicas (sin softbodies) (Bullet) pero nunca llegó a mas.

Este es un proyecto personal que realizé en 2º de carrera para la asignatura de "Tecnología de Programación". Es un juego muy simple en 2.5D estilo diablo, en el cual menajas a un muñeco gris (creado en blender) y con el cual debes derrotar a todos los demas personajes de la pantalla, mediante el uso de ciertas habilidades (melee, bolas de fuego, autocuración y escudo mágico). Actualmente no he seguido desarrollando ese juego, puesto que mi objetivo era aprender el funcionamiento básico interno de un juego.
  • Freedom to Smash [Proyecto en Grupo]

Este proyecto lo estamos realizando este año (2010) entre 4-6  personas, para la asignatura de MCTP (Multimedia Computing Technology Program) ó TIM para los de castellano (Tecnología Informática Multimedia). Se trata de un clon libre del juego de nintendo64 Super Smash Brosh.



  • Proyect-Caelum [Proyecto Personal]

Este es el proyecto personal en el que actualmente estoy "trabajando". Se trata de un juego en 3D en el que me centraré en un sistema de combate de acción totalmente nuevo centrado sobre todo en combates rápidos y dinámicos. Actualmente los juegos con esta característica tienden a volverse muy simplistas y acaban convirtiendose en un mero aporreo de botones, por eso me gustaría primar la habilidad y los reflejos del jugador para responder a los ataques. Pero ya se verá como avanza todo esto... deseadme suerte.