Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - Drumpi

Páginas: [1] 2 3 ... 16
1
Offtopic / Familiar Game Jam 8
« en: Marzo 22, 2017, 12:14:13 pm »
Este fin de semana se cambia la hora, adelantamos los relojes para adaptarnos al horario de invierno, lo que eso significa:

¡¡¡¡NUEVA FAMILIAR GAME JAM!!!!

Sí, este finde otra competición maratoniana de programación exprés, para crear en 48h cualquier burrada que se pueda relacionada con el tema que se hará público en cuanto den el pistoletazo de salida.
Se empieza el Viernes (presumiblemente entre las 17:00 y las 18:00, aunque la cuenta atrás de GameJolt dice otra cosa) y se termina el Domingo a las 18:00 (independientemente del cambio horario).

Las normas creo que no han cambiado, así que el que quiera participar, ya sabe, que se busque equipo si quiere, y si llegais a la hora de entrega, pues os presentais, y si no, pues nada. No hay que apuntarse ni nada, o incribís con subir el juego a GameJolt con el hastag del concurso.

Yo ya estoy cavilando, pero no sé si llegaré a entregar algo: este año, a mi lentitud habitual, se suma que llevo toda la semana durmiendo menos de 6 horas seguidas :D

¡BUENA SUERTE!

2
Div GO / Creando Bitstrips 2.0 (codename: FutuStrips)
« en: Marzo 09, 2017, 12:26:19 pm »
Hola a todos:

Bueno, me he embarcado en un proyecto muy light que se va a complicar hasta límites insospechados.
Futu me ha embarcado en la tarea de recrear el programa de edición de tiras cómicas de la extinta web de BitStrips.

En principio, el proyecto consta de tres partes: un editor de caras, un editor de personajes y el editor de la tira cómica en sí. Voy a ir parte por parte, intentando que sea lo más sencillo posible, y ya he empezado por el editor de caras, que podeis ir viendo en mi web:
Drumpi.esy.es

¿Cuál es la pega? que el programa va a ser web. Estoy usando DivGo (obviamente), ese no es el problema, el problema vendrá a la hora de interactuar con la web, porque yo de programación web soy novato del todo ^^U Me voy a encontrar problemas por todos lados: bases de datos, páginas PHP, creación de usuarios y espacios de memoria reservados... una locura.

De momento, ya estoy con la interfaz básica del editor de caras. Estoy usando muchas cosas de manera provisional, pero está previsto que a corto o medio plazo, las imágenes se reemplacen por un formato propio (si consigo averiguar cómo cargarlos, y cómo meterlos en una base de datos, si es que es posible) que se podrán modificar su color en runtime. Luego vendrá cómo guardar la información, así que preveo que, de momento, se guarde de forma local, y en un futuro lo hará en una base de datos.

Cualquier sugerencia o ayuda será bien recibida.

Un saludo. Stay tuned!

3
Div GO / Sección LOADING?
« en: Febrero 05, 2017, 08:59:32 am »
Ya he mirado varios ejemplos, por no decir todos los que trae DivGo y me ha llamado poderosamente la atención una nueva sección llamada LOADING.
Por lo poco que he podido leer, hay algunas funciones que se pueden poner en esta sección, y hay variables tipo "percent_x", "progress_size", etc que corresponden a esta sección.
Sin embargo no he podido encontrar más información que la que hay puesta en el changelog, porque en el código apenas se inicializa el set_mode y se pone una imágen de fondo, ya está.

¿Qué es esa sección? ¿Cómo se usa?

PD: otra pregunta aparte ¿Cómo puedo averiguar cuántos ficheros hay en una carpeta? Quiero cargar a mano los gráficos que hay en una de ellas, pero no de golpe, y necesito saber cuándo he cargado el último.

Gracias.

4
General / Dudas para continuar con "The amazing adventures of Echo"
« en: Enero 21, 2017, 05:37:46 pm »
Voy a copiar el texto del último mensaje del proyecto Echo, porque me da que, como el hilo es tan largo y tan denso, no teneis ganas de leerlo, pero es que necesito vuestra opinión sobre qué haces con el Echo y su port a Wiz (aunque en realidad el port es a PC ^^U).

