[PS2] Guitar Fun, necesito grafista.

Hola wenas.

Mi proyecto de clon de Guitar Hero, camina con paso firme, pero tengo un ligero problemilla: necesito graficos que muestren a los musicos tocando en el escenario, para darle un acabado mejor.

Las animaciones de los personajes, pueden ser en 2D o en 3D.

En caso de graficos en 2D, seria crear unos pocos frames para cada personaje con una paleta de 16 colores y tratando de contener la resolucion lo maximo posible (para que la animacion quepa en el ejecutable, ues es importante que este tenga un tamaño suficientemente contenido)

En el caso de graficos en 3D, lo ideal es una baja poligonizacion, para que la PS2 lo pueda mover sin problema.

Yo ahora mismo, estoy utilizando 8 frames de un video, a 256x128 y 8 bits de color, para la animacion (pasados por un filtro que emborrona la imagen, por cierto)

Os dejo un video que muestra el estado actual del programa y ya me dais vuestra opinion:


http://www.youtube.com/watch?v=7GfF1pvnxco
Está muy guapo, como todos tus trabajos( al menos los que conozco). Si consigo una guitarra barata( estoy pensando destrozar un mando viejo y hacerme una XD) lo probaré.
Oh maldita sea! Justo ahora que he mejorado ligeramente con el pixel art ya estoy metido en un proyecto a contra reloj para acabarlo en un mes como grafista (por cierto es para PSP).
Imagen

Igualmente estoy con gráficos pequeñajos y que mi estilo no acabaría de pegar ahí (por cierto, muy bueno el clon, ojalá lo portes a PSP si es factible xD).

Si puede ser concreta que tamaño tendrían los personajes, cuantos frames de animación... porque si no los grafistas se asustan del currazo que puede haber ahi detrás xDD

Saludos y felicidades, siempre consigues sorprendernos [beer]
Joder, cuanto exito he tenido XD

Nada: está visto que lo mejor es no contar con nadie y hacer todo uno mismo.

Luego, cuando todo el trabajo esté hecho, seguro que aparece gente con ganas de colaborar o que me piden el código fuente para "mejorarlo".

Evidentemente, mi repuesta será un no como una casa, ya que consideraré que puesto que todo el trabajo lo he realizado yo, nadie tiene el derecho ni de partir desde lo que yo haya hecho, ni de modificar el aspecto de algo que nació conmigo y morirá conmigo.

Que conste que esto no es un reproche a nadie, si no una explicacion de por que pasan las cosas.

Es lo que tiene llevar muchos años en esto y tener que currarselo uno todo, que luego cuando me venga alguno contando milongas de open source y pollas en vinagre, le voy a presentar a este amiguete mio: [poraki]


De todas formas, para poner los dientes largos, aqui os dejo otro video:

