Tutorial programacion Megadrive - Basico

110, 11, 12, 13, 14
pocket_lucho escribió:Cuando acabe ya sabeis que voy a ahcer unos tutos 'pa cagalse' ;)


ahí ahí [beer]
Buenas a todos. Estoy programando un rpg, con sprites de 32x32, y colicion entre sprites y tiles.

Alguien tiene echo algun codigo de la misma tematica?

Necesito ideas, pero no tengo mucho tiempo para sentarme a escribir codigo ahora mismo
theelf escribió:Buenas a todos. Estoy programando un rpg, con sprites de 32x32, y colicion entre sprites y tiles.

Alguien tiene echo algun codigo de la misma tematica?

Necesito ideas, pero no tengo mucho tiempo para sentarme a escribir codigo ahora mismo


Ostras, no te puedo ayudar en tema de programación pero si a crear un sistema de combate, experiencia y una historia corta, sin cosas raras ni muy complejas. También podría diseñar el mapeado etc.

Lo vas a hacer en formato cartucho o CD?

Si te metes en esto de cuanto va a ser en tiempo? 1H de juego 5H? 10 ya me parece una locura xD
Ostras, no te puedo ayudar en tema de programación pero si a crear un sistema de combate, experiencia y una historia corta, sin cosas raras ni muy complejas. También podría diseñar el mapeado etc.

Lo vas a hacer en formato cartucho o CD?

Si te metes en esto de cuanto va a ser en tiempo? 1H de juego 5H? 10 ya me parece una locura xD



Bueno en realidad ya tengo echo como unos 30 minutos de juego, con historia, y hasta algo de musica. Las pruebas las hago en formato CD, porque la musica que tengo esta tocada con guitarra, y no se componer para el yamaha

Tengo echo el engine de colisiones, y de pelea, pero no termina de convencerme, por eso busco ideas en cuanto a codigo

Si tuviera mas tiempo, haria el codigo una y otra vez hasta estar contento... pero no lo tengo .. jeje, por eso me gustaria ver ideas de otros! ;)

Imagen
theelf escribió:Buenas a todos. Estoy programando un rpg, con sprites de 32x32, y colicion entre sprites y tiles.

Alguien tiene echo algun codigo de la misma tematica?

Necesito ideas, pero no tengo mucho tiempo para sentarme a escribir codigo ahora mismo

Yo estoy programando un juego de plataformas 2D en C + SDL (no para MegaDrive) y estoy haciendo el código de las colisiones entre sprites y tiles (tiles de 40x20). No se si podría servirte, te puedo pasar el código fuente de lo que llevo hecho (no mucho) ya que es GPL3.
Gracias, puedo echarle un vistaso si quieres. Se programar en C asi q puedo entenender el codigo

Lo que busco es ideas para la maxima optimizacion, me gustaria optimizar el codigo para que sea lo mejor posible, por eso cualquier idea es buena
Bueno te dejo un par de ideas (si te apetece)

Gráficos: Estilo Dragon Warior 4

Habilidades, solo ataques. Por ejemplo Ataque--->Sablazo cuando llegara al final del juego utilizando un "libro de tecnicas" aprendiera a hacer Corte doble

Magias: Yo solo pondría un elemento por personaje, eso ya depende de tu gusto. Si lo haces futurista lo puedes implementar igual. Además haría algo que te permitiera lanzar ese hechizo una sola vez o cada x tiempo o descansando en una posada. Eso si, si es de ataque le metería un factor de x3 al valor de ATK, odio los RPGs donde sale mejor golpear que utilizar magias... Se pierde la esencia de que las magias son algo definitivo y puntual.

Mira un ejemplo:

Tiempo de espera entre una magia y otra de 15 min, menos en el ultimo caso.

Personaje principal, elemento Fuego. Magia--> "Incineración" factor ataque x3 (utilizar 10 veces evoluciona a)---"Infierno" factor ataque x 4 (libro de tecnicas oscuras[obtienes al final del juego]+20)------Belias/Ifrit factor de ataque x 6 tiempo de utilización entre una y otra ampliado a 20 min