El juego se diseñó para Wiz, y funciona decentemente bien, salvo zonas donde se acumulan una cantidad ingente de enemigos, que yo llamo "zonas de recarga" (porque están para que el jugador pueda recuperar vida y experiencia del arma, ya que no hay otra forma de hacerlo).

Pero para hacer que funcione bien debo reescribir el motor de detección de durezas por algo más sencillo, y es un trabajo del copón que no sé ni por dónde comenzar. Sé que debería mirar las durezas a nivel de pixel, empezando por los pies, y después las esquinas para no atravesar paredes o suelo, pero cuanto más lo pienso, peor lo veo porque veo más y más condicionantes, más ver lo que había antes, etc :S

Y aun tengo que meter, sí o sí, la segunda capa de tiles por detrás de Echo, porque hay una parte de nivel 4-2 donde debería verse agua y pinchos en el mismo tile, y no puedo poner la información de ambas cosas sin crear un tile específico. Y aun así, hay algunas cosas más que ganarían estéticamente con una segunda capa (¿verdad, Fede? :D ).

Esos son los tres problemas graves que tengo ahora mismo con la versión de Wiz. Si pudiera solucionarlos, podría seguir sin problemas. Todos se resumen en lo mismo: la detección de durezas de los enemigos es demasiado exigente en la portátil. Y si no puedo solucinar eso, las alternativas serían eliminar las zonas de recargas y crear mapas diferenciados para Wiz y PC (con una y dos capas respectivamente), pero no resolverían el problema.

Así que tengo las siguientes opciones a la hora de seguir con el juego:
- Cierro el juego con dos niveles (eliminando el nivel 4 por completo) para Wiz, y creo una especie de versión DX para PC con los 4 (o 6) niveles que va a tener el juego.
- Me olvido por completo de Wiz y tiro para adelante con lo planeado para PC.
- Tiro para adelante, intentando mantener la compatibilidad aunque se arrastre en Wiz.
- O merece la pena intentar salvar la versión de Wiz reescribiendo el motor de detección de durezas.

Lo ideal sería la última opción, pero voy a necesitar mucha ayuda con eso. Aun así me gustaría saber qué pensais vosotros, sobre todo porque esto afecta también al posible port a DC, que no sé hasta qué punto es potente para mover lo que ya hay.
También me interesa saber cuánta gente sigue interesada en jugarlo en Wiz, y cuánto le molesta los tirones y las ralentizaciones que hay en la última versión, por si realmente merece la pena el esfuerzo.
Please, ¡¡consejos!!

5
Div GO / Getting started
« en: Enero 17, 2017, 06:41:28 pm »
Hola de nuevo:

Bueno, abro hilo para ir preguntando dudas que me surjan en el desarrollo de DivGo.
Y la primera va a ser la más obvia ¿Cual versión uso? He descargado los dos archivos de la v1.08, la desktop y la que no tiene sufijo. Veo que la desktop, aunque es más grande, ya trae un .exe para empezar a trabajar, parece que no necesita instalación, como parece que se necesita para la otra, que hay que andar descargando e instalando librerías.
A mi no me gustan los instaladores, prefiero que los programas funcionen y, cuando ya no los quiera, borre la carpeta y me olvide (sé que hay desinstaladores, pero muchos de ellos aun así dejan basura).

Así que ¿por dónde empiezo? ¿Y hay algún tutorial de toma de contacto o me puedo poner a programar a las bravas como si fuera DIV2 directamente? :D

Gracias :)

6
Offtopic / ¡¡¡Feliz cumpleaños, PIX... PANREYES!!!
« en: Enero 15, 2017, 07:51:19 am »
¡¡¡Feliz cumpleaños, máquina!!!

Hoy felicitamos a uno de los foreros más activos y más longevos de la comunidad. Un tío que se cuela en todas partes, y aun así no se hace pesado, capaz de llevar Fenix y Bennu a donde ningún Divero ha llegado jamás.
Por tu perseverancia, tu originalidad, tus ganas de trabajar y tu infinita paciencia con tus clientes (si, alguien lee tu blog de vez en cuando :D ) ¡¡¡FELICIDADES!!!


