Página 1 de 9

Saludos desde una lejana galaxia! XD

Publicado: Mar, 01 Oct 2013, 17:14
por D_Skywalk
:lukesoytupadre:

Hola, soy D_Skywalk y trabajo en KANDOR Graphics como desarrollador. Afortunadamente dentro de mis queahaceres me han añadido uno para hacer un juego ochentero de nuestra última película.

Image

Ya terminé el tileset, spriteset y el mapeado básico estoy en medio del Sprint final y la idea es sacarlo esta semana o como mucho la que viene :mrgreen:

Image

Y ahora invitado por na_th_an vengo a rematar los últimos coletazos de juego que me quedan.

Muchas gracias mojones por compartir vuestra churrera y preparar ese fantástico tutorial hospedado en EMS ^^_

Bueno otra cosa más, las utilidades ya las tengo compiladas en linux, pero vi que otro usuario también estaba con ello igualmente las publicaré en mi blog cuando termine el güego, por si valen igual ;)

Un Saludo y empiezo un tema en el foro de ayuda
:ymca:

Re: Saludos desde una lejana galaxia! XD

Publicado: Mar, 01 Oct 2013, 17:26
por son_link
Ayudar mutuamente podemos siempre :yoda:

Re: Saludos desde una lejana galaxia! XD

Publicado: Mar, 01 Oct 2013, 17:28
por na_th_an
Bueno, pues vamos a ponernos al lío :) Te explico las cosas que tenemos y lo que podemos hacer:

1.- El tema de las recargas - mucho me temo que para lo que quieres tengamos que retocar el motor. Es una customización sencilla, y podríamos hacer que las regargas aparecieran con el tipo 3 de hotspots en el colocador.
2.- El tema de ir cogiendo los trozos de la espada - Esto lo vamos a hacer por scripting.
3.- Me parece haberte entendido que quieres que el gráfico que se emplea en representar los objetos vaya cambiando según tengamos ninguna, una o dos partes de la espada ya recogidas. Para esto también tengo que modificar el motor.

A ver, explicado rápido y mal, un script no es más que un conjunto de cláusulas agrupadas en secciones. Las cláusulas son una lista de condiciones y una lista de comandos. Si se cumplen todas las condiciones, se ejecutan los comandos. Por ejemplo:

