kusfo79 escribió:Sigo pensando que casi todo esto es más complicado en un brawler, aparte de que el 90% de los RPG's de 16 bits son mucho más simples que los ejemplos que pones. Que haya 1024 flags para controlar eventos de decisión tiene la misma dificultad programadoril que si fueran 10. Lo que tiene es una complejidad de diseño, en lo que lo programadoril no interviene para nada.
Insisto en que depende de lo que para ti sea "dificultad programadoril", porque si tengo que hacer 1024 rutinas para esos 1024 eventos que han ocurrido, para mi es mucho más difícil que si tengo que hacer 10. Yo considero que sí aumenta la dificultad, porque luego tienes interacciones entre eventos y no es lo mismo controlarlas en 10 eventos que en 1024. Es muy típico aquello de "si haces tal acción después de haber dejado a medias tal otra acción mientras la abuela del personaje se fumaba un canuto, el juego se cuelga" y eso ocurre por las interacciones entre muchos de los 1024 eventos.
kusfo79 escribió:Ojo, que entiendo que por lo que dices, seguramente Star Ocean de Super es más complicado que el Golden Axe de mega, pero sigo diciendo, todos los que programamos cosas homebrew (como
@Manveru Ainu y yo) hemos empezado haciendo pseudo RPG's, es de lo más fácil para empezar.
Hombre, hacer un muñeco que se mueva por la pantalla lo hice en 2 días, usando animaciones en las 8 direcciones del espacio (como en Treasure Hunter G) y usando apenas 2% de CPU. Eso es fácil, claro, pero eso no es un RPG, ni tan siquiera un pseudo-RPG. Cuando me puse a hacer los menús, no era "lo que hace alguien cuando se aburre" como sugería el compañero más arriba: mover la mano señaladora en la mayoría de RPGs tiene inercia (son las variables $7E0AAB y $7E0AAC para desplazamiento horizontal y vertical respectivamente) de modo que el desplazamiento de la mano señaladora a otro elemento del menú se hace progresivamente, más píxeles en los primeros frames y menos en los últimos (3 o 5 frames dura el movimiento dependiendo del menú) y además, si mantienes pulsado el mando, esta inercia ya no existe para que te puedas mover rápidamente por el resto de elementos.
Y TODOS los elementos del menú del Star Ocean y del Final Fantasy 6 están colocados en pantalla por HDMA, de modo que el texto 8x8 no se ciñe a la cuadrícula y se coloca con precisión de píxel, de modo que cada elemento que sale por pantalla implica construir una nueva tabla HDMA indirecta, y te aseguro que esto da muchos quebraderos de cabeza. Y los sprites de objetos que se encuentran en cofres tienen su escalado por software, igual que algunos enemigos durante la batalla. Y enemigos, hay unos 110 en Star Ocean, de los cuales unos 50 son sprites únicos (es decir, sin cambio de paleta), cosa difícilmente visto en un beat'em up, cada uno con sus características elementales, sus ataques físicos o mágicos y su IA.
Claro, si haces un RPG cutre pues igual te ahorras todos esos detalles, pero es lo mismo que si haces un brawler cutre.
Quizá esta entrevista de un auténtico profesional en el tema dé una perspectiva un poco más clara de lo que quiero decir:
Cómo se hizo Secret of Evermorekusfo79 escribió:Quizá la cosa está en que hacer un RPG sencillo (un Zelda, por ejemplo) es mucho más sencillo que hacer un Brawler Sencillo (Un Double Dragon), y en cambio quizá un Star Ocean es más complicado que un Streets of Rage 2.
Estoy de acuerdo, y menospreciar la dificultad en programar un RPG me parece tan ridículo como hacerlo de programar un brawler. Ni uno se hace "cuando uno se aburre" ni el otro se programa "en dos tardes".
Manveru Ainu escribió:@magno buff veo que nos levantamos con fuerzas y ganas de escribir jeje, intentaré hacer lectura rápida y contestar lo que pueda.
Nah, es que está interesante el tema, aunque no entiendo qué se gana aquí si es más difícil de programar un RPG de un brawler.. vamos, que no sé si tan siquiera tiene sentido la "discusión".
Manveru Ainu escribió:Sobre las IAs, es lo que te decía, que son máquinas de estado y un componente random, nada más. Hasta en un estrifa es así, la única diferencia es que en un beat'em up tienes que lidiar con 2 players y con otros 4 o 5 enemigos con los que deben conectar sus IAs.
Esto no lo he visto nunca en un beat'em up... ¿enemigos que se coordinan para atacar en plan velocirraptor? No sé, en las batallas de los RPGs hay tb 4 o 5 enemigos y no por eso la IA de un beat'em up es más complicada.
Manveru Ainu escribió:Sobre los flags, da igual que sea 1 o un millón, la dificultad de programarlos es la misma. Si piensas lo contrario es que debes echarle un ojo a los apuntes programadoriles jeje. Vuelves a confundir algo que hace un juego con lo que cuesta programarlo
Nop, ya lo he explicado más arriba