http://www.youtube.com/watch?v=u3C7tnz2ikg
responder: lo que me recuerda.... siendo aún no he podido hacer el feedback porque por alguna extra razon no he encontrado cds cerca de casa hasta hoy esta noxe a ver si grabo esa version y la pruebo que me vuelvo a ir dentro de poco :(
La verdad, no creo que un foro de programación sea el mejor sitio para pedir grafistas.
Hermes, se puede meter cualquier cancion? Joer que curro, no?
saulotmalo escribió:responder: lo que me recuerda.... siendo aún no he podido hacer el feedback porque por alguna extra razon no he encontrado cds cerca de casa hasta hoy esta noxe a ver si grabo esa version y la pruebo que me vuelvo a ir dentro de poco :(


No te preocupes, pruebalo cuando puedas ;)

Chano Marrano escribió:La verdad, no creo que un foro de programación sea el mejor sitio para pedir grafistas.


Esto no es un foro de programacion, si no de Desarrollo (y en teoria, deberían darse cita tanto programadores, como grafistas, musicos, etc y colgar material si les da la gana, al igual que yo puedo colgar codigos fuentes)

Hack3r escribió:Hermes, se puede meter cualquier cancion? Joer que curro, no?


Si, se puede meter cualquier cancion, aunque hay un monton preparadas ya (pon FOF en Google y veras sitios dedicados a eso, ya que mi programa utiliza el mismo formato que Frets On Fire )

Eso si, si lo que quieres es adaptar tu una cancion, lo que se suele hacer es comprimir dos pistas de audio a mitad de volumen, en formato Ogg (en mi programa, con que exista una pista, vale) y luego, con un programa secuenciador MIDI, puedes crear las notas a tocar en el juego, para los distintos niveles (hay tutoriales sobre eso en la Red)
No se cuál es la idea que tendrá cada uno del foro pero...

FUNCIONAMIENTO DEL FORO (beta)

.....

Su acceso es libre, pero un requisito indispensable es tener conocimientos de programación, si no sabes programar este no es el foro idoneo para que aprendas. Sin embargo si sabes programar pero nunca has hecho nada para alguna videoconsola no te preocupes, si demuestras interés y dedicación aquí podrán ayudarte.


Y de varios subforos en destacado

Nuevo foro de programación

Por si no os habéis enterado, tenemos un nuevo foro de desarrollo en el que tiene cabida la programación de la NDS. Os esperamos por allí, pero antes leed las normas de funcionamiento del nuevo foro por favor.


Asi que no veo nada raro que por aquí no se pasen más que programadores.
webez escribió:No se cuál es la idea que tendrá cada uno del foro pero...

FUNCIONAMIENTO DEL FORO (beta)

.....

Su acceso es libre, pero un requisito indispensable es tener conocimientos de programación, si no sabes programar este no es el foro idoneo para que aprendas. Sin embargo si sabes programar pero nunca has hecho nada para alguna videoconsola no te preocupes, si demuestras interés y dedicación aquí podrán ayudarte.


Y de varios subforos en destacado

Nuevo foro de programación

Por si no os habéis enterado, tenemos un nuevo foro de desarrollo en el que tiene cabida la programación de la NDS. Os esperamos por allí, pero antes leed las normas de funcionamiento del nuevo foro por favor.


Asi que no veo nada raro que por aquí no se pasen más que programadores.



Pues ha sido jiXo el que me ha alentado a buscarlos aquí... asi que tu sabras [angelito]

Hombre, se supone que los grafistas que se pasan por aquí, tienen relacion con la programacion y no se dedican a hacer comics... digo yo.
Puede decirte lo que te de la gana que si luego pone unas normas que no incitan a que se paseen poco vas a encontrar.

Y no es un problema de que hagan comics o la mona lisa. Si no hay grafistas por aqui, no hay y no hacen nada.
Pues macho, yo estoy hasta la polla de ver grafistas por aquí con animo de hacer proyectos de más duracion, que las Piramides :-P
a ver desde mi punto de vista grafistas para juegos encontrarás mejor por esta sección hay gente que le pilla a las dos cosas y no empieza a programar por lo largo de los proyectos pero puede ayudar y sabe mucho mejor lo que es un mapa de bits una paleta y bueno en definitiva todo lo que se necesita en cambio a alguien reclutado por los foros igual hace algo muy "currado" pero que luego es inviable.

de todas maneras hermes te digo una cosa, creo que será mejor que busques en el foro de scene y tal porque la gente está muy "flipadilla" (sin ofender) y fijo se te ofrecen 10 o 20 y de esos 1 o 2 seguirán el proyecto xD.
Yo mismo no soy grafista y termino teniendo que hacer todo yo mismo, y así me queda todo XD. Si yo fuera tú dejaba el video que tiene ahora ( lo sé soy poco exigente XD ).

Ahora mismo estoy más liado que un trompo con el PFC ( un juego en 3D y tengo que modelar, animar etc... [qmparto] ). No sé donde me he metido XD.

Pues eso ánimo que el proyecto tiene una pinta estupenda , a ver si encuentras a alguien que te ayude. Yo si no me fabrico la guitarra al final acabaré cayendo y me compraré una.

PD: He visto el video y el sonido está sincronizado perfectamente, sin embargo cuando probe el FOF habia un retardo molesto. ¿Depende de la canción o es que python es una mierda XD?
parrincrisis escribió:PD: He visto el video y el sonido está sincronizado perfectamente, sin embargo cuando probe el FOF habia un retardo molesto. ¿Depende de la canción o es que python es una mierda XD?



No, no es problema de python, el problema es tu pc que es arcaico y no sirve ni para adornar.

Lo siento, pero no me gusta que la gente critique lo que no conoce.


Siento haberme metido en tu hilo así hermes.
fox tio... has probado el guitar fun? si lo pruebas creo que entenderás lo que se refiere en cuando a manejo de la entrada me parece que está mejor la de hermes y te lo digo desde el punto de vista de jugador y de programador. El fof tiene mucho curro pero siempre he pensado que era un programa que no cumplia para mi por eso gastaba el guitar zero y aún con este habian canciones que eran imposibles porque el manejo de la entrada estaba mal y que he probado con el guitarfun y van de puta madre...
parrincrisis escribió:PD: He visto el video y el sonido está sincronizado perfectamente, sin embargo cuando probe el FOF habia un retardo molesto. ¿Depende de la canción o es que python es una mierda XD?


Bueno, dejando al margen de que hay canciones que tienen desincronizada la pista MIDI... es que mi programa tiene un curro detras que no te lo puedes ni imaginar ;)

Para empezar, el audio se controla con una libreria que hice hace unos 3 años (precisamente, pensada para juegos) y que me permite comunicar el EE, con el IOP (procesador y subprocesador) con una precision milimetrica, trabajando de forma asíncrona, tanto para el canal PCM (un canal estereo), como para los 48 canales de voces.

El juego trabaja en dos hilos: el principal, se encarga de leer el audio en formato Ogg, descodificarlo y enviarlo si procede, al IOP. Mi libreria agiliza todo el proceso, utilizando un loop de 80 ms, mientras que el video, la lectura del pad y todo lo que aprecias del juego, se controla con un hilo sicronizado con VBLANK, que ademas se encarga del ajuste fino de tiempo.

Como soy un tio listo, para no joder el streaming del audio, una de las pistas ogg se lee desde memoria (en una maquina que tiene 32 MB de RAM...) y me las apaño para que todo vaya fluido, sin cuelgues, con suavidad, con todo bajo control (incluso tengo en cuenta que puede fallar la comunicacion con el PAD y hago un ajuste para evitar que eso provoque un fallo )

Experiencia no me falta en PS2, precisamente ;)

Fox escribió:

No, no es problema de python, el problema es tu pc que es arcaico y no sirve ni para adornar.

Lo siento, pero no me gusta que la gente critique lo que no conoce.


Siento haberme metido en tu hilo así hermes.


Bueno, ya que pasas por aqui... he leido tu MP sobre si soy "aquel" usuario que mencionas, y la respuesta es que sí ;)
Fox escribió:

No, no es problema de python, el problema es tu pc que es arcaico y no sirve ni para adornar.

Lo siento, pero no me gusta que la gente critique lo que no conoce.


Siento haberme metido en tu hilo así hermes.