Con el temporizador te ahorras más de lo que parece, ya que por ejemplo si el machaca final tiene suficiente PG/VIT podrá aguantar la primera embestida de Belias/Ifrit y el personaje solo le quedara aguantar 20 min y rezar xD. Vamos para que no pase como con Sephirot y los caballeros de la mesa redonda.. xD

También obligas a quien quiera ver Ifrit/Belias tiene que jugar más de las 5H necesarias para pasarse el juego.

Parametros:

Vit/PG--->Puntos de vida (modificable por medio de objetos especiales, no sube por nivel!)
ATK--->Daño "puro" (ejemplo ATK:10 enemigo sin armadura -10VIT/PG)
RST--->Quita daño en estado puro (ejemplo ATK:10 enemigo armadura -5, daño total -5VIT/PG. Si el ataque fuera menor que la resistencia este seria siempre 0!)
RDZ--->Rapidez turnos valor de 1-6 (No sube con nivel!)

Valor 1---> Ataque enemigos ---Ataque PP, si falla el PP --->Ataque enemigos dos rondas (el PP nunca tendra este valor, pero sera el que tenga sin ningún objeto.)
Valor 2 --->Ataque personaje principal--->Resto de enemigos--->A PP---->ETC (valor de inicio)
Valor 3 --->" "--->Resto de enemigos, [url]si falla alguno[/url]! ---> APP +APP---> enemigos
Valor 4 --->APP+APP--->enemigo--->APP+APP
Valor 5 --->App+App--->enemigo, si falla ---> App+app+app
Valor 6--->App+App+App---> enemigo

DTZ---> Destreza 1-10 que equivale a 1 = 10% de posibilidades y 10= 100% posibilidades. Los enemigos mediocres los dejaría 70%-80% y los Boss a 90%

El personaje principal lo dejaría con un valor de 6-7 puntos de destreza, que irian aumentando al conseguir por ejemplo "El refinado arte de la esgrima vol.1" +1 punto. Así hasta los 4 volúmenes.

Que te parece el planteamiento de este sistema de combate? xD
theelf escribió:
Tengo echo el engine de colisiones, y de pelea, pero no termina de convencerme, por eso busco ideas en cuanto a codigo

Si tuviera mas tiempo, haria el codigo una y otra vez hasta estar contento... pero no lo tengo .. jeje, por eso me gustaria ver ideas de otros! ;)

Imagen



Me interesa mucho discutir rutinas de deteccion de colisiones, hace años cuando programaba para GB era el punto debil de mis juegos... usaba arrays de coordenadas pero era muy impreciso
Que te parece el planteamiento de este sistema de combate? xD


Que no entiendo nada..jeje no en serio, menuda explicacion. Yo programe algo muy simple:

Cada enemigo tiene un contador de 1 a 100, y depende el enemigo, avanza de 1 a 1, o de 5 a 5, o de 10 a 10... cuando se llega a 100, es el turno de atacar.

Los personajes avanzan depende el nivel

Cuando atacan, pues, es tan simple como que resta tanto como el ataque que seleccionas.


Cuando tenga el codigo mas pulido, te paso la rom, y te investigas un poco que te parece. Realmente la historia me da igual, asi q puedo cambiarla


Me interesa mucho discutir rutinas de deteccion de colisiones, hace años cuando programaba para GB era el punto debil de mis juegos... usaba arrays de coordenadas pero era muy impreciso


Buenas, yo basicamente lo que uso es un mapa de coliciones, por ejemplo

map:
data 0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0
data 0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0
data 0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0
data 0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0


En este caso, podria ser un mapa de un mapa de 16 tiles, o 128 pixeles. Pero en mi caso, como uso un mapa de tiles de 32x32 pixeles, ese mapa cubre los 512px del buffer

Luego simplemente usas la funcion read para leer el mapa, en funcion a la posicion del personaje dentro de la cuadricula.

Uso 8 puntos de deteccion, dos por cada lado del sprite

Para mi este metodo, es el mas rapido que encontre, al menos de todo lo que he probado. Por eso, me da curiosidad ver como otros resuelven el asunto.. XD

Si es de interes general, puedo hacer un tutorial de eso
Te he pasado por privado el sistema que estoy usando yo: una mezcla de tiles y coordenadas. Aunque esto es para PC, no se como le sentará a una MegaDrive.
Muy buenas!

