PS2(Posible proyecto)

Hola, esta mañana me pregunto un amigo que si seria posible un juego de lucha 1 vs 1 en el que los personajes tuvieran un nivel de detalle similar a fight round 3 de 360(por poner un ejemplo).Yo la verdad es que no conozco muy a fondo el hardware de ps2,por eso os pregunto a los expertos como HERMES que si esto seria posible.Se que
el mayor lastre a la hora de programar en ps2 es la ram,pero poniendo un fondo blanco y con algunos truquillos quiza fuera posible y me animara a intentarlo.
Pues mira, posible es hacer de todo aunque en PS2, la cosas no son tan faciles, pues a veces, supone cooperar con coprocesadores, o con el IOP (equivalente al procesador de PSX, pero que se usa para gestionar las entradas/salidas de datos)

Lo que no se si me estas hablando de un juego en 3D o 2D... Si es un juego en 2D, no creo que tuvieras muchos problemas para hacerlo, porque aunque PS2 solo tiene 4MB de VRAM (y a poco que te descuides, te quedas con menos de 1MB para texturas, como me ha pasado a mi con Guitar fun), PS2 tiene una gran baza en su capacidad de transferencia de texturas, donde mueve 64 bytes por ciclo en un bus que trabaja a 150Mhz.... es decir, que puedes mover una burrada de datos a la VRAM sin que suponga un drama.

En 3D el tema va a depender del numero de poligonos que quieras mover, pues tienes librerias como libito (que es la que uso yo) o puedes crear un codigo para VU1 que te ayude (complejo, solo para expertos)

Ahora bien, yo por ejemplo, estoy usando librerias muy viejas, con cosas parcheadas y un compilador muy viejo e ignoro si ahora tienen resueltos los viejos problemas de siempre o no.

Por ejemplo, fallos con la funcion malloc, memalign (sobre todo), free, etc (yo utilizo una de mi propia cosecha).

Problemas con algunas alineaciones o con el tipo de librerias internas que quieras usar en el IOP (por ejemplo, PADMAN y MCMAN o XPADMAN Y XMCMAN, las librerias del pad y la tarjeta de memoria, que se usan de forma diferente, segun la que uses) que esto no es un fallo, si no una eleccion que deberas hacer.

Para sonido, puedes utilizar mi Audiolib 2.0, aunque están compiladas para mi compilador y se atragantará con los nuevos gcc
y a mi no me da la gana de hacerla Open Source porque la scene de PS2, lo que se ha ganado es que yo la escupa a la cara: unos por echar mierda sobre mí y mi ex equipo, y otros por callar y seguirles el juego, dando puñaladas por la espalda [noop]. Pero vamos, es lo mejor que te vas a encontrar pues dispones de soporte de sonido PCM, 48 voces de efectos en formato VAG (incluye compresor WAV a VAG), soporte para streaming de datos, que se utiliza conjuntamente con su libreria anexa de MP3 (licencia LGPL al ser parte de FFMPEG) para permitir incluso la reproduccion de un MP3 de fondo en un juego... etc.

El caso es que, aunque te parezca sorprendente, hay gente haciendo librerias que luego ellos mismos no prueban, ni aprovechan para hacer buenas aplicaciones y encima, al menos en mi tiempo, les daban media vuelta y cambiaban los nombres de ciertas funciones y añadiendo nuevos fallos o problemas, cada dos por tres.

Asi que si todavia te quedan animos, dime que es lo que quieres exactamente (juego 2D o 3D) que requisitos crees que vas a necesitar y asi podré indicarte mejor

Por cierto, si usas compiladores mas nuevos que los mios, puedes usar CPP, pero yo no te lo recomendaría: si con C a poco que te descuides, aparecen fenomenos extraños, no se lo que pasará si usas constructores y destructores (sobre todo, si aun no han arreglado la libreria de asignacion de memoria)
Hermes escribió:Pues mira, posible es hacer de todo aunque en PS2, la cosas no son tan faciles, pues a veces, supone cooperar con coprocesadores, o con el IOP (equivalente al procesador de PSX, pero que se usa para gestionar las entradas/salidas de datos)

