Desarrollo Juego de Naves para Megadrive AYUDA

1, 2, 3, 4, 5
lucho, ya tienes en el box un bicho al que dispararle. XD
Gracias jordi, ¿me podrias hacer un par de meteoritos, uno de 32x32 y otro de 16x16?

A los programadores inquietos XD ¿alguno tiene un rato para investigar el xgcc? Es para programar la mega pero en c, se supone que aqui está todo lo necesario e incluso fuentes con demos, hay una de un juego de naves vertical :-|

http://gendev.spritesmind.net/page-home.html

Yo sigo con los enemigos, la pega es que estoy retocando bastantes cosas de todas partes...
Parece que esto está un poco estancado. Deberíais reuniros al menos una vez por semana para que la cosa no deacaiga, ¿no?.
Buf yo hasta este finde he estado sin parar con temas de clase y ahora por fin tengo algo de tiempo para mirar el tema de tranqui. Pocket_lucho cuando puedas sube el proyecto en el estado actual que lo tengas para mirar que depurar o seccionar desde ahi que no desde la version "anterior".
Ayer mismo subí una con las explosiones de los enemigos.
Buenas, saludos a todos, despues de varios meses luchando con una enfermedad, ahora q estoy un poco mejor....

Dispongo de algo de tiempo para ponerme con mis proyectos de Megadrive, y de paso si puedo ser de ayuda en el juego, unas horas a la semana puedo dedicarle
Otia tio, me alegro que estes recuperado, ya decia yo que andabas un poco desaparecido. Pues nos vendrán MUY bien tus conocimientos, ya que al fin y al cabo, tu eres el que más sabe de basioexaor, ya te paso la contraseña donde está hospedado todo.

Una cosilla te quería preguntar, ahora mismo las colisiones me van lentas, ¿solucionaste el tema de las colisiones de sprites por hard? LO suyo sería que solo se calcularan las cajas de colision cuando hay una colision entre sprites pero vi en el foro de basiexa que tenias movidas.
Pues bueno, entre anoche y hoy en los viajes del bus con el portatil, la verdad que bastante productivos [+risas] pero eso si, al final para el efecto (lo conseguire!!! [+furioso]) he tenido que tirar de ensamblador y toquitear la memoria a manopla xD mielda que esperaba no tener que hacerlo asi... [snif] a ver si para el finde tengo algo que mostrar que ahora solo son datos tipo debug xD
Ok, ganas tengo de ver el efecto ;)

Yo sigo reescribiendo cosas para que queden más claritas y ganar fps, tb colocando enemigos de distintos tamaños (los meteoritos), etc.
hoy en el bus me he dado cuenta de una cosa que no es que hiciera mal sino que no entendia bien el porque de que ocurriese y ha sido de esos momentos en que parece que una neurona que estaba tomandose un kit kat le da por volver al curro y algo que no veias ahora es mas claro que el agua ^ ^ cozaz de la infiomatica no maz...

Pues el caso es que lo normal para cargar fondos es hacer uso de la textura, su paleta o la del juego en si y el mapa para reutilizar tiles que de generarlo se encarga el imagenesis...

Bien, eso pelfesto sallllvooooo que uno quiera hacer un efecto como el que busco en cuyo caso se requiere que cada tile sea unico y no una referencia a otro tile porque de ser asi, de hacerse una modificacion en un pixel de un tile que segun el mapa este mas de una vez, dicha modificacion se vera en todas y cada una de las llamemoslas instancias del tile en cuestion.

Para mi efecto como que no me interesa porque quiero tener control completo por separo en cada tile y por eso hare el codigo para trabajar con un fondo cargado como si de un sprite "normal" se tratase pero eso si, se tiene la ventaja de que no usare todo el alto de la pantalla sino la mitad o menos por lo que se pierde de optimizacion por un lado se gana en otro. Despues de cenar me metere a ello.
INteresante... pero... ¿esa estrategia no se merendará la vram a lo loco?
no creas, eso pense yo pero al hacer pruebas vi que en el mejor de los casos, haciendo uso de un fondo con mucho cielo o agua o en si, muchas zonas repetidas, de 1000 y poco se conseguia bajar a unos 500.

