June 26th, 2007

Es muy común que los grupos starter de creación de videojuegos, bien sea modding o de contenido original, no puedan poseer un espacio físico para trabajar, porque no es posible (diferentes ubicaciones geográficas), cuesta dinero mantener un lugar (alabados los garajes) o cualquier otro inconveniente. Aún si es posible contar con dicho espacio es necesario que el trabajo con archivos (especialmente código fuente) sea lo mas organizado y seguro posible, adicionalmente a poder compartirse entre todo el grupo o al menos los interesados.

El control de versiones es una manera por lo general centralizada de mantener un historial coherente de todos los cambios realizados a un conjunto de archivos, lo que permite compartir, comparar y restaurar a estados anteriores dichos archivos. Esta solución es usada en la industria para proyectos medianos-grandes y en los proyectos open source, porque se adapta a las necesidades de desarrollo.

Es posible tener los repositorios de versiones en linea (accesibles a través de Internet) o en un entorno cerrado como una red local, todo lo que se necesita es un equipo servidor y para los casos particulares de cada software de Control de Versiones un cierto sistema operativo o extensión. Existen paquetes de Control de versiones como casi cualquier otro tipo de software en este momento en versión Open Source y de software propietario. Entre los mas populares están:

- CVS (Concurrent Versions System): Desarrollado por GNU y distribuido bajo licencia GPL, fue durante mucho tiempo el mejor sistema Open Source para el control de versiones, pero actualmente ha venido siendo desplazado por SVN. Tanto el sistema cliente como el servidor pueden ser instalados en varios sistemas operativos ( irix, sunOS, linux, windows).

- SVN (Subversion) : Fue diseñado como el sucesor de CVS, es mas robusto, rápido y soporta algunas nuevas características que su antecesor no tenia como por ejemplo que es capaz de detectar diferencias entre archivos y enviar solo los cambios (no el archivo completo), es eficiente con archivos binarios, debido a que se integra con apache tiene características avanzadas para autenticar archivos, entre otros. Existen varias versiones para cliente/servidor como TortoiseSVN, Subclipse, ViewVC. Es distribuido mediante licencia Apache/BSD.

- SourceSafe (Visual SouceSafe) : Es el producto de control de versiones de Microsoft orientado hacia su producto Visual Studio. El precio de este paquete ronda los $400 - $500 dolares. Alterno a este paquete Microsoft ofrece el Team Foundation Server que además de el Control de Versiones en código ofrece un conjunto herramientas de colaboración de grupos mas completo, pero a un costo mas elevado ($500 versión CAL y $2800 versión Server).

- Plastic SCM Otro software comercial que es posible obtener desde $180 dolares la versión básica en adelante. Se integra con los IDE Visual Studio y Eclipse, basado en copias locales de parte del contenido del servidor. Funciona en sistemas operativos como Windows XP, Server 2000 y 2003, Linux, MacOs y Solaris. A diferencia de otros paquetes similares tiene muchas formas gráficas de mostrar los cambios en archivos individuales y en el proyecto, el branch se hace según el patrón de trabajo (ellos recomiendan una rama por tarea) y en el merge se hace seguimiento a todas las integraciones, también hace posible el merge automático.

A parte de los paquetes de control de versiones basados en arquitectura cliente-servidor, existen sistemas distribuidos como el Aegis orientado a desarrollos basados en metodologías Extreme Programming, GNU Arch que se considera el proyecto base para los distribuidos, aunque en estos momentos ya no se encuentra en desarrollo activo y Monotone que es similar al GNU Arch, pero que se encuentra en desarrollo. La mayoría de estos sistemas se basan en una fuerte encripción de datos para permitir enviar los paquetes a través de redes no-seguras y protocolos como netsync, rsyn y aún del tipo p2p para transmitir datos entre los diferentes usuario.

Existen empresas que ofrecen el servicio de alojar repositorios como por ejemplo freepository (gratis pero con acceso web únicamente) y Hosted Projects (pago), también algunos servicios de host regular como DreamHost dan SVN y CVS para algunos de sus planes.

June 17th, 2007

Con el modelado del apartamento han sido necesarias texturas para pisos de madera, mesones de mármol, tapetes, etc. Todo el material ha venido de dos fuentes importantes: con una cámara de x megapixeles intentando sacar tomas con una luz medianamente uniforme, retocando, convirtiendo en seamless y los repositorios en linea gratuitos.

El primer caso es bastante tedioso, debido a que a menos que sea en un estudio o algo por el estilo conseguir que un piso por ejemplo este iluminado de manera uniforme es muy complicado, aún así es una buena alternativa para texturas difíciles de conseguir o emular. Por suerte existen repositorios en linea que tienen gran cantidad de fotos de alta calidad, detalle, luces uniformes, etc; yo suelo frecuentar 2 que me parecen son los mejores en cuanto a texturas raw (sin procesar):

Image *After
Se precian de tener algo mas de 16000 imagenes entre texturas raw y fotos (muy buenas para referencia). Todas estan muy bien clasificadas y es posible buscarlas hasta por color (ah?). Las condiciones son bastante liberales:

1. LICENSE / TERMS OF USE
WHAT CAN YOU DO WITH IMAGE*AFTER IMAGES AND TEXTURES?