Lo que no se si me estas hablando de un juego en 3D o 2D... Si es un juego en 2D, no creo que tuvieras muchos problemas para hacerlo, porque aunque PS2 solo tiene 4MB de VRAM (y a poco que te descuides, te quedas con menos de 1MB para texturas, como me ha pasado a mi con Guitar fun), PS2 tiene una gran baza en su capacidad de transferencia de texturas, donde mueve 64 bytes por ciclo en un bus que trabaja a 150Mhz.... es decir, que puedes mover una burrada de datos a la VRAM sin que suponga un drama.

En 3D el tema va a depender del numero de poligonos que quieras mover, pues tienes librerias como libito (que es la que uso yo) o puedes crear un codigo para VU1 que te ayude (complejo, solo para expertos)

Ahora bien, yo por ejemplo, estoy usando librerias muy viejas, con cosas parcheadas y un compilador muy viejo e ignoro si ahora tienen resueltos los viejos problemas de siempre o no.

Por ejemplo, fallos con la funcion malloc, memalign (sobre todo), free, etc (yo utilizo una de mi propia cosecha).

Problemas con algunas alineaciones o con el tipo de librerias internas que quieras usar en el IOP (por ejemplo, PADMAN y MCMAN o XPADMAN Y XMCMAN, las librerias del pad y la tarjeta de memoria, que se usan de forma diferente, segun la que uses) que esto no es un fallo, si no una eleccion que deberas hacer.

Para sonido, puedes utilizar mi Audiolib 2.0, aunque están compiladas para mi compilador y se atragantará con los nuevos gcc
y a mi no me da la gana de hacerla Open Source porque la scene de PS2, lo que se ha ganado es que yo la escupa a la cara: unos por echar mierda sobre mí y mi ex equipo, y otros por callar y seguirles el juego, dando puñaladas por la espalda [noop]. Pero vamos, es lo mejor que te vas a encontrar pues dispones de soporte de sonido PCM, 48 voces de efectos en formato VAG (incluye compresor WAV a VAG), soporte para streaming de datos, que se utiliza conjuntamente con su libreria anexa de MP3 (licencia LGPL al ser parte de FFMPEG) para permitir incluso la reproduccion de un MP3 de fondo en un juego... etc.

El caso es que, aunque te parezca sorprendente, hay gente haciendo librerias que luego ellos mismos no prueban, ni aprovechan para hacer buenas aplicaciones y encima, al menos en mi tiempo, les daban media vuelta y cambiaban los nombres de ciertas funciones y añadiendo nuevos fallos o problemas, cada dos por tres.

Asi que si todavia te quedan animos, dime que es lo que quieres exactamente (juego 2D o 3D) que requisitos crees que vas a necesitar y asi podré indicarte mejor

Por cierto, si usas compiladores mas nuevos que los mios, puedes usar CPP, pero yo no te lo recomendaría: si con C a poco que te descuides, aparecen fenomenos extraños, no se lo que pasará si usas constructores y destructores (sobre todo, si aun no han arreglado la libreria de asignacion de memoria)


Muchas gracias por contestar HERMES.

Se me olvido explicar que el juego seria en 3d,ademas de que la idea principal seria centrarme solo en los dos luchadores,sin ningun efecto secundario ya sea sonido o cualquier otra cosa.

Lo que mas me ayudarian serian las especificaciones reales de ps2 y cual seria el lenguaje mas adecuado.Ademas de esto el unico "miedo que tengo es la poca ram de la maquina,ya que estoy acostumbrado a trabajar en pc.
Flameador escribió:

Muchas gracias por contestar HERMES.

Se me olvido explicar que el juego seria en 3d,ademas de que la idea principal seria centrarme solo en los dos luchadores,sin ningun efecto secundario ya sea sonido o cualquier otra cosa.

Lo que mas me ayudarian serian las especificaciones reales de ps2 y cual seria el lenguaje mas adecuado.Ademas de esto el unico "miedo que tengo es la poca ram de la maquina,ya que estoy acostumbrado a trabajar en pc.


Pues la RAM, PS2 cuenta con 32MB, yo creo que suficientes para hacer un juego como el que propones (con dos luchadores y un escenario con un bitmap de fondo)