No se si te das cuenta que era una pregunta en tono de broma pero da igual, lo que quería saber ya lo han respondido, depende de la canción y la sincronización con la pista midi, y eso es bueno pues lo volveré a instalar. Yo tenía claro que no era el python ni mi ordenador pues iría lento, no con retardo. Era una broma, siento que te haya molestado.

PD: Hermes pues si que te lo has currao, entre esto y el PS2mediaplayer se puede decir que eres el amo de la PS2. Ánimo Hermes !!!
El problema del FoF, a mi forma de ver es que está bastante mal organizado y bastante mal optimizado asi que de vez en cuando su rendimiento suele caer a 0 y liarse la gorda. La verdad es que han mejorado bastante.

Siendo el Guitar Fun para PS2 usará C o C++ y la verdad es que el rendimiento es bastante más bueno que en python, además que Hermes sabe usar bien estos lenguajes y podrá darle un buen rendimiento.


Y no, no he probado Guitar Fun porque le dejé el mando de la ps2 a un amigo mio y este se lo dejo a otro y no se donde terminó la cadena, por otro lado no tengo una grabadora funcional para grabar el juego :P

El guitar zero ese no lo he probado, era para windows si mal no recuerdo.


Y gracias hermes por responder a mi duda, ya no es por la duda en si, era porque bueno ha pasado algunas semanas del mp y pensé que te molestaste :P
yo soy modelador y animador 3D si quieres te puedo echar una mano y hacerte algunos modelos contacta conmigo por mail agregame yb hablamos

elcorreobasuradeaj@hotmail.com
Hermes Callate ( es broma ) esque me pone de los nervios que empieces a decir 1000 cosas que digo joder eso esta a años luz de mi.

Que edad tienes ¿? si no es entrometerme.

PD: Felicidades por el curro.
soy sincero, no me gusto.
gpneo escribió:yo soy modelador y animador 3D si quieres te puedo echar una mano y hacerte algunos modelos contacta conmigo por mail agregame yb hablamos

elcorreobasuradeaj@hotmail.com


Bueno, la cosa ha cambiado desde la primera Release y creo que no voy a utilizar animaciones 3D, entre otras cosas, porque si se sobrecarga mucho el tema grafico, acabará afectando a la descompresion y joderemos la jugabilidad.

En su lugar prefiero animaciones por separado, del Guitarrista y demás actores, pongamos que le damos un maximo de 128x128 pixel para cada personaje, a 16 o 256 colores

La vista de los actores, debe ser frontal , las animaciones de pocos frames pero combinados con inteligencia. sobran y estoy seguro que cumpliran a la perfeccion.

Si quereis usar modelos 3D y hacer capturas de ellos, tambien me vale.

Por cierto, si alguien quiere hacer texturas para el mastil de la Guitarra, el tamaño es de 64x256 y entre 16 y 256 colores, estaría bien para que fuera compacta.

Esto permitirá que cualquiera que quiera paticipar,participe e incluso combinar actores de distintos grafistas y pienso, os facilitará la vida y los graficos cumpliran su cometido.

Sobre el MSN... hubo una epoca en que estaba todos los dias conectado, pero desde hace bastante, aparezco tan poco que a veces me regañan los colegas que tengo de hace años XD

Preferirí que utilizaramos el foro, si no te importa, ya que la cosa es tan simple como: tu haz una animacion de un macarra tocando la guitarra, que yo ya me las apañaré para acoplarlo al juego y no os preocupeis mas ;)


ReiFoX escribió:soy sincero, no me gusto.


No se si entender que no te gustas o que no te gusta el programa XD

Si es lo segundo, sobre gustos, no hay nada escrito y simplemente decirte, que si tienes algo que aportar, ahora es el momento y si el aporte es "no me gusta, pero buscate tu la vida" pues entiende que yo tambien soy sincero, cuando digo que tu opinión, me la trae floja
(y si te molesta la 'dureza' de mis palabras, haber dejado tu opinion en el hilo de la Noticia o el del foro de Scene de PS2 y no aqui, donde he pedido ayuda con los graficos y no la he encontrado)
Yo no es qe sesa un hacha con graficos D y animaciones, pero alo mejor saco tiempo para poder hacer un loguillo que puedas implementar al programa y tal, y si te gusta lo pones y si no, no :-P
Saludos, y sigue con el currele que esto pinta muy bien , y creo que una vez tengas todo casi acabado, te quedará una cosa bonita, ya el resto solo será meter canciones y mas canciones. :D
Por cierto, cuando vas a elegir las canciones y eso, pues sería factible implementar ahi como una parte donde aparezcan el nombre de las canciones con alguna animacion tipo un disco girardo o una foto del grupo, a modo nose si me explico rueda que ba girardo y apareciendo las canciones. Aunque lo veo chungo poruqe es dicifil saber las canciones que quiere cualquiera, pero no se quizas se pueda implementar quedaria curioso, nose si conoces la ruleta de seleccion de canciones del SING STAR pues una cosa parecida.
Saludos
ocodar escribió:Yo no es qe sesa un hacha con graficos D y animaciones, pero alo mejor saco tiempo para poder hacer un loguillo que puedas implementar al programa y tal, y si te gusta lo pones y si no, no :-P
Saludos, y sigue con el currele que esto pinta muy bien , y creo que una vez tengas todo casi acabado, te quedará una cosa bonita, ya el resto solo será meter canciones y mas canciones. :D
Por cierto, cuando vas a elegir las canciones y eso, pues sería factible implementar ahi como una parte donde aparezcan el nombre de las canciones con alguna animacion tipo un disco girardo o una foto del grupo, a modo nose si me explico rueda que ba girardo y apareciendo las canciones. Aunque lo veo chungo poruqe es dicifil saber las canciones que quiere cualquiera, pero no se quizas se pueda implementar quedaria curioso, nose si conoces la ruleta de seleccion de canciones del SING STAR pues una cosa parecida.
Saludos