Manveru Ainu escribió:Para saber lo triviales que son sólo tienes que programarlos sabiendo buenas técnicas de programación, aprendiendo de gente que controla del tema, leyendo libros y demás. En cuanto programas varias cosas y distintos géneros y engines, verás lo que es difícil y lo que no lo es.
Verás que cosas que parecen simples requieren ciertas técnicas e ingenio, y cosas que parecen muy chungas y largas en el código sólo necesitan trabajo muy pesado y repetitivo pero sin una exigencia real más que la paciencia (lo que le caería al becario de turno en cualquier empresa).
Estoy de acuerdo, y ese mismo razonamiento se aplica a programar un beat'em up también. A ti igual no te parecen cosas chungas al programar un RPG porque nunca lo has hecho, igual que yo no caigo tampoco ahora mismo en qué cosas chungas requieren ingenio al programar un beat'em up.
Manveru Ainu escribió:Creo que deberías ver menos código y programarlo tú mismo, y de paso leer los desarrollos de juegos de otras personas. Así podrías hablar desde la realidad, porque hackear y tunear juegos se parece a programarlos como un huevo a una nuez. Entre otras cosas porque la mayoría de los juegos de la época estaban programados de manera bastante defectuosa por temas de tiempo / dinero y/o falta de herramientas, y muchas veces no es referencia de nada.
Por eso llevo programando un RPG un par de años en los ratos que tengo libres de hackear otros juegos, montar mi propio "everdrive" para SNES, cacharrear el hardware de SNES... es que no me da la vida para tanto...
Y sé perfectamente de lo que hablo, porque llevamos los 4 que somos pensando el sistema de eventos desde hace tiempo: si vamos a meter 1000 eventos, es mucho mejor tener un sub-script para crearlos, pero si vamos a hacer 10, lo mejor es codificarlos... Así, los 1000 eventos llamarían a pequeñas funciones de librería con las que componer el evento, ya que muchas acciones serán comunes; pero si vamos a tener pocos eventos, es mucho más eficiente programar rutinas monolíticas que hagan esas tareas específicamente... o tener un híbrido como en THG, que cuando un evento tiene algo muy específico (como distorsionar un BG), se crea una rutina para ese efecto y aunque luego se repita en otro evento, se vuelve a programar la misma rutina de nuevo.
Si queremos poder hacer cosas especiales en ciertos pueblos, quizá necesitemos que el script acceda a funciones de la PPU que haríamos en un driver... si vamos a meter muchos personajes en pantalla, tendré que modificar el sistema de tasking de los sprites, que ya está hecho y que permite añadir handlers a cada sprite que le dice al motor del juego de dónde coger sus coordenadas de movimiento, cosa que no he visto hecha en ningún juego de RPG aún

Y te aseguro que se parece mucho hackear a programar, porque yo no toco bytes de los juegos que hackeo: extraigo el código fuente y reprogramo las rutinas de nuevo