Gráficos fallados (gliches)

Started by Anyeos, April 17, 2013, 03:07:34 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SplinterGU

disculpa, no fue mi intencion resultar enojado, no lo estoy... hoy tuve un mal dia, dormi 2 horas y me despertaron avisandome que fallecio el padrino de mi hija... asi que no tuve un buen dia.

no se como decirlo sin que se mal interprete, pero la verdad que yo estoy desanimado con el desarrollo de esto, por todas las cosas que han pasado y por mil cosas mas... por ende, quizas resulte me muy dificil expresar animo sobre el desarrollo de esto... lamento no haberte resultado ser el ente motivador que esperabas... disculpame por eso, pero es lo que soy y lo que hay... espero no se mal interprete lo que dije.

con respecto a los comentarios, son comentarios antiquisimo de fenix... actualmente distan de ser validos.

ahora vamos, que te la has pasado diciendo que hay un monton de cosas mal hechas, y contrastas diciendo que no entiendes lo que ves... quieres que me lo tome con alegria? como sea, no lo tomo de mala manera, pero tampoco me alegra recibir golpes y a la vez dices que te cuesta seguir lo que ves... el punto, no me disgusta, pero no me alegra, si lo puedes hacer mejor, manteniendo la compatibilidad por software me alegrara recibir un modulo que si lo haga... por otro lado, si quieres hacer un modulo opengl, genial, se necesita desde hace tiempo y yo empece con ello, pero vamos que no estoy animado a continuar de momento... (repito, si yo no estoy animado, como puedes esperar que anime a otros? disculpame por eso.)

no voy a discutir sobre el tipo de error, y si un error significa que algo esta no optimizado o no... prefiero saltar esos comentarios y no tomarlos como una agresion, por eso no respondo al respecto.

ahora, vamos, si lo quieres reescribir desde cero, genial! no hay problema con ello... y en ese aspecto nada de lo que explique podra serte de utilidad.... yo voto por eso, si quieres cargarte una version de cero, sera bien recibida.

realmente no parece que tu intencion no sea no criticar... y evidentemente hablas desde el desconocimiento, porque yo soy una de las tantas personas que mas simple hacen las cosas que existe...

yo no dudo que puedas hacer un trabajo excelente, y espero y te animo a ello.

todo lo que has dicho, son cosas que ya se consideraron, pero se requiere compatibilidad porque muchas personas esperan las funcionalidades que ya se tienen... nadie dijo de no hacer un bennugd 2.0 con las cosas que mencionas como no mezclar profundidades, usar opengl directo, y un largo etc... hay algunas cosas experimentales de todo esto, pero no puedo destruir el producto asi porque si, porque el mismo permite poder hacer juegos en lugares donde no se tienen ciertas caracteristicas nuevas de hardware, si eso es correcto o no? pues bennugd 1.0 es eso, ya se hablo de un 2.0 muy diferente y seguramente incompatible con el actual.

lo que olvidas es que esto no es un juego especifico con ciertas caracteristicas, sino que es un motor que ya tiene unas expectativas de los usuarios a funcionalidad, y no se pueden retirar asi como asi... y que muchas limitaciones de SDL hacen que se requieran hacer otras cosas encima, por eso, evidentemente necesita mas proceso, ni hablar que si programas SDL en pascal, estas programando en un lenguaje compilado, nada que ver con una VM que es lo que es bennugd... tu mismo puedes realizar lo mismo que has hecho en C usando las funciones de bennugd (evitando la VM) y veras que la cosa cambia mucho en cuanto a rendimiento... ni hablar de muchas otras cosas...

entiendo que hablas desde el desconocimiento general del producto, su funcionalidad y su finalidad... y recibir criticas negativas en base a ese desconocimiento, es una desagradable patada en las pelotas... disculpa si soy directo...

como sea, me encantaria si pudieras aportar un motor grafico mejor, pero de ningun modo puedo tomar alegremente criticas negativas sobre el trabajo que muchos estuvimos haciendo tantos años, entiendase cebrain, slainte, josebita, etc, etc, etc...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

Quote from: Anyeos on April 24, 2013, 11:26:48 PM
De todos modos voy a intentar hacer eso que dije porque además de que me gusta y me sirve de práctica a lo mejor me sale algo bueno. Y quería compartirlo también.
O a lo mejor a nadie le gusta o sale una porquería, que se yo, pero el que no arriesga no gana así que voy a hacer el intento.


