Mostrando entradas con la etiqueta parche. Mostrar todas las entradas
Mostrando entradas con la etiqueta parche. Mostrar todas las entradas

1/6/10

Crecer, reproducirse y urbanizar

En muchas ocasiones no nos damos cuenta de la cantidad de algoritmos y fórmulas que subyacen bajo la mecánica de juego de Simutrans. Desde fórmulas estadísticas hasta algoritmos de cálculo de rutas, grafos y diferentes mecanismos de optimización. Uno de los aspectos donde se hace un uso intensivo de elementos de este tipo es en la generación de los mapas. Hoy vamos a hablar un poco de la generación de las ciudades y su tamaño.
Leer más...

Hace poco se abrió un discusión sobre el tema de tamaño de las ciudades que se generan al inicio de un mapa de Simutrans. Inkelyad, un miembro reciente de la comunidad de Simutrans, sugirió que el tamaño de las ciudades debería seguir una distribución basada en la Ley de Zipf

Puede parecer un tema secundario, pero es más importante de lo que parece, ya que el tamaño de ciudades condiciona muchos de los otros elementos del mapa. Desde el emplazamiento de las ciudades y las industrias, hasta el tamaño de las mismas, las necesidades energéticas del mapa, etc...

La ley de Zipf está más relacionada con el campo de la linguística, pero se aplica también a otros campos cuando se contempla el aspecto de las frecuencias. Esta ley viene a establecer la frecuencia de los elementos de un determinado conjunto, en este caso el conjunto es los distintos valores de los tamaños de las ciudades.

En definitiva viene a decir que en todas las lenguas conocidas la longitud de las palabras es inversamente proporcional a su frecuencia de aparición (cuantas más veces aparece una palabra en un idioma, más corta es)


Aplicando esto a la generación de ciudades, se podría formular como que el tamaño de las ciudades es inversamente proporcional a la frecuencia de aparición de su población. Es decir, cuanto más grande sea la ciudad, menos debería aparecer.

Aquí podéis ver una comparativa de la desviación de los tamaños de las ciudades respecto de la media usando la distribución Zipf y la estandar.



Para cantidades pequeñas de ciudades (menos de 15), ambas distribuciones se distancian bastante de la cantidad media que se supone, tendría que tener el mapa. Sin embargo, a medida que aumenta la cantidad, ambas distribuciones se acercan a la media teórica y prácticamente generan distribuciones y tamaños parecidos. En otras palabras, la fórmula estandar que usa Simutrans es bastante parecida a la distribución Zipf, incluso mejor en casos puntuales.

En esta otra serie de imágenes podéis ver los gráficos de barras que muestran la cantidad de ciudades por tamaño que se generan con distintas variaciones de la distribución Zipf y la estandar de Simutrans.



Como podéis observar, la fórmula estandar tiende a crear más ciudades pequeñas que grandes, mientras que la fórmula Zipf en sus distintas variantes tiende a crear más ciudades de tamaño medio y grande. En cierto sentido, la distribución Zipf tiene a ser más equilibrada en la generación de ciudades, pero eso también puede reducir las posibilidades de desarrollo del mapa. Si las ciudades ya están muy desarrolladas y tiene mucha población, el margen de crecimiento es menor y por tanto el mapa tendrá menos atractivo y potencial.

Aún se están afinando los detalles del algoritmo y la posibilidad de que aparezca como opción configurable a través del interfaz. Además, es posible que se incorpore primero a Simutrans Experimental antes de pasar a la versión estandar, para observar como se comporta y si gusta a los jugadores. En el hilo del foro tenéis un parche disponible. Personalmente creo que este tipo de discusiones son muy instructivas y muestran al resto de la comunidad que Simutrans no es solo gráficos, también hay una parte matemática muy interesante y que aún puede mejorar.

1/2/09

Echa un vistazo debajo de la alfombra