Uno de mis hobbies siempre han sido los videojuegos. He tenido la suerte de vivir su evolución, y aunque he jugado a casi todas las plataformas, a la MD le tengo un cariño especial (de echo, la conservo en perfecto estado :D ).

Aunque hace años que paso parte de mi tiempo libre con emuladores (de MD y MCD especialmente), hasta hace muy poco no me planteé si sería posible hacer mi propio juego de MD. Así que lo puse en el google... y llegué hasta aquí! :)

He disfrutado y aprendido mucho leyendo todo el thread, han sido unas horas muuuy bien invertidas. Muchísmimas gracias a tod@s!!

Con los tutos de theelf, ejemplos y comentarios, tengo material de sobra para empezar, más que un juego, un sueño.

Soy programador, pero nunca he programado un juego ni tengo muchos conocimientos de BASIC. Creo que voy ha hacer unas pruebas de código con un matamarcianos simplón, a ver si le voy pillando el truco, y cuando controle el tema me pondré con algún proyecto personal.

PD theelf, eres mi ídolo
Bienvenido sercas!! ;)


Si eres programador no tendras ningun problema :)
Gracias bertobp!

Pero si te digo la verdad, de momento las estoy pasando canutas con el tema de los tiles, jajaja
Hola nevat, disculpa la demora en contestar, vi tu MP, pero ahora estoy trabajando en Japon, y ni tiempo

La semana q viene regreso, y echo vistaso a tu codigo, gracias!!

Bienvenido sercas, q tal va esa programacion?

saludos
Gracias theelf, es todo un honor.

¿Qué tal por Japón?

Al principio me atranqué, me costó controlar el tema de los tiles, pero gracias a tus tutoriales ya le voy pillando al tranquilo y empiezo a disfrutar con esto. Tengo ya en mente varios juegos! :)

Por cierto, me gustó mucho tu web.


Un saludo!
Gracias, pues, comenta cuanto tengas algo. Me voy a tomar unos dias de descanso, asi que tambien me pondre a programar un poco. Cualquier duda, solo pregunta
Buff, llevo unas semanas on fire pero aprovecho para comentar que en el retromadrid estará mi juego jugable para probar a quien asista :p
pocket_lucho escribió:Buff, llevo unas semanas on fire pero aprovecho para comentar que en el retromadrid estará mi juego jugable para probar a quien asista :p


Ahi me tendrás, recien llegado de Londres pero no me lo pierdo!!
Será en cartucho ya o una rom en el Everdrive? XD

Excelente promocion el RetrMadrid para tu juego ;)
pocket_lucho escribió:Buff, llevo unas semanas on fire pero aprovecho para comentar que en el retromadrid estará mi juego jugable para probar a quien asista :p


pues tendrás que darnos más info de por donde vas a estar para pasarnos a verte y probar el juego.
Estaré en el stand de los amigos de fasebonus/1985 alternativo of course!!

A este paso será everdrive aunque intentaré llevar un cartucho aunque sea hecho a mano, es que prefiero probarlo allñi con la gente, ver los bugs o sugerencias de la gente para asi meterlos en la rom final fabricada, ¿no os parece que es mejor asi?
Por supuesto que es una buena idea que lo lleves en formato físico amigo. Tengo ganas de probar el juego.
pocket_lucho escribió:Estaré en el stand de los amigos de fasebonus/1985 alternativo of course!!

A este paso será everdrive aunque intentaré llevar un cartucho aunque sea hecho a mano, es que prefiero probarlo allñi con la gente, ver los bugs o sugerencias de la gente para asi meterlos en la rom final fabricada, ¿no os parece que es mejor asi?


Estaria bien que lanzaras un Demo de 1 solo nivel para test
pocket_lucho


Das orgullo tio, lo mejor para ti

ガンバTテ クダサイ 。 アリガトウ ゴザイマス
Estoy deseando probar tu juego! Nos vemos en el RetroMadrid!
A través de Fonzie me entero que Magical Game Factory (los de Pier Solar) se ofrece como publisher para vuestros juegos. La cosa se pone interesante.

Enlace -->
http://gendev.spritesmind.net/forum/vie ... php?t=1101
Excelente noticia para la Scene de consolas SEGA!!!
Buenas!