PD: te he tomado prestado el avatar (amparándome en la GPL). No te importa, ¿verdad? :D

7
Mesa de Ayuda / ¿Cómo funciona la función split?
« en: Enero 14, 2017, 05:42:43 am »
No, no es que no entienda qué es lo que hace, pero dice que se le tiene que pasar un puntero a un array de strings para guardar los datos ¿no habíamos quedado que los array de strings estaban desaconsejados?
¿Y qué le paso? ¿un "string pointer str_ptr"? o un "string str_lst[7]"?

8
Mesa de Ayuda / Detección de durezas
« en: Enero 05, 2017, 04:13:12 am »
Hola a todos:

Me estoy planteando cambiar el sistema de detección de durezas del Echo. El sistema actual reconoce los tiles de dureza y actúa en consecuencia, pero como llega a haber  como unos 25 diferentes, hacer las comprobaciones con tantos tiles me supone un sobrecoste mucho mayor que el uso de un sistema de detección clásico, ya sabeis, map_get_pixel.
Así que estaba pensando en hacer algo más "tradicional". Voy a seguir contando con el mapa tileado de durezas, y voy a crear una función que me diga la dureza en un pixel concreto. Básicamente si es un tile transpasable, no transpasable o especial (como un suelo que se puede pasar de abajo a arriba pero no de arriba a abajo, o unas escaleras).

La duda es que no sé cómo plantearlo:
No sé cuántos puntos de lectura de durezas tengo que usar. Usar un único punto en el centro de los pies del prota no es suficiente, y pensaba en usar tres: uno en el centro y otros dos en las esquinas inferiores. Y luego aparte, otro en el lateral para cuando avance que no se choque con las paredes ni atraviese zonas donde haya un hueco. Probablemente necesite usar otros dos en las esquinas superiores para las colisiones con el techo.
Luego está la comprobación en sí. Si el prota está en una rampa, ¿cómo serían las comprobaciones? ¿debo ajustar su altura en base al punto de referencia inferior central? ¿cómo debo actuar con el pixel de la esquina inferior a la hora de avanzar?

Ya digo, le estoy dando vueltas y tengo más preguntas que ideas, y quería saber si alguno de vosotros lo había hecho, y qué debería plantearme a la hora de empezar.
Ya sé que esto es de primero de plataformas de DIV ^^U pero la detección de durezas del Castle of Dr. Malvado es demasiado simple y creo recordar que metía medio sprite del prota dentro de las paredes  (o modificaba las durezas para que eso no pasase, y eso no puedo hacerlo).

A ver si me podeis ayudar a ordenarme las ideas :P

9
Offtopic / ¡¡¡Feliz cumpleaños, FEDE!!!
« en: Enero 04, 2017, 06:02:37 am »
Y hoy cumple años uno de los mejores compañeros con los que he podido trabajar: paciente, serio, cumplidor y una persona que se tiene ganado el cielo por su entrega y sus ganas de cuidar a los demás.
Por todo ello, y para que se anime un poco, y se lo pase bien en su cumple...

¡¡¡FELIZ CUMPLEAÑOS!!!


10
Offtopic / Feliz cumpleaños, Javis!!
« en: Diciembre 29, 2016, 05:08:52 am »
Dice el chivato de m***** que hoy cumple años uno de los foreros más activos y antiguos que recuerdo (sí, estás viejo, como otro que yo me se).
Nos conocemos desde divsite, y me suena que ya en DIV andaba tramando cosas.
Pero como mi cabeza no consigue ordenar sus logros (y sé que se me van a olvidar muchos) y no se me ocurre nada original que decir, le he pedido a una amiga de por aquí cerca un pequeño favor:

¡¡¡FELIZ CUMPLEAÑOS, JAVIS!!!

11
Offtopic / ¿Alguien ha probado hostinger?
« en: Diciembre 19, 2016, 05:26:59 pm »
Hola a todos:

