Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Ejemplo De Juego De Plataformas

Iniciado por Haddd, 10 de Febrero de 2004, 08:20:13 PM

« anterior - próximo »

Haddd

 Os subo a
Ese enlace

el ejemplo de plataformas. Los gráficos son de Loover( (ole)  Gracias!!), pero YO no les hago justicia, porque me envió un montón, pero yo sólo he utilizado unos pocos. Es que esto de hacer mapas me da una pereza enorme.

He creado un pequeño formato para poder importar mapas, pero es muy cutre, así que no seais muy crueles conmigo.

Lo que no puedo resolver es lo del smooth. Así como en DDraw trabajabas al pixel, en D3D me resulta imposible, y cuando capturo la pantalla y la comparo con los gráficos reales, veo que por dentro me hace un suavizado que yo NO querría, pero que supongo se hace inevitable. He pobrado eliminando los filtros, pero nada.

Bueno, ahí lo teneis, junto a su .cpp que siempre pongo para que le echeis un vistazo si os apetece.

Recordad que necesitais pixel shader 1.1. :rolleyes:

jpastor

 Me funciona, pero en las plataformas, la columna de tiles de más a la derecha tiene una raya vertical en la unión con los tiles de la columna anterior  :blink:

Lo que me ha dejado hecho polvo es ver el código fuente, todo lo lleva el motor internamente.

tewe76

 
CitarLo que no puedo resolver es lo del smooth. Así como en DDraw trabajabas al pixel, en D3D me resulta imposible, y cuando capturo la pantalla y la comparo con los gráficos reales, veo que por dentro me hace un suavizado que yo NO querría, pero que supongo se hace inevitable. He pobrado eliminando los filtros, pero nada.

Por eso cuando llevaba la mitad de mi (mini) engine 2D en DX8 me tuve q pasar al DX7 :( a mi, a parte del suavizado ese q ya me molestaba bastante, encima me hacia siempre un poco de alpha, pero sólo en mi PC, en otro no lo hacia. La cuestión, q el DX8 me hacía cosas raras. Si alguien sabe la solución, pues se la agradeceré (aunqe no pienso volverme a cambiar de versión de DX, jostias! :D)

Tewe
www.TAPAZAPA.com : Funny and easy to play games for all ages! - Fairy Match - Brain Crash
www.LaRebelionDelBiberon.com : Experiencias de unos padres primerizos

Loover

 Hey voy a probarlo!

Lo del suavizado ya te lo dije varias veces tio! Jajaja. Te puse las soluciones en otros posts.
Espera, busco links... bueno da igual, te contesto.

A ver, si el area del backbuffer no es de tamaño estandard, los gráficos sufriran un ligero escalado y por consiguiente se verán "suavizados". Esto se debe a que direct3d intenta que quepan en el area de la ventana y para que quepan, reescala una fondo de 800x600 (por ejemplo) a 740x560 (en tu caso).
Aquí puse como elegir el "area de trabajo" o para el caso "dimensiones del back buffer" al crear la ventana de windows: http://www.stratos-ad.com/forums/index.php...=ST&f=14&t=2922

Y aqui explico porque se ven suavizados: http://www.stratos-ad.com/forums/index.php...14&t=2910&st=15

En mi librería de direct3d para gráficos 2d se ven nítidos si sigo ese paso (aparte de restar -0.5f y -0.5f como he repetido ya en mil posts, xD).

PD: Utiliza mas tiles!!! Que te dí 60!! XDDD.
IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!

DraKKaR

 Me funciona, pero a 0.63 fps en mi GeForce2. Veo que has debido usar DirectX9 a muerte... se me ha puesto el renderer por software.

DraKKaR

 Ah, y el log del juego miente. Mi geForce2 no soporta Pixel Shader 2 como dice el log (ni 1.1 ni 1), te lo aseguro.

Otras cosas ke parece ke esten mal son:

Máx Anchura x Altura: 4096 x 4096   <--- falso, creo ke son 2048x2048
Nº máximo de texturas simultáneas:8    <--- solo soporto 2 tex a la vez
Soporta Querys de Oclusión  <--- ni de coña
Soporta Texturas volumétricas  <--- buah, más quisiera

Pues eso, debes tener algo mal por ahí, en tu código al reconocer las capacidades de mi tarjeta.

 

[EX3]

 Haddd, no es por fastidiar, pero no me creo ke una GForce3 Ti200 64mb no cumpla los requisitos minimos de tu motor!  (uoh)  

Revisa el codigo de comprobacion de capacidades por ke algo no anda bien por ahi, ademas, aun sigue sin reconocerme las occlusion querys cuando ya actualize los drivers y el ejemplo de occlusion querys ke me paso BeRSeRKeR me funciono perfectamente.

Se ke puede resultar decepcionante cuando ocurren tantas incompatibilidades en un proyecto en el ke se lleva trabajando muchisimo tiempo, y te lo digo yo ke me tire cerca de 2 años pateando el codigo de mi libreria grafica para ke funcionase correctamente en cualquier ordenador (hasta en el mio xDDD), pase un calvario tremendo (e incluso aun lo estoy sufriendo), pero como dice el dicho:
CitarEl ke la sigue la consigue.
Animo Haddd y pateales el culo a esos bugs, ke ya llevo mucho tiempo esperando ver las maravillas ke puede hacer tu peazo motor  ;)

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