Desde hace tiempo sigo el hilo y el foro de consolas clásicas, pero recién ahora me decidí a registrarme.

Desde siempre soy fanático de los videojuegos, y desde hace algunos años que le tengo un cariño especial a la Mega Drive, además de que disfruto mucho de programar, a pesar de que me falta experiencia.

Leer estos tutoriales me ha servido mucho, sin ellos sería mucho menos accesible la programación de la Sega Genesis para alguien que no tiene mucha experiencia en ensamblador o en C (como yo :p )

Hasta ahora sigo practicando con los ejemplos del tutorial básico, cargando mis propios escenarios y sprites (hechos artesanalmente en el paint) y me han surgido algunas preguntas.

-¿Cómo puedo establecer las colisiones de un sprite con un tile? estuve pensando en programar coordenadas x e y, que según una condicional puedan atravesarse o no, pero eso sería extremadamente tedioso de lograr en mapas grandes.
Como TheElf comentó antes, se puede usar un mapa de colisiones ¿Pero cómo puedo implementar eso?

-Otra pregunta que me surgió un día que no podía dormir: ¿Puedo programar algoritmos que utilicen funciones senos y cosenos en basiegaxorz? seguro me estoy llendo demasiado por las ramas, pero tengo esa duda :p

Espero poder hacer algún pequeño juego o programa de ejemplo pronto y subirlo para que me den su opinion :D

A todos los que dedicaron su tiempo a contribuir a esta herramienta de aprendizaje sin esperar nada a cambio, muchas gracias!
FerJs escribió:-¿Cómo puedo establecer las colisiones de un sprite con un tile? estuve pensando en programar coordenadas x e y, que según una condicional puedan atravesarse o no, pero eso sería extremadamente tedioso de lograr en mapas grandes.
Como TheElf comentó antes, se puede usar un mapa de colisiones ¿Pero cómo puedo implementar eso?

A partir de las coordenadas X e Y de tu sprite puedes saber en que tile horizontal y vertical se sitúa. Si el siguiente tile al sprite no es "atravesable" calculas la coordenada X del borde (por ejemplo, si el tile a comprobar está a la derecha del sprite obtienes la coordenada X del borde izquierdo dle tile. Si tu sprite mide 40 píxeles de ancho, la coordenada del sprite a comprobar es X+39), si la distancia entre ambas coordenadas es menor de N píxeles bloqueas el paso.

Me he explicado bien ? :-|
Claro, claro. ¿Pero cómo defino que tile es atravesable y que tile no?
FerJs escribió:Claro, claro. ¿Pero cómo defino que tile es atravesable y que tile no?


Si vas usar funciones condicionales siguiendo el ejemplo anterior, los que defines no son tiles, si no coordenadas. Por tanto da igual el tile que ocupe las coordenada que definas a tus limites.
Depende de como sea tu juego, en un juego de naves por ejemplo te puede servir este metodo, pero en un complejo nivel de plataformas, donde los personajes estén bajo los efectos de la gravedad, etc... ahi si deberias usar tiles (o pixels) para detectar colisiones. En Basic no sé, pero en C existen funciones del tipo Get_Tile() o Get_Pixel() que te devuelven el valor de un tile/pixel de las coordenadas que le argumentes (de tu personaje por ejemplo)
FerJs escribió:Claro, claro. ¿Pero cómo defino que tile es atravesable y que tile no?