De hacer uso de un fondo muy currado y llenito, con solo un cacho pequeño de cielo, la media suele quedar entre 700+ y 900. Contando que voy a usar un fondo que ocupa la mitad (de alto claro esta) pues se quedara la cosa en unos 400 y pico 500 y el fondo restante superior o color plano o el otro plano de fondo que queda, no lo veo para nada un problema..mpero claro, habria que ver luego el framerate.
un preguntilla rapida, tengo controlado el tema de sprites, pero ahora estoy intentando cargar un fondo, pero para que el imagenesis me deje sacar el archivo map, tengo que usar la opcion de optimized, y cuando ejecuto el juego, me sale la mitad de los tiles desordenados.
Que os parece si llevamos esto en plan CHAT o MSN al IRC?
tengo ya todo preparado :)
¿Podria alguien intentar compilar algo con las sgdk? Son unas librerias y compiladores de c para programar para megadrive.

http://code.google.com/p/sgdk/

Yo lo he intentado con codeblocks, eclipse y desde terminal como dice en el wiki pero no lo logro hacer funcionar. No se si será windows 7.

Hablamos de usar c y ensamblador, con lo que se puede programar más dignamente que las limitaciones del basic ya me estan empezando a...
yo probaria pero ando con el tiempo justo no...menos aun :( y prefiero centrarme en lo del efecto que ando ahi luchando con ello, sera el o yo ¬¬ y va bien va bien xD

Este fin de semana me bajare la ultima version que hayas subido del proyecto para probar a poner el fondo "animado" ingame y ver como tira el asunto.

Hombre, basic viejuno es una castaña, en mi opinion claro esta, pero una vez se le pilla el punto a sus manias, para hacer un jueguito que no sea el crysis de la megadrive, da de sobra creo yo.
Bueno, el crysis de megadrive no hace falta (muy bueno, me lo apunto :) ), yo con que vaya suave me conformo, y ahora mismo no lo es :(

Deseando ver el efecto ;)
socram8888 está baneado por "incumplimiento términos y condiciones de uso"
Aún tengo aquí la librería esta de RLE, que aún no la he subido xDDD
Bueno, tu subela cuando puedas y si es con algun ejemplo ya en megadrive pues mejor xD

He estado 'espiando' la vram con el gens kmod avrios shmups comerciales y he visto que no cambian tiles de la memoria durante el juego, sino antes de los fades, asi que si lo hacen así será por algo, voy a reescribir TODO para hacerlo así que cuanto más crezca esto peor será, a ver si es por esto que iban tan mal los fps. Lo único que voy a ocupar más tiles dejando menos para el fondo.

En cuanto lo tenga, comparo con las version 'normal' que está ahora mismo en box y si no mejora pues no pasa nada, unas cuantas horas perdidas [buuuaaaa]
socram8888 está baneado por "incumplimiento términos y condiciones de uso"
Ya está subido

Se haría más o menos así:
- Crear una variable array con X bytes (como mínimo, la cantidad de datos que se vayan a cargar)
- Llamar a la función. En el primer parámetro, el puntero a la entrada (LblPtr&(<Data Label>)), y en el segundo la salida (VarPtr&(<Variable>))

No creo que el tema de la array ocupe mucha memoria. Y si lo hace, puedo si queréis intentar modificarlo para cargar datos a la VRAM directamente, pero como decíais de hacer fading y tal con la CPU y la SRAM, pues lo que queráis

PD: Creo que sólo se está usando 200 bytes de toda la RAM xD
Pues ala, ya he reescrito el tema de los tiles, nada de loadtiles durante el juego, solo propsprite. La verdad es que va mejor, aunque sigue sin ir a 60 cuando disparas [buuuaaaa]
Imagen

aqui os dejo una fotillo para que veais un poco como se ven los graficos
Pues se ve genial, pero muy pequeñito xD ¿la cosa esa gris que es?¿un meteorito?

La nave que controlamos al final se cambiara?, creo que es de un juego de dream o saturn.

¿Tenéis alguna música?

A ver como termina la cosa.