CoLSoN2

Cita de: "[EX3"] Haddd, no es por fastidiar, pero no me creo ke una GForce3 Ti200 64mb no cumpla los requisitos minimos de tu motor!  (uoh)
creo que el engine necesita shaders 2.0, así que no, no los cumple xD
Manuel F. Lara
Descargar juegos indie  - blog sobre juegos indie y casual
El Desarrollo Personal.com  - blog sobre productividad, motivación y espíritu emprendedor

Haddd

 A Loover:

No tiene nada que ver, porque si trabajo en FullScreen me hace exactamente lo mismo.

Pero podrías mandar una pequeña demo para ver cómo te quedan a ti. Yo hago lo del 0.5/w en las coordenadas de textura. Pero ahora que lo pienso, quizás el problema esté en que los tiles miden 50x50 y la textura en 64x64!! Sí, debe ser eso  :lol:  ( espero.. <_< ) Lo probaré en casa esta tarde.

A Darkkar:

Si el motor dice que sí, pues es que sí. No hay mucho secreto para averiguar estos valores. Pero quizás lo que estás viendo es el modo REF, que como te dije, no debes tener instaladas las DX0.9b SDK y por ello te hace cosas raras. El motor no muestras las propiedades de tu tarjeta, muestra las propiedades del DEVICE que se ha seleccionado. Si el HAL no lo soporta, pasa a REF, y por eso ver las propiedades del device REF.

De todas formas, requiero shaders 1.1, y la GForce3 TI 200 debe tenerlos, así que debería utilizar HAL.


Loover

 Bueno, lo de la textura no tiene nada que ver. Si esta todo bien montado debería funcionar. Yo también los tengo en texturas e 64x64, aunque bueno tengo un algoritmo que para cortarlo en trozos del tamaño que quiera...

Y la prueba... pues se me ven exactamente como si los uniera en photoshop así que poco vas a ver. Pero bueno voy a preparar algo.

PD: Es una lástima que el error no sea ese, pero desde luego que en modo ventana contribuye a que lo sea, así que total, para lo que cuesta crear la ventana bien... ¡hazlo! Será alguna historia de los pixel shaders.
IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!

Loover

 
CitarPero podrías mandar una pequeña demo para ver cómo te quedan a ti. Yo hago lo del 0.5/w en las coordenadas de textura. Pero ahora que lo pienso, quizás el problema esté en que los tiles miden 50x50 y la textura en 64x64!! Sí, debe ser eso  ( espero..  ) Lo probaré en casa esta tarde.