Tirando de libito, probablemente tengas capacidad suficiente de procesado de poligonos sin tener que recurrir a VU1 y rutinas para multiplicar vertices,etc, desde VU0, te las puedo pasar yo, aunque no dispongo de rutinas que simulen un punto de luz ni nada de eso.

Auque quiza te interese echarle un ojo a la pagina de mi amigo Neofar http://ps2dev.ofcode.com/modules/wordpress/

Su librería Libplanar contiene optimizaciones utilizando las unidades vectoriales y creo que es bastante potente... el unico "defecto", es que tiene licencia GPL, pero si eso no supone un problema para tí, seguramente, sea la mejor opcion que tengas.


Si necesitas ayuda de tipo general, como programacion multihilo, timers, sincronizar hilos con las interrupciones, lectura de PAD, devices, sonido, , etc, etc, te puedo echar una mano

Especificaciones graficas que te puedan interesar, pues el GS cuenta con:

4MB VRAM, no accesibles directamente por la CPU

Numero de colores en frame buffer: 16,24, 32 bits.

Buffer Z 16- 32 bits

Resolucion de video: ajustable en pasos de 64 bits, los juegos comerciales suelen usar 512x512 en modo PAL (interlazado) o 512x448 en modo NTSC. Yo suelo usar 640x512. Cuanto mayor sea el frame buffer, menos cantidad tendras para texturas (y como necesitas usar doble buffer de pantalla, pues imagina el tema)

512x512 a 32 bits y doble buffer y un buffer Z de 16 bits, te dejan 1,5MB para texturas

El GS no dispone de fuentes de luz por hardware, ni capacidad para realizar transformaciones de vertices: solo se dedica a rasterizar los poligonos y punto, puesto que en PS2, las funciones de calculo se delegan en la unidades vectoriales, sobre todo en VU1, donde puedes ejecutar microprogramas en su memoria de 16KB y que posee capacidad de enviar los poligonos procesados al GS, mediante un camino propio

Yo te recomendaría usar triangle strips para dibujar modelos, dado que te ahorras calcular un buen numero de vertices y aqui no cuentas con las ventajas de una moderna GPU.
Vale creo que ya va tomando forma en mi cabeza.Me pondre a trabajar primero en los modelos y despues tratare de cargarlos con la mayor calidad posible.
Flameador escribió:Vale creo que ya va tomando forma en mi cabeza.Me pondre a trabajar primero en los modelos y despues tratare de cargarlos con la mayor calidad posible.


Yo de todas formas, estoy empezando a estudiar el funcionamiento de VU1.

VU1 es bastante interesante por que permite realizar calculos vectoriales de una forma tan bruta como VU0, pero sin estar sincronizado con el EE (como sucede con las intrucciones en macro mode), puede enviar paquetes de poligonos al GS de forma directa y actua como un procesador independiente, trabajando en paralelo.

Eso significa que en mi caso, con Guitarfun, aunque utilice la potencia bruta de VU0 para los calculos vectoriales, el procesador se ve penalizado con un tiempo que requiere ese proceso y de igual forma, cuando formas paquetes de poligonos y los envias al GS, durante ese tiempo el EE está aguardando el envio.

El problema de VU1, es que tiene una memoria bastante limitada, pues para programas cuenta con 16KB, que no está mal, en mi opinion. Pero para datos, cuenta tambien con 16KB, en los cuales logicamente, no van a caber todos los poligonos de una escena y si necesitas cargar una textura, ni lo vas a poder hacer desde ahi, porque no cabe, y te obliga a partir la ejecucion.

Es decir: que teoricamente, nos encontrariamos con el mismo problema de que tendras que poner una funcion que aguarde el fin del proceso y de nuevo el EE, pierde numerosos ciclos que podrian ser usados para otra cosa.

Lo que no tiene mucha gente en cuenta... es que VU1 tiene una interrupcion para el solito que permite romper la limitacion de trabajar con paquetes tan pequeños o que el EE tenga que estar pendiente: simplemente, provoquemos que VU termine la ejecucion de la tarea que tenga asignada, generando una interrupcion y desde ahí, subir los nuevos datos o hacerlo desde un hilo asociado, si es necesario y así habremos vencido la perdida de ciclos en el EE y tendremos a VU1 plenamente operativo.