Como bien te ha dicho bertobp depende como tengas montado el tinglado.
Si te sirve de referente (y si mi memoria no me falla), en el Sonic 1 de MegaDrive cada tile viene acompañado de un byte que indica si es "traspasable" (o "tope", o como quieras llamarlo) o no. Para aplicarlo en grandes mapas se pueden usar técnicas de compresión (Sonic 1 de Game Gear usa una técnica muy sencilla, aquí tienes más datos http://info.sonicretro.org/SCHG:Sonic_t ... ion_format).
Por no decir qu emejor empieces por cosas sencillas sin scroll ni mapas grandes para parcticar, en este plan hay juegazaos como bubble bobble, pacman, joust...

Yo en mis tiempos del div, hacia un mapa de colisiones y luego trasnformaba la posicion del jugador relativa a la pantalla a la del mapa de colisiones y comprobaba si se puede atravesar o no, en la mega hay por ahi un registro para colision entre sprites pero funciona muy mal y solo hay un juego comercial que lo usa... y es bastante malo.
Si, tienes razón, más me vale no complicarme demasiado con mapas grandes por ahora.

Voy a intentar definir un área de la que el jugador no pueda salirse, comparando las coordenadas x e y del sprite del jugador con las de los extremo del área, si coinciden, impido que siga avanzando y ya está!
Bueno, bueno... éste es un post que no viene del todo del todo a cuento pero más que nada es por ir recopilando por aquí algunas webs de desarrollo para nada ajenas a la temática. Quién sabe si en un momento dado pueden ser útiles a los que pululamos por aquí.
Dos de momento:

7 things (and more) I’ve learned with the SuperVDP
Algo de teoría más o menos superficial por parte del autor del "tile-engine" SuperVDP para 32X.

Lou's Pseudo 3d Page v0.91
Explicación al detalle de toda clase de rutinas para programar carreteras para juegos de velocidad 2D con vista trasera.

Ah! Y esto muy muy muy recomendable. Más que nada por lo autoexplicativo de los screenshots que lo hace a la vez muy ameno de curiosear. Quoteo de la web original que estoy perro para traducir:

genny4ever escribió:SEGA MEGADRIVE - THE VDP IN 16 PICS
Here is a documentation with a new writing style. Made of games screen-shots and some explainative sentences about the main VDP functions.
However, this is not enought to know how to use the VDP but... Very explicative for noobs (I hope). Au menu:
- Planes?Sprites?
- And what about PlaneW?
- HP/NP sprites, WTF?
- HP/NP planes, WTF? Big Sprites?
- Tile/Tile H Scrolling
- Pixel/Pixel H Scrolling 2Tiles/2Tiles V Scrolling
- Mix Pixel/Pixel H vs 2Tiles/2Tiles V scrolling?
- What about color palettes? What appen when I reload a palette?
- Content of VRAM?
- Sprites are made of tiles! Planes are made of tiles !
- Boost color tips 1 : Shadow/Highlight !
- Boost color tips 2 : Raster Effect !
Download this documentation


Y por supuesto, aprovechar para desearle a pocket_lucho y compañía tanto que tengan un éxito tremendo con el 1985alternativo como que se tire con la peña un Retromadrid de puta madre. He dicho [beer]
Pues muchas gracias por lo enlaces y por lo animos, ya que ambos vienen muy bien :P

EDIT: he estado mirando un poco por encima esto del vdp, casi todo lo sabia pero hay unas cuantas cosas que me vienen de perlas, como lo de las prioridades que no me aclaraba (tengo un problema en mi juego con esto y el jefe de fase) o lo del tema de las paletas de luz/sombra para proximas cositas.
Algunas direcciones más especialmente pensadas para quien le pique cacharrear con las opciones de scroll que nos ofrece la megadrive:

  • First steps with the Sega MegaDrive VDP 0.1 cosillas básicas con el VDP y algo de lectura de pads pero en ensamblador. Para quien ya le haya cogido el tranquillo a los primeros pasos básicos usando las librerías en basic o C y ahora quiera echar un vistazo a las entrañas de la megadrive cuando realiza esas actividades. Existiendo las citadas librerías no merece la pena prescindir de ellas, pero lo dicho, si se va controlando no viene mal entonces empezar a curiosear qué está haciendo realmente la consola cuando utilizamos determinadas fuciones.
  • Some random VDP quirks pequeño articulillo comentando un ligero bug que tiene lugar al simultanear scroll horizontal con "2 cell V-Scroll" (scroll vertical "de dos en dos columnas" - usado para el efecto de inclinar el suelo en la boss battle de Lava Reef en Sonic & Nuckles, por ejemplo). Este enlace lo justifico principalmente porque me molan los efectos gráficos usando scrolls de tiles y líneas xd En este hilo del foro de desarrollo de spritesmind también se trata el tema.

2-cell vertical scrolling
Imagen
2-cell vertical scrolling + horizontal scrolling
Imagen
Line scroll (suelos de Street Fighter)

Y a continuación algo que podría llamarse "quoteo a saco" de un hilo de spritesmind en el que se explica (un tanto por encima) cómo realizar un scroll parallax básico en SGDK:

djcouchycouch escribió:...One thing I haven't been able to wrap my head around is how to make it so that I can scroll a background plane at different speeds. The effect I'm most interested in is how the background scrolls in Sonic The Hedgehog 1. The far off mountains, the waterfalls and the ocean scroll at different rates. And the ocean scrolls at the pixel level.

Chilly Willy escribió:Set the horizontal scroll mode to per line, then the hscroll table has a scroll value for every line on the display. Then set different lines to different values to scroll them at different speeds.

djcouchycouch escribió:I'm relying on SGDK since I'm not very familiar with the Genesis hardware, and there wasn't any obvious way (to me anyway) to set the scroll mode. But then I read that those settings are based on register values. SGDK doesn't seem to expose a function to set the scroll mode explicitly, but it does have a VPD_setReg() function. So I managed to find which register the scroll mode corresponds to, 0x0B, find the right value to set and call VDP_setReg() with them. Great!

Chilly Willy escribió:There's a functon to set the hscroll value for a line:
void VDP_setHorizontalScroll(u16 plan, u16 line, u16 value);

You tell it the plane (A or B), the line number, and the scroll value.

djcouchycouch escribió:Yes, exactly. That's what I was using. But I didn't know how to enable the scrolling mode so it didn't do anything. But everything is working now.


Los resultados logrados por djcouchycouch pueden verse en su canal de Youtube.

@poket_lucho: me alegro de que te haya servido para desatascar algo del juego. Joer, queda poco más de un mesesito. Debes estar yendo a toda leche con el OhMummy si todavía hay cosillas que te dan guerra, ¿no? Los ánimos son merecidos, tío. A ver los reportajes que te curras este año [360º]
Si tio, hay cosillas todavia con los scrolls y prioridades con los fondos que dan un poco de guerra pero poco a poco se van sacando, sobre todo con el pedazo jefe de mi juego que está compuesto por 24 sprites!! (es un buen tochaco).

Los resultados de djcouchycouch ya los tengo superados, incluso bastante más (el leerse la documentacion mas que nada), no sus preocupeis que cuando me deslie de esto, haré unos tutos y liberaré rutinas como las de descompresión de gráficos en amssembler, música, rasters... para que las use quien quiera, ir aprendiendo C y olvidaros del basic ;)

