Foros - Stratos

Stratos => General => Mensaje iniciado por: CoLSoN2 en 02 de Diciembre de 2005, 04:25:28 PM

Título: Juego Comunitario Por Relevos
Publicado por: CoLSoN2 en 02 de Diciembre de 2005, 04:25:28 PM
 Hoy estaba leyendo un weblog donde un tio ha hecho una serie de posts a modo de documento de diseño para un juego que está haciendo (y que a mi personalmente me encanta) y he pensando en que estaría bien hacer un juego comunitario, pero no en el sentido de "todos a la vez para un fin común", sino a la versión videojueguil de un ejercicio que hice alguna vez en el instituto, con historias escritas.

El funcionamiento es muy simple:
- Una persona comienza con una hoja en blanco (una librería/framework/engine que además sea facilón de usar, aquí lo importante es el juego).
- Esa persona escribe las primeras líneas de una historia (hace un prototipo super-mega-básico de algún juego)
- Esa persona pasa el papel a otra (se pasa el código y recursos del juego)
- La siguiente persona añade unas líneas más a la historia (añade funcionalidad (código) o recursos (gráficos, sonidos)) y la pasa a otra persona
- Repetir hasta que alguien "la termine".

Estaría curioso hacer algo así, incluso en modalidad compo 24h. Es decir, uno hace un juego en 24h, se lo pasa a otro que lo mejora/cambia en 24h, luego se pasa a otro, etc etc. Incluso podrían tomar el relevo grafistas o músicos, añadiendo sus propias cosas, aunque necesitaran la ayuda básica de un programador para integrarlo en el juego, sería poco trabajo.

EDIT: Quizá dejándolo 1 semana por persona sería mejor, pues se podría hacer también en temporada de trabajo/estudios, ya que en una semana te da tiempo a sacar aunque sean 5 o 6 horas para añadir algo.
Título: Juego Comunitario Por Relevos
Publicado por: Pogacha en 02 de Diciembre de 2005, 04:31:50 PM
 Que loco ... vez lo que hace el sueño polifasico !!! XD
Te hace pensar en como gastar tiempo en cosas ... aun que esto es una buena practica de trabajo en equipo ...

Sobre la idea en sí habria que pensarla mucho ... parece tener muchas singularidades.

Saludos
Título: Juego Comunitario Por Relevos
Publicado por: AgeR en 02 de Diciembre de 2005, 04:36:17 PM
 Yo como siempre, me apunto a lo que sea, es la mejor forma de curtirse y ganar experiencia.
Pero...  :lol: a mí me tira más la idea de un "mini-utopía". Es decir, un juego rollo casual, pero hecho entre todo el que quiera participar. Se tarde el tiempo que se tarde, que no sería mucho, sería una buena experiencia para todos.

Además lo que tú dices... al que le tocara coger el juego después de pasar por los dedos de 5 o 6 coders, puede volverse loco para saber cómo funcionan las cosas.  :rolleyes:  
Título: Juego Comunitario Por Relevos
Publicado por: CoLSoN2 en 02 de Diciembre de 2005, 05:10:22 PM
Cita de: "AgeR"Pero...  :lol: a mí me tira más la idea de un "mini-utopía". Es decir, un juego rollo casual, pero hecho entre todo el que quiera participar. Se tarde el tiempo que se tarde, que no sería mucho, sería una buena experiencia para todos.
Yo creo que hacer un juego pequeño (como 9 de cada 10 de los que hay en los Top 10 casuales) entre más de un coder, es contraproducente.
Título: Juego Comunitario Por Relevos
Publicado por: zupervaca en 02 de Diciembre de 2005, 05:32:22 PM
Cita de: "CoLSoN2"
Cita de: "AgeR"Pero...  :lol: a mí me tira más la idea de un "mini-utopía". Es decir, un juego rollo casual, pero hecho entre todo el que quiera participar. Se tarde el tiempo que se tarde, que no sería mucho, sería una buena experiencia para todos.
Yo creo que hacer un juego pequeño (como 9 de cada 10 de los que hay en los Top 10 casuales) entre más de un coder, es contraproducente.
si son juegos pequeños se tarda mas en coordinar dos programadores que haciendolo solo uno, si es un juego grande pues entonces si que es mejor distribuir el trabajo
Título: Juego Comunitario Por Relevos
Publicado por: zwiTTeR en 02 de Diciembre de 2005, 05:47:52 PM
 Colson ¿Has dormido hoy?
Título: Juego Comunitario Por Relevos
Publicado por: ethernet en 02 de Diciembre de 2005, 05:50:48 PM
 Si con coordinación es difícil hacer un juego imagínate descoordinados XD. La idea de un juego simple e ir añadiendo cosas es la más factible creo yo.
Título: Juego Comunitario Por Relevos
Publicado por: fiero en 02 de Diciembre de 2005, 05:56:44 PM
 Como experimento parece curioso, pero no se... nunca se me dió bien entender el código de los demás. Admiro a muchos de vosotros cuando decís que habeis visto tal o cual cosa en el código del Quake o similares. A mí a los 2 min ya me entraban mareos con el código del quake.