Sinceramente, creo que os perdeis en los detalles pijos [+risas]

Se ueden hacer muuchas cosas: poner una animacion de escenario ppropia para cancion, poner fotos y miles de pijadas mas, pero al final, lo que cuenta es que el programa funcione bien y os olvidais de cosas como:

¿Por que es interesante este programa? Pues porque puedes meter un porron de canciones personalizadas, por ejemplo

Si no recuerdo mal, el soporte sigue siendo de 512 canciones ¿te imaginas el currele que tendría personalizar como dices cada cancion?

Pero lo mas importante: ¿te imaginas tener que listar 512 canciones, donde para pasar de una a otra, se tardaran 4 o 5 segundos, solo porque hay que cargar un porron de graficos y chorradas varias que necesitan de la CPU a pelo y esta trabaja a 300Mhz?

Eso sin contar el desperdicio de memoria que supone, en una maquina que solo tiene 32MB y una VRAM de 4MB de risa

Yo es que ya sabes, me preocupo por estos detalles a los que nadie da importancia XD
comprendo comprendo lo que me quieres decir,antes de ver como mejorarlo visualmente desperdiciando memoria, que se podria utilizar para la optimizacion del programa, prefieres tener todo lo que es el funcionamiento listo, y luego preocuparte con lo que falte del apartardo grafico etc.etc. etc.... no?

Bueno ahora una preguntilla. Por ahi nose donde he visto que te preguntaban, si podias ver lo de implementar el modo para 2 jugadores, y tu decias que no por la complejidad del asunto, y yo te pregunto, de verdad es muy chungo hacerlo porque creo que un punto de los mas fuertes, sería poder usar un multijugador, en este juego.
Pero nose, yo te pregunto desde mi ignorancia, si fuese dificil, pero factible no te podria compensar hacerlo ahora, que ya tienes algo asi en mente de como va todo, y no luego cuando ya tengas optimizado para poder jugar de uno, telo digo porqe haber desde el punto de vista de jugabilidad es una pasada esto de tener canciones ilimitadas para poder tocar, pero tiene mucha mas miga poder echar pique o cooperar con colegas etc... por eso te lo pregunto una vez acabado de optimizar el programa hasta tenerlo todo Ok, seria factible implementar para 2 jugadores, o seria más factible hacerlo ahora??
Saludos
Lo que quiero decir, es que no soy dios, ni esto me da de comer, ni tengo un presupuesto detrás, ni tengo material de primera mano, ni cuento con personal cualificado, ni estamos hablando de una PS3...

¿Tu que quieres? ¿Que haga un juego que imite completamente a Guitar Hero, pero con un mayor reto tecnico y ademas lo haga yo solito? :p

Hombre, yo no me he puesto a destripar el juego comercial, para ver el formato de las canciones, pero me apostaría que tiran de PCM para el audio y no utilizan ni MP3, ni OGG... que solo con eso, ya supone una merma de recursos importante para una maquina para PS2.

Pero es que por entrar en detalles que tu no tienes en cuenta...

¿te has fijado que si estas tocando una nota larga en mi juego, si sueltas el boton, la puntuacion deja de contar, pero no se interrumpe el sonido?

En el juego original, si que pasa y te voy a contar el motivo por el que yo no puedo hacerlo.

Veras, en PS2, se pueden utilizar por hardware, dos pistas PCM de sonido, lo cual sería perfecto para el juego, pues nosotros tenemos dos pistas PCM (una vez descomprimidoel audio) que hay que mezclar y en caso de fallo, seria tocar el mezclador para que el audio en una, dejara de oirse de forma casi instantanea.

El problema es que yo soy desarrollador oficial y no cuento con el SDK de SONY, si no que tiro de librerias internas, que pueden contener bugs o no tener implementadas todas las funciones.

Yo no se que será, pero cuando tenia la V3, la librería solo soportaba una pista PCM, mientras que en al menos la V7, ya podia usar dos pistas PCM.

Ese detalle, ya me limita para poder cortar el sonido de inmediato o a la hora de modularlo con la barra de vibrato, que en vez de atacar el volumen de la pista de sonido, tengo que proceder a hacerlo en los samples de audio (lo cual se come recursos tambien).

Ademas, como hay una lectura de audio y una descodificacion de por medio, eso me obliga a tener que usar un loop de audio un tanto amplio, de 80 ms, pues de hacerlo mas corto, me encontraría con cortes en el sonido cada dos por tres.

Esto provoca que cuando cometes un fallo, el sonido no se corte de inmediato, o cuando modulas con la barra de vibrato, haya un retardo apreciable. No hay que ser un lince para ver, que en estas condiciones, si al soltar el boton en una nota larga, diese una orden de interrumpir el sonido momentaneamente al mezclador, éste llegaria con un retardo de unos 80 ms y tal vez suprimiese el sonido de una nota tocada posteriormente y equivocase al jugador (soltar una nota larga, es un semifallo en Guitar Hero, penaliza en los puntos e interrumpe el audio, pero no afecta a los multiplicadores)

Fijate la que se arma, tan solo por no poder acceder a los dos canales PCM, a pesar de que las cosolas que tengo, SI que disponen de la libreria correcta que me permitiría tener la vida mas facil... a costa de que un porrón de gente no puediera utilizar el juego, claro.