EL problema es que estoy en 80 cosas a la vez, cuando no estoy con mini makas... estoy con otras no tan minis... todavia no he terminado este juego y ya he empezado otro [+risas]
FerJs escribió:Claro, claro. ¿Pero cómo defino que tile es atravesable y que tile no?


Mirate este ejemplo (muy sencllo y tosco) sobre colisiones. Los gráficos son muy simples, pero sirven para ilustrar el ejemplo. Saludos!

Adjuntos

Abokys escribió:
FerJs escribió:Claro, claro. ¿Pero cómo defino que tile es atravesable y que tile no?


Mirate este ejemplo (muy sencllo y tosco) sobre colisiones. Los gráficos son muy simples, pero sirven para ilustrar el ejemplo. Saludos!


Intente desde dos computadoras distintas y no lo puedo descargar, solo me abre esta pagina: download/file.php?id=73205 en blanco. :-?
Vaya, es verdad. Lo vuelvo a colgar, a ver si esta vez se puede descargar. De todos modos, com he dicho antes, se trata de un ejemplo sencillo, pero no muy efectivo.

Saludos!

https://rapidshare.com/files/3528008510 ... isones.bex
Si, ahora funciona la descarga! Muchas gracias, en cuanto tenga algo de tiempo lo veré más detenidamente.
hola,buenas a todos,

he estado siguiendo este post desde que se creo,soy fan de la megadrive,y este fin de semana he tenido por fin tiempo de dedilarle un rato a probar los tutos y tal....y he de decir que...increible¡¡¡¡¡¡¡¡ no pense que fuese capaz de hacer algo,pero me están surgiendo unos problemillas(derivados de mi nulo conocimiento de programación) que seguro que para vosotros no lo son,jejeje al lio