Animos!
bueno, pues upeo un poco el hilo haber si la gente se anima a contar un poco como van las cosas.
yo por mi parte tengo echos 10 enemigos diferentes.
jordigahan escribió:bueno, pues upeo un poco el hilo haber si la gente se anima a contar un poco como van las cosas.
yo por mi parte tengo echos 10 enemigos diferentes.


Yo ahora estoy de exámenes, pero cuando termine me pongo mas a fondo con el tema música. De todos modos tampoco este es un aspecto que urja mucho. Cuando tenda algo lo subo al servidor y aviso por aqui.

Saludos!
Yo es que ando un poco quemadillo con esto, el fuente está subido a lo último que actualicé, asi que si alguién se anima a seguir... por que ya veré cuando lo retomo, si lo retomo [+risas]
pocket_lucho escribió:Yo es que ando un poco quemadillo con esto, el fuente está subido a lo último que actualicé, asi que si alguién se anima a seguir... por que ya veré cuando lo retomo, si lo retomo [+risas]
buneo, yo no es que sepa mucho de programar, pero me da la sensacion que el motor grafico ya esta casi terminado, asi que seria una lastima no terminarlo. haber si hablamos por msn y yo lo continuo.
Holaaa! No estoy muerto, estaba de parranda!

Estoy ya unos dias viendo como va el tema del sgdk y pasando el juego a C, por ahora bien a expensas de ver el rendimiento cuando lo termine de portar (voy paso a paso, intro_texto, logo sega y ahora voy por la pantalla de titulo), por ahora bien, mucho más flexible y versatil que el basiexorega, pero no hay documentación y toca mirarse el fuente de la libreria para ver que hace cosa.

Lo único es que el imagenesis no sirve del todo para pasar los graficos, por lo que si alguien se anime y me puede hacer una herramienta para transformarlos... me ahorraría tener que hacerlo a mano.

En principio es facil, o usar lo que me da el imagenesis (basiecorega) y transformarlo a lo que necesito (sgdk), o hacer lo que el imagenesis, leer el bmp, generar la paleta de la imagen adaptada a 16 colores de la mega y sacar sus tiles.

Lo primero seria, transformar la paleta asi:

unsigned short tiledata_logo_sega[1536] = {
0x0000,0x0000,0x0EEE,0x0E40,0x0E20,0x0E00,0x0C00,0x0A00,
0x0E60,0x0E80,0x0EA0,0x0EC0,0x0000,0x0000,0x0000,0x0000
};

A esto:

const u16 palette_logo_sega[16] = {
0x0000,0x0000,0x0EEE,0x0E40,0x0E20,0x0E00,0x0C00,0x0A00,
0x0E60,0x0E80,0x0EA0,0x0EC0,0x0000,0x0000,0x0000,0x0000
};

Y los tiles de esto:

tiledata_logo_sega:
DATALONG $11111111 ' Tile #0
DATALONG $11111222
DATALONG $11122334
DATALONG $11283333
DATALONG $12883333
DATALONG $12888333
DATALONG $28888332
DATALONG $29888823
DATALONG $11111111 ' Tile #1
DATALONG $22222222
DATALONG $44455556
DATALONG $44445555
DATALONG $44445555
DATALONG $34444555
DATALONG $22222222
DATALONG $33444455
DATALONG $11111111 ' Tile #2
DATALONG $22222211
DATALONG $66677211
DATALONG $66667212
DATALONG $66667228
DATALONG $56666228
DATALONG $22222288
DATALONG $55666288
...
DATALONG $55521111 ' Tile #47
DATALONG $55552111
DATALONG $55552111
DATALONG $45552111
DATALONG $45555211
DATALONG $44555211
DATALONG $44555211
DATALONG $22222211

A esto:

// 384 = 8 * 48 tiles
const u32 tiledata_logo_sega[384] = {
0x11111111,
0x11111222,
0x11122334,
0x11283333,
0x12883333,
0x12888333,
0x28888332,
0x29888823,
0x11111111,
0x22222222,
...
0x55521111,
0x55552111,
0x55552111,
0x45552111,
0x45555211,
0x44555211,
0x44555211,
0x22222211
};

En el tema musical no hay que calentarse mucho la cabeza, el sgdk ya trae varios drivers para el z80.

Un saludo!
Esto del sgdk me interesa muy muchooooo!!!

