Ver la versión completa : Mapas de pantalla?
Hola.
He empezado un proyecto de un plataformas bajo Fenix, ya tengo las animaciones de los enemigos, y algo del personaje principal, pero necesito hacer los fondos, y no se como se suelen hacer.
Hay algún tutorial de como se realiza un fondo? o algun fondo hecho de un plataformas para ver como se ponen los planos de scroll (las capas de photoshop vamos), porque quiero que hayan varias alturas y crear algun juego entre el fondo y cosas en primer plano.
Por favor si sabeis algo, me lo comentais, que ya mismo tengo que empezar a dibujarlo en pc, porque en bocetos a boli tengo ya cosas adelantadas.
Muchas gracias
Coelophysis
28/07/2006, 15:29
Yo empecé así, sólo con bocetos y gráficos, y, en mi caso, nadie hubiera apostado a que terminaría sacando algo, hasta que empecé a pillarle el tema al Fenix y ya tengo mi primer jueguecillo bastante avanzado.
Alguien me recomendó hace tiempo crear los gráficos a base de tiles, por lo que empecé a trastear con el Mappy. No es realmente necesario si vas a crear gráficos de un solo bloque, pero es a lo que me he acostumbrado. Se trata de un programa gratuito que te permite crear tus mapas a base de "tiles" o "baldosas" que tú mismo te dibujas. Te adjunto una captura del Mappy con mis propios tiles para que veas de qué hablo.
Evidentemente la opción del Photoshop es perfectamente válida, e incluso evitas las limitaciones "artísticas" que tiene hacer los mapas a base de piezas, pero pierdes en rapidez a la hora de montar los mapas. Con las piezas que tengo creadas, puedo montar un nivel en unos minutos (bueno, depende del tamaño, en realidad tardo un par de tardes, entre correcciones y retoques).
La idea es: crear un primer plano a base de tiles (una vez montado el mapa lo puedes guardar como una imagen grande), y un segundo plano dibujado a parte, para crear el segundo plano de scroll y el consecuente efecto de profundidad (según veo, ya has visto las imágenes de mi juego con el resultado).
Luego lo de siempre, crear las durezas y todo eso; como siempre, Photoshop es tu amigo :D .
Puedes consultarme cualquier duda a nivel de uso de gráficos. A nivel de programación, sin embargo, de momento solo te podré ayudar lo justito, pero el foro está lleno de fenixeros destacados...:D .
Un saludo y ánimo.
Puck2099
28/07/2006, 15:47
Pues yo tengo una dudilla, ¿cómo pasas luego ese mapa de tiles a mapa de durezas para las plataformas y tal?, ¿te deja el mappy exportarlo todo a una sola imagen para retocarla con el Photoshop?
Saludos
Coelophysis
28/07/2006, 16:40
Pues yo tengo una dudilla, ¿cómo pasas luego ese mapa de tiles a mapa de durezas para las plataformas y tal?, ¿te deja el mappy exportarlo todo a una sola imagen para retocarla con el Photoshop?
Saludos
Exacto, ni más ni menos. Puedes exportar todo el mapa a una imagen tocha, que luego retocas (en mi caso la reduzco a la mitad, la paso a escala de grises, o le rebajo el número de colores, y la oscurezco) para "pintarle" las durezas con los colores que tenga estipulados para ello.
Una vez pintadas las durezas procuro borrar lo más posible de la imagen por que he comprobado que cuanto más "fondo negro" tenga menos ocupa el fpg.
Puck2099
28/07/2006, 17:01
Exacto, ni más ni menos. Puedes exportar todo el mapa a una imagen tocha, que luego retocas (en mi caso la reduzco a la mitad, la paso a escala de grises, o le rebajo el número de colores, y la oscurezco) para "pintarle" las durezas con los colores que tenga estipulados para ello.
Una vez pintadas las durezas procuro borrar lo más posible de la imagen por que he comprobado que cuanto más "fondo negro" tenga menos ocupa el fpg.
Uhm, ¿para qué la reduces a la mitad?, ¿solo para editarla o la dejas a la mitad de tamaño?
Coelophysis
28/07/2006, 18:06
Uhm, ¿para qué la reduces a la mitad?, ¿solo para editarla o la dejas a la mitad de tamaño?
Es un simple truco habitual para las durezas del fenix. Se deja el mapa de durezas a la mitad del tamaño del mapa real simplemente para que ocupe menos, y desde el código detectas las durezas del mapa comprobando las coordenadas que tendrían éstas en el mapa real pero dividiendo por la mitad. La pérdida de precisión es inapreciable.
Cualquier fenixero te lo explicará mejor que yo, porque como ya te digo, es el procedimiento normal.
Un saludo.
Muchas gracias, esta tarde me bajo el mappy y me pongo a investigarlo, que me parece me vendrá muy bien par las pantallas del Hombre de hojalata y la ciudad esmeralda, que queria hacer un homenaje al Astral y a la pantalla Quarz cuadrant del Sonic CD, toda llena de gemas.
Cuando tenga algo de fondo hare un montaje pa que veais mas o menos que pinta puede tener el juego. Ahora estoy con el opening, en el que "se cuenta la historia" de como llega el prota a Oz.
A todo esto...Las durezas son las cosas donde el personaje se apolla no?, en plan el tejado de una casa, una cornisa, la copa de un arbol etc... ¿vedad?
Coelophysis
28/07/2006, 19:59
A todo esto...Las durezas son las cosas donde el personaje se apolla no?, en plan el tejado de una casa, una cornisa, la copa de un arbol etc... ¿vedad?
Sí, exacto. En Fenix se le indica a los procesos que lo requieran (principalmente al protagonista del juego) dónde estarán los suelos, las paredes, los techos y demás zonas del mapa que no puede atravesar (o que solo puede atravesar de abajo para arriba, como las plataformas) con un gráfico aparte en dónde se le indica donde están ésas "durezas".
Otro ejemplillo gráfico para que lo veas claro; adjunto el cacho de un mapa real y su equivalente de "durezas".
Las durezas en sí tendrán un color específico cuyo número deberás identificar desde el código del juego (en el caso de usar una paleta de 8 bits, un número del 0 al 255). Yo uso 3 distintos para distinguir suelos, paredes y techos.
Saludos.
Coelophysis estoy flipando con tus graficos.Son bestiales! ¿Podrias explicar en forma de minitutorial o algo como realizas los tiles para que te queden tan bonitos y encajen tan bien?
Coelophysis estoy flipando con tus graficos.Son bestiales! ¿Podrias explicar en forma de minitutorial o algo como realizas los tiles para que te queden tan bonitos y encajen tan bien?
Yo se como los hace, el proceso en si es sencillo pero antes hay que tener una preparación especial que implica extraños ritos y la venta del propio alma a cambio ciertas de habilidades... [wei5] [wei5] [wei5]
Si no, no se explica [wei6]
Coelophysis
28/07/2006, 22:08
Coelophysis estoy flipando con tus graficos.Son bestiales! ¿Podrias explicar en forma de minitutorial o algo como realizas los tiles para que te queden tan bonitos y encajen tan bien?
Como dice Chipan, el primer paso es hacer una serie de rituales y vender el alma... o haber estado durante muchos años con varios dibujantes y artistas que te enseñen sus secretos, que es mi caso y viene a ser lo mismo :D .
Lo siguiente no tiene mucho misterio, es una mezcla de lógica, sentido estético, y saber manejar alguna aplicación de dibujo.
Algún día me gustaría hacer un tutorial de pixel art y ¿tileaje?, pero para que fuera útil debería ser un pelín elaborado. Cuando termine el Firewhip quizás lo haga, así tendré ejemplos gráficos de todo el proceso.
Pero encajar tiles no tiene ningún misterio: Para objetos específicos (como un árbol) se dibuja tal cual y luego se divide en bloques. Para plataformas y texturas viene a ser lo mismo: se dibujan, se recortan en bloques, se ponen unos al lado de otros y se hacen coincidir retocando los bordes.
Una vez has decidido el tamaño de los tiles todo lo demás es pura lógica. Yo los suelo hacer de 32x32 píxels, y las texturas, para que no queden demasiado repetitivas, en bloques de 64x64, que luego se dividen en 4 bloques de 32x32.
Me podría estar enrollando todo el fin de semana, pero lo dejaré para ése posible tutorial. Solo un consejo para quien quiera meterse en el tema: observad bien los juegos 2D a los que jugáis e intentad ver como están puestos los tiles. Veréis que en el fondo no es nada complicado...
Wow coelophysis, eres un artistazo!
Asi que los tiles los usas "solo" para luego hacer una imagen grande que es la que usas en el juego?
Y lo de el mapa de durezas reescalado a la mitad como lo haces luego para que en Fenix lo detecto como si estuviera al 100%?
bueno, animo con el juego y aqui estamos todo esperando una demo ;)
saludos
EDIT: Me acabo de bajar el mappy y tengo una pregunta: como se guarda en *.png? donde me lo he bajad o dice que ponga unas dlls en la carpeta del mappy (la cual cosa he hecho) y no puedo guardarlo en png.
Como lo haceis? O lo guardais en *.map?
Mola que la gente pregunte cosas, porque así me voy enterando yo tambien.
Por cierto he encontrado un juego que usaba un sprite difetente en el salto y disparo, el EwJ, te pongo la miniatura con los sprites por si te sirve alguno de "inspiracion"
12074
Coelophysis
29/07/2006, 03:58
Y lo de el mapa de durezas reescalado a la mitad como lo haces luego para que en Fenix lo detecto como si estuviera al 100%?
EDIT: Me acabo de bajar el mappy y tengo una pregunta: como se guarda en *.png? donde me lo he bajad o dice que ponga unas dlls en la carpeta del mappy (la cual cosa he hecho) y no puedo guardarlo en png.
Como lo haceis? O lo guardais en *.map?
Lo primero: te pongo un ejemplo del proceso que uso para la gravedad. Fíjate en las líneas "If (map_get_pixel...)"; le estoy diciendo que si para las coordenadas x e y actuales del proceso padre (el protagonista) DIVIDIDAS ENTRE 2, y aplicadas al gráfico 1,2 (el mapa de durezas) el color que obtengo es igual a (el código que sea) entonces... pues detén el salto si es el color del techo o detén la caída si es el color del suelo.
Process gravedad();
Private
vgravedad; // Variable para guardar temporalmente la gravedad
Begin
// Coge la coordenada y a partir de la gravedad del protagonista (padre)
vgravedad=(father.velocidad_gravedad++); // Pero incrementada en 2
If (vgravedad>12) // Si es mayor de 16
father.velocidad_gravedad=12; // Haz que sea 16 la gravedad del protagonista
vgravedad=12; // Y tambi‚n la variable temporal
End
If (vgravedad<0) // Si la gravedad es negativa
While (vgravedad++!=0) // Mientras no sea cero, la incrementa
// Si no se da con el techo
If (map_get_pixel(1,2,father.x/2,(father.y-64)/2)<>252)
father.y--; // Haz que el protagonista suba
Else // Si no pon la gravedad a cero
father.velocidad_gravedad=0;
Break;
End
End
Else // Si la gravedad es cero o positiva
father.y+=vgravedad; // Se suma a la coordenada del protagonista
// Comprueba el rango vertical del movimiento del protagonista
From vgravedad=-16 To 7 Step 2; // Acaba el proceso si se toca el suelo
If (map_get_pixel(1,2,father.x/2,(father.y+vgravedad)/2)==136)
Break; // Sal si se encuentra con el suelo
End
End
If (vgravedad<8) // Si se encuentra con el suelo
father.y+=vgravedad; // Se actualiza con el m*ximo que se pueda mover
father.velocidad_gravedad=0; // Y se pone la gravedad a 0
End
End
End
Lo segundo: yo no me complico; exporto los gráficos a .bmp y ya los pasaré a .png luego con el Photoshop. Un detalle; si usas el fpg edit, me he encontrado que al trabajar con 256 colores a veces no respeta los colores originales de los .png aunque la paleta sea correcta. Trabaja mejor con .pcx, por ejemplo.
Un saludo.
< - >
Mola que la gente pregunte cosas, porque así me voy enterando yo tambien.
Por cierto he encontrado un juego que usaba un sprite difetente en el salto y disparo, el EwJ, te pongo la miniatura con los sprites por si te sirve alguno de "inspiracion"
12074
Pues me hubiera venido bien hace tiempo por la animación del ataque con látigo... recuerdo que el EWJ tenía unas animaciones muy curradas; quizás me busque por ahí el set completo.
Muchas gracias por responder.
La verdad es que hace poco que habia mirado bastante el codigo del dr.malvado y no sabia porque hacia esto de dividirlo por 2. (este codigo que has puesto es del drMalvado no? es que me suena :))
bueno gracias otra vez y animo con el juego (otra vez ^^)
saludos!
Coelophysis
29/07/2006, 04:59
Muchas gracias por responder.
La verdad es que hace poco que habia mirado bastante el codigo del dr.malvado y no sabia porque hacia esto de dividirlo por 2. (este codigo que has puesto es del drMalvado no? es que me suena :))
bueno gracias otra vez y animo con el juego (otra vez ^^)
saludos!
Exacto, la mayoría de los procesos que uso son del Dr. Malvado. Este proceso en concreto apenas lo he retocado, salvo para ajustar la altura del protagonista y la velocidad de caída. Creo que es el código perfecto para usar como tutorial de un plataformas. La verdad es que ya casi me lo sé de memoria...:D .
Gracias por los consejos Coelophysis.Esperaremos ansiosos ese tutorial.Y os pregunto, ya que utilizais mapas de tileados para vuestros juegos, ¿porque no aprovechais la ventaja de usar los mapas por tiles en vez de exportarlo a uno completo? En el ordenador no tendreis problemas, pero si quereis compilar los juegos en la Gp32/Gp2x vais a tener problemas de memoria al intentar meter el mapa completo
Coelophysis
29/07/2006, 17:04
Gracias por los consejos Coelophysis.Esperaremos ansiosos ese tutorial.Y os pregunto, ya que utilizais mapas de tileados para vuestros juegos, ¿porque no aprovechais la ventaja de usar los mapas por tiles en vez de exportarlo a uno completo? En el ordenador no tendreis problemas, pero si quereis compilar los juegos en la Gp32/Gp2x vais a tener problemas de memoria al intentar meter el mapa completo
Ya me lo planteé al empezar a programar el Firewhip. El caso es que los problemas de memoria más o menos están solventados, se le pueden meter mapas bastante grandes de golpe a la GP2X, y con cargarlos por partes (algo así como el cuzar puertas de los Castlevania) puedes hacer los niveles tan grandes como quieras. Y aún eso usando solo 32 megas; cuando se puedan usar los 64 la cosa aún va a dar para más.
El tema de la generación dinámica de tiles, sinceramente, no lo he probado; pero en mis pruebas he visto que en Fenix, a partir de cierto número de procesos ejecutándose a la vez en la GP2X, la velocidad del juego cae en picado, por lo que intuyo que usar tiles influirá también en el rendimiento.
Además, debes tener en cuenta también que soy novato y he ido a lo más fácil a nivel de programación. Si algún fenixero sacara un engine de plataformas con tiles que demostrara funcionar bien en la GP no te quepa duda que lo utilizaría; quizás en el próximo juego que haga, allá por el 2015 :D .
josepzin
29/07/2006, 20:15
La verdad es que esto pinta muy bien.... :) :)
Yo me curre un sistema de scroll tileado, pero no he podido probarlo en una gp2x porque carezco de ella. He intentado compilarlo con la version que pusieron por aqui y ejecutarlo con la equivalente para win32 pero daba unos fallos muy raros que espero que pueda solventar tan pronto como caiga una negrita en mis manos (basicamente, no se realiza una asignacion necesaria para que el scroll siga al prota XD)
Si quereis probarlo vosotros, el codigo lo publique en el foro de fenix en la seccion de proyectos (aqui (http://forum.divsite.net/viewthread.php?tid=4292))
Suerte con tu juego, Coelophysis, que te esta quedando de lujo, ojala pudiera hacer yo graficos de esa calidad para mi plataformas.
Coelophysis
02/08/2006, 03:28
Yo me curre un sistema de scroll tileado, pero no he podido probarlo en una gp2x porque carezco de ella. He intentado compilarlo con la version que pusieron por aqui y ejecutarlo con la equivalente para win32 pero daba unos fallos muy raros que espero que pueda solventar tan pronto como caiga una negrita en mis manos (basicamente, no se realiza una asignacion necesaria para que el scroll siga al prota XD)
Si quereis probarlo vosotros, el codigo lo publique en el foro de fenix en la seccion de proyectos (aqui (http://forum.divsite.net/viewthread.php?tid=4292))
Suerte con tu juego, Coelophysis, que te esta quedando de lujo, ojala pudiera hacer yo graficos de esa calidad para mi plataformas.
Me he pillado el código, lo he compilado y lo he probado en el PC. El engine parece ideal (como mínimo tal y como está ahora soluciona al 100% un shooter de scroll vertical con tiles). Ahora que empiezo vacaciones buscaré un momentito para adaptarlo y probarlo en la GP2X. La verdad es que me ha dado algunas ideas para hacer un juego rápido. A ver si hay suerte y rula bien...:brindis: .
Un saludo.
Tal como esta te sirve para mas cosas, de hecho, lo uso como motor para un juego de plataformas tileado (una version antigua de FenixLand la puedes ver el fenixworld, seccion de concursos, el de minijuegos)
Es mas, si miras los parametros, puedes cargar dos mapas de tiles, uno de tamaño int y otro de tamaño Byte, y puedes usar uno para mostrar tiles y el otro para leer durezas, que es lo que hago (basta modificar el proceso tile)
Aun le tengo que añadir soporte para varios mapas y reordenar un poco las variables, porque para varias capas hay soporte (de nuevo, depende del proceso tile) pero mi editor no las soporta XD
Suerte con los juegos ;)
Espero que esto no sea un reflote muy bestia xDDD
Drumpi, me he bajado tu engine de tiles (que me vendrá DE MUERTE para el juego que estoy haciendo) pero no encuentro por tu web el editor de mapas al que haces referencia y tal (aparte de que no entiendo ni papa del código, pero bueno).
Me podrías decir dónde esta? te lo agradecería horrores :D
Aunque es una version beta y tiene un rendimiento inferior a la que tengo en mi pc, no tiene otros problemas que han aparecido despues.
Puedes encontrala en la seccion de Juegos (lo siento, cuando diseñe la web no tuve en cuenta el hacer una seccion de "descargas"), pero si ves que te va mal o no es suficientemente rápido puedo subirte la version que uso aqui.
Respecto al codigo del motor, no necesitas entender muchas cosas, si miras el game.inc del "probador de niveles de boulder", casi al final veras las variables que deberias inicializar (tienes una descripcion de ellas en tscroll.h) y luego solo llamar a start_tscroll con los ficheros que quieres usar. Otra cosa es que los tiles hagan algo mas que aparecer por pantalla, entonces tienes que modificar el proceso tile en tileador.inc
¡Ah! y no olvides que los procesos que van en el scroll deben actualizar los valores x e y igual que el proceso prota (game.inc) al final y ponerlo en la region del scroll.
Para mas dudas, ya sabes donde estoy: aqui, en el foro de fenix, o en el mio (el nuevo) ;)
Espero que te guste, y poder ver pronto ese juego.
Muchas muchisimas gracias :D
Y si, los tiles tienen que hacer MUCHO MÁS que aparecer en pantalla. Pero ya escalaremos esa montaña cuando lleguemos a ella.
Ahora mismo con poder meter el personaje en un scroll exo en tiles y que funcione en la gp2x me doy con un canto en los dientes :D
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.