Saludos y gracias por sus respuestas (en serio).

sin dudas que interesa, y sere uno de los que lo reciban con alegria... te animo a ello... todo trabajo vale la pena... :)
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

Quote from: SplinterGU on April 24, 2013, 08:27:03 PM
...

creo que volveré a la versión anterior, que al menos nadie reportaba los errores que yo note... asi que pasa desapercibido.
....

Gran idea, al menos hasta que se saque solución para esta nueva forma, menos dolores de cabeza para los programadores de juegos que ven que sus juegos dejan de funcionar ..  y menos reportes de incidencias conocidas ;)
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

lo hare ni bien termine de configurar mi equipo nuevo... ;)

saludos.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

A partir de que version se cambio eso ?

Anyeos

Emmm, creo que solucioné el problema gráfico....

No reprogramé todo, quizá más adelante lo haga, tampoco es para reemplazar el trabajo de nadie, sería una opción más para tener.
La verdad que entender algo del código me llevó bastante tiempo, igualmente entendí algo, no todo, pero justo había una parte del código que descubrí recién ahora a lo último, ni se me ocurrió verificar antes (más que nada por prudencia de no andar toqueteando tantas cosas a la vez que después no me acuerdo los cambios que hice).

Bueno, en la multiplicación 65536 me dejó pensando. 65536 es igual a 10000 en hexadecimal, y yo pensé: No debería dar como resultado FFFF? Porque se supone que es un "filtro", no? Así que cambié 65536 por 65535 y se arregló el glich!

Este es el código:

                draw_span
                (
                    dest,
                    gr,
                    x,
                    i,
                    x2 - x + 1,
                    ( int )( s * 65535 ),
                    ( int )( t * 65535 ),
                    ( int )(( s2 - s ) / ( x2 - x ) * 65535 ),
                    ( int )(( t2 - t ) / ( x2 - x ) * 65535 )
                );


Bueno, hay que seguir testeando a ver si se mantiene. Al menos en mi juego ha desaparecido de todos los gráficos que he visto hasta ahora. No veo más el glich.


He visto también el valor 65536 en otros sitios, tal vez sea buena idea revisar si está funcionando como se espera.


Anyeos

@SplinterGU disculpame vos también, tengo la costumbre de hablar demasiado.
De cualquier manera así nos vamos entendiendo un poco mejor. Tampoco pensé en herir a nadie al decir esas cosas.
No sé qué decir, a mi no me molesta que me critiquen mi trabajo. Siempre y cuando sean críticas constructivas.

A lo mejor no fui bueno para expresarme. O quizá sea que hablé demasiado.

Igual ahora me doy cuenta que no puedo decir mucho del código de alguien. Cada uno tendrá su modo de organizarse. Yo me organizo de un modo distinto por lo visto. El algoritmo está, funciona, con lo que comprendí no lo veo mal como quizá lo vi antes. Pero por eso no creo que me haya sabido explicar bien, no era exactamente lo que quería decir. Quizá al código le falte un poco más de referencias, comentarios o separaciones visuales para mi gusto.
Pero es mi forma de organizarme ustedes tienen la suya.

La verdad que yo también tengo que entender eso. Y le pido disculpas a todos porque me pasé hablando. Pero lo hice por desconocimiento no fue por maldad.


Bueno, ahora espero haber podido ayudar, parece que se arregló el glich.



Te quería comentar, @SplinterGU, ya que me contaste algo de tu situación, y a otras personas también ya que estoy escribiendo al público. Bueno, lo que pasa que estoy en una situación que no tengo trabajo fijo. Y estoy desarrollando unos proyectos de videojuego para conseguir algo de dinero.
Desde hace años que comencé a usar DIV pero no muy seguido, entonces desde el año pasado que lo pude "rescatar". O sea, que conseguí esta versión que me funcionó y para Linux que es lo que yo uso. Y lo hice funcionar bastante bien, me armé de algunas herramientas extras, etc, etc. Como para trabajar ya definitivamente en el desarrollo de unos proyectos de videojuegos que tenía hacía ya varios años pero que nunca había podido desarrollar.