I [amor] "C".
Pues nada, bajatelo y si tienes algun problema para configurarlo preguntame, en codeblocks es muy facil, añadir 2 variables de entorno y seguir los pasos del wiki.
pocket_lucho escribió:Pues nada, bajatelo y si tienes algun problema para configurarlo preguntame, en codeblocks es muy facil, añadir 2 variables de entorno y seguir los pasos del wiki.


Ok, yo hace unos añitos programaba en C para GB, GBC y luego la GBA... a ver que tal se me da la MD jajaja

Dame unos dias para ponerme al día en el SGDK y respecto al editor grafico, tenia algun soft que igual sirve..

Estamos en contacto ;)

EDITO: Estaba pensando en el Tile Studio
http://tilestudio.sourceforge.net/
Échale un ojo a ver si con los "definition Files" se puede crear uno para generar graficos para el SGDK
Hola compañeros,

No se si el proyecto sigue vivo, que espero que si.

Hace ya unos días que lo hablaba con Lucho, y he pensado de forma unilateral (aunque espero que con su permiso :), poner a vuestra disposición los gráficos que hice para el durante una temporada, cuando estábamos de lleno en pleno proyecto Antarex para NDS.

Me sabe mal que no se saque algo de partido a tanto trabajo, así que había pensado ponerlo a vuestra disposición (siempre con su permiso, claro).

Hay básicamente enemigos con sus animaciones, algunos props, explosiones y cosas para fondos.

La pregunta es: como os lo hago llegar, caso de que os interese?

Y a ver si me autoconvenzo y me lío a hacer cosas nuevas :-)

Un abrazo para todos, ya me contáis si os interesa!!!
Simplemente decir que lo pasé satisfactoriamente a c pero como me viene un poco grande, he hecho caso de los consejos de gente que sabe y me he puesto con algo simple que pueda acabar, en concreto portando el oh mummy de amstrad, juego que ya he avanzado un montón. La intención es, que aunque sea un poco simple, fabricar unas pocas unidades (ya se que no es pier solar pero a mi me hace ilusión).

Luego me pondré con otro proyecto tb muy arcade y facil de programar, que tambien tendrá parte de hardware y tenerlo listo para el retromadrid/retroencounter del año que viene en físico.

El juego de naves, por ahora es demasiada faena y no tengo tiempo para dedicarle, con el tiempo saldrá... tal vez le tenga que llamar Antarex Forever [+risas]
pocket_lucho escribió:Simplemente decir que lo pasé satisfactoriamente a c pero como me viene un poco grande, he hecho caso de los consejos de gente que sabe y me he puesto con algo simple que pueda acabar, en concreto portando el oh mummy de amstrad, juego que ya he avanzado un montón. La intención es, que aunque sea un poco simple, fabricar unas pocas unidades (ya se que no es pier solar pero a mi me hace ilusión).

Luego me pondré con otro proyecto tb muy arcade y facil de programar, que tambien tendrá parte de hardware y tenerlo listo para el retromadrid/retroencounter del año que viene en físico.

El juego de naves, por ahora es demasiada faena y no tengo tiempo para dedicarle, con el tiempo saldrá... tal vez le tenga que llamar Antarex Forever [+risas]


Claro, es que es chungo porque el desarrollo es muy largo... son muchas fases, y hace falta mucho tiempo.

...pero eso no quiera poder hacer un juego simple y corto, e intentar meterle graficazos (por ejemplo).
podriamos hacer una demo de un nivel completo. creo que tal y como esta el motor ahora esta muy bien, solo seria cuention de que aparecieran mas enemigos.
Si, eso tb se puede hacer, he pensado en hacer un nivel tipo caravanpara presentarlo en una party tipo retromadrid o retroencunter haciendo una especie de torneo para los asistentes y regalando algo, ya veremos [+risas]

Esta imagen ya es funcionando en megadrive:

Imagen
¿por donde enpiezo para hacer un juego de megadrive ? no tengo ni idea, y no se nada de pogramacion... parece dificil...