$this->bbcode_second_pass_code('', ' IF PLAYER_IN_X 32, 63
IF PLAYER_IN_Y 32, 63
IF FLAG 2 = 0
THEN
SET FLAG 2 = 1
SOUND 9
TEXT VENDO_MOTO_SEMINUEVA
SHOW
SOUND 0
SOUND 8
END')

Eso es una cláusula. Primero hay un montón de comprobaciones, y luego hay un THEN y un montón de comandos, terminados en END.

Las clausulas, como digo, se agrupan en secciones: estamos en un 8-bits, no hay tiempo de estar comprobando siempre las cosas, así que hay que buscarse "momentos puntuales" para hacerlo. Hay dos tipos de secciones, las ENTERING y las PRESS_FIRE. Las primeras se ejecutan al entrar en una pantalla, justo después de dibujar el escenario. Las otras se ejecutan cuando el jugador pulsa ACCIÓN (y en otros momentos, pero esto lo dejamos para más adelante).

Por lo general podemos definir una sección ENTERING y otra PRESS_FIRE para cada pantalla, y cada una de ellas puede tener todas las cláusulas que necesitemos.

Además, tenemos otras secciones especiales: ENTERING GAME, que son las cláusulas que se ejecutarán al empezar el güego, ENTERING ANY, que se ejecuta al entrar en cada pantallas, y PRESS_FIRE ON ANY, lo mismo pero al pulsar ACCIÓN.

El sistema es bastante potente, permite comprobar un porrón de cosas, y ejecutar otro porrón. Por eso digo que en un tutorial en condiciones me iba a tirar bastante tiempo. En la carpeta script hay un archivo de texto que describe someramente todas las condiciones y todas las acciones.

Con eso y paciencia se podría sacar algo, pero como lo que necesita tu juego es muy sencillo me ofrezco a escribirte el script. Lo haré de forma didáctica, explicando qué hago y como, y así, además, nos sirve a todos.

Por lo pronto me vendría bien que me pasases todo tu directorio de desarrollo para hacer la modificación necesaria para que puedas poner las recargas donde tú quieras y lo de los objetos.

Re: Saludos desde una lejana galaxia! XD

Publicado: Mar, 01 Oct 2013, 17:28
por na_th_an
Por cierto, ya que trabajas en Kandor, ¿conoces a Pokoko?

Re: Saludos desde una lejana galaxia! XD

Publicado: Mar, 01 Oct 2013, 17:37
por D_Skywalk
$this->bbcode_second_pass_quote('na_th_an', 'P')or cierto, ya que trabajas en Kandor, ¿conoces a Pokoko?

pococo? claro ^^_

seguimos aquí o te respondo en ayuda mejor? :?

Re: Saludos desde una lejana galaxia! XD

Publicado: Mar, 01 Oct 2013, 17:40
por na_th_an
Donde mejor te venga XDD Si somos tres o cuatro, da igual, al final encontramos donde están los hilos :lol:

Te preguntaba por Pococo porque su señora y la mía son amigas, y me ha dicho que te preguntara XD

Re: Saludos desde una lejana galaxia! XD

Publicado: Mar, 01 Oct 2013, 18:24
por D_Skywalk
Jijijii, pues hace poco en el estreno estuvieron ahí con el bebito, no?

na_th_an me da cosa que te pongas tu a cambiar eso y además aun tengo un par de días de margen...

Si he sido capaz de añadir las plataformas, sólo necesito ya que me digas como copiar un sprite de memoria y como modificar el marcador o como cambiar la paleta de un lugar de la pantalla.

Creo que con eso y los scripts puedo seguir bicheando que me lo estoy pasando pipa! :D

Un Saludo a tu señora que seguro será una santa como la mia XD
Pd: igualmente te paso el code, por si quieres ver el churro que he hecho XD

Re: Saludos desde una lejana galaxia! XD

Publicado: Mar, 01 Oct 2013, 18:55
por na_th_an
Vale, mañana lo vemos todo, que ya estoy en casa y desconectando :-)

Enviado desde mi LT18i usando Tapatalk 2

Re: Saludos desde una lejana galaxia! XD

Publicado: Mar, 01 Oct 2013, 18:58
por D_Skywalk
Corredo enviado ;P

:kiss:

Que sepas que voy a seguir bicheando... hasta que mi mujer me grite para cenar :mrgreen:

Un Saludo! :dalefran:
Pd: en el dev, el fondo alternativo tiene la paleta mal... de todas formas para lo que necesitas no te afecta, no?
Ppd: el mapa que llevas no es el final, aun tiene partes que puedes pasar y que bugean (encierran) al personaje.
Pppd: La plataforma del principio solo está para el dev, luego la quitaré XD

Re: Saludos desde una lejana galaxia! XD

Publicado: Mié, 02 Oct 2013, 08:00
por na_th_an
Bueno, veamos.

- Supongo que con cambiar la paleta te refieres a cambiar los atributos. El area de atributos de Spectrum, que se utiliza para "tintar" los píxeles de un display que, en realidad, es monocromo, es un area de 768 bytes (32x24 cuadros de 8x8 pixels) a partir de la dirección 22528. Para cambiar el color de uno de esos cuadros en la posición (x, y) sólo hay que escribir un valor en la dirección de memoria (22528 + x + (y << 5)). El valor que se escribe se obtiene sumando INK + 8*PAPER + 64*BRIGHT. Una forma sencilla de hacerlo desde C es esta:

$this->bbcode_second_pass_code('', '*(22528 + x + (y << 5)) = valor;')

- Para hacer lo que querías de poder colocar tú las recargas de vida, invalidando el comportamiento actual, he descrito el proceso aquí (porque puede ser de interés de más gente): viewtopic.php?p=41661#p41661 - Básicamente se trata de cambiar el código que dibuja los hotspots y el código que detecta qué tipo de hotspot hemos tocado. Una vez hecho el cambio, las recargas de vida las tendrás que colocar tú con el colocador, usando el tipo 3.