Hola, buenas.
Sigo a la espera de que alguien pruebe la 2.1 resubida con la guitarra de Xbox360 y me diga si ahora le detecta el golpeador o no, para subir la siguiente modificacion (emn este caso, vosotros sois mis ojos)
Pero mientras, me apetece hablar un poco de algunas cosas en torno al desarrollo de este programa y su comparacion con Freets On Fire o Guitar Hero (saldrá un tocho, pero espero que sea entretenido
)
En primer lugar, mi idea era basarme en el juego original en lo posible, ya que lo normal es que estés acostumbrado a jugar el juego original y no quería que el paso fuera traumatico.
Había probado Frets on Fire y estos son los fallos que encontré:
1) Está escrito en python, un lenguaje que será todo lo "portable" que querais, pero no es un lenguaje que me parezca apto para hacer un videojuego que encima es muy exigente en el tiempo de respuesta.
2) La falta de estabilidad es terrible y se hace bastante injugable a veces, agravado por un sistema de entrada deficiente y por que tuvieron la "genial" idea de mostrar los trastes mas alejados y con cambio de velocidad. Lo de los cambios de velocidad, es debido a que la primera pista MIDI, se utiliza para controlar la resolucion de tiempo.
El efecto real, es que si unas notas son cortas (como en un punteo) , cambia la resolucion y las notas se alejan mas unas de otras, pero como tardan exa ctamente, el mismo tiempo en recorrer esa distancia, dan un efecto de velocidad tremendo.
Pues bien, eso que es tan efectista, por un lado, genera cansancio visual, que se agrava por dos cosas muy negativas: que el juego no tiene buena estabilidad de tiempo, luego los tirones se hacen insufribles al verse reflejados mas claramente y por otro lado, la resolucion de tiempo puede cambiar provocando tirones al cambiar la distancia de las notas de forma alternante.
Tambien hay otros detalles: hay gente que basa las medidas de tiempo en timers, cuando lo correcto en este tipo de programas, es basar la medida en el numero de samples que se reproducen. Yo uso un sistema de doble timer: el principal es una simple cuenta de los samples que se envian a la tarjeta de sonido, traducido a tiempo.
El secundario es un timer que se encarga de actualizar los graficos/estado del programa 50 veces por segundo y que está cerrado/ajustado por el timer principal.
Esto me permite que las notas no se desincronicen del audio mas alla de unos milisegundos, pero en el caso del PC, no puedo garantizar el que no se produzcan pequeños saltos de reajuste, pues es algo externo a mi aplicacion. Para paliarlo, ajusto el Loop de audio para que sea bastante pequeño (Fast) y eso hace que las correcciones sean casi inapreciables (salvo que el PC se ponga a tocar los cojones, como cuando accede a memoria virtual porque otra aplicacion demanda mas memoria o cuando se jode la trasferencia a disco porque otra aplicacion accede a el)
3) Otra cosa que no entendí y no me gusto del Frets, es su interpretacion de las notas con punto, las que te permiten ser tocadas con solo pulsar el traste. Los tios que han desarrollado ese software, no lo deben tener muy claro, porque hay canciones donde sin rasgar la cuerda durante segundos enteros, puedes tocar un monton de notas
.
El sistema que yo uso, es clavadito a GH, por lo que pude observar: despues de capturar las notas desde el midi en una tabla donde cada nota/fraccion de nota, tiene una resolucion de unos 200ms, proceso las notas para averiguar cuales se pueden tocar como notas punto, siguiendo la lógica. Tambien aprovecho para marcar una serie de notas, como notas estrella.
4) Otro defecto del Frets, es que no tuvo en cuenta la barra de vibrato, cosa que aumenta la sensacion de estar tocando tu la canción.
Es verdad que no se puede estar a todas: yo por ejemplo, renuncie al movimiento de elevar la guitarra para activar la energia de estrella, pero lo hice porque quise desmarcarme del juego original y darle otra vision diferente: que no sea mas de lo mismo. Pero tambien, porque no me gusta tener que depender de ese movimiento: que tengas que estar mas recto que un palo esperando el momento propicio de soltar esa energia (que duplica los puntos) o que al intentar soltarla, falles una nota por culpa de la postura... pienso que el sistema que uso, es mejor para la jugabilidad.
Aparte, es algo complicado de activarla desde PAD o desde teclado y yo lo que pretendo es que el juego siga siendo el mismo juego, con las minimas perdidas de calidad, se juegue con lo que se juegue
5) Otra cosa que tampoco me gusta del Frets, es la tontería de cambiar los niveles de dificultad y la filosofia con la que se componen las canciones, por tanto. Resulta que el nivel facil, ahora es superfacil y el nivel medio, facil ¿A que viene esa tontería? ¿A que viene una cancion que teoricamente, es "facil" y usa
5 botones y una forma de tocar, que se corresponde con "hard" en GH?. No lo entiendo.
Por eso se me ocurrió añadir un modo especial de tres notas, que trata de condensar, partiendo desde el nivel medio, a tres notas por traste, toda la cancion: Particularmente, no entiendo esa manía de hacer canciones para expertos, como diciendo: "a ver si teneis cojones de tocar esta canción que yo la toco con una sola mano". Coño, pensemos un poco mas en la peña y hagamos canciones que nos permitan hacer un 100%, ganando destreza y
disfrutando
6) Una cosa en la que destaca mi programa, es que tiene
modos para dos jugadores y tambien un
modo de entrenamiento.
Es mas, mi modo de enfrentamiendo de dos jugadores, es mejor que el del juego original que me sirvió de referencia (GHII), que se limita a proporcionar unas notas para que las toque uno y otras para otro.
Lo del modo de entrenamiento, esa es la diferencia entre alguien que piensa en hacer un programa para que lo pueda disfrutar todo el mundo, ganando experiencia poco a poco.
Por supuesto, mi programa no es perfecto: ayer por ejemplo, hubo un "colega" que dijo algo así: "y luego se quejan de los graficos de la Wii".
Claro, ya solo faltaría que un programador independiente, que no dispone de recursos para realizar un juego comercial, que no vive de esto y que usa su tiempo libre en vez de trabajar 8 o 10 horas todos los dias en su programa, durante uno o dos años, con un equipo de 25 o mas personas, cada una especialista en una determinada area, fuese capaz de sacar un juego superior a lo que se ve en Wii, sobre todo si el juego se ha desarrollado para
PS2, con todas las limitaciones que ello conlleva.
En su lugar, he puesto unos graficos "simpaticotes" y me he centrado en el apartado jugable, que es la tarea de un
programador que se precie.
Encima, pensando en la portabilidad, solo uso un unico canal PCM y tengo que hacer todas las mezclas a mano, tirando de procesador y los calculos vectoriales se hacen tirando de procesador (cuando lo normal sería tirar de grafica). Se ha tratado de respetar el codigo original al maximo y a pesar de todo, el programa rula fino
Desde luego, yo estoy mas que satisfecho con mi trabajo y dentro de los "clones" de GH, mi programa tiene su espacio propio y elementos diferentes, pero si alguien no lo ve así, ya sabe: el codigo está ahi para algo
Saludos