¿hay alguna manera? saludos ... y gracias
Pues tu mismo lo has dicho, es difícil, has de saber programar. Lo primero que tienes que hacer es buscar algún curso de basic o c y cuando lo entiendas... seguir los tutos del hilo de theelf y si te siguen quedando ganas pues es pasarte al c [+risas]
Yo si me explicais como instalar el sdk etc me puedo poner a ello, de hecho me gustaría hacer un juego open source para megadrive... explicando además paso a paso todo para que cualquiera pueda seguir la pista...
Aquí tienes un tuto muy detallado de como configurarlo con codeblocks:

http://code.google.com/p/sgdk/wiki/UseSGDKWithCB

Y antes de que te pase, hay que crear las 2 variables GDK y GDK_WIN independientemente en que S.O. estés.
¿por donde enpiezo para hacer un juego de megadrive ? no tengo ni idea, y no se nada de pogramacion... parece dificil...

¿hay alguna manera? saludos ... y gracias


http://www.elotrolado.net/hilo_tutorial-programacion-megadrive-basico_1371287
haber si me podeis echar una mano con el codeblock, os cuento como tengo esto:

he creado las variables de entorno, en mi caso he utilizado la ruta por defecto de instalacion:
C:\Archivos de programa\CodeBlocks\MinGW


he creado un compilador nuevo haciendo una copia del GNU GCC Compiler
la ruta de instalacion es la misma: C:\Archivos de programa\CodeBlocks\MinGW
lo he configurado todo menos las opciones "resource compiler" y "make program" que no me aparecen por ningun lado.

y bueno, no se si tendra mucho que ver pero la carpeta donde tengo todo mi proyecto la tengo en el escritorio.
Pues mal todo xD

NO uses carpetas raras ni con espacios, archivos de programa y escritorio incluidas. Te creas un c:\megadrive\sdk y a correr.
juer! que velocidad!

y que pasa con las opciones "resource compiler" y "make program" ?
de donde saco el make.exe y el bintoc.exe ?
Por partes, instala el codeblocks donde quieras, pero el sdk lo instalas por otro lado (el c:\megadrive\sdk). Seria a esta carpeta a la que tienes que apuntar, alli tienes el bintoc, el make y la madre que lo hizo ;)

Si apuntas a la carpeta del mingw, estas apuntando a los compiladores para pc, no para megadrive.
leñe! y de donde saco el sdk? pensaba que ya estaba incluido en el codeblock
No hombre, el codeblocks es una suite para programar para lo que tu quieras, la libreria sgdk la tienes aqui:

http://code.google.com/p/sgdk/downloads/list

Y el tuto que imagino que debes estar siguiendo aqui:

http://code.google.com/p/sgdk/wiki/UseSGDKWithCB
na, sigue sin funcionar...

he instalado el codeblock en c:\sega\codeblock
he creado las variables c:\sega\codeblock
me he descargado el sdk y lo he metido en la misma carpeta c:\sega\codeblock
he configurado el compilador igual que en el tutorial.

algun tutorial para tontos ?
se podria hacer un archivo bat que al ejecutarlo compilara lo que encontrara?
jordigahan escribió:he creado las variables c:\sega\codeblock


Las variables de entorno deben indicar dónde se encuentra el sgdk. Que lo bajas de aquí.

Luego tendrían que ser algo tal que así:

GDK --> C:/sega/sgdk
GDK_WIN --> C:\sega\sgdk

Por cierto que me vas a obligar a actualizar mis librerías ya que estoy compilando siempre con la versión anterior del sgdk. A ver si no me da mucho ruido.

Se valora el interés renovado por configurar el sdk junto al compilador :p

Llevo unos diítas que cuando tengo tiempo para ponerme con ello no tengo la cabeza para mucha programación. Si puedes ir tú probando a editar las pantallas tal como lo hablamos (lo suyo efectivamente es ir compilando para ver el resultado) la verdad es que nos vendría al pelo para seguir avanzando a buen ritmo.

Imagen

En el PC con Windows tengo una carpeta personal en la partición D (D:\Bru) para mis cosas y en ella tengo:

D:\Bru\CodeBlocks <-- La instalación del compilador
D:\Bru\projects <-- Todos los códigos los tengo en distintas carpetas dentro de ésa
D:\Bru\sgdk <-- Las librerías
211 respuestas
1, 2, 3, 4, 5