Ahora bien, tu te centrabas en el modo Multijugador, aunque supongo que te refieres a LOS modos multijugador (varios= crear varios juegos y mas lio en el programa :/) ¿no?.


Veamos, yo no tengo la posibilidad de probar con otra persona el GH, para poder copiarlo en detalle , etc, pero supongo que cuando hablas de implementar uun modo de a dos personas, te refieres a que uno toca el bajo y otro la guitarra ¿no?

Pues caray, resulta que yo pista de guitarra, si que puedo tenerla en cuenta, aunque en la mayoria de las canciones no exista y no sea mas que una copia burda de la misma cancion, pero ¿de bajo? ¿tengo siquiera la pista MIDI del bajo en las canciones para poder hacer eso?

Supongamos que si: Pues bien, debo suponer que tengo una nueva pista de audio a mezclar, en formato Ogg, para tocar los cojones...

Pero espera, resulta que cuando estaba haciendo el juego, tuve unos ligeros problemas jugables: resulta que el programa utiliza programacion multihilo, pero eso no significa que es que a la PS2 le haya crecido un CORE nuevo y yo pueda disponer de el para acelerar los procesos.

No, lo que significa, es que mientras un hilo está ocupado leyendo un fichero, suele estar bloqueado hasta que le llegan los datos, y yo estoy pidiendo un porron de datos suficiente, para poder mantener la velocidad de lectura (sobre todo en CDROM) y al mismo tiempo garantizar que el decompresor tiene datos para comer.

Tambien supongo, que el descompresor tarda un tiempo variable en proporcionarme los samples, asi que tengo una perturbacion temporal bastante grave, si trato de sincronizar los graficos, la lectura del PAD,, etc, pues el bucle tarda entre 0 y 80ms de tiempo entre los distintos loops.

Para solucionarlo, se recurre a crear un hilo de programa, con una prioridad mas alta, unido a la interrupcion VBLANK.

Esto significa que 50 o 60 veces por segundo, este hilo toma el control. Al ser de una prioridad mas alta. no puede ser interrumpido por el otro y sin embargo, el interrumpe de forma inmediata a ese u otros hilos que pudieran estar trabajando.

Eso me garantiza la estabilidad de tiempo que tiene el programa, me permite leer el PAD de forma regular y actualizar los graficos con suavidad, pero puesto que es un hilo prioritario, que interrumpe al de la lectura, no hace falta ser ni siquiera ser desarrollador de programas, para entender que cuanto mas tiempo nos entretengamos aquí, mas perjudicamos el hilo de lectura/descompresion/ control de efectos de sonido, que esa es otra: mis librerias no son multithread, como si son las oficiales y tengo que tener MUCHISIMO CUIDADO con las llamadas RPC, si no quiero entrar en un agujero negro...

El caso es que el hilo de los graficos, penaliza al de la lectura y ahora estamos suponiendo, que graficamente, representamos dos mastiles y el doble de notas, para reproducir 3 pistas en formato Ogg, mientras movemos todo lo demas tambien.

Pero espera, que estaba diciendo que tuve problemas al principio, cuando estaba en el bucle de juego y reproduciendo DOS pistas de audio.

El problema quiza lo hubiera podido solucionar, volviendo mas compleja la lectura, cacheandola mediante un software y leyendo mas datos. Como hay que tener en cuenta el CDROM, tenemos que tener en cuenta los saltos de la lente, si queremos leer dos ficheros distintos con el audio.

Esto produce un retardo apreciable (ya ni te cuento leer de tres ficheros...) , que se puede solventar utilizando una lectura avanzada y compleja... o de otra forma mas sencilla.

La forma mas sencilla (la que implementé) consiste en leer una de las pistas por completo y almacenarla en memoria RAM, para así solo tener que proceder a una unica lectura desde CDROM o el dispositivo USB y evitarme un trafico de datos doble y a saltos.

Eso si: si el Ogg mide 4 MB, eso es lo que se va a chupar de RAM, que serian digamos 8MB si hubiera una pista de bajo de por medio (eso si, espero que no haya ninguna de 8 MB, porque me comeria la mitad de la RAM, entre las dos, solo para hacer de almacen de las canciones, duplicando a su vez el tiempo de las cargas (que serían eternas, casi XD))

Incluso pongamos este caso: juego Multijugador que usa un unico mastil, con dos pistas Ogg, pero donde la pieza, se toca un tiempo por un jugador y un tiempo otro. Si uno de los dos jugadores falla, el control pasa al siguiente y gana el que mas puntos logra.

Veamos, se me ocurre que cada jugador deberá tocar las notas de alguna forma.... ¿debo suponer que los jugadores pueden disponer de dos guitarras, dos PAD's u dos teclados?

En caso de utilizar dos teclados, me tocará modificar el driver de teclado para que sea capaz de leer dos teclados a la vez,porque yo lo valgo [tomaaa] , pero lo evidente es que eso necesita una cierta cantidad de tejido detrás que permita configurar los controles para dos jugadores y lleva modificaciones en el programa que no consisten en añadir dos lineas de código nuevas y ya está, que es que vosotros veis las cosas desde una perspectiva de pedir las cosas como si fuera lo mas facil del mundo hacerlo y no costase nada de trabajo....


Pero ¿quieres saber lo mas gracioso? Que despues, todo ese curro, lo disfrutas tu y tus colegas y no el creador del programa :-P [qmparto]