Pues nada, ya hemos terminado el curso. Nada nuevo bajo el sol, salvo mi primer contacto con CSS: que asco me dan los "lenguajes" basados en etiquetas :D
Pero bueno, hoy nos han enseñado a tener nuestra web-blog alojada en un hosting gratuito, y hemos usado esa: HOSTINGER.
He comparado así, por encima, lo que le diferencia de la que recomendó L1nk3rn3l hace tiempo, https://www.biz.nf/web-hosting.php y parece ser que ofrecen el doble de espacio, de ancho de banda y más herramientas de programación. Lo que no me queda claro es el tiempo de alojamiento que te dejan, porque en una parte te dice que es sólo 1 año, y en otra que es indefinido.

Sí, ambos son gratuitos, y se que hostinger no te mete publicidad ¿una prueba?
http://sartenrebozada.esy.es/
Aviso, esa web está sin terminar :D

Quería saber si la habeis usado alguna vez, o si hay algún hosting gratuito de confianza que recomendeis mejor que este. Mi intención es iniciar una web hecha en wordpress, con su blog, y enlaces a mis juegos de GameJolt (y probablemente a otros que suba a la propia web o que comparta mediante One Drive, poniendo mi propio contador de descargas :P), e ir añadiendo páginas que vaya creando/migrando a HTML/PHP/Javascript (a medida que aprenda a usarlos, claro ^^U, se que hay gente que les sale urticaria con Wordpress).

12
Offtopic / Tengo un blog (o algo así)
« en: Diciembre 15, 2016, 04:51:51 pm »
Hola a todos:

Me habreis notado más callado que de costumbre. Eso se debe a que estoy durmiendo menos, porque estoy asistiendo a clases por la mañana.
Estoy en un pequeño curso de diseño de blogs en Wordpress, mi primer paso en la programación web.
De momento no puedo decir que sea un curso apasionante o difícil, porque cualquiera, con un par de tardes puede hacer lo que hemos estado viendo hasta ahora (el API de la propia Wordpress). Ha habido sus cosillas interesantes, pero de momento me aburro el 90% del tiempo. Es un curso de estos de Andalucía Compromiso Digital, que imparten voluntarios, y son gratuitos, así que se entiende el bajo nivel.

Espero que mañana empecemos a trasladar el blog a un hosting gratuito, a hacer virguerías, y a tener acceso al código para poder estudiarlo, limpiarlo y personalizarlo :D

Mientras, os paso la dirección de uno de los blogs que estamos haciendo para que le echeis un vistazo.

https://sartenrebozada.wordpress.com/

Ya podeis empezar a echar pestes de Wordpress :D

PD: sí, como siempre hay planes de futuro: crear dos blogs paralelos, o algo así: uno con mis juegos, avances e ideas, y otro en el que ir escribiendo artículos estilo "Los Dos Lados Del Mando" y que no tengo tiempo de pasar a video, con consejos para el desarrollo de videojuegos para novatos, desde mi punto de vista.
Si encima puedo aprender HTML5 o PHP y hago páginas sueltas para acoplarlas, pues mejor. Ya sabeis que la programación web es una tarea que tengo pendiente :P

13
General / IF vs SWITCH, prueba de rendimiento
« en: Diciembre 11, 2016, 10:00:49 am »
Hola a todos:

Ya dije en el hilo del "otro proyecto" que sospechaba que SWITCH me estaba ralentizando el juego. Así que he decidido poner a prueba dicha teoría.
Adjunto el código de prueba, pero para el que sea tan vago de no descargarlo, os lo copio aquí:

Código: [Seleccionar]
program test_switch;

function mil_switch ()
private
    int temp;
    int cont;
begin
    for (cont = 0; cont < 10000; cont++)
        temp = rand(0,9);
        switch (temp)
        case 0..2: temp = temp; end
        case 3..4: temp = temp; end
        case 5..7: temp = temp; end
        default: temp = temp; end
        end //switch
    end
end

function mil_switch2 ()
private
    int temp;
    int cont;
begin
    for (cont = 0; cont < 10000; cont++)
        temp = rand(0,9);
        switch (temp)
        case 0: temp = temp; end
        case 1: temp = temp; end
        case 2: temp = temp; end
        case 3: temp = temp; end
        case 4: temp = temp; end
        case 5: temp = temp; end
        case 6: temp = temp; end
        case 7: temp = temp; end
        case 8: temp = temp; end
        case 9: temp = temp; end
        end //switch
    end