En eso estoy ahora, trabajando con el control de VU1 y la cosa va bastante bien: formo el GIFtag de un sprite de forma externa en la memoria de datos de VU1 y ejecuto un microprograma que lo unico que hace es enviar el paquete del sprite al GS y generar una interrupcion al finalizar y desde ahí, enviar el GIFtag de otro sprite. Es el primer paso :D
Miren, no se si es buen sitio o no, pero queria proponer la creacion de 2 juegos que para mi serian los definitivos para ps2, que siempre soñé, un Hyper Street Fighter Alpha, que sea mas completo que el que añadieron en el Street fighter Alpha antology, con su modo historia, vs 2 vs 3, 3 vs 3, Supervivencia, contrareloj y sus opciones, la cosa esta en hacer un Hyper Street Fighter II 15th pero con los personajes de la serie Alpha, y si se puede mezclar ambas series seria la reostia con tomate y pan.


Saludos
FJTR escribió:Miren, no se si es buen sitio o no, pero queria proponer la creacion de 2 juegos que para mi serian los definitivos para ps2, que siempre soñé, un Hyper Street Fighter Alpha, que sea mas completo que el que añadieron en el Street fighter Alpha antology, con su modo historia, vs 2 vs 3, 3 vs 3, Supervivencia, contrareloj y sus opciones, la cosa esta en hacer un Hyper Street Fighter II 15th pero con los personajes de la serie Alpha, y si se puede mezclar ambas series seria la reostia con tomate y pan.


Saludos


Tu estas... [fumeta] [pos eso]

Pero quillo... ¿que estas pidiendo? [reojillo] :P
Hermes escribió:
Tu estas... [fumeta] [pos eso]

Pero quillo... ¿que estas pidiendo? [reojillo] :P


Has leio el mensaje no? quien es el fumao ahora? [toctoc] [carcajad]


es un juego 2D no creo que tengais muchas complicaciones, yo mismo he recopilado luchadores para el mugem y queda bastante bien.

Saludos
¿Y si te parece tan fácil hacerlo por qué no lo haces tú mismo?
Chano Marrano escribió:¿Y si te parece tan fácil hacerlo por qué no lo haces tú mismo?


Porque no se programar [plas]
Estoy dispuesto a hacerlo si te involucras tu también en el proyecto. Para hacer lo que pides solamente me hace falta un equipo de 10 profesionales, muchos miles de euros, una oficina donde juntarse con sus equipos y un par de años. Vamos, si me das estas simples cosas te hago el mejor juego de Street Fighter que has visto en tu vida.

PD: Exactamente, no sabes programar, solo usar el Mugen. Eso explica que pidas una barbaridad así y encima digas los de "
[size=90] es un juego 2D no creo que tengais muchas complicaciones" y te quedes tan pancho. Cualquiera que sepa un poco de programación estaría partiendose la caja con lo que acabas de pedir.
[/size]
[+risas]
kbks escribió:Estoy dispuesto a hacerlo si te involucras tu también en el proyecto. Para hacer lo que pides solamente me hace falta un equipo de 10 profesionales, muchos miles de euros, una oficina donde juntarse con sus equipos y un par de años. Vamos, si me das estas simples cosas te hago el mejor juego de Street Fighter que has visto en tu vida.

PD: Exactamente, no sabes programar, solo usar el Mugen. Eso explica que pidas una barbaridad así y encima digas los de "
[size=90] es un juego 2D no creo que tengais muchas complicaciones" y te quedes tan pancho. Cualquiera que sepa un poco de programación estaría partiendose la caja con lo que acabas de pedir.
[/size]



Es lo que tiene la ignoracia tio [+risas] , espero que tu tambien me entiendas....

Esk estoy harto de montar mugems y que ninguno me convenza, pense que teniendo ya los personajes se pueden portar para hacer el juego, pero lo dicho, como no tengo ni zorra, lo que habre hecho es como pedirle a un albañil que me haga un castillo [+risas]
Nah, si aquí la gente tira la casa por la ventana (encima pidiendo que la cosa quede mejor que si lo hace CAPCOM [looco] ). Pero luego, es curioso, pides a alguien que se curre unos graficos sencillos y nadie hace nada [discu]