PD: Llegará el momento en que libere el código, la gente lo mirará, vera que para empezar, está compilado con un compliador muy antiguo, en C puro y duro, que utiliza librerias que solo pueden ser utilizadas con dicho compilador, que no usa ps2sdk, que el codigo es complejo y dificil de entender, que hacer las cosas no es tan facil como hablar, que te puedes cargar la estabilidad y fluidez del programa añadiendo cualquier tonteria y veremos entonces quien es el valiente que se pone a mejorarlo, mas allá de cambiar dos imagenes de fondo y dos pijadas faciles de hacer, que aumentaran el programa de los 500KB que ocupa ahora, a 4MB y estará la mitad de la peña mosqueda, porque no lo pueden utilizar en la memory card y encima la mitad de las canciones petan, por falta de memoria. Eso sí, pondrá un logo muy bonito que diga: Hecho por fulano, sustituyendo la fea, pero compacta (y muy practica) fuente de letras que yo uso y mi firma.

Si es que por pedir....:p
Comprendo comprendo, gracias por la explicacion ;-)
La verdad es que tienes razon es bastante curre,y bastante dificil ymeterse ha hacer ese tipo de cosa ,podria hacerte la vida más dificil.
Una aclaración en cuanto a lo del modo multijugador me refería a 2 guitarras, no a una guiarra y un bajo, no me digas coo porque no lo se ,te lo comentaba por lo ya visto en el Guitar Hero que tomo de referencia, de todas formas pensando más afondo, para poder implementar un modo multijugador sin romperte la cabeza. Sería ir jugando por turnos, es decir crear un sistema de juego de x jugadores, (que incluso esto ampliaría el número de jugadores que pudiesen jugar, al poder usar una misma guitarra) y repetir la misma canción con un sistema de puntos o algo así, para ver al final quien es el mejor. Ya me entoienbdes un multijugador a turnos, nose si eso tambien es muy chungo, yo te lo comento ,porque veo que implementar lo otro si que lo es, y basxtante, pero si esto asi tal y como te igo no requiriera de mucho. Se podría hacer?

Posdata: perdon si te ha parecido en cualquier momento que te estoy pididendo las cosas para que las hagas, nada más lejos, yo te comento ideas, y asi de paso tambien gracias por las explicaciones , me gusta mucho saber el porque de las cosas. :-p , al fin y al cabo, es lo que dices tu para que los disfrutemos los demas y el creador pos no , yo te diria que lo disfrutes, implementale lo que tu vallas viendo y disfrutalo ;)
Enga saludos
No te preocupes hombre, que las cosas las comento con un tono ironico (que no cabreo) y solo para que os hagais una idea de que a veces, cosas que parecen sencillas, son mas dificiles de lo que se cree la peña.

Pero por ponerte un ejemplo, en el post anterior comentaba la dificultad que supone ejecutar un tercer Ogg con la pista del bajo, etc.

Pues bien, ya está hecho [qmparto] , porque resulta que en el FoF se puede utilizar una tercera pista llamada rhythm.ogg y me ha tocado los cojones :-p

Parece que el programa, aguanta bien y no da problemas. Ademas, suele ser una pista conmas compresion que las otras, porque supongo, ya va bastante mal el FoF original con dos ogg, y el tercero tocará los eggs (bonito juego de palabras :p) en los PC menos potentes.

Asi que parece que salgo beneficiado, aunque tendré que hacer un test de memoria libre, para saber como está el patio en realidad (por que encima, asigno la memoria en plan bruto, en vez de asignar porciones mas o menos grandes, pero que se articulen mejr, si se diera el caso de mucha fragmentacion de memoria (que no creo))

Por cierto, esto ya es jugable desde la guitarra, el PAD y el teclado :), aunque faltan por hacer los menu de seleccion de entrada y programacion de teclado (porque cada teclado es diferente y cada uno preferira unas teclas determinadas)

Ah! un detalle curioso: tanto con el PAD, como con el teclado, se puede usar el analogico izquierdo para hacer el efecto vibrato, aunque usando el teclado, tendrias que tirar de "pedal"

Ademas estoy trabajando en otras historias, pero todas estas cosas. las tengo que hacer yo a mi ritmo, sin sentirme demasiado presionado por vuestra parte (u os mato [qmparto] )

Saludos
De chiripa he dado con el hilo XD

Hermes, cuando pongas datos específicos de los gráficos me pongo manos a la obra.
De momento me voy a currar un fondo para el mastil que es lo más asequible en principio.

Un saludo.

EDITO: Ya he visto que los pones un poco más arriba, esto me pasa por leer a toda leche [jaja]
Dimitri escribió:De chiripa he dado con el hilo XD

Hermes, cuando pongas datos específicos de los gráficos me pongo manos a la obra.
De momento me voy a currar un fondo para el mastil que es lo más asequible en principio.

Un saludo.

EDITO: Ya he visto que los pones un poco más arriba, esto me pasa por leer a toda leche [jaja]


Te he mandado hace nada un MP comentando el tema del os graficos y tal (tenia unos cuantos MP en la recamara XD )
Si, por eso posteo porque tengo una cabeza que vamos XD

Si puedes pon aquí los hexadecimales de los colores que has usado para las notas, así los elimino de la paleta del mastil para que no confundan.
Con la paleta no hay mucho problema:internamente, trabajo con color de 15 bits, asi que con que los colores esten por encima del valor 16 (sobre un rango de 0 a 255), seran visibles