Espera, que he releído eso que antes no me había fijado...

Lo del 0,5 no me refiero a eso. Sino al crear la vista. Y por otra parte ahí no sería 0,5f, tienes que ajustar el sprite según las dimesiones que tenga. Para ajustar bien las coordenadas de mapeado: Ancho sprite / Ancho Textura. ¿Eso lo haces, no?
Aunque bueno, según tengo entendido, direct3d si carga una imagen que no es petencia de 2 la "alarga" hasta lo que ocupa la textura... pero como yo cargo las imágenes con openil....

Bueno, aquí está mi cutre prueba: decirme fps y tal: http://galeon.com/loover/pruebatiles.rar

El texto que ves, es parte del fondo, pa que se vea que no se suaviza lo he puesto super pixelado. Con el sistema este que tengo, corto las imágenes en bloques (si caben en uno mejor), pero por ejemplo si usas una imagen de más de 256x256 y el usuario tiene una banshee el sistema la partiría de forma que tb funcione en su ordenador. Aparte así resuelvo de un plumazo los scrolls y las fuentes. Una vez hecho, poder elegir una imagen cualquiera y cortarla en de 1 a NxN bloques es algo muy util para motorcillos 2d.
El area de trabajo de la prueba es de 640x480, si al crear la ventana no solicito ese area, me da una menor, todo sufre un escalado y como consecuencia todo se difumina feamente.
Si al crear la vista no resto -0,5f en el ejex y -0,5f en el ejey se ven como "escalones" en algunas líneas horizontales.
Siguiendo esos dos pasos se me así, nítido.
Pero lo tuyo ya debe ser alguna historia rara de convertirlo al coordenadas -1,1 para pasarselo al PS o algo asín.
IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!

vicho


Haddd

 ¿1095 FPS? Pero tu que tienes, ¿un Cray para probarlo  :lol: ? ¿Cual es tu equipo?

[EX3]

 CoLSoN2 dijo:
Citarcreo que el engine necesita shaders 2.0, así que no, no los cumple xD
Hubo por ahi un test ke solo requeria shaders 1.1 si no recuerdo mal, y ese tampoco me funciono, vamos, ke no me ha tirado ni uno, solo me funciono akel test ke reescribio Loover, ke ese si me tiro :( y otra cosa, si DraKKaR tiene una GForce2 y le tira el test por ke una GForce3 no?

CitarSi el motor dice que sí, pues es que sí. No hay mucho secreto para averiguar estos valores. Pero quizás lo que estás viendo es el modo REF, que como te dije, no debes tener instaladas las DX0.9b SDK y por ello te hace cosas raras. El motor no muestras las propiedades de tu tarjeta, muestra las propiedades del DEVICE que se ha seleccionado. Si el HAL no lo soporta, pasa a REF, y por eso ver las propiedades del device REF.
Esto algo ke no entiendo bien, estas haciendo un motor ke solo tire con el SDK, ke por cierto no se por ke tiene diferencia alguna con las Runtimes ke se distribuyen para el usuario, pero de ser asi, por ke? no seria mas logico ke funcionase con cualquier version de dx9, ya sea sdk o no? por ke tonces eso si ke es una limitacion gorda ya ke obligarias al usuario ke kisiera jugar un juego programado bajo tu motor a instalarse un monton de megas innecesarios.

CitarDe todas formas, requiero shaders 1.1, y la GForce3 TI 200 debe tenerlos, así que debería utilizar HAL.
Te aseguro ke las tiene, pero no se por ke tu motor no las usa aunque por lo menos si las detecta  :) .

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

jpastor

 
Cita de: "Haddd"¿1095 FPS? Pero tu que tienes, ¿un Cray para probarlo  :lol: ? ¿Cual es tu equipo?
Debe de referirse a la prueba de loover (a mi me va por el estilo).

No se si son los tiles o es el montaje pero se nota demasiado el corte entre ellos.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.