Hola a todos:
Como ya cansa un poco lo de repetir que lo de salvar es algo que no me dio tiempo a hacer, voy a ver si saco un ratillo cada día, lo añado, y de paso arreglo algunos bugs. Así que, voy a anotar aquí todos los arreglos necesarios, y si notais alguno más, me avisais.
-Añadir salvar partida -.-U
-Ampliar el rango para coger objetos
-Poner una barrera en el inicio de la tercera pantalla del primer nivel, para evitar que la gente intente volver y se caiga al infinito.
-Poner flechas al menú de inicio para que la gente vea que es un menú.
-Añadir contenido desbloqueable.
-Añadir tercer nivel.
-Crear la imagen... (spoiler).
-El menu pausa no funciona si se activa demasiado rápido en el juego.
-Corregir problema con la pausa, de que si Echo no se puede controlar, la pausa tampoco.
-El dragon se desplaza cuando se le golpea demasiado.
-Poner una puerta para pasar la primera pantalla, para evitar pasar de nivel sin la Blue Star.
-Controlar el sonido de los disparos enemigos en el segundo nivel.
-Corregir el uso del joystick en PC.
-A ver qué se puede hacer para que uno se vea en los pasadizos secretos.
-Recortar un poco la vida de los enemigos, a petición popular.
-Animar el inicio de los eventos, con nombre del enemigo y esas cosas.
Si a nadie le importa que Echo sepa hacer el moonwalker, se quedará... aunque _-Caleb-_ me ha pedido que añada un glitch por el que el segundo boss podía aparecer de fondo en la ciudad, atacándote (básicamente era que en una de las versiones existía un botón de "salto de nivel" y se me olvidó "matar" los procesos de los eventos, y caleb cambió de nivel en pleno combate contra Gravor).
Así que ¿algo más? obviamente no todos los cambios mencionados se incluirán en la próxima revisión, que va a ser básicamente para meterle el salvado de partida.
Y Splinter, necesito que me digas si cambiaste algo en el código, para añadírselos a mi version de desarrollo.
Gracias.
Hay un fallo en el menú pausa, si empiezas la partida pulsandolo rapidamente puede que te salga el cartel pero el juego siga funcionando
Te repito los que ya te he dicho....
1 - Pausa en menu.
2 - Si no cojes la pistola, entras al castillo, te atascas porque no puedes disparar al punto rojo ni salir a recojerla.
3 - Controla el sonido de los disparos de los enemigos segun la distancia a echo en el segundo nivel, ya que parece una selva amazonica de disparos :) (yo lo hago en Skull, si necesitas te paso el código, pero vamos no tiene ninguna dificultad, eso lo haces sin ayuda).
4 - Sugestión: Acorta la vida a los enemigos finales, es un infierno de media hora para pasar cada uno y eso porque me pongo vida infinita ;)
Añadiría que en PC funcionen por igual pad y teclado, en lugar de que el pad anule el teclado, y mirar como va el pad, como ya te dije a mi me sale configurado de forma rarisima (la cruceta no va, tengo izquierda y derecha por ahí en los botones, y no tengo boton de salto, y los he probado todos :P)
un bug, cuando salis del castillo, y vas a luchar con el hipopotamo... si queres volver al castillo, se cae el personaje y el juego sigue pero nunca muere ni nada... problema de durezas que ya hablamos... (creo que ya lo pusiste arriba)
sugerencias:
- una vez metido en un tunel o pasadizo oculto, seria bueno que se vea por donde vas, en transparencia o directamente quitando los bloques que tapan la vision... algo asi como el circulo de vision que tiene el danger...
- cada vez que aparece un boss, seria bueno que aparezca alguna animacion o algo asi con el nombre... como cuando agarras un objeto...
- reducir la duracion de la secuencia de muerte, eso del alma bajando dando vueltas es muy desesperante y no me gusta mucho en lo personal... quizas que vaya bajando en un leve zig-zag... algo menos de frames y posibilidad de skipear las animaciones pulsando alguna tecla, seria de agradecer... (lo mismo para todas las animaciones)
- recoger los objetos directamente, no tener que pulsar la tecla hacia abajo para hacerlo, es molesto y muchas veces cuesta calzar al personaje en la posicion justa para recorgerlos...
No toque nada de tu codigo...
Splinter, un tunel o pasadizo secreto, es eso mismo, secreto...
No tienes que enseñar el personaje... Si lo hicieras algunos que tiene en el nivel 2 perderian su grácia.
Eso es una caracteristica muy usada desde que los juegos de plataformas existen :)
dije, cuando entras al mismo... por lo general son simples de recorrer, pero el pasillo donde obtener la espada es un laberinto donde no ves nada... y a nivel del personaje, si vos fueras el personaje verias por donde vas... pero lo manejas sin saber por donde vas...
a mi me molesto, eso, me mate consiguiendo la espada para que despues en la siguiente pantalla me quite todas las vidas un boss casi indestructible...
Respondiendo:
Bomberlink: he intentado reproducir tu fallo, pero no me ocurre nunca, el menú está desactivado hasta que empieza la cortinilla del final del nombre de fase. A ver si me puedes explicar más detalladamente cómo lo haces.
Freeyourmind: lo mismo con la pausa en el menú, ¿o a lo mejor ya lo resolví? no se, te digo lo mismo que a Bomberlink.
El 2 había olvidado ponerlo en la lista, y el 3 es una buena sugerencia, más que nada porque ya me pasó en un test el último día, que dejé vivo a un guerrillero y hasta que no llegué al punto en que se eliminan enemigos "obsoletos" no dejé de oir disparos. Sólo espero que eso no afecte al volumen maestro, porque puede ser un infierno.
Y que manía le teneis al pobre Guippo, podeis darle en cualquier parte del cuerpo. Hoy mismo he estado testeando y no he perdido más de 5 minutos con él en cada partida. Con el arma cargada a tope no dura ni un suspiro, y el resto igual (el de final de la fase 1 incluso tengo pensado subirle la vida, porque dura incluso menos que los dos anteriores ^^U
No son tan difíciles, sus ataques son fáciles de esquivar, pero bueno, tomo nota.
Anotado, Momia. Fue una de las primeras cosas que hice y sufrí hasta que di con la tecla. Es que el problema está en que el joy de la GP2X/WIZ tiene 8 botones en lugar de 4, por lo que, seguramente, tu mando se quede sin botones antes de llegar a los de salto y disparo de WIZ.
Mientras, si quieres, en jkey.h tienes las constantes de los botones del mando, sólo tendrías que sustituirlos por los de tu mando.
Splinter: lo normal en todos los juegos es que no se vea, y como ya dije, puedes saber tu posición símplemente disparando. Aunque algo de razón tienes: el laberinto de la espada es especialmente difícil, dado que al estar en una esquina, la cámara no te sigue y pierdes la referencia. Para el concurso lo dejé así porque era un arma secreta, a muchos puede que no os guste por su corto alcance, pero si la subís de nivel comprobaréis que es un arma poderosísima. Veré qué se puede hacer al respecto.
Mmmm, poner el nombre del enemigo, sí, quedaría bien (y de paso, hago la animación del dragón, que no pude por falta de tiempo).
Lo de la secuencia de muerte, parece un poco pesada, pero es que no tiene ni FX ni música, que es el problema. Lo del grito no pienso quitarlo, porque precisamente es lo que caracteriza al personaje: de haber sido el proyecto inicial, ahí faltaría un globo gritando "DOGGY!!!"
Lo analizaré, a ver si puedo recortar algo. Al menos no es como la muerte del Cave Story, que tienes el texto, te pregunta si quieres repetir y empiezas en el último savepoint.
No, los objetos no se recogen por tocar, ya he dicho que ampliaré el rango de recogida, y creo que seguiré la idea que me han dado en el subforo de proyectos, de que aparezca una flecha que indique la dirección a pulsar para recoger, pero hay que hacerlo así por seguir el estilo del juego en el que se basa.
Bueno, de paso, voy a abrir un nuevo hilo en el subforo de proyectos para ir diciendo cómo avanzan las mejoras y eso.
asi lo hice, disparando, pero es muy molesto... pero vale, es solo una sugerencia...
yo no dije nada de ningun grito...
y lo de la animacion de muerte, ni con musica arreglas eso... es demasiado larga, uno quiere seguir jugando rapido...
y please, agarrar los objetos con solo tocarlos es grandioso, como la mayoria de los juegos de plataforma... ademas otra cosa es que por agarrar ese objeto pierdas otro que ya tienes, entonces ahi si, conviene elegir, pero aca no es el caso...
pos no, no hay ná que hacer, no puedo ejecutarlo en el notepad++
Quote from: Futublog on March 07, 2010, 10:21:32 AM
pos no, no hay ná que hacer, no puedo ejecutarlo en el notepad++
¿Cómo lo ejecutas en el notepad++? ¿donde tienes Bennu instalado? ¿es instalación o simplemente los has copiado al disco duro?
La forma más fácil es que pongas todos los archivos (ejecutables y dlls) de bennu en la misma carpeta del PRG.
O bien, crea una carpeta, con el nombre bgd-runtime. Mete todos los ejecutables y dlls en esa carpeta SIN SUBCARPETAS y crea con el bloc de notas un archivo con extensión .bat y el siguiente texto:
set BENNUROOT=./bgd-runtime
set JUEGO=echo
set PATH=%BENNUROOT%;%PATH%
bgdc -g %JUEGO%.prg
bgdi %JUEGO%.dcb
Con eso debería funcionar. Incluso el mismo código si tienes los archivos de Bennu en otra carpeta (cambiando la dirección de la primera linea). Si tienes las 4 subcarpetas que suele poner splinter en la bgd-runtime, el código sería:
set BENNUROOT=./bgd-runtime
set JUEGO=echo
set PATH=%BENNUROOT%/bin;%BENNUROOT%/externals;%BENNUROOT%/libs;%BENNUROOT%/modules;%PATH%
bgdc -g %JUEGO%.prg
bgdi %JUEGO%.dcb
Espero que te sirva.
Como no se si me va a dar tiempo a decirlo en el subforo de proyectos, que sepais que el salvar partida está al 80%. Sólo me queda integrarlo al menu principal y buscar bugs, que los habrá.
Y digo que no se si me va a dar tiempo porque estoy preparando las cosas para el viaje de mañana, así que no espereis que salga ni hoy ni mañana. Pasado a lo mejor, depende de los bugs que me de por solucionar.
Para compilar y ejecutar Echo basta con tener el Bennupack instalado, abres el .prg y pulsas F6, así de fácil.
Que estamos en Bennu por dios, quizás el único lenguaje del mundo en el que no sentirás deseos de arrojar el PC por la ventana por problemas de compilación que se saltan las leyes de la lógica :D
Jajajaja. que quieres, se acostumbran a los alumnos a usar entornos pre-instalados y a compilar/ejecutar pulsando un botón. En cuanto les sacas la consola de comandos se lían ^^
Hombre, vale que bennu se complica un poco por la necesidad de tenerlo en una carpeta aparte, pero con un poquuito de ayuda e insistiendo se saca.
Bueno, pues ya he vuelto de mi periplo por tierras malacatienses, y tras un día de servicio técnico (por una vez me ha tocado técnico en HW arreglado un TDT, por fin algo de lo mío ^^U) pues he vuelto a darle un empujoncito, pero tengo un problema:
¿Alguien sabe por qué en el código
[code language="bennu"]for (cont=1;cont<=max_savefiles;cont++)
say("fichero busqueda: save/data0"+itoa(cont)+".sav "+file_exists("save/data0"+itoa(cont)+".sav"));
opt_mask[1]=opt_mask[1] || file_exists("save/data0"+itoa(cont)+".sav");
say(opt_mask[1]);
end[/code]
FILE_EXISTS me devuelve 1, 0, 0, 0, 0 y 0 en este bucle, si la carpeta "save" está vacía?
También he probado creando un array y usando esta funcion:
[code language="bennu"]function refresh_savegame_exists_file ()
private
int cont;
begin
for (cont=0;cont<max_savefiles;cont++)
savegame_exists_file[cont]=file_exists("save/data0"+itoa(cont+1)+".sav");
end
end[/code]
y me ha devuelto lo mismo.
Es obvio en lo que trabajo ¿no? ;D Pues debo deciros que es la detección de ficheros de guardado, para activar la opción del menú "load", por lo que sí, ya funciona lo de load&save, pero no hay puntos de salvado en el segundo nivel ¿son necesarios también?
ok a la orden...
quiero comprarme un ultraportatil con linux
y una wiz
y tantas cosas...
je je je
ATENCION: BUG DETECTED
Sea el siguiente código:
[code language="bennu"]program test_file_exists;
const
max_savefiles=6;
end
global
int savegame_exists_file[max_savefiles];
end
private
int cont;
end
BEGIN
refresh_savegame_exists_file();
for (cont=0;cont<max_savefiles;cont++)
say(itoa(savegame_exists_file[cont]));
end
while(!key(_esc)) frame; end
END
function refresh_savegame_exists_file ()
private
int cont;
begin
for (cont=0;cont<max_savefiles;cont++)
savegame_exists_file[cont]=file_exists("save/data0"+itoa(cont+1)+".sav");
end
end[/code]
Sí, el mismo que el de Echo. Bien, el caso es que he comprobado que detecta los ficheros de la carpeta save perfectamente, pero (y aqui viene el error) si existe, por ejemplo, el fichero "data02.sav" EN LA MISMA CARPETA QUE EL PRG (vamos, el que es el "directorio raiz"), tambien lo detecta, aunque este fichero no exista en la carpeta save. Podeis comprobarlo.
Según mi experiencia, primero busca en la carpeta, y despues en la raiz.
Si no existe el fichero save suele petar dependiendo de como hagas el código de guardado.
Yo suelo compilar con recursos embebidos y un save vacio (o con los datos por defecto) que se quedará dentro del dcb, y por ejemplo si borras el save que esta fuera o en la carpeta, el programa buscará despues el embebido :)
Ya es una norma que tengo, que es antes de hacer la release certificarme que tengo un save limpio para que quede embebido :)
- Si el archivo tiene no permisos de lectura no lo encontrara... (funcion exists)
- Primero busca el archivo en la carpeta que especificas
- Si no esta en el disco intentara buscarlo en el embebido
- Si no esta en los embebido intentara abrirlo en la carpeta "<extension>/" (en este caso "sav/")
- Si no esta en la carpeta "<extension>/" intentara abrirlo en el directorio de trabajo (por lo general donde esta el dcb)
- Si no funciono ninguna de las anteriores falla
Esto sirve tanto para exists como para los open.
Pero eso no debería ser así ¿no? Quiero decir, si yo busco un fichero determinado en una ruta específica (como es el caso) no debería encontrar otro en otro sitio, aunque se llame de la misma forma... al menos, poder especificarlo de alguna forma, o que lo indique de alguna forma, porque es un detalle que me ha vuelto loco en los dos últimos días y que no está documentado :S
Además, haciendo un CD("save") antes y otro después (CD("..")) no me ha dado este "problema", es decir, que no me lo ha buscado en el directorio raiz, por lo que habría una incongruencia en el uso de la propia función.
Asi es el mundo div like... siempre fue asi...
absolutamente no hay incongruencias... si lees lo que puse dice "por ultimo busca en el directorio de trabajo", y con "cd" lo que haces es cambiar el directorio de trabajo...
si tu quieres forzarlo, entonces has "cd" y luego ahi te lo buscara en ese directorio.
Curioso, nunca me he puesto a probar las funciones de comprobación de existencia de fichero o listado de directorios, tampoco me hubiese esperado que el comportamiento fuese así.
Pues no se porque no esperabais este comportamiento, si el la lógica del 'buen comportamiento' que se ve en la mayoria de las aplicaciones (almenos las bien echas) ...
Una buena aplicación, siempre tiene más caminos de comprobación cuando el primero falla, vamos, esto no es nada nuevo, y es una practica viejuna como la programación misma :P
hay algo que no se si es un bug, pero ahora me acorde...
cuando estas en el suelo y los pajaros violetas tambien lo estan, es muy dificil darles con los disparos... incluso si los tenes muy encima... diferente a todos los demas bichos...
no se, quizas eso necesite ajuste...
Mmmmmm, puedo hacer que no vuelen tan a ras del suelo, pues van buscando el "centro" de Echo, que está puesto a sus pies.
El que se te echen encima ya no es tan fácil de resolver, pues es su naturaleza.
Por cierto, no son pájaros, son murciélagos. Si te fijas sólo se dan en interiores de la tierra y dentro de los castillos, nunca en exteriores (he soltado algún detallito como esos en el juego). No se nota porque no podía jugar con dos capas de tiles para cambiar el fondo, por eso el primer nivel se divide en pantallas.
De todas formas, a buenas horas me lo dices ;D
entonces el que yo digo no es el murcielago, porque aparecen en el exterior en la 1era pantalla... tienen pico y se vienen en picada...
quizas no tienen que atacar al centro de los pies, sino a otro centro en el medio del personaje...
Aaaaaamigo, los corvos son muy puñeteros (y azules, al menos, la última vez que lo miré en la escala cromática del paint ^^U) y cuanto atacan en picado sólo tienes dos soluciones: o disparar desde abajo, o huir de ellos y esperar otro ataque en vertical :D
Pero si tanto te fastidian, el mejor remedio es un buen espadazo cargado, mano de santo. Aun cuando hayas recibido su picotazo.
De todas formas, queda anotado para revisión.
revisa en general a los bichos... cuando los tienes pegados a ti, tienes que poder matarlos con cualquier arma... para conseguir la espada tienes que hacer mucho del juego... ademas es muy dificil conseguirla... no sirve esa solucion...
Obviamente, si se pegan a ti, la mejor solución es acabar con ellos antes de que se acerquen demasiado, hasta donde yo se, los zombies en otros juegos no se quedan a una distancia suficiente para que les puedas acertar, vienen para darte un muerdo bien pegaditos a tu piel ;D
Si no, el plan B: huye de ellos, y cuando estén a distancia, dispara. Si te has fijado, todos los enemigos son más lentos que tu ;D
Y claro que la espada es difícil de conseguir: el "cerebral bore" o el "lanzacohetes" se ve muy poco en los juegos, y encima sólo tienen algunos tiros. La espada tiene uso ilimitado ;)
no me importan los otros juegos... vamos, no hay que justificarse mencionando a otros...
como sea, cuando los tenes pegados a ti... le das 10 disparos y no mueren... cuando si estan a distancia a los 2 disparos mueren... creo que eso necesita una correccion...
Lo de los 10 disparos, seguramente sea porque los disparos no salen desde el centro del prota, sino de la punta del arma. Como digo, en esos casos lo mejor es alejarse un par de tiles y darles caña.
El único enemigo que aumenta su energía con la proximidad son los murciélagos colgados de los techos: normalmente están durmiendo, con la guardia baja, pero si te acercas, se despiertan (se les iluminan los ojos) y se ponen en guardia (aumentan un punto de resistencia). Pero tranquilos que está controlado, al alejarte y dormirse de nuevo vuelven a su energía original, no van a salir super-murciélagos por acercarte y alejarte varias veces (comprobado ^^U).
no se, hay unos que parece que se van al piso y se ponen por debajo de la linea del suelo...