El tema de usar 16 o 256 colores, viene mas a cuento de ahorrar espacio (sin tener que recurrir a compresiones) que porque este sea el modo de trabajo de la pantalla (la pantalla trabaja con color a 32 bits)
Una gran noticia, la implementacion de el pad y el teclado, ademas eso de lo del vibrato mola mucho, buena idea, sigue asi que vas por buen camino.
Saludos
@Hermes, tengo preparado un fondo de prueba para el mastil, cuando quieras te lo paso. Está hecho en RGB pero luego lo he pasado a indexado con 256 de paleta y lo he guardado en formato gif, no se si te viene bien así, sino dimelo y lo convierto en un santiamen.

Un saludo.
Cuelgala por aqui, si quieres (o enviala por medio de un MP, como gustes)

A falta de hacer unas pruebas, creo que la v 1.2 ya tiene forma :)
Hermes escribió:Cuelgala por aqui, si quieres (o enviala por medio de un MP, como gustes)

A falta de hacer unas pruebas, creo que la v 1.2 ya tiene forma :)


Dios como me gustan esas, palabras :p
Bueno, al final, me las he apañado yo solito para hacerlo. Aqui os dejo un video, aunque no tenga muy buena calidad:

http://www.youtube.com/watch?v=EvpnV7GpXg4

El guitarra y el bajo, se componen de 4 sprites de 128x128 16 bits (si un desperdicio de memoria, pero el compresor del ejecutable se encarga de minimizarlo).

El bateria, se compone de solo dos sprites de 128x128.

No era tan dificil ¿verdad? :-|
Esta muy bien, al final paso lo que decias desde un principio, cuando se da a conocer y se hace digamos famoso todos te quieren ayudar para salir como que tambien lo hicieron pero al final todo el curro hecho por ti :)
Hombre, siempre pasa lo mismo, pero ya veras como mas adelante, alguno me pide que meta soporte para skins: los va a meter mi padre XD

Me parece que esta verion 1.3, va a ser la ultima durante bastante tiempo XD.

PD: El unico que me ha echado una mano, ha sido Dimitri, que hizo la textura del pulpo, pero bueno, no me voy a enfadar por ello: ya estoy acostumbrado a que pase esto.
joer hermes que pasada, me molan tus gráficos [beer]
pero es una lástima que nadie quisiera/pudiera colaborar. Yo ya te dige que te habría ayudado si no estubiera metido con Eskema en un proyecto enorme (llevo 256 frames del protagonista y me quedan 1800 más o menos...) y aún no he empezado con enemigos y jefes. Además que los escenarios los tengo a medias aún.

Bueno, en todo caso, felicidades, vaya pasada cómo te ha quedado. [beer]
Aunque Hermes ha dicho que va a tomarse un tiempo de descanso yo no voy a pasar del proyecto. De momento ha sido el pulpo pero estoy preparando más gráficos para este juego que tan bien pinta.

Ya te iré pasando cosas Hermes, tu ya las pondrás cuando consideres oportuno ;)

PD: no se si es mi Firefox pero no me carga el video de 1.3
zestt escribió:joer hermes que pasada, me molan tus gráficos [beer]
pero es una lástima que nadie quisiera/pudiera colaborar. Yo ya te dige que te habría ayudado si no estubiera metido con Eskema en un proyecto enorme (llevo 256 frames del protagonista y me quedan 1800 más o menos...) y aún no he empezado con enemigos y jefes. Además que los escenarios los tengo a medias aún.

Bueno, en todo caso, felicidades, vaya pasada cómo te ha quedado. [beer]


Gracias :)

Para crear los actores, he usado el Paint (por las funciones de dibujo) y mediante el portapapeles, a mi editor de sprites, donde las he acabado de retocar.

Por cierto, que me alegra ver que Eskema anda metido en algo (pues parecía estar de vuelta de todo, como a mi me pasa a veces XD)


Dimitri escribió:Aunque Hermes ha dicho que va a tomarse un tiempo de descanso yo no voy a pasar del proyecto. De momento ha sido el pulpo pero estoy preparando más gráficos para este juego que tan bien pinta.

Ya te iré pasando cosas Hermes, tu ya las pondrás cuando consideres oportuno ;)

PD: no se si es mi Firefox pero no me carga el video de 1.3


Yo desde luego, creo que lo voy a dejar así por un tiempo, aunque si hay material preparado, se agradecerá y mas facil será un retorno.

¿Sabes lo mas curioso del tema? A pesar de que el juego pesa como elf, 1,2MB casi, al meterlo en el elf descompresor, se me queda en 463 KB solo.

Parece mentira que con la cantidad de graficos, sonidos (por ejemplo, el efecto de ovacion, dura unos 10 segundos y el de abucheo, 10,5), etc, pueda quedarme un ejecutable tan compacto :)

Otro detalle curioso, es que tuve que meter la libreria 'Tremor' porque al parecer, la cosa estaba tan al limite cuando ejecutaba tres pistas de audio, que con la mitad de los elementos que se ven ahi, se producian parones.

Parece mentira que la BETA 1.2 este funcionando casi al limite de la capacidad del procesador y sin embargo, vaya suave como la seda.

Ahora con 'Tremor', parece que tengo una buena reserva y por ejemplo, he podido meter 12 'fuentes de luz' en el escenario, con el resultado que se aprecia en el video.

Al menos, el programa está ya en el punto que yo queria :)
Pues me parece impresionante como te está quedando para lo poco que usa, hay que ver lo que da de si optimizar, ya podían tomar nota algunos de los grandes.
Los datos técnicos que comentas, como lo de la librería, a mi me suena a chino totalmente aunque me resulta interesante que lo comentes porque así se aprenden las cosas.