Es innegable que desde hace unos meses, la cantidad de gente que está desarrollando parches de calidad ha crecido considerablemente. Gracias a esto Simutrans se consolida y se vuelve un juego más rico, variado y maduro. Si hace poco mostrábamos imágenes del futuro sistema de rios (ya incluido en la rama principal y disponible en las compilaciones nocturnas) vamos a mostrar otra importante mejora en la que está trabajando: el modo subterráneo avanzado.

Leer más...

Para todos aquellos que no conozcaís la historia, el modo subterráneo se introdujo hayá por la versión 0.99.04, si no recuerdo mal. Básicamente permitía ver el trazado de los túneles, pero a cambio sombreaba todo el mapa. Es decir, que si estabas en modo subterráneo no podías ver lo que pasaba en superficie.

Otra "pega" es que si tenías túneles en varios niveles, solo se mostraban los del nivel superior. En principio esto no tiene porque suponer un problema, ya que antiguamente las partidas no eran tan complejas como para requerir gran cantidad de infraestructuras subterráneas pero ha medida que Simutrans ha ido creciendo, se ha demostrado que era necesario un cambio en este aspecto.

Pues bien, gracias a Dwachs tenemos un nuevo sistema de vistas en el modo subterráneo. Echad un vistazo a las imágenes.




Como podeís comprobar ahora se puede ver lo que ocurre en la superficie que está al mismo nivel que el túnel. Aún no se ha implementado la posibilidad de mostrar al mismo tiempo todos los túneles de distintos niveles, pero supongo que en algún momento se contemplará dicha opción.

Lo que hace el parche es tomar la cuadrícula bajo el cursor como nivel de referencia, y mostrar todos los túneles que estén a dicho nivel. Si pulsas U una vez accedes al nuevo modo, y si vuelves a pulsar pasas al viejo modo, por tanto ambos coexisten de forma amistosa.

El ejecutable con el parche está disponible en la página de parches, bajo el nombre de loquesea_undergound-2282.zip, por si quereís probarlo vosotros mismos aunque creo que Prissi ya lo ha incluido en la rama principal de desarrollo.

En fín, felicitar de nuevo a Dwachs por el gran trabajo que ha hecho, y el resto a disfrutar de esta y otras tantas nuevas características de Simutrans que seguro nos deparará este nuevo año.

27/1/09

Todos los ríos llevan a Simutrans

Desde hace que se abrió esta nueva etapa del foro, se han incorporado muchos nuevos programadores que han aportado un buen montón de interesantes parches y mejoras. Entre las distintas propuestas, la que más entusiamo ha levantado es un parche para la creación de ríos en los mapas. es obra de gerw y ha sido revisado por prissi. Si quieres saber sigue leyendo.

Leer más...


La idea partió de una sugerencia/petición de fabio (antiguamente conocido como fagonella) un veterano usuario cuyo sueño era que los mapas tuvieran ríos. Otros usuarios apoyaron la idea, y visto que esta calaba, algunos programadores, gerw entre ellos, se animaron y comenzó el desarrollo. Hasta hace poco no había imágenes, pero tras contemplar esta maravilla me convencí de que el parche valía la pena.

Me gusta por varias razones. La primera porque añade variedad a los mapas. Ahora serán más realistas. Y la segunda es porque estimulará el transporte fluvial y el uso de los barcos. Si haceís una prueba, vereís aunque la creación de la forma de los ríos es aleatorio, estos tienden muchas veces a terminar cerca de ciudades o industrias. Esto sin duda animará a la gente a usar los barcos y barcazas, ya que estos ríos no son meramente decorativos, también son navegables.

Os dejos algunas otras imágenes de pruebas con otros paksets (cortesía de sojo, gerw, fabio y jamespetts)




Por lo que he leído, este parche ya ha sido aprobado por Prissi e incluido en la rama principal de desarrollo de Simutrans. La versión final tendrá un interfaz para modelar los ríos, pero aún tienen que pulir los detalles. Solo queda felicitar a prissi y a gerw por este excelente trabajo y esperemos que este 2009 nos depare nuevas y trepidantes sorpresas como esta.