if x>249 and x<4 y 400 them
x=x+1
movesprite personaje,x,y
end if
x++

esto me mueve el sprite entre las posiciones 250 y 400 pero.....como lo hago para que me vuelva por el mismo camino?






un saludo¡¡¡¡¡
desde mi nulo conocimiento, pero supongo que si cambias el + por un - volveria hacia atras.
__KURRY__ escribió:hola,buenas a todos,

he estado siguiendo este post desde que se creo,soy fan de la megadrive,y este fin de semana he tenido por fin tiempo de dedilarle un rato a probar los tutos y tal....y he de decir que...increible¡¡¡¡¡¡¡¡ no pense que fuese capaz de hacer algo,pero me están surgiendo unos problemillas(derivados de mi nulo conocimiento de programación) que seguro que para vosotros no lo son,jejeje al lio

if x>249 and x<4 y 400 them
x=x+1
movesprite personaje,x,y
end if
x++

esto me mueve el sprite entre las posiciones 250 y 400 pero.....como lo hago para que me vuelva por el mismo camino?

un saludo¡¡¡¡¡

Suponiendo que el movimiento sea automático, en estos casos suelo usar una variable que indique la dirección hacia la que camina el sprite.
Por ejemplo: una variable llamada A que si vale 1 se mueve a la izquierda, o 2 si se mueve a la derecha. Y va este pseudo-código:

if x>249 and x<401 them
if x == 250
a = 2
if x == 400
a = 1
if a == 1
x--
else
x++
movesprite personaje,x,y
end if

Como puedes ver la variable A cambia de valor cuando el sprite llega a los bordes. Luego el programa aumenta o disminuye el valor de X según el valor de A.
A partir de aquí se puede simplificar/mejorar este código.
jeje,funciona de perlas,muchas gracias¡¡¡¡¡

pd:esto me esta enganchando. un saludo¡¡¡¡

edito para otras dudillas.....

como seria el codigo para un contador? he probado de todo ya con el if,while,for,.... y nada...la principal duda más bien es como hago dos procesos al mismo?


sprites los muevo poniendole distinto nombre a las coordenadas y tal,.....pero es que creando variables no me termino de aclarar, la idea es:

si una variable x es igual a 1, a otra llamada y se le sume 1 siempre que x tome el valor 1,pero sin ponerse a cero.

solucionado.....un despiste solo tenia que poner dim c as Integer...... y definirla antes del do.....la habia definido a pelo jeje


un saludo¡¡¡¡
@Jordigahan, macho: mira lo que acabo de encontrarme curioseando el Youtube:

http://www.youtube.com/watch?v=8PG6r4CkUIM

XD XD XD

A ver si spameando el vídeo tienes suerte y se anima alguien que me haga de relevista para seguir con la programación del jueguecillo. Yo de momento me he pasado a la teórica (leyendo lo que me voy encontrando sobre programar la mega) y expectante ante lo que tenga pocket_lucho pensado para sus futuribles tutos tras la vorágine retromadrileña/1985alternativa.

Ala, ala. A spamear el vídeo.

Lo de "quite promising" me ha llegado ...
wow!!! parece como si alguien hubiera cogido el codigo que publicaste y lo hubiera mejorado algo!!!
jordigahan escribió:wow!!! parece como si alguien hubiera cogido el codigo que publicaste y lo hubiera mejorado algo!!!

Tío, le ha puesto una musiquita de fondo al vídeo y ya está. Eso es tal cual lo dejé yo [tomaaa] Me parece que el binario en cuestión es éste.

Eso sí, reconocerle el mérito al checo (con e) por haber tenido la paciencia de testearlo, grabarlo y subir el vídeo editado a youtube.
Veeeees, si estabais haciendo un buen trabajo, no lo teniais que haber dejado...

Hablando de mi vorágine retromadrileña/1985alternativa... aviso que al final para el retromadrid nada (pero estaré de todas formas), pero que la cosa marcha bien. Cuando me dejen, más noticias ;)
tienes razon, es la misma. no la recordaba que estuviera tan avanzado.

venga lucho, echale una manilla a realbrucest y lo terminamos.
672 respuestas
110, 11, 12, 13, 14