El video finalmente lo he visto, pero ha tenido que ser usando Linux porque, por alguna extraña razón, en mi Windows no se ve. No tengo ni idea del motivo ya que otros videos si se ven.

Volviendo al tema: ¿crees que sería posible meterle más frames a los integrantes del grupo?
Otra pregunta: los marcadores ¿te parecería bien que fueran redibujados o te gustan así? caso afirmativo pasame los datos o la textura que usas para que me sirva de plantilla.

Un saludo.
Dimitri escribió:Pues me parece impresionante como te está quedando para lo poco que usa, hay que ver lo que da de si optimizar, ya podían tomar nota algunos de los grandes.
Los datos técnicos que comentas, como lo de la librería, a mi me suena a chino totalmente aunque me resulta interesante que lo comentes porque así se aprenden las cosas.

El video finalmente lo he visto, pero ha tenido que ser usando Linux porque, por alguna extraña razón, en mi Windows no se ve. No tengo ni idea del motivo ya que otros videos si se ven.

Volviendo al tema: ¿crees que sería posible meterle más frames a los integrantes del grupo?
Otra pregunta: los marcadores ¿te parecería bien que fueran redibujados o te gustan así? caso afirmativo pasame los datos o la textura que usas para que me sirva de plantilla.

Un saludo.


Vamos a ver.

En principio, al usar la libreria 'Tremor' he ganado algo de tiempo y es posible que pueda hacer alguna cosa mas.

El problema, es que aunque utilizo programacion multihilo, esto solo me sirve para aprovechar el tiempo muerto durante la lectura de una pista de sonido desde dispositivo (pues las otras dos se leen en memoria) y para garantizar la regularidad del programa.

Asi que si se sobrecarga mas de la cuenta el hilo que controla el tema grafico, que tiene prioridad sobre el hilo de lectura/descompresion, lo que se obtiene es que el sonido no se refresca a tiempo y se producen cortes de sonido...

El programa trabaja a 50/ 60 fps, lo cual nos da un margen maximo teorico de unos 16 milisegundos para actualizar graficos,pero como comprenderas, en realidad no es asi y se dispone de un margen mucho menor, debido a que la CPU se encarga tambien de descomprimir el audio de hasta tres pistas de sonido y durante el dibujado de poligonos, durante ciertos periodos de tiempo, la CPU debe aguardar al menos, hasta que la transferencia DMA de poligonos/texturas haya concluido.

Por si fuera poco, la cosa se complica debido a la poca cantidad de VRAM de la que dispone la maquina, de tan solo 4MB.

Eso hace que descontando el doble buffer y el buffer Z, me queden tan solo 917504 bytes de textura libres. Es decir, ni un misero Megabyte.

La PS2 cuenta con la posibilidad de utilizar texturas de 4/8 bits y la capacidad de subir paletas (cosa que tendría que mirar) pero yo estoy utilizando texturas de 16 bits, para agilizar las cosas.

La fuente de letras es una fuente Arial de 256 caracteres y 16x16 pixeles, por lo que ocupa 256x256x2 bytes

Despues va un bloque de 16 slots de 128x128x2 que es usado para dibujar el escenario, los actores y el pubilico (que consiste en dos texturas de 256x64x2). Algun slot queda libre

Los indicadores, son dos texturas de 128x64 pixeles, que son alargados al dibujarlos para que parezcan cuadrados

El letrero "Guitar Fun" ocupa 128x64x2 de igual forma

Los numeros LCD, ocupan 16x16x2x10 bytes

Y por ultimo, el mastil que como sabes, ocupa 64x256x2, pero que son tres texturas por el tema de animacion.

Eso dan unos: 807936 bytes mas o menos ocupados

Pero claro, esto en PS2 es un problema relativamente salvable, ya que dispone de una capacidad de transferencia via DMA bastante bruta, enviando paquetes de 64 bytes a unos 150 Mhz que va el bus

Ademas, aunque parezca mentira, pienso que hay bastante margen para optimizar, debido a que todos los poligonos son creados en tiempo real, utilizando aritmetica en punto flotante, y aunque la PS2 no está coja precisamente en esto, su punto fuerte estan en los coprocesadores VU0-VU1 y no en la fpu .

VU0 es utilizado para la multiplicacion de matrices, pero VU1 no se está utilizando en absoluto (la verdad es que es la parte mas dificil de programar de PS2) y precisamente es el punto fuerte de PS2, ya que permite procesar y empaquetar poligonos que se envian directamente al GS, mediante un camino particular, de forma independiente.

Pero mira, precisamente mi punto debil en PS2: nunca me he puesto a trabajar con VU1 debido a que yo suelo ser muy practico y VU1 es tremendamente especializado y complejo de utilizar. Y nunca he tenido necesidad real de usarlo :p


Bien, despues de esta tremenda parrafada ¿Que conclusion sacamos? Pues que tio, diseña los graficos que te de la gana, teniendo la precaucion de no pasar de 128x128 pixeles y hacer un uso excesivo de frames (y conteniendo el numero de colores a un maximo de 256, por si las moscas) , que ya me ocuparé yo de calzarlos como pueda :p

La cosa está dificil, pero a menudo la PS2 te sorprende con su capacidad y recursos en el hardware y hay que tener fe en ella , incluso cuando todo parezca perdido.

Si yo no tuviera esa fé, no hubiera existido ni el PS2Reality Mediaplayer, ni este juego que nos ocupa, dondo por cierto, yo mismo me asombro de que la maquina sea capaz de manejarlo todo con esa soltura.
44 respuestas