un saludo
Título: Juego Comunitario Por Relevos
Publicado por: Vicente en 02 de Diciembre de 2005, 06:00:55 PM
 Que idea más curiosa, parece interesante interesante ;) Yo si es en un lenguaje que conozca me apunto (Java, C#, VB.NET,...). Un saludo!

Vicente
Título: Juego Comunitario Por Relevos
Publicado por: CoLSoN2 en 02 de Diciembre de 2005, 06:41:15 PM
 Otra opción sería crear un repositorio de Subversion y que uno empiece un juego, informando periódicamente de los avances que hace (cada vez que añada algo). Cuando alguien quiera participar, coje y crea un branch de ese código y lo va modificando a su gusto, mientras el otro sigue a su bola. Imaginaos como de un primer juego semilla podrían añadirse con el tiempo varios desarrolladores, cada uno añadiéndole sus propios twists a la mecánica del juego. Por supuesto, también se podrían crear branches de branches, e incluso mergear (como me gusta hispanizar anglicismos XD) features de un branch en otro, etc. Cada vez me entran más ganas de probarlo.

Podría haber un repositorio por cada "grupo de fans de un tipo de juego". Me explico. Digamos que hay 5 personas que quieren hacer un shooter de naves, otras 5 un juego de pelea y otras 5 uno de, por ejemplo, un juego de estrategia por turnos. Uno podría empezar, o colaborar entre todos, en crear un juego semilla base, que fuera muy genérico dentro del género (por ejemplo, si es de naves, que tenga scrolling, naves, enemigos, disparos, etc.) Una vez se tuviera esto, cada uno podría crear su branch y desarrollar su shooter, añadiéndole lo que crea conveniente y dejando de lado las otras. La gracia sería que cualquiera puede hacer un checkout de un branch mientras que commit sólo puede hacer el originador del branch. No se si pueden establecerse estos permisos en Subversion, pero sino sería cuestión de respetarse mútuamente y listo.
Título: Juego Comunitario Por Relevos
Publicado por: seryu en 02 de Diciembre de 2005, 06:58:55 PM
 Cuando lo hayas montado avisa, si me gusta el juego base me hare una rama: todo sea por curtirse y aprender.
Título: Juego Comunitario Por Relevos
Publicado por: CoLSoN2 en 02 de Diciembre de 2005, 08:08:02 PM
 Cuanto más pienso en ello más posibilidades le veo, incluso comerciales. Imaginaos que un desarrollador hace un juego, lo pone a la venta, y pone el código disponible tal como estamos diciendo, bajo una licencia del tipo:

"Si cojes este código/juego y lo mejoras, podemos llegar a un acuerdo para venderlo (en vez del original) y compartir beneficios. Cualquier uso comercial del mismo sin el consentimiento del autor está prohibido."

Ejemplo práctico: pongo el código y recursos del Cutred Wheel disponibles en un repositorio subversion público con esta licencia. Si alguien se toma la molestia de bajarlo y mejorarlo (sobretodo en lo que respecta al control), estaría dispuesto a compartir los beneficios (e incluso dedicarle un buen tiempo a promocionarlo, si lo veo bastante mejorado), en base a las mejoras que se hagan. Lo digo porque hace un tiempo un desarrollador se mostró interesado en modificarlo y mejorarlo porque le veía potencial, pero ahora mismo está demasiado ocupado contando billetes como para que le interese, aunque a mí sí que me interesaba. Precisamente porque también creo que el concepto tiene potencial, sólo necesita estar más pulido, y a mí me da bastante pereza ponerme con él, al menos hasta que acabe mi proyecto actual.

Incluso podría, el desarrollador original, indicar una serie de mejoras y su correspondiente royaltie, por ejemplo, para el cursed wheel:
- Hacer el control mucho más intuitivo y mejorar tutorial, que en tres minutos cualquiera sepa como funciona todo: 10%
- Mejorar el sistema de scores que se guardan: 5%
- Mejorar la sensación de "progreso" del usuario (añadir mapa o algo): 5%
- Añadir más fondos y canciones para dar variedad: 10% (luego también interesa a grafistas y músicos)

Este tipo de cosas. Entonces alguien puede ver el juego, esa lista y decir "Pues hago esas mejoras (o alguna) y me saco un tanto de las ventas." ¿Algún interesado? :P
Título: Juego Comunitario Por Relevos
Publicado por: er_willy en 02 de Diciembre de 2005, 08:34:29 PM
 o un juego que la gente pueda modificar lo maximo y tu aporvercharte para mantener el juego mejorado y vendible


lo podriamos llamar mods ;)
Título: Juego Comunitario Por Relevos
Publicado por: er_willy en 02 de Diciembre de 2005, 08:41:57 PM
 otra cosa seria controlase a la gente que entrar a tocarte el codigo y lo tuvieras mas organizado
Título: Juego Comunitario Por Relevos
Publicado por: seryu en 02 de Diciembre de 2005, 08:42:29 PM
 cutred wheel powaaaa  (ole)