Por cierto, ya que intervengo en el hilo, comento algunos detalles sobre lo que estoy haciendo con VU1.

De momento, la cosa va bastante bien: Esto es capaz de dibujar una lista de triangulos, transformando vertices, normales, aplicando una luz ambiental y con posibilidad de al menos, 8 luces direcccionales o posicionales.

La luz ambiental, utiliza el componente alpha para indicar el factor de luz especular (es decir, la "fuerza" con la que una superficie refleja la luz que recibe)

La luz posicional utiliza el componente alpha para indicar la "fuerza" de propagacion. Esta luz se atenua con la distancia (longitud desde la posicion de la luz al vertice) por lo que este factor hace que llegue a mas distancia o menos.

La luz direccional se obtiene casi gratis, poniendo el componente alpha a 0, VU1 ya sabe como debe trabajar (ademas, se encarga de normalizarla a 1)

La lista de normales hay que suministrarla de forma separada. La razón de hacerlo así es porque no quiero que VU tenga que ir reordenando datos o limitando su capacidad de enviar poligonos debido a que tenga que construir los GIFtag de forma interna.

La memoria disponible, es de solo 16KB, lo que da para enviar una lista de 110 triangulos sin texturas (con normales) o 110 triangulos texturados sin normales u 82 con normales (tal y como lo estoy haciendo yo ahora)

Utilizando TriangleStrip, se puede multiplicar la cifra y optimizar mucho el procesado, aunque aun me falta por añadirle la posibilidad de que esto pueda enviar varios paquetes GIF.

Lo interesante de utilizar VU1, es que aparte de su potencia, libera potencia del procesador, pues mientras VU1 está ocupado procesando vertices, se puede dar paso a otro hilo de menor prioridad y luego, retornar una vez procesados los poligonos, mediante la interrupcion del VU1

Por poner un ejemplo: ahora mismo tengo rulando unos 256 cubos, formando una matriz en pantalla, a 50FPS y con 4 puntos de luz ;) , lo que no está mal porque no estoy tirando de triangle strips (lo que ahorraria el calculo de dos vertices por triangulo, que no es moco de pavo), ni está implementado lo de los multiples paquetes, ni estoy acelerando algunas cosas (por ejemplo, la multiplicacion de matrices para situar los cubos, que se hace con un software "warro").

Por cierto, que no estoy tirando de DMA para formar la lista de vertices, si no que lo escribo directamente en la memoria de VU, ya que le paso el paquete GIF ya formado y no creo que suponga ahorro alguno, formarlo en la RAM normal y luego enviarlo mediante VIF...

Mas adelante, quiza mire de dotar algunas subrutinas que permitan hacer calculos especiales, pero de momento, tengo bastante trabajo por delante aun.

Por cierto, que el objetivo de esta libreria, es que sea complementaria con otras, de forma que por ejemplo, se utilice libito para inicializar el video u otras operaciones menores y luego utilizar VU1 para el grueso de calculos e incluso, desde un hilo de programa que permita la ejecucion de otros procesos en paralelo, mientras VU1 está masticando poligonos a saco XD
Es un proyecto demasiado largo y creo q sin personal que pueda hacer cargo de ello.

Yo me estoy intentando iniciar en la programacion de ps2, pero de momento llevo unos cuantos batacazos jejeje. Ojala se fomentase un poco a todos la programacion en ps2, ya que con una comunidad tan grande como tenemos podriamos hacer cosas bastante buenas, y no estar siempre a expensas de los 3 o 4 que saben hacerlo y trabajan sus buenos ratos para ayudarnos en la scene.

Pd para Hermes: hey, como ya te dije me baje el codigo del ps2Asteroids para empezar a ver como trabaja cada instruccion, ya que cuando lo vas viendo se comprende mejor; me he instalado el ps2dev para windows de la pagina que me comentastes en el otro post y al intentar hacer un 'make' en el directorio del codigo fuente del programa para crear el ELF me da error, he probado con otros codigos fuentes de otros programas y me sucede igual, a que es debido ??