Y cuando vine acá a estos foros andaba un poco desesperado. Se me venía encima una fecha y no podía andar solucionando otros problemas. Entonces andaba también algo estresado y no podía pensar bien. Con ese ánimo andaba.

Y no me quería echar para atrás tampoco después de que había programado más de medio juego en BennuGD. Además de que estuve semanas armándome con editores, plugins para gimp, cosas para inkscape y tutoriales, editor de sonidos y generador, etc etc. Pero lo más complicado sería volver a programar todo el juego en otro lenguaje. Así que no quería abandonar BennuGD.
La preparación de ese juego me llevó varios meses de paso.

Lo más chistoso es que era una "prueba". O sea, estaba practicando para hacer un juego en BennuGD, después se convirtió en un proyecto más. Y aún no lo termino.

Así que también por eso me puse hoy a tratar de arreglar el glich porque borré la versión anterior (el código fuente) reemplazándola por la de la web pensando que era la que andaba bien jaja. Y me llevé la sorpresa de que no! Y no tenía el código fuente anterior por ninguna parte en mi disco (la única copia la había reemplazado).

Bueno, esa es mi historia en resumen.


SplinterGU

ya lo pruebo y te digo... pero deberia ser 0x10000.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

la version del svn ya no tenia el glitch, pero dibujaba mal en ciertos tamaños, y angulos, quizas no se note en un juego, pero yo si lo noto porque estoy buscando eso.

ahora, probe con tu fix, y la verdad que no se arregla nada, quizas yo tengo otro fuente diferente al tuyo, yo estoy con el del svn, si vos tenes otro, por favor, pasamelo y lo pruebo.

te agradezco tu tiempo y ayuda.

saludos.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

que tonto que soy, uno de los problemas es el + 1 que esta en el svn, en donde divide por 65536.

como sea, el 65535, no fixea el dibujado mal,

ahora lo tengo quitando el + 1, y sigue con 65536, que es lo que deberia ir, ya que luego en el codigo de blitteo real, se necesita que este en 65536.

Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Anyeos

Según entendi baje el del svn. Lo baje de la pagina principal donde decía bajar último tar. O es otra versión ese? De cualquier forma después me fijo.

Anyeos

Bueno en la versión que yo baje si lo arregla porque inclusive mi juego hace uso del scale (achicando, no agrandando) y el gráfico lo veo bien.
Capaz que es con el +1 en tu versión donde estuvo el problema nuevo. Pero entonces ahora ya se solucionó casi todo?
Porque en la versión que yo tengo no tengo más el glich pero en pantalla completa a veces se me sale con un violación de segmento.

Utilizo el modo de 16 bits para video y mis imágenes son png en 24 bits . Desconozco si al cargar un png se hace alguna conversión de bits. Calculo que se cargan en memoria como un bitmap de 16 bits RGB.

Bueno igual voy a descargar directo del svn entonces para tener la última versión de desarrollo.

Saludos

SplinterGU

no, no, no...

con la version del svn, no hay mas glitchs, pero no dibuja bien, con tu modificacion tampoco esta el glitch, porque ya se soluciono con el svn... lo del + 1 que dije, simplemente digo que dibuja mejor, pero sigue dibujando mal.
tu cambio a 65535 no es correcta, ya que luego se necesita hacer uso por 65536, es una cuestion simple de rotaciones.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Anyeos

Mejor mostrame una imagen porque no me hago la idea.

El glich que yo veo es el que se ve en las imágenes que adjunto acá.
No veo otro tipo de errores gráficos.

Cuando aplico lo de 65535 no veo más el glich. Y se dibuja bien todo, no veo más problemas gráficos. Pero en pantalla completa a veces (y no sé por qué) se me cierra con un SIGSEGV. Que no parece estar en el fuente del juego sino más bien parece que la modificación que yo hice lo provoca. Porque además no me aparece la línea de mi juego donde se pudo producir el error o no tira ningún mensaje de que el proceso no exista o cosas así.
Pero tengo que probarlo más tiempo para estar seguro. Aparentemente el SIGSEGV se produce sólo en pantalla completa, pero no estoy seguro.

A ver, hablo de lo que me pasa con mi modificación, todavía no probé si eso afecta a la versión del SVN o no.

Recién ahora voy a descargar la del SVN y probarla.

Saludos.

SplinterGU

ese glitch con la version del svn no deberia estar mas.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2