pues no es mala idea, aunque tambien estas abierto a que llegue gentuza tipo gextech y similares y roben el codigo y vendan los juegos a empresas y terceros, y ni te enteres (no todos los juegos comerciales se conocen por internet)...

Como bien dice egf, lo que propones son mods, y ya se ha dado el caso de grupos amateurs que hacen un mod tan bueno que se lo compran: mira el Counter Strike  :P los de unreal de hecho convocan concursos de mods y luego los finalistas son comprados por la empresa para venderlos junto con un pack de su juego. El mod de domain en el que curró gente de outplane lo ganó, mismamente  :D  
Título: Juego Comunitario Por Relevos
Publicado por: CoLSoN2 en 02 de Diciembre de 2005, 09:15:15 PM
 Los MODs son algo parecido pero bastante distinto por varias razones. Si mezclamos ambas ideas (la primera, rollo comunitario, y la segunda, con vertiente comercial) nos surgen varias diferencias.

- Acceso a todo el código del juego, no sólo de la lógica o lo que el desarrollador quiera publicar (aunque por supuesto esta es la idea, cada uno luego hace lo que quiere).
- Puedes empezar a modificar el juego cuando aún está en desarrollo.
- Nisiquiera necesitas comprar el juego para modificarlo.
- Si mejoras el juego lo más seguro es que llegues a un trato con el desarrollador y compartas beneficios, en vez de los MODs, que están destinados a ser gratuítos durante muucho tiempo y luego sólo conversiones totales que requieren de muchísimo tiempo tienen la oportunidad de sacar algo de dinero (o mucho). Es decir, es más fácil obtener un beneficio aunque luego sea menor.
- En principio, todas las branches estarían en el mismo repositorio, con lo que sería fácil seguir la pista de todas las modificaciones que hay, quien las hace, los cambios que sufren, etc.
- Para soportar modding en un juego hay que currárselo bastante, aquí simplemente tener un repositorio público.

Si se extendiese esta práctica incluso podría haber gente que se dedicara a mejorar juegos de los demás a cambio de un pequeño %, que sumándolo de este juego, de aquel y del otro le daría unos benficios pasivos nada desdeñables.

@seryu: Es cierto que corres ese riesgo, pero después de ver lo que hicieron con el video del ISS, no creo que tuvieran reparos en coger el juego en binario, cambiar gráficos, editar strings en hexadecimal y lo que hiciera falta para conseguir el mismo fin, así que no me preocupa demasiado. Ten en cuenta que también los que mejoran el juego corren el riesgo de que el desarrollador los integre y luego no le pague, este tema es una cuestión de confianza mútua.
Título: Juego Comunitario Por Relevos
Publicado por: tiutiu en 03 de Diciembre de 2005, 07:56:26 PM
 No es por desanimar, pero veo demasiadas cosas en contra que hacen cojear la idea.
El juego deberia estar bien documentado y codificado si otra gente va a modificarlo. Las modificaciones deberian comentarse igual de bien.
Habria que establecer algun tipo de protocolo a seguir para modificar el codigo. No es lo mismo coordinar un grupo de X desarrolladores que un numero aleatorio de colaboradores.
¿Como gestionarias las 'branches'? Piensa que puede haber codigos duplicados que no sean facilmente 'mergeables' (como dirias tu (twist) ).

Creo que al final tendrias miles de lineas de codigo que nadie sabria por donde pillar, y los requerimientos para correr el juego probablemente serian mas altos de lo normal.
La idea del modding me parece mejor que un sistema de colaboraciones sobre el propio codigo fuente. ¿Razones? El modding se hace sobre una interface bien documentada (deberia) con un SDK,. permitiendote impedir al usuario del SDK (¿modder?) que la lie con cosas que no deberia tocar.

Claro que habria que adaptar el concepto de modding a lo que pides tu, que es colaborar para añadir/ampliar/mejorar caracteristicas del juego en vez de hacer uno nuevo con el mismo motor. De todos modos, para llevar esto a cabo tendrias que filtrar mucho a la gente que puede colaborar en tu proyecto, hay que saber bastante para no cagarla mucho.
Título: Juego Comunitario Por Relevos
Publicado por: Harko en 19 de Diciembre de 2005, 11:05:38 PM
 Pues no me parece tan mala idea, aunque, claro esta, aun hay que pulirla bastante. El server tendria que tener suficiente espacio como para poder guardar todos los datos de las modificaciones, los datos de los usuarios, foros, etc... Pero eso seria lo de menos, creo. Lo que si que tendria que haber es alguien encargado de que no se vayan las cosas por las "ramas" demasiado, si se hacen varias ramas con una modificacion muy similar e incluso identica como que alguna sobra.

No se, a mi me gusta la idea, asi al menos me pondria a practicar mas en serio, que no he podido pasar aun de un matamarcianitos basico, por falta de tiempo :(.

Sobre lo que habeis dicho de los mods. Me parece que esas cosas estan bastante limitadas al tipo de juego para el que se hacen, no? Se que se han llegado a hacer virguerias en algunos, pero me parece que hera demasiado curro.

Bueno lo dicho, si esto llegara a hacerse abisarme que participo, si puedo ;).

Harko.