--------------------------------------------------------------------------
D:\ps2dev\Programacion Ps2\Ps2Asteroids.Source>make
ee-gcc -D_EE -fshort-double -O2 -G0 -c -Wall -Id:/ps2dev/gcc/ee/lib/gcc-lib/mips64r5900-sce-elf/2.9-ee-991111b/include
-Id:/ps2dev/ps2sdk/ee/include -Id:/ps2dev/ps2sdk/common/include -Id:/ps2dev/lalib-0.1s2/ee/include -Id:/ps2dev/lalib-0.1
s2/ee/samples/common -Id:/ps2dev/LlibPlanar/include system.c -o system.o
system.c(10) : column 31 : audiolib/audiolib.h: No such file or directory
system.c(11) : column 34 : audiolib/audiolibmp3.h: No such file or directory
system.c: In function `systemInit':
system.c(71) : too many arguments to function `gfxInitVideo'
system.c(107) : warning: implicit declaration of function `SoundInit'
system.c(108) : warning: implicit declaration of function `InitMP3'
system.c(110) : warning: implicit declaration of function `PCMSilence'
system.c(111) : warning: implicit declaration of function `PCMInit'
system.c(112) : warning: implicit declaration of function `PCMVolume'
system.c: In function `gfxDrawBoxGoraudAlpha':
system.c(351) : warning: implicit declaration of function `send2DPrimTag'
make: *** [system.o] Error 1
----------------------------------------------------------------

La linea la cual hace mencion es:
send2DPrimTag(LIB_PRIM_TRIANGLE,1);

gracias nen
Frange escribió:Es un proyecto demasiado largo y creo q sin personal que pueda hacer cargo de ello.

Yo me estoy intentando iniciar en la programacion de ps2, pero de momento llevo unos cuantos batacazos jejeje. Ojala se fomentase un poco a todos la programacion en ps2, ya que con una comunidad tan grande como tenemos podriamos hacer cosas bastante buenas, y no estar siempre a expensas de los 3 o 4 que saben hacerlo y trabajan sus buenos ratos para ayudarnos en la scene.

Pd para Hermes: hey, como ya te dije me baje el codigo del ps2Asteroids para empezar a ver como trabaja cada instruccion, ya que cuando lo vas viendo se comprende mejor; me he instalado el ps2dev para windows de la pagina que me comentastes en el otro post y al intentar hacer un 'make' en el directorio del codigo fuente del programa para crear el ELF me da error, he probado con otros codigos fuentes de otros programas y me sucede igual, a que es debido ??




--------------------------------------------------------------------------
D:\ps2dev\Programacion Ps2\Ps2Asteroids.Source>make
ee-gcc -D_EE -fshort-double -O2 -G0 -c -Wall -Id:/ps2dev/gcc/ee/lib/gcc-lib/mips64r5900-sce-elf/2.9-ee-991111b/include
-Id:/ps2dev/ps2sdk/ee/include -Id:/ps2dev/ps2sdk/common/include -Id:/ps2dev/lalib-0.1s2/ee/include -Id:/ps2dev/lalib-0.1
s2/ee/samples/common -Id:/ps2dev/LlibPlanar/include system.c -o system.o
system.c(10) : column 31 : audiolib/audiolib.h: No such file or directory
system.c(11) : column 34 : audiolib/audiolibmp3.h: No such file or directory
system.c: In function `systemInit':
system.c(71) : too many arguments to function `gfxInitVideo'
system.c(107) : warning: implicit declaration of function `SoundInit'
system.c(108) : warning: implicit declaration of function `InitMP3'
system.c(110) : warning: implicit declaration of function `PCMSilence'
system.c(111) : warning: implicit declaration of function `PCMInit'
system.c(112) : warning: implicit declaration of function `PCMVolume'
system.c: In function `gfxDrawBoxGoraudAlpha':
system.c(351) : warning: implicit declaration of function `send2DPrimTag'
make: *** [system.o] Error 1
----------------------------------------------------------------

La linea la cual hace mencion es:
send2DPrimTag(LIB_PRIM_TRIANGLE,1);

gracias nen




El error, es que te falta la audiolib, fijate que falla porque no encuentra los include... y las funciones que no encuentra, es precisamente porque no tienes esa libreria de sonido.

La libreria es mia, de hecho la uso en Guitarfun y en varias otras cosas... pero como estas empezando y yo no tengo ganas ahora, de buscar ahora la copia de la release de la audiolib 2.0 y subirla, elimina los include comentandolos, al igual de las funciones de referencia de sonido, y el juego funcionara.

