planetared.com/2009/05/construyendo-una-ciudad-con-codigo/ por nezzy el 16-05-2009 14:47 UTC publicado el 16-05-2009 17:35 UTC
Un programador apasionado por los videojuegos recrea una ciudad de noche utilizando únicamente código sin utilizar ningún tipo de texturas o gráficos prediseñados...el resultado es espectacular.
#6 Sí que utiliza texturas, para el cielo y para todos los edificios (misma textura pero rellenada con brillos de colores diferentes).
Usa la técnica "procedural generation", es decir, la creación de objetos mediante variaciones de modelos básicos, todo mediante código (que ocupa infinitamente menos memoria que el tener todos los modelos diseñados por separado).
Este "paradigma" de programación se usa por ejemplo en el videojuego SPORE.
#14 Más que el video en sí, me ha gustado como ha documentado el proceso de creación del contenido, los problemas que se ha encontrado y como los ha intentado solucionar.
#19 Como bien dice #13 deberiais introduciros un poco en el mundo de la demoscene y descubrir las maravillas que existen desde tiempos inmemoriales Por poner un ejemplo, los fundadores de Remedy (creadores del Max Payne) pertenecian a uno de los dos mejores grupos de demoscene del año 92, "Future Crew"; los fundadores de Starbreeze (creadores de los juegos de Riddick) fueron el otro grupo de demoscene del año 92 ("Triton" se llamaban) que rivalizaba con el anterior, y tenian un proyecto que jamas llego a salir a la luz llamado "Into the Shadows" que dejaba en bragas a cualquier otro juego de la epoca.
#22 Shamus Young, alguien más a mi lista de "los más odiados por pura envidia" - lo de "odiados" es coña, lo de envidia no -.
Una pena que lo que más me interesa, que es el sombreado de los edificios, sea lo único que no explica el video. ¡Habrá que ver el código!
PD: #6, Como dice #12, la creación procedural no se basa en variar modelos básicos. El fundamento es crear el contenido de manera algorítmica. Por ejemplo se puede usar ruido de Perlin, ruido Browniano, isosuperficies y otras funciones matemáticas varias para crear contenido.
#34#33 Si, esos también son la p*uta caña, se merecen ser el primer 4k en el all-time top. Pero como la noticia iba de hacer una ciudad procedural... aparte de que elevated no va en mi ordena por no tener una gráfica dx10.
#36 La generación procedural no es solo una práctica usada por la demoscene. Se ha usado en videojuegos comerciales y hay compañías como gamr7.com/ que están intentándolo explotar comercialmente. Por cierto, esta última compañía está usando el lenguaje funcional Haskell que por su pureza y evaluación perezosa encaja con la generación procedural:
"Procedurally generated content such as textures and landscapes may exhibit variation, but the generation of a particular item or landscape must be identical from frame to frame. Accordingly, the functions used must be referentially transparent, always returning the same result for the same point, so that they may be called in any order and their results freely cached as necessary. This is similar to lazy evaluation in functional programming languages" (obtenido de en.wikipedia.org/wiki/Procedural_generation )
#37#35 Al contrario. Estas obras maestras lo son porque economizan y gestionan los recursos de una manera magistral, mientras que en las pruebas del 3DMark lo que prima es es que la gráfica esté a full, y para eso una de dos, o ponemos modelos poligonales de diossabecuántos polígonos, o metemos código mal optimizado.
Me ha gustado la música. Oursvince - "Around" (Creative commons)
Usa la técnica "procedural generation", es decir, la creación de objetos mediante variaciones de modelos básicos, todo mediante código (que ocupa infinitamente menos memoria que el tener todos los modelos diseñados por separado).
Este "paradigma" de programación se usa por ejemplo en el videojuego SPORE.
EDITO: ya vuelve a ir. Tranquilidad.
La verdad es que está muy currado.
La verdad es que está currada...
int i = 0;
do
{
punto += ".";
Meneame.WriteLine(punto);
i++;
}
while i < 100
Un duro golpe para el ateísmo de la comunidad Menéame...
Dios existe... Y ha colgado ese vídeo.
pouet.net/prod.php?which=30244
Bajadla, ejecutadla, flipad, mirad el tamaño del archivo y flipad más aun.
Una pena que lo que más me interesa, que es el sombreado de los edificios, sea lo único que no explica el video. ¡Habrá que ver el código!
PD: #6, Como dice #12, la creación procedural no se basa en variar modelos básicos. El fundamento es crear el contenido de manera algorítmica. Por ejemplo se puede usar ruido de Perlin, ruido Browniano, isosuperficies y otras funciones matemáticas varias para crear contenido.
visitad www.pouet.net
.
..
...
....
.....
......
.......
........
.........
..........
........... (...)
Espero que no nos prives de tus creaciones poniendo un link a tu web para que podamos admirarlas como se merecen.
Una demo increible en 177 kilobytes.
www.pouet.net/prod.php?which=52938
#31 han puesto antes el enlace al proyecto en gcode: Written in C++ using OpenGL.
De los creadores de debris (la que pongo en #21), no os perdáis tampoco .kkrieger, un juego que ocupa 96k: kk.kema.at/files/kkrieger-beta.zip
La única razón por la que no he borrado aun mi partición de windows es para poder ejecutar estas obras de arte a pleno rendimiento.
"Procedurally generated content such as textures and landscapes may exhibit variation, but the generation of a particular item or landscape must be identical from frame to frame. Accordingly, the functions used must be referentially transparent, always returning the same result for the same point, so that they may be called in any order and their results freely cached as necessary. This is similar to lazy evaluation in functional programming languages" (obtenido de en.wikipedia.org/wiki/Procedural_generation )
Con esto no quiero decir que sea malo (sino más bien lo contrario)