Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Problemas de tiempo, mi juego va a empujones...X(

Iniciado por trutoman, 29 de Abril de 2008, 01:52:42 PM

« anterior - próximo »

[EX3]

Cita de: "trutoman"Estoy pensando como hacerlo y el problema primero que me ha llamado la atencion es que antes de dibujar cualquier cosa tengo que conocer las coordenadas de todo lo que he dibujado en la iteraccion anterior...OMG creo que abrire otro post para esto XDD. Perdón, antes me documentare y si no me sale bien a la primera entonces abrire post.

http://dr0id.homepage.bluewin.ch/pygame_tutorial01.html

Estuve buscando hace poco para intentar implementarlo tambien en mi libreria y encontre algunas webs interesantes, una la del enlace, donde no solo te explican como implementarlo si no los pros y contras de implementar esta tecnica, por ejemplo, que los dirty rects no te haran efecto alguno en scrolls al estar obligado a redibujar todo cuando muevas el scroll. Esta tecnica esta bien si la vas a usar en escenas estaticas.

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

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

Loover

[Ex3] los dirty rectangles solo tienen sentido en render por software, olvidate de ganar algo con eso usando direct3d.

Trutoman te recomiendo que no entres en cosas obsoletas como dirty rectangles, a día de hoy entrar en algo así cuando todo se hace por hardware no te va a aportar nada interesante para aprender. Sería más interesante aprender a abstraer la lógica del juego del sistema de render, etc. Cosas bastante más útiles (a mi forma de ver, claro).

Sino quieres entrar en temas de opengl/direct3d podrías utilizar alguna librería que te permita al menos blitear los sprites directamente, usando aceleración hardware. Vuelvo a invitarte a que pruebes IndieLib. Pero tienes otras opciones como HGE engine o PTK o las otras dos librerías del foro, aunque la de EX3 es para visual basic (de momento, jeje).

Dibujar un fondo, y 3 sprites del tamaño de los que enseñaste, en un ordenador gama media usando Indielib no bajaría de los 400 fps. Aparte que luego podrías meterte en temas muy interesantes como efectos de partículas y tal, que en software... pues como que no chutan muy bien :)

Un saludo.
IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!

trutoman

Al final loover me vas a convencer.

Dado que opengl y direct3d ataca directamente a la tarjeta grafica y a su memoria, digamos que usar tu librería seria lo mismo que lo que estoy haciendo ahora con SDL.
La unica pega es que yo suelo programar en linux (ubuntu) creo que tu libreria no esta disponible para linux o si?

Loover

CitarDado que opengl y direct3d ataca directamente a la tarjeta grafica y a su memoria, digamos que usar tu librería seria lo mismo que lo que estoy haciendo ahora con SDL.

Yep, en vez de dibujar con SDL, dibujarías con las funciones que vienen con IndieLib. Y si quieres usar el sistema de animaciones y de colisiones que ya lleva bien, si prefieres usar uno propio, tambien bien :)

La verdad es que me gustaría mucho verte usándola, porque apenas tiene 2 semanas y solo he visto dos prototipos de juegos. Y veo que tu le echas muchas ganas y que sin duda te va a salir algo guapo. Por falta de tiempo no puedo hacer yo mismo un juego tipo street fighter, pero es que viendo lo que necesitas (colisiones por frame, sistema de animaciones, etc) es que te vendría perfecto, vamos, lo diseñé así pensando en eso.

Citar
La unica pega es que yo suelo programar en linux (ubuntu) creo que tu libreria no esta disponible para linux o si?
Touche! Al usar Direct3d de momento solo está disponible para windows. Me gustaría hacer un port a mac/linux en un futuro próximo, pero esto no va a ser así en menos de 6 meses como mínimo, o puede que nunca.

Venga, echale aunque sea un vistazo :), ve a windows, bajate de la web la SDK y dentro tienes 19 ejecutables, listos para que cliquees y veas lo que se puede hacer con la librería.
IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!

[EX3]

Cita de: "Loover"[Ex3] los dirty rectangles solo tienen sentido en render por software, olvidate de ganar algo con eso usando direct3d.
Si te dijera que dx_lib32 no es capaz de mover los mil conejos de tu pueba a mas de 17fps entenderias el por que ando mirando cosas como los dirty rects :P Mi libreria esta respondiendo bien para trabajar con composiciones grandes de graficos (composiciones grandes = menos graficos) pero si quiero implementar composiciones con tiles de 32x32 o 64x64 para implementar efectillos de vertices como tu sprite maya esto penaliza mucho el rendimiento, y como ya hablamos en las otras ocasiones, me merece mas la pena implementar una chorrada como los dirtyRects o similar, aunque sea de forma opcional, que hacer lo mas correcto que seria reescribir de nuevo el render grafico (eso mas adelante cuando toque portar el TLSA.Engine .NET a Mono y TAO Framework :))

Sobre el uso de librerias en Linux, mirate la de TheAzazel, CRM32Pro, que tambien esta basada en SDL y es la mas completa que vas a encontrar en el foro en cuanto a funcionalidades y herramientas (la mas simple es la mia que te ayuda lo justo y da gracias :P)

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

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

trutoman

He descubierto porque tardaba tanto  :D  :D

Estaba haciendo el blitsurface de una superficie a la que aun no habia aplicado SDL_DisplayFormat, esta funcion convierte una surface al "formato" de la pantalla, es decir cada vez que dibujaba un sprite el ordenador tenia que "convertir" la surface a otra surface con la profundidad de color y todas esas caracteristicas raras de las pantallas.
Ahora dibujando el fondo (sin dirtyrect) y los sprites animados  58 fps... XDDD YES!!

Por cierto loover, despues de haberme convencido a utilizar tu libreria, me doy cuenta que visual c++ 2008 necesita un procesador con 1.6 Ghz para corre,  todo son pegas, de todas maneras antes de Julio pienso gastarme pasta y pillar un QuadDumped con su Nvidia 8000series GT. La utilizare porque sino nadie podra ver mi juegillo , todo el mundo usa güindous.!!! :cry:

Loover

CitarPor cierto loover, despues de haberme convencido a utilizar tu libreria, me doy cuenta que visual c++ 2008 necesita un procesador con 1.6 Ghz para corre, todo son pegas, de todas maneras antes de Julio pienso gastarme pasta y pillar un QuadDumped con su Nvidia 8000series GT. La utilizare porque sino nadie podra ver mi juegillo , todo el mundo usa güindous.!!!

Pruebalo, igual no te va tan lento :D. Y prueba las demos de IndieLib, aunque sea por gusto de verlas. Hay cosillas curiosas.

De todos modos SDL es multiplataforma, irá en windows, linux, mac y lo que le eches.
IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!






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.