Autor Tema: Pequeño estudio de un sistema de videojuego RPG.

0 Usuarios y 1 Visitante están viendo este tema.

15 Noviembre, 2012, 08:51 am
Leído 4289 veces

Tachikomaia

  • $$\Large \color{#c88359}\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 582
  • País: uy
  • Karma: +0/-0
  • Sexo: Masculino
El tema NO es definir RPG, si me preguntan es un tipo de videojuego que en gral se reconoce por tener varios parámetros visibles (muchos números) que influyen en las habilidades de los personajes, pero eso es mezclable con otro tipo de videojuegos así que...

Pero es el nombre que se le da, NO es invento mío:
http://es.wikipedia.org/wiki/Videojuego_de_rol

Ej:

------------------------------------------------------------------------

En principio sólo serían 2 parámetros, ofensiva y defensa, con máximo y mínimo 2 grupos con max y min 1 integrante (es una lucha 1 vs 1), los golpes serían al mismo tiempo y no habría azar. Habiendo obtenido resultados para esto, pasaríamos a estructuras más complicadas, o sea con más parámetros y cosas así.

Los resultados que queremos es ver cómo es mejor repartir los puntos (*) en este sistema, y quizá cuánto debe ser el aumento en un caso y otro. Hace algunos años hice un programa que me decía que los inclinados -no excesivamente- a la DF no eran derrotados -sí empataban- y ganaban más que los inclinados a la OF. Esto para mí es bastante increíble Xb Recién jugué SEIKEN DENSETSU 3 (SNES)
y pensé que convenía más una alta Strength, así en casi todos los juegos. Es posible, sin embargo, son sistemas diferentes.
Ahora para confirmar eso -ya que me cuesta creerlo, a partir de cierto punto en mi vida creí que era al revés- hice una tabla así:


(*): Algunos RPG permiten elegir qué parámetro aumentar cuando el personaje aumenta su LV (nivel, habilidades).

Puede haber algún error, pero ahí está, confirmado.
7-3 vence a 8-2 pero 3-7 no lo vence a 8-2.
3-6-9; 3 turnos para llegar a 8.
2-4-6-8; 4 para llegar a 7.

2-4; 2 para llegar a 3.
7-14; 2 para llegar a 8.

Mi pregunta es cómo se puede representar estas cosas cuando las variaciones sean más amplias. Si fueran 100 variaciones por ejemplo... unas 100 filas y 100 columnas???

También cómo calcular cual es la mejor relación (¿porcentaje?) si es que la hay, si hay una en que realmente el peor de los casos es empatar, y que gana cualquiera -y más de las- que ganen otras. O si es posible que empate con algunos que otros sí puedan vencer, aunque sean peores para la mayoría de los casos. Por último, si es posible un aumento justo para cada cosa, es decir, si la DF es mejor que la OF, cuánto, digamos si al subir de LV se pudiera elegir aumentar algo y en caso de elegir la DF fuera +1, cuánto correspondería a la OF (¿+1,cuanto?), si es que eso es justo.

Gracias.

15 Noviembre, 2012, 10:32 am
Respuesta #1

Luis Fuentes

  • el_manco
  • Administrador
  • Mensajes: 55,996
  • País: es
  • Karma: +0/-0
Hola

 Por favor, ya te he avisado otras veces: no enlaces imágenes alojadas en servidores externos al foro.

 La forma correcta de adjuntar una imagen está explicada aquí:

 http://rinconmatematico.com.ar/foros/index.php?topic=3659.msg14457#msg14457

 Corrige tus mensajes.

Saludos.

15 Noviembre, 2012, 02:27 pm
Respuesta #2

Tachikomaia

  • $$\Large \color{#c88359}\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 582
  • País: uy
  • Karma: +0/-0
  • Sexo: Masculino
Hecho, le tuve que poner otro nombre porque ya existía.

16 Noviembre, 2012, 12:34 am
Respuesta #3

sugata

  • $$\Large \color{#9c57a6}\pi\,\pi\,\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 3,612
  • País: es
  • Karma: +1/-0
  • Sexo: Masculino
Habituálmente, los diferentes valores de esas variables, lo que hacen es modificar el ataque y la defensa.
Por ejemplo, la habilidad de esquivar aumentara la defensa en un tanto por ciento, o una armadura.
La fuerza o la destreza aumentaran el ataque.
O sea que al final todo depende de dos variables.
Creo que lo mejor sería crear una ecuación con todas las variables que aumentan la defensa y otra con el ataque.
Y luego resumirlo en una tabla como la que has puesto.
Asi se podrá ver que valores de variables son mas aceptables.
Es un trabajo enorme el hacer esas ecuaciones con tantas variables......

16 Noviembre, 2012, 01:21 am
Respuesta #4

Tachikomaia

  • $$\Large \color{#c88359}\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 582
  • País: uy
  • Karma: +0/-0
  • Sexo: Masculino
En principio es un sistema que sólo tiene 2 variables, o sea digamos que lo inventé, simplifiqué lo que hay, pero en las cartas magic es así, Fuerza y resistencia, no hay evasión (salvo quizá alguna carta especial...), también es el de las pokemon cards. Hablo de un sistema muy simple, como expliqué. No yo por ahora no voy a estudiar un sistema complejo, que incluya muchas cosas, en este ni siquiera hay armas, y si las hubiera no importa porque al final sólo serían 2 variables.

16 Noviembre, 2012, 01:49 am
Respuesta #5

sugata

  • $$\Large \color{#9c57a6}\pi\,\pi\,\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 3,612
  • País: es
  • Karma: +1/-0
  • Sexo: Masculino
Es lo que decía, al final la lucha depende de ataque y defensa.
Los modificadores van ahi. Pensando en juegos de rol de mesa lo puedes ver.
Un saludo.

03 Octubre, 2019, 04:52 am
Respuesta #6

Hibergan

  • Visitante
En principio es un sistema que sólo tiene 2 variables, o sea digamos que lo inventé, simplifiqué lo que hay, pero en las cartas magic es así, Fuerza y resistencia, no hay evasión (salvo quizá alguna carta especial...), también es el de las pokemon cards. Hablo de un sistema muy simple, como expliqué. No yo por ahora no voy a estudiar un sistema complejo, que incluya muchas cosas, en este ni siquiera hay armas, y si las hubiera no importa porque al final sólo serían 2 variables.

Hola, hiciste el videojuego al final?
Me interesa ayudarte a testearlo, si es posible.
Gracias!

21 Diciembre, 2019, 05:29 pm
Respuesta #7

Tachikomaia

  • $$\Large \color{#c88359}\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 582
  • País: uy
  • Karma: +0/-0
  • Sexo: Masculino
Hola, hiciste el videojuego al final?
Me interesa ayudarte a testearlo, si es posible.
Gracias!
Pasaron como 7 años desde que hice el post. Hice un juego que encaja con esto pero no recuerdo si lo hice a raíz de esto.

Lo tengo a mano, el editable modificado por última vez en "Junio de 2013", no esperes gran cosa porque dejé de continuarlo una vez que conseguí lo básico. Sí es jugable, pero no hay final ni game over, sólo conteo de enemigos derrotados y recursos malgastados.
Te paso:
- El archivo Fla (editable con Macromedia Flash 5 y probablemente versiones más recientes)
- Un swf (visible, jugable, si tienes Flash Player o como se llame)
- Un exe (igual que el swf pero sirve en cualquier compu normal. El antivirus mío lo analiza al usarlo, pero bue, no tiene virus)

El código es (cuidado spoiler, incluye la fórmula con la que se calculan los recursos malgastados, o sea, la fórmula para jugar bien):
Spoiler
Código: [Seleccionar]
Escena 1
   actions for fotograma 1
      stop ();
   actions for Símbolo 8
      on (release, keyPress "<Space>") {
         play ();
      }
   actions for fotograma 2
      stop ();
   actions for fotograma 3
      stop ();
   actions for fotograma 5
      Variedad = Variedad+1;
      // Aumenta para una mayor variedad, duh.
      R1A = random(Variedad)+1;
      R1D = random(Variedad)+1;
      // AT y DF del rival.
      A = R1A;
      D = R1D;
      // AT y DF inicial de tu robot.
      N = 1;
      // Nro de golpes, usado para buscar el ideal.
      AI = Math.ceil (R1D/N);
      DI = Math.ceil (R1A*(N-1)+1);
      I = AI+DI;
      // AT, DF y LV ideales.
      stop ();
   actions for fotograma 7
      if (AI+DI <= I) {
         I = AI+DI;
         gotoAndPlay (6);
         // El nuevo caso se compara con el anterior. Hay cambio de datos si es mejor.
      } else if (A+D < I) {
         M = M+A+D;
         // Este robot perderá, supuestamente, así que es un total desperdicio.
      } else {
         M = M-I+A+D;
         // Aumenta el desperdicio según la diferencia entre A+D y I.
      }
   actions for fotograma 10
      if (R1D <= 0) {
         R = R+1;
         gotoAndPlay (5);
         // Si la DF del robot de Willy es 0 o menos, crea otro robot, etc.
      } else if (D <= 0) {
         gotoAndStop ("GameOver");
         // Si la DF del robot de Light es 0 o menos, game over.
      } else {
         gotoAndPlay (8);
         // Vuelven a quitarse DF.
      }
   actions for Símbolo 8
      on (press, keyPress "<Space>") {
         play ();
      }
   actions for fotograma 6
      N = N+1;
      AI = Math.ceil (R1D/N);
      DI = Math.ceil (R1A*(N-1)+1);
      // Aumentando N se calcula otro caso.
   actions for fotograma 8
      R1D = R1D-A;
      D = D-R1A;
      // A la DF de cada uno se le resta el AT del otro.
   actions for Símbolo 10
      onClipEvent (load) {
         this._x = 279.9- 5 + Math.random()*10;
         this._y = 176.5 - 7 + Math.random()*14;
      }
   actions for Símbolo 10
      onClipEvent (load) {
         this._x = 200 - 5 + Math.random()*10;
         this._y = 152.5 - 7 + Math.random()*14;
      }
   actions for fotograma 4
      M = 0;
      // Recursos malgastados.
      R = 0;
      // Robots vencidos.
      Variedad = 0;
      // Contribuye en Varíar AT y DF de los rivales.
   actions for Símbolo 8 2
      on (press, keyPress "<Insert>") {
         A = A+1;
      }
   actions for Símbolo 8 2
      on (press, keyPress "<Delete>") {
         A = A-1;
      }
   actions for Símbolo 8 2
      on (release, keyPress "<PageUp>") {
         D = D+1;
      }
   actions for Símbolo 8 2
      on (press, keyPress "<PageDown>") {
         if (D > 1) {
            D = D-1;
         }
      }
   actions for Botón Sp
      on (press, keyPress "<End>") {
         A = R1D;
         D = 1;
      }
   actions for Símbolo 10
      onClipEvent (enterFrame) {
         this._rotation = this._rotation+0.5;
      }
   actions for Símbolo 20
      onClipEvent (enterFrame) {
         this._x = this._x+0.5;
      }
   actions for ME1
      onClipEvent (enterFrame) {
         this._x = this._x+0.5;
         if (this._x>450) {
            _root.play();
         }
      }
   actions for ME1
      onClipEvent (enterFrame) {
         this._x = this._x+0.5;
      }
   actions for fotograma 12
      stop ();
   actions for Símbolo 8
      on (release, keyPress "<Space>") {
         gotoAndPlay (4);
      }

[cerrar]

Jaja, sí tiene game over, me había olvidado. Pero sólo aparece si el robot enemigo te gana. La idea en realidad era que obtenías game over si malgastabas cierta cantidad de recursos. Y claro debía haber rounds, pero bue, lo dejé así.