Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Idea para un juego web

Iniciado por Tei, 05 de Marzo de 2008, 11:44:47 PM

« anterior - próximo »

Tei

He tenido una idea para un juego web, que pienso podria ser interesante.

La idea seria hacer un RPG politico. En lugar de espadazos y tal, instigarias rebeliones, seducirias princesas, corromperias capitanes, etc..

Las habilitades serian: Erotica, Demagogia, Estafa, Comercio, Populismo, Religion, Camuflaje, Insidia,  etc.. cosas asi.

El jugador seria un monje filosofo. De la orden de los Monjes Asceti. Una orden que mantiene conocimientos de edades anteriores del imperio galactico, y que sirve como intermediarios y mercenarios en los conflictos politicos.  Monjes-espia, Monjes-terroristas, Monjes-demagogos,Monje-insiquisidor etc..

En el juego web cada planeta o localizacion estaria dividido en unos pocos puntos (6, por ejemplo).  El monje tiene que viajar de un sitio a otro en tiempo real (eso: tarda 90 segundos por ejemplo).  En cada localizacion tiene unas pocas acciones a realizar. El jugador puede jugar en plan "sandbox", simplemente a mejorar sus skills. O puede por ejemplo aceptar una quest, por ejemplo "derrocar el gobierno", "forzar al gobierno la aceptacion de una ley pro-cyborg". Y ponerse a trabajr en esa direccion.  En una localizacion del mapa puede estar el mercado negro de tecnologia, en otra localizacion los cuarteles del ejercito, en otra las granjas hidroponicas, en otra las granjas de clonacion, etc..  cada zona ofrece diferentes opciones.  
El monje podria construir una nave espacial monoplaza, y utilizar esta nave para desplazarse rapidamente por los planetas (pero no ganando lore de ese planea al moverse asi), y utilizar la nave para almacenar cosas, de modo que si es detenido, que no le quiten esas cosas.
El monje tendria algunas estadisticas como "presencia" o "carisma" que se pueden mejorar consiguiendo ropas mejores mas elegantes, o con alguno mecanismo de influencia siquiica, o quizas llevando cartas firmadas por gobernadores o por el mismo emperador.

Osea, basicamente igual a todos los RPG de pelear, pero en lugar de pelear con espadas, hacerlo con "inteligencia".
Lo bueno es que las quest podrian ser mas complejas. Si tienes que derrotar un gobierno, lo mismo te da hacer que los militares hagan un golpe de estado, que los rebeles consigan armas, que el pueblo se heche a la calle, o hacer que la hija del gobernado mate a su padre, que hacerte tu mismo con el gobierno convenciendo al senado, etc..  claro que si sospechan mucho de ti, podrian enviar asesinos a por ti, o enviarte a la carcel. Quizas tendrias que huir, y buscar un sitio donde comprar una ropa y tal distinta, para camuflarse de otra manera.

Mars Attacks

No lo veo yo muy cuidado en cuanto al diseño de magias.

RobiHm

si llamas al monje Carlo Jesú siu siu el juego triunfa fijo
Web : Indómita
Blog : MiBlog
Evobas : Evobas
Kobox : Kobox

Tyrell

Eso está hecho en una tarde.

Tei

Gracias, valerosos colegas.

Dandole vueltas a la cabeza, he pensado. Humm.. ¿como se programaria un sistema de quest?.  Poniendose en un juego de RPG normal:

Hay una serie de condiciones: has matado la rata enorme, tenias la quest de la mesonera, el mesonero no esta en casa. Y entonces puedes entregar la quest a la mesonera, y te da el premio.
Si solo fuera esto, se podria programar, if ( $rataEnorme.vida<0 and.... )  pero para un juego interesa un sistema, en el sistema (una base de datos?) estan las reglas que definen las quest. Se podria tener un sistema sencillo para quest sencillas ( mata 30 ratas, mata 40 caballos, consigue 30 grapas de metal, etc..) pero eso no lleva mas que a un hack & slash tontin.

¿Que habria que hacer? ¿Alguien tiene alguna idea?.

Aparte, que si es multijugador, es aun mas dificil. En un singleplayer puedes tener $rataNamedPedroMuerta = true, pero con multijugador no es una relacion de uno con uno, sino de uno con muchos. Unos habran matado la rata Pedro, y otros no.

Una quest que se me ocurre:

Tu nave se estrella en un planeta semidesierto, andas hasta la unica ciuda que has visto mientras aterrizabas.  Indagando en el bar descubres que hay una base militar cerca (en ese momento aparece la base militar como visitable). Vas a la base militar, y hablando con los soldados, descubres que en el planeta hay una estacion de piratas, y de rebeldes, y que los piratas y rebeldes estan en guerra entre si, por lo que los militares tienen poco que hacer. (aparece la localizacion de la base pirata en tu mapa). El comandante de la base se niega a permitir que su mecanico repare tu nave. Viajas hasta la base pirata, y descubres que la hija del comandante (aparece su nombre en tu agenda) esta liada con el jefe de los rebeldes, pero que el jefe pirata esta enomorado de ella, y que la pelea con los rebeldes es una cosa personal.
El jefe pirata te da la localizacion de la base rebelde (aparece en tu mapa) y te pide que acabes con el jefe rebelde, para quedarse con la chica.
Viajas hasta la base rebelde, creen que eres un espia y te encierran. En la carcel hablas con un soldado encerrado, y te informa que el rebelde ha seducido a la hija del comandante para sacarle informacion, y te da una prueba.(la prueba aparece en tu inventario del diario). Escapas de la celda, y huyes a la base militar. Encuentras a la hija del comandante, y le das la prueba. Esta se enfurce, y coge una nave para ir a la base rebelde a matar al jefe rebelde. Tu se lo cuentas al padre, y al jefe pirta. Los cuales se dirigen todos a la base rebelde. Con el comandante fuera de la base, consigues secuestrar al armero mayor, que repara tu nave, y sales.
Desde el espacio ves señales de conflicto belico.

Esta seria una quest de ejemplo. Aunque ahora que la veo por escrito, se podria dividir en subquest, con lo que igual mas facil.

RobiHm

en los multijugadores se me ocurren dos tipos de quest, (en los reales solo existe una, que es la típica mata x cosas o trae x cosas o ve a tal lugar y es individual a cada player)
el tipo quest "tontorrón" es la de las ratas y tal

luego yo definiría la quest "ideal"
lo ideal es que no hiciesen falta quest, es decir tu investigas en la taberna y escuchas una historia que te deja pistas diciéndote, en tal sitio necesitan tantas cosas así de oídas, o existe un bandido malo maloso,
y tu que quieres ganarte unos dólares estelares buscas x cositas o al tipo ese malote, sin número fijo xk no sabes cuantas quieren y vas al lugar con tus cositas y las vendes o resulta que alguien ya ha llegado antes que tu y ya no necesitan más o solo encuentras un brazo del bandido xk otro ya se ha encargado de él ... etc ... etc

para programar esto se utilizan un par de tablas (cuanto más complejas las quest más tablas y campos)

lo básico para el tipo de quest 1 sería
quest_jugador
 identificador_quest
 identificador_jugador
 recompensa_quest
 (aquí igual que con las misiones, cuanto más lo compliques más tablas campos tendrás xD)

ahora dependiendo de la complicación, es decir si va a estar compuesta por más de un tipo de misión o no vemos que necesitamos

si esta compuesta por más cosas necesitamos otra tabla para agrupar misiones, sino simplemente añadimos identificador_tipo_quest

quest_misiones
 identificador_quest
 identificador_mision  
 identificador_tipo_mision
(tenemos otra tabla con los tipos, matar, piezas etc etc)
 cantidad
 cantidad_obtenida (o simplemente vas restando de la otra)
 fecha_limite (por poner cualquier cosa)


y así a voz de pronto sería el proceder supongo, tirando desde una base de datos xD
Web : Indómita
Blog : MiBlog
Evobas : Evobas
Kobox : Kobox

Tei

Humm.. gracias.

Se aprecia el esfuerzo, aunque no termino de visualizar el como.
Si tengo algunas ideas bastante maduras, pero habria que ponerlas a prueba.

Juan Mellado

Pues con una base de datos parece la solución más lógica.

Básicamente podría ser una tabla por cada entidad básica (jugador, personaje, área, objeto, misión, ...) y las de relación entre sí. O sea, un diseño de los de toda la vida, no veo por qué no.

Respecto a las "quests", se pueden concatenar, tal y como se comentaba antes, con una referencia a una quest previa o posterior.

Quest [desnormalizando]:
 id
 titulo
 descripcion
 resumen
 id_quest_previa (o varias)
 id_quest_siguiente (o varias)
 objeto_terminación (o varios)
 cantidad_objeto_terminación (o varios)
 ...

Quizás una columna "tipo_quest", aunque no lo veo necesaria ahora mismo. Creo que dependería de todos los tipos de quests que quieras tener en el juego. Los "tipos" suelen provocar diseños pocos flexibles al requerir procesos a medida, aunque a veces son inevitables.

Lo que veo más interesante quizás son los desencadenantes (triggers) de las misiones o de la visibilidad/accesibilidad de áreas/objetos/personajes: al llegar a un área, al hablar con un personaje, al coger un objeto, ... En el ejemplo que has puesto "Tu nave se estrella ..." se puede ir leyendo y subrayando (como en el colegio) los sustantivos y verbos para ir entresacando los triggers y misiones desencadenantes. Esto se puede modelar con tablas del tipo area_trigger, criatura_trigger, objeto_trigger, ...

Respecto a las criaturas, como la "rata Pedro", pues tendrían su tabla propia, con su estado y su correspondiente tiempo de "respawn", que es como normalmente se tratan este tipo de cosas en los pocos juegos que yo conozco.

Saludos

Nota: En la práctica [pensando en la implementación] he visto que se tiende a desnormalizar los modelos de datos, supongo que para reducir el número de tablas y accesos a base de datos.

Tei

Gracias Juan. Haces una descripcion bastante nitida. Me siento mas seguro con el diseño. Y como se empezaria.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.