20/10/08

Zambulléndose en Simutrans (III): aplicando un parche

Tras obtener el código fuente y compilarlo, vamos con un paso que se ha destapado muy interesante a la existencia de ciertas mejoras que permiten los adelantamientos en simutrans. Evidentemente me estoy refiriendo a como aplicar un parche a Simutrans.

Leer más...

Ante la gran demanda popular vamos a intentar aplicar el famoso parche de adelantamientos (overtaking fun patch) a Simutrans.

Los parches siempre se aplican al código fuente de un programa, por tanto en este caso debemos obtener el código fuente de Simutrans. Para saber como echad un vistazo a este artículo. A continuación descargamos la última versión disponible del famoso parche(enlace)

Una vez que tengamos el codigo fuente descargado del SVN y disponible en una carpeta, abrimos la misma y vamos al menú Archivo >> TortoiseSVN >> Apply Patch. Aparecerá una ventana y deberemos buscar la ubicación donde descargamos el parche, por ejemplo en el escritorio de Windows. El archivo que buscamos se llama over.r2011.v8.patch. Una vez localizado, lo seleccionamos y pulsamos sobre él.

A continuación aparecerán dos ventanas, la más pequeña con una lista de archivos con extensión .cc y .h. Seleccionamos todos, pulsamos boton derecho del ratón y pulsamos la opción Patch all. Ahora el programa procederá a aplicar los parches a dichos archivos. Es posible que te pidan nombre de usuario y contraseña, los cuales son anon y vacío. También es posible que te comente que existen conflictos y problemas, pero tu ni caso. Pulsa siempre la opción SI.

Una vez haya terminado todo, cerramos la ventana grande y volvemos a compilar todo el código, con las modificaciones del parche incluidas. Si no sabes como, echa un vistazo a este artículo.

Una vez más probamos el ejecutable, usando el resto de los archivos de alguna compilación nocturna y comprobamos si efectivamente se produce el adelantamiento.

En GNU/Linux vuelve a ser todo más sencillo, ya que basta con descargar el parche, situarse en el directorio donde tengamos el código fuente y aplicar el siguiente comando:

patch -p0 < fichero_del_parche.diff

Y listo, recompilamos, movemos el ejecutable y comprobamos si ha funcionado.

NOTA: me he enterado que en las versiones más recientes del código de Simutrans, el código correspondiente al parche de los adelantamientos ya ha sido incluido, por tanto puede dar un error al compilar. Si quereís podeís probar con cualquiera de los otros parches de la seccion Patches and Nightly Builds del foro de Simutrans. Voy a crear otro mini-artículo de como aplicar el parche para hacer más grande el mapa.

Por lo menos hemos sentado las bases, en caso de que alguien quiera disponer de las últimas novedades de Simutrans.

Relacionados:
Zambulléndose en Simutrans (I): A por el código.
Zambulléndose en Simutrans (II): compilando el código fuente

17/9/08

Adelantando en la autopista hacia el infierno

Este vídeo demuestra que nada es imposible. Al menos nunca digas nunca jamas...

Leer más...


En él se muestran los prometedores resultados obtenidos hasta ahora a partir de un parche que ha sido desarrollado por nuestros colegas Isidoro y Prissi, para posibilitar los adelantamientos en ciertas condiciones.

Aún esta algo lejos de estar totalmente acabado, y tienen que optimizar el código. Como decían en el foro, no puedo hablar por Prissi (el manager del proyecto, el que tiene la última palabra) pero por el interés que ha mostrado, y teniendo en cuenta que no necesita nuevos gráficos y el código se ha acoplado bien, tiene todas las papeletas para ser incluido en futuras nuevas versiones. Todo apunta a que puede ser así..crucemos los dedos.

Para comprobarlo por vosotros mismos, solo teneís que descargaros la compilacioón 2008-09-15_v100.1_r2022-overpatchV7 de la página de compilaciones nocturnas con su correspondiente pak(64 ó 128).