Sistema de actualización de un videjuego hecho en Blender
Hola a todos, tengo una duda a ver si me la podéis responder: Lo planteo con un ejemplo: Supongamos que yo desarrollo un videojuego en Blender y lo compilo para Linux, el cual distribuyo para que los usuarios jueguen, una vez distribuido, sigo desarrollando el juego, añadiendo niveles, haciéndole mejoras, resideñando elementos gráficos que no terminaron de convencerme.
¿Existe alguna manera de que los usuarios, puedan actualizar el juego, sólo las mejoras, sin tener que descargarse el juego actualizado al completo otra vez?
¿Existe algún script o así? ¿habrá que hacerlo a través de algún sistema de control de versiones, como SVN (subversión)?
Saludos y gracias.
Sistema de actualización de un videjuego hecho en Blender
Bueno, yo se hacer uno, pero solo en Windows, con vb, net, puedes crear un sistema que descargue archivos, pero tendría que descargar todo el juego de nuevo.
Si te interesa, avísame.
Sistema de actualización de un videjuego hecho en Blender
Gracias zedenox, disculpa el retraso en responderte, pero necesitaría que fuera en Linux. Tengo que seguir investigando, pero creo que podría hacerse algo con Python o Bash, que su vez llamase a un servidor apache con subversión. Gracias nuevamente.
Sistema de actualización de un videjuego hecho en Blender
Ya. Subversión puede ser la solución. Oye, acabo de recordar que hay un programa llamado tortoise SVN, mire y es solo para Windows, pero también encontré este, git (http://es.wikipedia.org/wiki/git), lo hizo el mismo creador de Linux. Linus Torvalds, podrías echarle un vistazo al código fuente, y ver si te puedes apoyar en eso.
Posdata : si sabes que es subversión? Svn? Si?
Edito : acabo de darme cuenta que habías preguntado por subversión.
Sistema de actualización de un videjuego hecho en Blender
Si haces el juego en Blender y creas un archivo distribuible (runtime) creo que los sistemas de versiones te van a servir de poca ayuda. No estoy completamente seguro, puede que en el caso de los binarios suban un parche binario con los cambios, pero en general estos sistemas están pensados para actualizar código y poder trabajar varias personas con el mismo archivo de texto y disponer de herramientas para fusionar los cambios luego o gestionar posibles conflictos. En el caso del ejecutable igual no te queda otra que enviarlo de nuevo entero.
1 Archivos adjunto(s)
Sistema de actualización de un videjuego hecho en Blender
Tendrías que crear un ejecutable que contuviese un pequeño blend y que ese blend fue el encargado de ir llamando a los demás blends que estarían aparte. La estructura quedaría más o menos así:
Tu_juego, exe (este ejecutable contiene un blend en el ejemplo que te he subido lo puedes crear a partir del tu_juego, blend)
Blends\
Blends\juego, blend.
Blends\otros_niveles, blend.
Blends\etc.
Luego simplemente tendrías que crear un paquete con los blends que modifiques o bien crear un script que comparase los blends que hay en tu directorio con respecto a los que tienes en tu servidor y encontrarás cual falta por actualizar.
-- IMÁGENES ADJUNTAS --
https://foro3d.com/attachment.php?attachmentid=157588
Sistema de actualización de un videjuego hecho en Blender
En cualquier caso, tiene que ser tan sencillo como dejar los ficheros modificados para descargar y que el usuario los desparrame en el sitio correcto. Si no, un script en Bash con la nueva versión para que lo haga sin preguntas y ya.
Sistema de actualización de un videjuego hecho en Blender
Muchas gracias a todos. Klópes, de acuerdo, lo que sucede es que yo quiero que el proceso sea totalmente transparente para el usuario.
Saludos y gracias de nuevo.