end

function mil_if ()
private
    int temp;
    int cont;
begin
    for (cont = 0; cont < 10000; cont++)
        temp = rand(0,9);
        if (temp < 3)    temp = temp;
        elsif (temp < 5) temp = temp;
        elsif (temp < temp = temp;
        else temp = temp;
        end
    end
end

function mil_if2 ()
private
    int temp;
    int cont;
begin
    for (cont = 0; cont < 10000; cont++)
        temp = rand(0,9);
        if (temp == 0)    temp = temp;
        elsif (temp == 1) temp = temp;
        elsif (temp == 2) temp = temp;
        elsif (temp == 3) temp = temp;
        elsif (temp == 4) temp = temp;
        elsif (temp == 5) temp = temp;
        elsif (temp == 6) temp = temp;
        elsif (temp == 7) temp = temp;
        elsif (temp == temp = temp;
        elsif (temp == 9) temp = temp;
        else temp = temp;
        end
    end
end

BEGIN
    set_mode(320,240,16);
    set_fps(0,0);
    write_int(0,10,10,0, &fps);
   
    while (!key(_ESC))
        //mil_switch2();    //215
        //mil_if();            //280
        //mil_if2();        //234
        mil_switch();        //230
        frame;
    end
   
    delete_text(all_text);
END

El código tiene 4 pruebas diferentes:
- mi_switch2: hace 10000 comprobaciones por frame. Obtiene un valor aleatorio entre 0 y 9, y usa un case diferente por cada valor, en donde hace una asignación en una variable (por hacer algo).
- mi_if: hace 10000 comprobaciones por frame. Obtiene un valor aleatorio entre 0 y 9, y usa cuatro comparaciones (if, elsif, elsif y else) en donde hace una asignación en una variable (por hacer algo).
- mi_if2: hace 10000 comprobaciones por frame. Obtiene un valor aleatorio entre 0 y 9, y usa un elsif diferente por cada valor, donde hace una asignación en una variable (por hacer algo).
- mi_switch: hace 10000 comprobaciones por frame. Obtiene un valor aleatorio entre 0 y 9, y usa 4 rangos de valores en el switch, en donde hace una asignación en una variable (por hacer algo).

Resultados en FPS:
- 215
- 280
- 234
- 230

Conclusiones: IF puede dar hasta un 20% más de velocidad que SWITCH en el mejor de los casos ¿Es porque hace menos comprobaciones? Probablemente, porque en el caso de los 10 posibles valores diferenciados, IF todavía da más velocidad, pero por poco.
Usar rangos de valores aumenta la velocidad del switch, pero aun así, usar elsif con valores individuales es ligeramente más rápido.

¿Cuándo usar uno u otro? en caso de problemas de rendimiento, siempre IF. SWITCH es mejor usarlo cuando queramos que el código sea fácilmente legible, o bien cuando queramos comparar con valores muy específicos, pero la mejor política es intentar agrupar todos los valores que vayan a desempeñar una función concreta.

Así que ahora me tocará tirarme unas cuantas tardes modificando el detector de tiles de durezas de los enemigos, sustituyendo los 200 switchs que hay por IF+OR, a ver si gano algo de rendimiento.
Y aquí concluye otro capítulo de "curiosidades internas de Bennu sin haberme leido el código fuente" :D

UPDATE:
He hecho un par de pruebas más, intentando seguir el código que estoy modificando para "el otro proyecto" y ¡horror! los resultados son peores.
Primero el cñodigo que he añadido a la prueba:
Código: [Seleccionar]
function mil_if3 ()
private
    int temp;
    int cont;
begin
    for (cont = 0; cont < 10000; cont++)
        temp = rand(0,9);
        if (temp < 3)    temp = temp;
        elsif ((temp >= 3) && (temp < 5)) temp = temp;
        elsif (((temp >= 5) && (temp < 8)) || (temp == 9)) temp = temp;
        else temp = temp;
        end
    end
end

function mil_if4 ()
private
    int temp;
    int cont;
begin
    for (cont = 0; cont < 10000; cont++)
        temp = rand(0,9);
        if ((temp == 0) || (temp == 1) || (temp == 2) || (temp == 3)) temp = temp;
        elsif ((temp == 4) || (temp == 5) || (temp == 6) || (temp == 7) || (temp == 8)) temp = temp;
        else temp = temp;
        end
    end
end

Los resultados en FPS han sido:
- mil_if3: 204
- mil_if4: 175

Definitivamente es algo que tiene que ver con las comprobaciones que se hacen internamente, los resultados obtenidos son mucho peores que con el switch, y eso significa que, previsiblemente, pierda rendimiento cuando acabe de escribir el nuevo código de comprobación de durezas. Voy a comprobarlo de todas formas, hice una copia de seguridad antes de hacer los cambios (por aquello que dije hace tiempo de volver atrás), así que no hay pegas.

14
Offtopic / Pido consejo con un notebook
« en: Diciembre 05, 2016, 05:30:20 pm »
Hola a todos:

Esto va dirigido a los manitas, expertos en cacharros obsoletos y fanáticos del trasteo :D
Tengo un notebook Acer Travelmate3004WTMI que lleva un Intel Pentium M760 a 2GHz al que le han sacado la mitad de las tripas, y que quiero adecentar para hacer un regalo.
De momento he conseguido meterle un par de módulos de 1GB de RAM (el máximo) y me han dado un módulo WIFI que aun no he probado, aun me queda por conseguir un cargador y rezar para que la batería aun le quede algo de vida. Ignoro el HD que lleva, pero no me haría muchas ilusiones.

La receptora será una amiga de mi madre, una mujer de mediana edad que me ha dicho que lo quiere para jugar. Conociéndola, el perfil de juegos que le gustan son los que se pueden encontrar en smartphones (juegos ligeros, fáciles de entender, entretenidos...), así que tampoco vamos a necesitar algo muy bestia.

Dicho esto, creo que lo que me queda (corregidme si no) es decidir el software que le voy a meter. Había pensado meterle un Windows XP, ya que es el SO que llevaba, para el que están diseñados sus drivers, y por la pegatina que tiene en la parte inferior. Pero me han recomendado meterle directamente un W7 Lite, que aun tiene soporte y que puede andar igual o mejor, pero temo no tener los drivers, y lo que es peor, no tengo ni imagen del mismo ni lector de CD con el que metérselo (bueno, tengo un adaptador IDE->USB y un DVD suelto que me podría hacer el apaño).
Otra posibilidad que barjaba era añadirle un dual boot con Android. No he instalado nunca nada similar ni sé cómo se hace, e incluso temo que sea demasiado complejo para las neuronas de esta mujer ^^U

Y luego, por supuesto, el software adicional (juegos, aplicaciones...).

No sé ¿teneis alguna recomendación por vuestra gran experiencia de cara a clientes caprichosos sin idea de informática?

15
General / Firma si quieres ver Killer Disco 2600 en Wiz
« en: Noviembre 29, 2016, 05:53:33 am »
Hola a todos:

Sé que ahora ando en 3 proyectos a la vez, pero se han vuelto tan mastodónticos que avanzar cuesta algo de trabajo (más que nada, por andar consultando si existe tal variable, tal función, o cómo usar un determinado proceso), y de vez en cuando me apetece hacer algo más ligero.

Tengo hecho el Killer Disco 2600, que podría portar a Wiz sin problemas (incluido el modo 2J). Sólo tendría que modificar un par de procesos, añadir el control de teclas (que no me ha dejado Futu por sus restricciones) y quizás añadir otros modos de juego.
Pero para ello, tengo que saber que va a haber gente que quiera jugarlo y que no es un capricho de Futu y mio, así que si reuno, al menos, cinco personas interesadas, hago el port. Si no, seguramente empiece algún proyecto para Android en PixTudio :D

Las "firmas" se recogen aquí. Llamad a algún amigo para tener más probabilidades.
Ah, y es OBLIGATORIO decir por qué quereis el port, y nada de peloteos tipo "porque el juego es F***** AWESOME" porque entonces no cuenta :D

Páginas: [1] 2 3 ... 16