Debe ser que Neofar eliminó mi libreria, entre otras razones, para evitar conflictos de licencias (mi libreria es libre, excepto para uso comercial, y no tiene fuente disponible y la suya es GPL)

Por cierto, ahora estoy trabajando en otra cosa y no es el momento, pero quiza abra parcialmente los fuentes de esta libreria mas adelante (unicamente reservaria el uso del ejecutable en IOP)

Ademas, hace mucho tiempo, publique informacion importante en ps2reality sobre programacion multihilo y como conectarlas con las interrupciones del temporizador y VBLANK (el reproductor SMS rrecoge parte de este trabajo y por ejemplo, Guitarfun, durante el juego refresca los graficos de esta forma ).

Aparte de la informacion, publique una serie de ejemplos que utilizaban la audiolib... quiza alguien te pueda pasar todo eso, pero yo no puedo sin localizar y revisar el fuente.

En fin, dadme un poco de tiempo y publicare mi entorno de programacion, al igual que hice hace unos años.
ya he vuelto de malta y japon xD ara no me acuerdo de casi nada de la scene :( jejeje bueno a ver si me pongo al dia... he perdido los trabajos que hice porque he formateado el disco duro sin querer ( al ke se ria le caneo xD )

a lo que voy si quieres hermes tengo una librería para cargar en opengl modelos md2 ( simples y tal ) pero con soporte para triangle strip lo digo por si te interesa para hacer pruebas o algo... está para psp pero amos seguro que eso lo portas en 5 minutos apenas gasto nada específico de la psp ya que gasto el opengl que es bastante estandard.

por cierto hermes me podrías dar tu mail? tengo una idea en la cabeza y igual me podrias asesorar... que no hacerme el trabajo ;) sólo quiero preguntar viabilidad y si voy a sufrir mucho y paso de decirlo por aqui porque igual me tratan de pillao sino ya te la digo por privado.
saulotmalo escribió:ya he vuelto de malta y japon xD ara no me acuerdo de casi nada de la scene :( jejeje bueno a ver si me pongo al dia... he perdido los trabajos que hice porque he formateado el disco duro sin querer ( al ke se ria le caneo xD )

a lo que voy si quieres hermes tengo una librería para cargar en opengl modelos md2 ( simples y tal ) pero con soporte para triangle strip lo digo por si te interesa para hacer pruebas o algo... está para psp pero amos seguro que eso lo portas en 5 minutos apenas gasto nada específico de la psp ya que gasto el opengl que es bastante estandard.

por cierto hermes me podrías dar tu mail? tengo una idea en la cabeza y igual me podrias asesorar... que no hacerme el trabajo ;) sólo quiero preguntar viabilidad y si voy a sufrir mucho y paso de decirlo por aqui porque igual me tratan de pillao sino ya te la digo por privado.


Hola tu.

Pasate por este hilo y descargate la version 1.3 de Guitarfun, a ver que te parece XD.

http://www.elotrolado.net/showthread.php?s=&threadid=813885

Sobre el mail, mañana te escribo un MP y te doy mi MSN (aunque advertido estas que me conecto muy poco X-D)


Sobre la viabilidad de proyectos.... casi todo es viable, el unico problema son los recursos materiales y humanos... hay cosas que no merece la pena hacer, porque te puedes tirar "media" vida haciendolo, jejeje.



Por cierto, aqui adjunto una imagen que muestra mi libreria de VU en accion:

Imagen

Esto que veis, muestra la nueva capacidad de multiples paquetes de una tacada. Como se puede observar, hay 256 cubos en los cuales se aplican 4 luces: 3 desde arriba y una desde el lado izquierdo, que se observa de forma parcial por las caras rojizas.

Ademas, los cubos estan compuestos por varias capas: la cara de arriba, son triangle strips con dos capas de poligonos: una de textura y otra de color semitransparente (para simular la absorcion especular en el objeto, ya que los objetos texturados no lo soportan por hard).

El resto de las caras, son triangulos simples, que muestran la capacidad de calculo que se alcanza con VU1, ya que esto se mueve a 50FPS y esta todo hecho por software
17 respuestas