* you CAN modify our images and textures in any way you see fit
* you CAN use our images and textures in your own work, whether it be for personal or commercial use
* you CAN redistribute or sell our images and textures ALTERED OR UNALTERED as part of printed work (e.g. posters, cd-covers, postcards etc)

WHAT CAN’T YOU DO WITH IMAGE*AFTER IMAGES AND TEXTURES?

* you CANNOT REDISTRIBUTE our images and textures as part of an online resource site like our own, i.e. use them to directly compete with us.

Lo cual quiere decir que uno puede hacer casi todo, excepto montarles competencia con su propio trabajo.

Mayang’s Free Texture Library

Este sitio tiene poco mas de 3000 imágenes, la mayoría texturas raw pero con la ventaja de ser de muy buena resolución, por lo general 2560 x 1920 en adelante. Las condiciones de uso son:

License

These textures are Copyright © Mayang Murni Adnin, 2001-2006. They have all been taken by our own cameras or created by ourselves.
Use:

They are free to use for all uses, whether commercial or non-commercial (you may incorporate them into your derived work with no requirement to pay us any licensing fee etc). Your derived work must involve significant modification to the textures. It would be nice if you could credit us.
Sell:

You may not sell any of these textures in an unmodified form, or any derived works where the product you are selling is still a texture and is likely to compete with this website.
Redistribute:

You may redistribute (give/send to somebody else/display on a web site) up to 30 of these textures together, but no more. You must credit this website as the original source (tell them about us).

Que es mas o menos lo mismo que Image *After, solo que piden un poco mas de modificaciones en el trabajo final y es mas flexible en cuanto a redistribución.

Existen muchos sitios dedicados a ofrecer texturas gratis e imágenes de referencia como Texture King, Texture Werehouse, Absolute Cross, entre otros, por lo que con un poco de “ojo artístico” (del cual carezco :) ), algo de experiencia con gimp, photoshop, corel, paint shop pro o cualquier software de retoque y un poco de trabajo, es posible obtener texturas “royalty free” de alta calidad.

June 15th, 2007

El titulo del post debería ser “de nuevo bryce gratis”, en septiembre del año pasado se libero la versión 5 por un tiempo limitado y era necesario suscribirse a una pagina para obtener la clave. Ahora está disponible de esta dirección en donwload.com, es una descarga de 122mb y es el programa totalmente funcional, sin limitaciones de licencia/formatos/tiempo, etc. Adicional a la descarga es necesario conseguir el serial llenando el registro en daz3d.

Algunas capturas de pantalla:

Bryce 5.5 Bryce 5.5 Bryce 5.5 Bryce 5.5

June 13th, 2007

Esto hace parte del proyecto de visualización arquitectónica mencionado hace unos post, debido a un desacuerdo con Motion House Studios lo libero para descargarlo. Debido al pobre trabajo en modelado y texturizado (realizado por ellos) es necesario tener un hardware decente para correr el demo (35000 poligonos y 16mb de texturas con compresión png). En algunas semanas pienso sacar un demo propio de un apartamento de dos pisos en el que llevo ya trabajando un buen tiempo, aquí un screenshot temprano de dicho modelo.

VisualizacionBeta

AptoAFinal.zip (12.6mb)

Postdata: Por petición de Motion se ha retirado el demo, supongo que porque creen que les pertenece a ellos (aja) y con el fin de evitar querellas legales que conducirían a demostrar su edad mental para los negocios :) .

June 10th, 2007

Irrlicht es un motor que aunque no ofrece las prestaciones superiores de Ogre, Torque o de otros motores comerciales, es de fácil uso y por tanto un buen punto de partida para empezar a trabajar. Aunque se oferte a si mismo como un motor gráfico, irrlicht posee unas pocas características de motor de videojuego, principalmente la de leer scripts (xml), lo que permite hacer scripting de niveles. Aún así para la mayoría de las características adicionales como AI, networking y sonido tienen que ser desarrollados con herramientas externas.

Debido a que este es un proyecto en continuo desarrollo es probable que algunas cosas dejen de funcionar correctamente a medida que el motor evoluciones, en cada caso colocaré una versión con la que fue realizado el tutorial.

Esta motor no posee una documentación estructurada mas allá de una revisión de clases, funciones y constantes, que es bastante buena, pero con la que cuesta hacerse una idea global del manejo del motor. También están los tutoriales en la página principal, mas otras cuantas páginas, muy pocas en español, lo que hace que estos tutoriales tengan cabida. En este tutorial las cosas van desde lo mas básico, así que se detallan cosas tan evidentes para algunos como incluir los path en el IDE.

Es probable que algunos tutoriales de esta serie parezcan directamente sacados de los que se ofrecen en la página de Irrlicht, pero en realidad son una mezcla entre éstos, la experiencia en el aprendizaje del motor, el conocimiento existente en los foros y la documentación que acompaña al sdk. Realmente estoy al comienzo del aprendizaje, así que esta serie de tutoriales estarán llenos de omisiones y errores, que con suerte iré corrigiendo poco a poco. No se olviden de comentar todas las bestialidades cometidas.

Continuar Leyendo… »