Iniciar sesión

Ver la versión completa : programar juegos sabiendo C pero sin saber hacer juegos



the_goulin
17/07/2005, 18:30
Hola

Bueno, he subido 2 pequeños "intentos" de tutórales en los que intento explicar como hacer videojuegos, esta destinado a gente que sabe o tiene nociones de C.

Me gustaría que os los mirarais y me dijerais que os parece, si veis que no valen la pena me dedico a otra cosa xDD

Pensar que no soy un crack y puede que tampoco el mas indicado para hablar de la materia ^_^ pero supongo que ha mas de uno le ayudara un poco.


www.alonesoft.net/GpSnake.php

la sección se llama "documentos goulineros"

Saludillos,
The_Goulin

Melkart
17/07/2005, 19:34
Guapisimos los tutos the_goulin. Llevaba mucho tiempo buscando algo parecido. Se programar en c pero no tengo ni idea de hacer juegos en c, y mucho menos para la GP32. Lo único que he conseguido hacer es un matamarcianos con el port de Fenix.

Podrias, y si no es mucho pedir, explicar como se compila desde linux. Es que casi todo lo que programo lo hago en linux y tus tutos son en windows :canon2:

Un saludo y muchas gracias por los tutos.

(_=*ZaXeR*=_)
17/07/2005, 20:41
Es un buen trabajo te felicito por ello.

Es algo que muchos se preguntan, como programar juegos sabiendo C ? yo mismo me hice esa pregunta hace tiempo y me propuse responderme a mi mismo, y en parte creo que lo hice, aunque no se en que medida :D tendre que dar un repaso.

^MiSaTo^
18/07/2005, 09:19
Podrias, y si no es mucho pedir, explicar como se compila desde linux.
Hola, yo tb estoy empezando en eso de la programación de videojuegos y uso linux.
Hay unas herramientas muy buenas que hizo D_Skywalk para compilar en Linux, que están en su web:http://gp32.dantoine.org/
Lo unico que está pensado para usar las librerias del Mirko en vez de SDK ofical, pero vamos yo me he apañado muy bien.
Si necesitas ayuda... (aun estoy aprendiendo.... pero igual te puedo ayudar en alguna cosilla)
Saludos y gracias The_Goulin por hacer esos tutoriales q me dieron un poco el empujón :arriba:

jjdrako
18/07/2005, 11:23
ahora si que se podria decir que te has currado el segundo documento :D

pero sale error al bajar el ejemplo ejGraficos.zip ha debido de desaparecer :rolleyes:

no lo he visto mucho pero en tu ejemplo cargas esas imagenes que convertis a .h con el programa converter?? es que me gustaria saber si lo explicas en alguna parte porque hasta ahora solo he visto que dibujas cuadraditos por la pantalla y eso tambien seria interesante

gracias por la ayudita :arriba:

Ozius
18/07/2005, 11:43
Buen trabajo el que estas haciendo. Tutoriales asi siempre acaban de dar el ultimo empujoncito a los que estan con ganas de empezar a programar videojuegos

Melkart
18/07/2005, 11:52
Gracias por la respuesta ^MiSaTo^, pero los paquetes de la página de D_Skywalk son para Ubuntu y yo uso la Fedora. No me valen ¿o si?.
Sobre la ayuda, me vendría de perlas. Por que, aparte de usando el port de Fénix, no he conseguido programar nada para la GP32.

Un saludo.

the_goulin
18/07/2005, 11:53
ahora si que se podria decir que te has currado el segundo documento :D

pero sale error al bajar el ejemplo ejGraficos.zip ha debido de desaparecer :rolleyes:

no lo he visto mucho pero en tu ejemplo cargas esas imagenes que convertis a .h con el programa converter?? es que me gustaria saber si lo explicas en alguna parte porque hasta ahora solo he visto que dibujas cuadraditos por la pantalla y eso tambien seria interesante

gracias por la ayudita :arriba:


bueno, en ultimo documento aun no se cargan imagenes solo muestro como pintar cuadrados,puntos,circulos... vamos lo que pienso que es lo normal para ir empezando a pillarle el gustillo a la pantalla, el tema de imagenes y pequeñas animaciones esta pensado para el 3er documento en el que estoy currando actualmente, las imagenes las transformo con el Gp32Converter http://edorul.ifrance.com/gp32/

si te miras un poco el código del GpSnake veras que hacer aparecer imagenes es muy sencillote.

Saludillos,
The_Goulin

the_goulin
18/07/2005, 11:55
Hola, yo tb estoy empezando en eso de la programación de videojuegos y uso linux.
Hay unas herramientas muy buenas que hizo D_Skywalk para compilar en Linux, que están en su web:http://gp32.dantoine.org/
Lo unico que está pensado para usar las librerias del Mirko en vez de SDK ofical, pero vamos yo me he apañado muy bien.
Si necesitas ayuda... (aun estoy aprendiendo.... pero igual te puedo ayudar en alguna cosilla)
Saludos y gracias The_Goulin por hacer esos tutoriales q me dieron un poco el empujón :arriba:
vaya, gracias ^_^ me alegra ver que ayudan a alguien ^_^ si necesitas mas ayuda ya sabes :brindis:

Saludillos,
The_Goulin

the_goulin
18/07/2005, 11:57
Guapisimos los tutos the_goulin. Llevaba mucho tiempo buscando algo parecido. Se programar en c pero no tengo ni idea de hacer juegos en c, y mucho menos para la GP32. Lo único que he conseguido hacer es un matamarcianos con el port de Fenix.

Podrias, y si no es mucho pedir, explicar como se compila desde linux. Es que casi todo lo que programo lo hago en linux y tus tutos son en windows :canon2:

Un saludo y muchas gracias por los tutos.

Hola, me alegro que te gusten los tutos, desgraciadamente no tengo ni idea de linux, asi que no puedo explicar como compilar :P lo siento.

espero que alguien te pueda ayudar.

Saludillos,
The_Goulin

jjdrako
18/07/2005, 11:57
vale esperare tambien al 3º documento y mientras tanto le ire echando un vistazo a tu codigo del gpSanke :)

Melkart
18/07/2005, 12:37
the_goulin no te preocupes por lo del Linux. Tu sigue haciendo tutos guapos :brindis: que yo me bucare la vida para compilarlos desde Linux.

Un saludo.

Cataky
18/07/2005, 15:05
Felicidades por los tutoriales.

A ver si me pongo un poco a programar algo para la gp32 este verano.

Espero ansioso más tutoriales.

^MiSaTo^
18/07/2005, 15:28
Vale yo con Linux puedo ayudar un poco (mi Pong esta ya al 50% :D)
Lo unico q yo uso Ubuntu q es una Debian...
Con respecto a los paquetes son .deb.... por tanto en Fedora no van (ya que es el paquete propio de Debian) Corregidme si me equivoco q aun soy muy newbe en Linux... Creo q hay un conversor de paketes al menos en mi distro q se llama Alien o algo asi pero eso mejor q te lo diga alguien más experto.
Si puedes contacta con D_Skywalk (si no lo hago yo antes) para ver si se podrian poner los paquetes para otra distro o simplemente meter las cosas en un comprimido normal (tar.gz o cualquier cosa de esas)
Espero no haber dicho muchas "tonterias" y haber sido de ayuda

jjdrako
18/07/2005, 16:35
unas dudillas porque tambien estoy mirando las instrucciones del sdk y me quedo un poco sin saber porque

que diferencias hay entre hacer el puntero de tipo GPDRAWSURFACE que tu lo llamas gpsurface reservando uno en memoria o dos con gpsurface[2]??? o en que casos con uno basta y en cuales hay que reservar dos en memoria

despues de meter en buffer los dibujitos o texto que se pone gpsurfaceflip y otras veces gpsurfaceset que diferencia hay de hacerlo con uno o el otro???

el tick es como para saber en cada frame donde colocar el objeto???

otra cosa que no entiendo y no te digo que lo hagas mal porque tambien lo he visto en los ejemplos del sdk oficial, el while(true) que esta claro que es un bucle infinito, no se puede utilizar el loop que hace lo mismo???

a ver si con tu minijuego y otros que encuentro empiezo a hacer algo :musico:

the_goulin
18/07/2005, 17:31
unas dudillas porque tambien estoy mirando las instrucciones del sdk y me quedo un poco sin saber porque

que diferencias hay entre hacer el puntero de tipo GPDRAWSURFACE que tu lo llamas gpsurface reservando uno en memoria o dos con gpsurface[2]??? o en que casos con uno basta y en cuales hay que reservar dos en memoria

despues de meter en buffer los dibujitos o texto que se pone gpsurfaceflip y otras veces gpsurfaceset que diferencia hay de hacerlo con uno o el otro???

el tick es como para saber en cada frame donde colocar el objeto???

otra cosa que no entiendo y no te digo que lo hagas mal porque tambien lo he visto en los ejemplos del sdk oficial, el while(true) que esta claro que es un bucle infinito, no se puede utilizar el loop que hace lo mismo???

a ver si con tu minijuego y otros que encuentro empiezo a hacer algo :musico:

Hola

Utilizo 2 GPDRAWSURFACE para utilizar la técnica del doble buffer y evitar el parpadeo en la animación del juego, me lo podría saltar en pantallas estáticas donde nada se mueve como es la pantalla de inicio.

la función GpTickCountGet retorna el numero de milisegundos desde que tu aplicación se ejecuta, de esta manera puedes calcular fácilmente cuantos ciclos de programa deseas que se ejecuten por segundo en tu juego, vamos se utiliza a modo de pausa.

lo del while, pues la verdad es que lo mio es por no escribir mas, además supongo que debe ser mas rápido utilizar el while(TRUE) que un while y después un loop ya que son 2 instrucciones y si pones un while(TRUE) esta clarísimo que es un bucle infinito.

ah, se me olvidaba, lo del gpsurfaceset y el gpsurfaceflip, el gpsurfaceset solo lo tienes de utilizar para inicializar la pantalla (la comunicación entre la LCD y tu buffer) y el gpsurfaceflip se utiliza para intercambiar los buffers.

Espero haberte ayudado.

Saludillos,
The_Goulin

Melkart
18/07/2005, 19:24
Gracias ^MiSaTo^, suponia que los paquetes no funcionarian en la Fedora. A ver si D_Skywalk los pasa a .tar.gz que seria un detallazo. Y gracias por la ayuda.

Un saludo.

^MiSaTo^
18/07/2005, 22:04
Bueno puedo intentar a comprimirtelo en un tar o un rar yo a ver si funciona (no te aseguro nada...) y lo subo aqui con las explicaciones pertinentes (muy pocas lo juro)
Os parece?
No se si ira ya q el .deb creo q no es solo un archivo comprimido tipo rar y q te instala cosas, pero bueno...
Probamos?

PD: Como me gusta q se mueva este tema !!!! :D:D:D

Melkart
18/07/2005, 23:58
Vale. Vamos a intertar lo de empaquetarlo en .tar y las explicaciones, por pocas que sean, te aseguro que me van a venir pero que muy bien. :rolleyes:

Un agradecido, por las molestias, saludo.

jjdrako
21/07/2005, 19:05
una duda, ya he conseguido que me cargue una imagen bmp, pero si uso una de 8 bits uso las operaciones palette y veo la imagen perfectamente, la duda esta en que solo va para los 8bits si uso una imagen de 16bits aun usando las librerias de 16bits que ha hecho oankali pues veo la imagen bastante rara :rolleyes:

pd: alguien sabe de algun programa (si es gratuito mejor) que pase imagenes bmp de 16,24 o 32 bits a 8bits sin deteriorar la imagen??? es que el paint me la estropea bastante

gracias :D

the_goulin
22/07/2005, 02:04
una duda, ya he conseguido que me cargue una imagen bmp, pero si uso una de 8 bits uso las operaciones palette y veo la imagen perfectamente, la duda esta en que solo va para los 8bits si uso una imagen de 16bits aun usando las librerias de 16bits que ha hecho oankali pues veo la imagen bastante rara :rolleyes:

pd: alguien sabe de algun programa (si es gratuito mejor) que pase imagenes bmp de 16,24 o 32 bits a 8bits sin deteriorar la imagen??? es que el paint me la estropea bastante

gracias :D

Estas inicializando bien la pantalla ha 16 bits? InitGraphics(16) o GpGraphicModeSet(16, NULL);

es lo unico que se me ocurre, yo me pase un ratito buscando ese pequeño 'descuido'

programas para pasar graficos de 16b a 8b yo utilizo photoshop ... ya se que no es gratuito pero...

creo q hay una versión de un programa de linux muy parecido.

Saludillos,
The_Goulin

Uncanny
22/07/2005, 02:54
pd: alguien sabe de algun programa (si es gratuito mejor) que pase imagenes bmp de 16,24 o 32 bits a 8bits sin deteriorar la imagen??? es que el paint me la estropea bastantePara Windows tienes el que creo que ha insinuado the_goulin, que es el GIMP (está para varios S.O. entre ellos Linux y Windows) que además de bastante completo, es libre y gratuito y otro algo más sencillo pero que cumpliría con lo que pides es PhotoFiltre (http://www.photofiltre.com/) (Imagen -> Modo -> Color indexado / 256 colores + Difusión), este no es libre pero es gratuito.

jjdrako
22/07/2005, 08:36
:D poner GpGraphicModeSet(16, NULL); y ya rula vale gracias

del gimp lo habia visto antes pero no lo he probado aun

una cosa yo para las imagenes tambien uso el photoshop, pero cuando le doy a guardar como... BMP solo me deja de 16bits, 24 bits y 32bits pero el de 8 esta desactivado como le doy a guardar con 8bits?? tengo que hacer algo antes de guardar para que se active esta opcion??

oankali
22/07/2005, 08:59
:D poner GpGraphicModeSet(16, NULL); y ya rula vale gracias

del gimp lo habia visto antes pero no lo he probado aun

una cosa yo para las imagenes tambien uso el photoshop, pero cuando le doy a guardar como... BMP solo me deja de 16bits, 24 bits y 32bits pero el de 8 esta desactivado como le doy a guardar con 8bits?? tengo que hacer algo antes de guardar para que se active esta opcion??

Tienes que cambiar el modo de la imágen a Color indexado, así te creará una imágen con una paleta.
Luego hay muchas opciones. Yo suelo utilizar Local (Perceptual) y sin tramado.

Oankali.

jjdrako
22/07/2005, 10:06
Tienes que cambiar el modo de la imágen a Color indexado, así te creará una imágen con una paleta.
Luego hay muchas opciones. Yo suelo utilizar Local (Perceptual) y sin tramado.
Oankali.
lo siento pero no es que maneje a la perfeccion el photoshop y no tengo ni idea de donde se ponen esas opciones ???

otra cosa (no paro de hacer preguntas ;)) alguien ha hecho algun scrool en c con una imagen BMP?? cuales son las instrucciones para ir moviendo la imagen??

gracias

oankali
22/07/2005, 11:10
lo siento pero no es que maneje a la perfeccion el photoshop y no tengo ni idea de donde se ponen esas opciones ???

otra cosa (no paro de hacer preguntas ;)) alguien ha hecho algun scrool en c con una imagen BMP?? cuales son las instrucciones para ir moviendo la imagen??

gracias

En Photoshop: barra de menús -> Imagen\Modo\Color indexado.

Esta es una de las funciones principales del SDK:



int GpBitBlt16(
GPDRAWTAG *gptag, // estructura con los limites visibles (en principio a NULL)
GPDRAWSURFACE * ptgpds, // puntero a la superficie en la que quieres escribir
int dx, int dy, // coordenadas de destino en pantalla (0, 0 para tu scroll de pantalla completa)
int width, int height, // dimensiones en pantalla (320 x 240 para tu scroll de pantalla completa)
unsigned char *src, // puntero a la imagen (puntero a la imagen de tu decorado)
int sx, int sy, // coordenadas en tu imagen (se ver en pantalla lo que haya a la posición sx, sy de la imagen)
int imgw, int imgh // dimensiones reales de la imagen (multiple de 4 en 8 bits, multiple de 8 en 16 bits)
);


Eso quiere decir que con solo retocar sx y sy lo que verás es una sección diferente de tu imagen.
Por ejemplo: scroll lateral hacia la izquierda (el personaje va a la derecha):



sx += velocidad;


Espero que con esto ya te vayas haciendo una idea de como va la cosa.

Oankali.

jjdrako
22/07/2005, 11:25
gracias oankali

otra cosa tu que eres el que ha hecho la libreria graphics de 16bits, la funcion GpTransBlt16 no me pone transparente el color que yo quiero y tengo que usar la normal GpTransBlt

oankali
22/07/2005, 11:47
gracias oankali

otra cosa tu que eres el que ha hecho la libreria graphics de 16bits, la funcion GpTransBlt16 no me pone transparente el color que yo quiero y tengo que usar la normal GpTransBlt

Incorrecto, yo no he programado estas librerías, son las oficiales de GamePark. Yo solo he retocado un poco la cosa para que se instalen de forma correcta y que funcionen con C++.

Ten en cuenta que en 16 bits los colores son de 16 bits, no son de 24 bits.
Para pasar de 24 bits a 16 bits, usa este càlculo:



Color16 = ((Color24 & 0xF80000) >> 8) |
((Color24 & 0xF800) >> 5) |
((Color24 & 0xF8) >> 2) |
intensidad;


La idea es que solo se cogen los 5 primeros bits de cada componente RGB.
El bit 0 es el bit de intensidad.

Puede que este post (http://www.gp32spain.com/foros/showthread.php?t=20755&page=2&pp=15) te aclare un poco:

También puedes mirar la documentación del SDK official, que está explicado.

Oankali.

oankali
22/07/2005, 14:21
Antes de que me preguntes en donde puedes encontrar la documentación del SDK :), he añadido la sección Downloads en mi web en la que encontrarás dicha documentación.

Oankali.

jjdrako
22/07/2005, 15:41
la documentacion del SDK oficial la tengo desde hace tiempo

otra tandada de preguntas:

1º.- quiero sacar unas imagenes a la vez pero cada una tiene su propia paleta, esto es lo que pongo


h_pal=GpPaletteCreate(256,img_start2_Pal);
GpPaletteSelect(h_pal);
GpPaletteRealize();

como tienen paletas diferentes una la paleta de una imagen fastidia a la otra, como se resuelve esto??

2º.- he visto lo del gpfontmaker, hay dos documentos en la pagina de oankali, explicando como usar el programa, a la hora de exportar la fuente me hace un .c y un .h, luego que hago para usar ese tipo de texto???

gracias (siento ser tan pesado :rolleyes: pero me gustaria hacer algun juego)

oankali
22/07/2005, 16:34
la documentacion del SDK oficial la tengo desde hace tiempo

otra tandada de preguntas:

1º.- quiero sacar unas imagenes a la vez pero cada una tiene su propia paleta, esto es lo que pongo


h_pal=GpPaletteCreate(256,img_start2_Pal);
GpPaletteSelect(h_pal);
GpPaletteRealize();

como tienen paletas diferentes una la paleta de una imagen fastidia a la otra, como se resuelve esto??

2º.- he visto lo del gpfontmaker, hay dos documentos en la pagina de oankali, explicando como usar el programa, a la hora de exportar la fuente me hace un .c y un .h, luego que hago para usar ese tipo de texto???

gracias (siento ser tan pesado :rolleyes: pero me gustaria hacer algun juego)


1º.- Yo siempre he programado en 16 bits, por lo que no tengo problemas de paleta de colores.
En este hilo (http://www.gp32spain.com/foros/showpost.php?p=212895&postcount=15) explico la forma en que normalmente se hace cuando tienes varias paletas.

2º.- File Selector Tester y libmodplay Tester, dos programitas que hay en mi web utilizan estas fuentes.
Los archivos generados no son más que el archivo *.OKF pasado a C como lo harías con el GPConverter para pasar una imágen.
Actualmente el motor de fuentes solo funciona en 16 bits, aunque tengo pensado pasarlo a 8 bits (una versión capada claro).

El típico ejemplo de C :):



.
.
.

#include "../include/graphics16.h"
#include "../include/okf.h"
#include "mi_fuente.h"

.
.
.

void GpMain (void * arg)
{
.
.
.

OkfInitialize(gtSurface, &giSurface);
OkfRegister(mi_fuente_okf);

OkfPrintAt(10, 10, "Hola mundo!\n");
while (!GpKeyGet());

GpAppExit();
}

oankali
22/07/2005, 16:50
Vaya un despistado que estoy hecho, yo pensando en como explicárte rapidamente como utilizar las fuentes y resulta que es la librería que tengo mejor documentada. Lo encontrarás todo en mi web en la sección Docs.
También tienes OKF Font Tester que te permitirá jugar con tu fuente directmente en la GP32 para ver si queda bien o no.
Ese programita usa todas las capacidades del motor de fuentes.

jjdrako
22/07/2005, 17:04
bueno igual paso un guiñote que tengo para el ordenador para la consola, por lo que me salen dudas cada dos por tres

no me acordaba que me respondiste lo de las imagenes hace un tiempo, a ver como me salen
ed: lo he he hecho como me explicastes y aun asi les pone a las imagenes otra paleta de colores, tengo una imagen de 320x240 y le pone paleta de 256 y otras de 30x53 y les pone paleta de 64 y por eso aun asi se siguen viendo mal

otra duda y creo que con esta acabo hasta que me de por si pongo en algun otro juego sonido :D he puesto un icono para el juego (BMP 32x32 de obits), pero se me ve de culo en la consola con mogollon de colorines, como se tiene que hacer el icono?? tiene que ser de menos de 8bits??

oankali
22/07/2005, 23:58
Para el icono necesitas la paleta de colores por defecto de la GP32.
Aquí la tienes. Con el Photoshop, tienes que ir a Imagen/Modo/Tabla de colores/Cargar...

Tienes que preparar una sola imagen con todos los dibujos que puedas ver a la vez en la pantalla.
Una vez hecho esto, lo pasas a 8 bits para que te calcule la paleta de colores y guardas el BMP resultante.
Una vez hecho esto, separas cada dibujo (o no los separas, como quieras) y los guardas en BMPs distintos. En principio todos tendran la misma paleta de colores.

Oankali

jjdrako
23/07/2005, 00:53
ya esta solucionado lo de las imagenes, lo que hacia era que una vez juntos luego al separarlos tambien lo hacia desde photoshop y no se porque les ponia una paleta diferente, lo que he hecho es separarlos desde el paint y entonces si que les ha puesto la misma paleta de colores a todas las imagenes :)

gracias oankali

a ver si puedo hacer el juego de cartas, ademas me vendra bien esas librerias para usar c++ espero que funcione

jjdrako
23/07/2005, 08:58
joer el que no hace nada no tiene ningun problema y el que se pone los tiene todos :rolleyes:

a ver esto de los colores no lo llevo muy bien me parece, un ejemplo con texto:

GpTextOut(NULL, &gpDraw[nflip], 40, 5, "Pulsa Start!!!", 0xfd);
el 0x... es el color en hexadecimal, no??? alguien sabe como averiguar el valor de un color?? y porque ponga el valor que ponga me escribe siempre en negro??? :loco:

se me olvidaba, uso el tick para que haga una especie de movimiento poniendo imagenes en cada tiempo, pero empieza como a toda pastilla y luego es cuando hace caso al tiempo qe le he dicho que espere a poner, como se soluciona esto o hay otra manera para hacer esas especies de animaciones??

the_goulin
23/07/2005, 13:59
joer el que no hace nada no tiene ningun problema y el que se pone los tiene todos :rolleyes:

a ver esto de los colores no lo llevo muy bien me parece, un ejemplo con texto:

GpTextOut(NULL, &gpDraw[nflip], 40, 5, "Pulsa Start!!!", 0xfd);
el 0x... es el color en hexadecimal, no??? alguien sabe como averiguar el valor de un color?? y porque ponga el valor que ponga me escribe siempre en negro??? :loco:

se me olvidaba, uso el tick para que haga una especie de movimiento poniendo imagenes en cada tiempo, pero empieza como a toda pastilla y luego es cuando hace caso al tiempo qe le he dicho que espere a poner, como se soluciona esto o hay otra manera para hacer esas especies de animaciones??


Hola

Primero comprueba si haces las cosas a 16b o 8b por que dependiendo debes utilizar GpTextOut o GpTextOut16


y para saber el valor de un color puedes utilizar esta "macro"

#define RGB(Red, Green, Blue) (((unsigned int) ((Red) << 11)) + \
((unsigned int) ((Green) << 6)) + \
((unsigned int) ((Blue) << 1)))


y despues pones algo asi


GpTextOut16(NULL, &gpDraw[nflip], 40, 5, "Pulsa Start!!!", RGB(255,0,0));

y obtendrias el rojo, supongo que conoces como funciona lo del RGB (Red,Green,Blue) asi que no me enrrollo más.

Saludillos,
The_Goulin

jjdrako
23/07/2005, 16:00
gracias por el define the_goulin,pues lo estoy haciendo con 8b y lo he probado pero colorea como le da la gana, eso solo funciona para 16b???

con el 16b lo je probado y ???? seguro es esa numeracion que me has puesto? porque le pongo una numeracion y el color resultante es totalmente diferente a la de cualquier programa de dibujo :(

oankali
24/07/2005, 10:29
La macro es correcta, pero el rango de valores no.
Cada componente de color solo puede ir del 0 al 31 (recuerda 5 bits por componente).
En cuanto a 8 bits, el número del color debe corresponder al número en la paleta de colores.
O sea que lo puedes mirar en Photoshop o en mi programa (http://www.gp32spain.com/foros/showthread.php?t=16198).

Por cierto, si has pasado a 16bits, te aconsejo utilizar mi librería de fuente OKF que te permitirá muchas más cosas que la función GPtextOut16() (recuerda que el programa ganador de la GBAX2005 usa esa librería ;)).
En mi librería Graphics16.h encontrarás la macro RGB y otras funciones que te puede interesar. Mírate también las otras que te pueden ser de mucha utilidad (o no :rolleyes:).

En cuanto al problema de los ticks, como no pongas parte de tu código, no podremos ayudarte.

Oankali.

the_goulin
24/07/2005, 10:46
La macro es correcta, pero el rango de valores no.
Cada componente de color solo puede ir del 0 al 31 (recuerda 5 bits por componente).
En cuanto a 8 bits, el número del color debe corresponder al número en la paleta de colores.
O sea que lo puedes mirar en Photoshop o en mi programa (http://www.gp32spain.com/foros/showthread.php?t=16198).

Por cierto, si has pasado a 16bits, te aconsejo utilizar mi librería de fuente OKF que te permitirá muchas más cosas que la función GPtextOut16() (recuerda que el programa ganador de la GBAX2005 usa esa librería ;)).
En mi librería Graphics16.h encontrarás la macro RGB y otras funciones que te puede interesar. Mírate también las otras que te pueden ser de mucha utilidad (o no :rolleyes:).

En cuanto al problema de los ticks, como no pongas parte de tu código, no podremos ayudarte.

Oankali.


vaya, en eso yo tampoco habia caido ¬_¬u de hecho esa macro la saque de tu ejemplo, veo que aun tengo mucho q aprender del maestro :rever:

:rever: :rever: :rever: no somos nadie, somos gusanos (los mundos de waine) :rever: :rever: :rever:

Saludillos,
The_Goulin

jjdrako
24/07/2005, 11:32
vaya, en eso yo tampoco habia caido ¬_¬u de hecho esa macro la saque de tu ejemplo, veo que aun tengo mucho q aprender del maestro :rever:

:rever: :rever: :rever: no somos nadie, somos gusanos (los mundos de waine) :rever: :rever: :rever:

Saludillos,
The_Goulin

pues si, nos queda mucho por aprender, algun dia llegaremos a su nivel pero demomento habra que aprender de el :D

you're my master oankali

jjdrako
24/07/2005, 12:02
jo debo de ser corto d entendederas porque no me aclaro nada con los puñeteros colores, a ver ayudarme porfi, esto me paso porque siempre he programado con colores reales y ahora que estoy usando 8bits porque corren las cosas mejor me dan errores por todos los lados

el define que me habeis puesto es para 16bits ok, no se puede cambiar la numeracion para que se pueda poner en modo RGB para 8bits?? es que poner 0x## es un poco lioso hasta encontrar el numero correcto

gracias :brindis:

jjdrako
24/07/2005, 13:39
no si al final me parece que voy a dejar esto de programar para la Gp32, a ver ademas de los problemas con los colores ahora estaba probando lo del okf, he puesto un tipo de texto y al exportarlo me da un .okf un .c y un .h

escribo este codigo


#include "gpdef.h"
#include "gpstdlib.h"
#include "gpgraphic.h"
#include "okf.h"
#include "gpmain.h"
#include <Txt.h>

GPDRAWSURFACE gpDraw[2];
int nflip;

void type_graphic()
{
// Inicializar modo grafico
GpGraphicModeSet(8, NULL);
GpLcdSurfaceGet(&gpDraw[0], 0);
GpLcdSurfaceGet(&gpDraw[1], 1);

GpSurfaceSet(&gpDraw[0]);
nflip = 1;
}

void GpMain(void *arg)
{
type_graphic();

OkfInitialize(gpDraw, &nflip);
OkfRegister(txt_okf);

OkfPrintAt(10, 10, "PRUEBA");
while (!GpKeyGet());

GpAppExit();
}


pero me da estos errores al compilar, que es lo que falla??

jjdrako
24/07/2005, 16:25
bueno lo de los colores ya lo he solucionado de forma cutre pero que me lo da correctamente, el gp32converter al convertir el color a hexadecimales me lo pone en 0x## justo como lo necesito, cada vez que quiera saber un color solo tengo que hacer un pequeño bitmap con el color deseado y el converter luego me lo dira :D

bien ahora solo falta lo del texto, eso ya me diras tu oankali que lo manejas mejor

ahora una consulta creeis que las cartas de la baraja son grandes?? es que yo diria que si las hago mas pequeñas no se ven nada

oankali
25/07/2005, 08:38
Vaya, si que has estado trabajando, yo casi todo el domingo en la montaña. Me llevé el portátil por si las moscas pero como cabía esperar no he hecho nada productivo para la GP32 :)

Vamos a ver por pasos.

Cuando trabajas en 8 bits, siempre trabajas con valores de la paleta de colores que van del 0 al 255 o del 0x00 al 0xFF que es exactamente lo mismo. No hace falta ponerlo en hexadecimal, pero eso supongo que ya lo sabías.
Donde veo que te estás liando es para saber en que posición está el color que estás buscando.
No hace falta que te compliques la vida creando un bitmap que luego pasarás por GPConverter.exe.
Solo tienes que ir al Photoshop (lo digo porque es el que usas), abrir tu bitmap de 8 bits, ir a Imagen/Modo/Tabla de colores. En ese momento de sale la tabla de colores.
Solo con pasar el cursor por encima de la tabla te indica el índice (Índ:) del color en la pestaña Info que deberías de tener abierta arriba a la derecha de la pantalla (por defecto).
Otra solución es utilizar el programa PaletteManager que he apuntado en el post #36 de este hilo.

Finalmente, veo que no has leído bien el post #31 de este hilo. En el apartado 2.- te he indicado que el motor de fuentes solo funciona en 16 bits. Pero bueno, un descuido lo tiene cualquiera :)
Es por esta razón que todos mis programas están en modo 16 bits. Es un pelín más lento, pero para puzzles o programas de cartas, la velocidad debería de ser más que suficiente aún sin aumentar la velocidad del procesador (a menos que hagas muchos efectos especiales).

En cuanto a lo del tamaño de las cartas, las veo un poco grandes, aunque todo depende del juego que vayas a programar. Los solitarios por ejemplo necesitan cartas muy pequeñas porque en principio se tienen que poder ver todas las cartas a la vez. En juegos de varios jugadores como el burro, la brisca, la botifarra, etc... solo con ver las cartas de tu mano, y el revés de las de los contrarios, es suficiente.

EDIT: Se me olvidaba, no es suficiente con incluir "okf.h" y "Txt.h" en tu programa, también tienes que incluir "../include/okf.c" y "Txt.c" en tu makefile. Lo mismo para cada fuente que utilices. Para evitar tener que poner todas las fuentes así, yo creo dos archivos "fonts.c" y "fonts.h" en donde hago los #includes pertinentes. Luego en el makefile solo indico el fonts.c. Mira mi programita File Selector Tester para entenderlo mejor.

Oankali.

jjdrako
25/07/2005, 16:40
vale no me habia dado de cuenta de que habias escrito esto

Los archivos generados no son más que el archivo *.OKF pasado a C como lo harías con el GPConverter para pasar una imágen.
Actualmente el motor de fuentes solo funciona en 16 bits, aunque tengo pensado pasarlo a 8 bits (una versión capada claro).
pues a la espera de que hagas una version para 8bits (cuando la hagas ya contaras), no creo que pasase nada si lo hiciese a 16bits pero supongo que como metiese bastantes cartas en la pantalla luego no habria nadie quien las moviese, asi que prefiero seguir programando a 8bits

jjdrako
27/08/2005, 11:46
a ver he hecho un tablero que ocupa 640x480 y quiero que se desplace por trozos, he puesto esto en el codigo y los trozos 2 y 3 los veo bien, es decir, los dos trozos de abajo, pero los dos de arriba los veo mal como puedo arreglarlo??



GpBitBlt16(NULL, &gpDraw[nflip], 0, 0, 320, 240, (unsigned char*)img_Questboard,
despx, despy, 320+despx, 240+despy);

GpKeyGetEx(&boton);
switch (trozo)
{
case 0:
if (boton & GPC_VK_FL)
{
despx=320; despy=240; trozo=3;
}
if (boton & GPC_VK_FR)
{
despx=320; despy=0; trozo=1;
}
break;
case 1:
if (boton & GPC_VK_FL)
{
despx=0; despy=0; trozo=0;
}
if (boton & GPC_VK_FR)
{
despx=0; despy=240; trozo=2;
}
break;
case 2:
if (boton & GPC_VK_FL)
{
despx=320; despy=0; trozo=1;
}
if (boton & GPC_VK_FR)
{
despx=320; despy=240; trozo=3;
}
break;
case 3:
if (boton & GPC_VK_FL)
{
despx=0; despy=240; trozo=2;
}
if (boton & GPC_VK_FR)
{
despx=0; despy=0; trozo=0;
}
break;
}


gracias ;)

(_=*ZaXeR*=_)
27/08/2005, 15:18
Pues parece que todo esta bien :s, prueba pintando despues de seleccionar el trozo, y dale a trozo un valor por fecto. Valee valeee es por decirte algo, lo admito :D

jjdrako
27/08/2005, 17:25
al empezar pongo esto


int despx=0,despy=0,trozo=0;

pero solo veo bien los trozos de abajo del tablero encambio los de arriba parece como si los estuviesen agitando porque se ven codificados :loco:

Petiso
27/08/2005, 18:18
Yo tambien veo el codigo correcto ...... es posible que la imagen este mal convertida ???

Por cierto, que juego de cartas quieres hacer ?

jjdrako
27/08/2005, 18:41
el juego del guiñote esta aparcado demomento ahora le estoy dando un poco al del heroquest, estoy intentado poner el tablero en la pantalla pero solo veo bien la mitad :rolleyes:

(_=*ZaXeR*=_)
27/08/2005, 20:25
el heroquest? toma ya, eso si que es un buen juego. Porque no haces tambien el cruzada estelar o el space hulk? (son los mismos pero uno de MB y el otro de gameworkshop pero ambos de citadel y mismas reglas) Bueno, te aporto una idea, deja el juego con posibilidad de cambiar los mapas y los sprites de las miniaturas.

Sobre el codigo se me ha ocurrido que porque no cambias las instrucciones y lo haces con Ifs anidados? prueba que quizas se te solucione. (por probar que no quede)

jjdrako
27/08/2005, 20:35
el heroquest? toma ya, eso si que es un buen juego. Porque no haces tambien el cruzada estelar o el space hulk? (son los mismos pero uno de MB y el otro de gameworkshop pero ambos de citadel y mismas reglas) Bueno, te aporto una idea, deja el juego con posibilidad de cambiar los mapas y los sprites de las miniaturas.

Sobre el codigo se me ha ocurrido que porque no cambias las instrucciones y lo haces con Ifs anidados? prueba que quizas se te solucione. (por probar que no quede)
espero vamos acabar y todo este juego porque hace mucho que no juego y ya que ahora la consola que mas toco es la gp32 pues no estaria mal volver a jugar, cuando estuve buscando cosas encotraba que hablaban del cruzada estelar y algun otro pero no los he visto en mi vida

hombre si una vez termine y este bien acabado hacer uno parecido no me llevaria tanto tiempo, lo malo son los sprites que no hay manera de encontrar sobre el juego, y currarmelos va a ser un palizon

se pueden poner gifs animados?? yo creia que solo dejaba bmp a 8 o 16 bits ?¿?¿?¿

pd: solo me faltaba que alguien me dijese como tocar el brillo, se que sale en muchos emuladores, pero encuentralo en el codigo pufff

(_=*ZaXeR*=_)
27/08/2005, 21:09
Hombre gifs animados no puedes, pero te los puedes crear tu, ademas que es mas o menos igual que lo que has hecho con el tablero (o por lo menos asi es como yo hago mis animaciones para mis mini juegos, nadie me ha enseñado asi que no se si esta bien)

Osea, tu haces un bmp de 8 bits que tenga todos los frames de la animacion, todos pegados y todos con el mismo tamaño y solo muestras la parte del bmp correspondiente al primer frame, para lo cual creas una variable frame que vas incrementando y te mostrara los siguientes frames.

Ejemplo:

GpTransBlt(NULL,&gpDraw[nflip],x,y,marco.ancho,marco.alto,(unsigned char*)sprite,frame*marco.ancho,0,marco.ancho_total ,marco.alto,0xFD);

sacado de mi demo tecnica XDDD del metal slug

Un saludo

(_=*ZaXeR*=_)
27/08/2005, 21:22
Por cierto, ahora que me doy cuenta... porque no haces esto?

GpBitBlt16(NULL, &gpDraw[nflip], 0, 0, 320, 240, (unsigned char*)img_Questboard,
320*tablero_horizontal, 240*tablero_vertical, 640, 480);

cuando quieras cambiar de tablero hacia la derecha pues cambias el valor de tablero_horizontal y si quieres que sea hacia arriba pues el table_vertical

ahora mismo no estoy muy seguro, pero habia que indicar el tamaño total del mapa no?

Prueba que creo que ahi esta la solucion.

jjdrako
27/08/2005, 21:44
gracias (_=*ZaXeR*=_) :brindis: para la proxima vez ya se que hay que darle el tamaño total de la imagen

mira que parece que los dos hacen lo mismo, pero uno funciona y el otro no

adjunto lo poco que llevo hasta ahora para ver que os parece, lo malo sera donde encuentro yo sprites de los personajes, porque estoy por aprender 3D studio y hacermelos en 3D para que quede mas bonito (total para tardar mejor 3D que 2D no?? ;) )

(_=*ZaXeR*=_)
27/08/2005, 22:30
Hombre, unos sprites de unos graficos en 3D prerenderizados, quedan de lujo, y hay veces que pueden confundir a los usuarios dandoles la impresion de 3D reales. De todas formas, yo se un poco de 3D studio max, aunque me quede en el 2.5 y creo que van por el 7 o algo asi, pero lo que si te puedo asegurar que es muy dificil hacer formas organicas, osea los personajes es lo ultimo que yo trataria de hacer en 3D.

Si tienes gifs de los personajes puede dedicarte a hacer capturas de los frames, aunque perderas mucho tiempo.

Por cierto,el cruzada estelar es del mismo tipo de juegos, esta inspirado en el space hulk el cual es un juego de misiones deribado del warhammer 40k.

(_=*ZaXeR*=_)
27/08/2005, 23:14
Ahhh, no te he dicho nada sobre el juego porque ahora tengun un MAC y no se ni si hay emulador ni como puedo pasar el fxe a mi gp32.

jjdrako
27/08/2005, 23:33
yo tambien se un poco del 3D studio y lo decia por darle ademas de una imagen 3d como el diablo ya que no encuentro ningun sprite

(_=*ZaXeR*=_)
28/08/2005, 00:25
Hombre no se, pero creo recordar que habia un programa que servia para hacer modelos de personas en 3D y que te las exportaba para usarlas en el 3D studio. no recuerdo su nombre, pero tambien podrias mirar alguno de los plugins del 3D studio.

PD: Que paso con metareyes? ya no oigo hablar de ellos :s

jjdrako
28/08/2005, 09:09
a mi tambien me suena uno de hacer personas en un momento y lo de metareyes mas para hacer objetos en un momento pero de personas no me suena

Scrembolxp
28/08/2005, 09:23
El programa de modelos de personas es POSER, puede que con suerte si miras 3dcafe o alguna pagina similar de sources de modelos 3d encuentres modelos que te vengan bien. Voi ha hecharle un ojo a lo que llevas :brindis:
Salu2.
Scrembolxp.

(_=*ZaXeR*=_)
28/08/2005, 11:38
Scrembolxp tiene razon, era el poser 3d. Tambien es cierto que si mira podrias encontrar algo, y hay revistas como 3d magazine que daban cds con diseños, quizas tengas alguno por ahi.

El meta reyes no solo vale para hacer formas, era un pack con dirty reyes, cartoon reyes, y otros que no recuerdo sus nombres. Uno de ellos te hacia musculos, entonces podias recrear formas organicas con una calidad impresionante, ya que creabas los musculos y despues le ponias la piel.

Con nurbs tambien he visto cosas intersantes, pero el mejor para las nurbs era el rhino (o algo asi)

Por cierto, en que quedaron aquellos trazadores de rayos como era el POV RAY? porque la verdad en algunas revistas lo usaban mucho y a mi me parecia poco rentable tantas lineas de codigo, supongo que de eso ya solo quedara el IPAS del 3D studio como mucho no?

jjdrako
28/08/2005, 20:13
alguien ha hecho sonido con el sdk?? si es asi me podria hacer algun ejemplo?? tambien una pregunta para convertir las imagenes a *.h uso el gp32converter, para el sonido tambien vale, es el que usan??

gracias

(_=*ZaXeR*=_)
28/08/2005, 20:27
Si, yo he usado el sonido con el SDK, pero mejor pasa de el para hacer esto, porque petarde bastante y no te permite el midi.

Para transformar el audio si se usa tambien el GPconverter.


Buscare un pequeño ejemplo, pero la verdad es que es poco recomendable.

Puck2099
28/08/2005, 21:43
Pues yo le estoy metiendo sonido ahora a mi Lady Killer y estoy alucinando de lo bien que suenan los dos soniditos que he probado.

Pensaba que iba a sonar fatal por la velocidad (133 Mhz), pero ya os digo que suena muy bien. He usado las funciones del SDK y el GP32Converter.

Respecto a los sprites del Hero Quest, presisamente hoy me han dejado una revista de Micromania réplica de su segunda época y en ella viene un juego para ordenadores de aquella época (no se si era para Spectrum, CPC...) del Hero Quest. Podrías emularlo en PC, capturar las pantallas y, basándote en esos sprites, mejorarlos a tu gusto :)

Saludos

jjdrako
28/08/2005, 21:50
si yo el juego de pc del heroquest lo tengo original (me lo compre cuando salio), lo malo es que no me deja imprimir pantalla, en algunas paginas he encontrado capturas del juego pero no se con que programa las habran hecho

ed: una cosa Puck el juego ese que se llama "samurai" que has hecho es el juego de Go ?¿?¿

jjdrako
28/08/2005, 22:10
WWUUUAAA!!!! he pasado el sonido del juego original a *.h y pesa casi 38Mb el fichero mmm... se puede hacer que lea de un wav directamente y hacer que la gente lo meta si quiere a la carpeta??

Puck2099
28/08/2005, 22:14
ed: una cosa Puck el juego ese que se llama "samurai" que has hecho es el juego de Go ?¿?¿

Pues no sé, nunca he jugado al Go. El Samurai es un juego que se conoce como Reversi u Othello, consiste en atrapar fichas del contrario entre dos tuyas para volverlas de tu color.

¿Es el que dices?

Saludos

Puck2099
28/08/2005, 22:16
WWUUUAAA!!!! he pasado el sonido del juego original a *.h y pesa casi 38Mb el fichero mmm... se puede hacer que lea de un wav directamente y hacer que la gente lo meta si quiere a la carpeta??

¿Pero cuanto dura el sonido?

Te recomendaría que lo pasaras a 22321 Hz y mono, que no suena mal y ahorras espacio.

Saludos

jjdrako
28/08/2005, 22:43
Pues no sé, nunca he jugado al Go. El Samurai es un juego que se conoce como Reversi u Othello, consiste en atrapar fichas del contrario entre dos tuyas para volverlas de tu color.

¿Es el que dices?

Saludos
no se si habras visto hickaru no go (es un anime) tambien son fichas blancas y negras y lo que hay que hacer es encerrar el color contrario con las tuyas, en japon es un juego en el que existen hasta profesionales


¿Pero cuanto dura el sonido?

Te recomendaría que lo pasaras a 22321 Hz y mono, que no suena mal y ahorras espacio.

Saludos
creo que esta a estero y a 44khz si eso ya lo rebajare a ver q tal ;)

Puck2099
28/08/2005, 22:50
no se si habras visto hickaru no go (es un anime) tambien son fichas blancas y negras y lo que hay que hacer es encerrar el color contrario con las tuyas, en japon es un juego en el que existen hasta profesionales

Es posible que sea ese juego. Para salir de dudas solo tienes que bajarte mi Samurai y probarlo ;)

Saludos

(_=*ZaXeR*=_)
28/08/2005, 23:25
No estoy tan seguro de que esteis usando el SDK oficial para programar, el oficial faya, petardea al principio de la reproduccion del archivo de audio y al final del mismo. Probablemente esteis usando la version parcheada que venga en algun kit de desarrollo como el DevkitARM o alguno por el estilo, pero no el oficial descargable desde la web de gamepark. Por esto mismo aconseje a jjdrako que no lo usara.

Puck2099
28/08/2005, 23:30
No estoy tan seguro de que esteis usando el SDK oficial para programar, el oficial faya, petardea al principio de la reproduccion del archivo de audio y al final del mismo. Probablemente esteis usando la version parcheada que venga en algun kit de desarrollo como el DevkitARM o alguno por el estilo, pero no el oficial descargable desde la web de gamepark. Por esto mismo aconseje a jjdrako que no lo usara.

Pues la verdad es que ya no recuerdo de donde saqué mis librerías.

Con el ejemplo 14 (el del wav) que viene en el SDK oficial petardea que da gusto, pero cambiando el wav que trae por defecto por uno mio, funciona perfectamente :)

Saludos

(_=*ZaXeR*=_)
28/08/2005, 23:46
Yo uso mis propios wav, y petardea de la misma forma, y creo que esto era un problema muy extendido en los comienzos.

jjdrako
28/08/2005, 23:51
pues si uso el devkitarm14 pero las instrucciones que usa son las del sdk oficial osea qua para el caso es casi lo mismo :)

jjdrako
29/08/2005, 14:50
a ver quiero ir probando a meterle el sonido a ver si alguien sabe cuales son las instrucciones del sdk para poer un wav pasado a .h o que lo pille de la smc es que estoy mirando el manual de instrucciones pero habla de midis no mas

gracias

Puck2099
29/08/2005, 15:09
a ver quiero ir probando a meterle el sonido a ver si alguien sabe cuales son las instrucciones del sdk para poer un wav pasado a .h o que lo pille de la smc es que estoy mirando el manual de instrucciones pero habla de midis no mas

gracias

Mírate el ejemplo 14 del SDK que ahí viene muy clarito como se hace.

Si aun así tienes dudas, dímelo y te lo explico más detalladamente :)

Saludos

jjdrako
29/08/2005, 15:46
casi me da algo bueno aun bajandole calidad al sonido, la libreria sigue pesando (ahora 10Mb), se ha pegado un buen rato para compilar, luego lo voy a probar en el emulador y da error ******



GpPcmInit(PCM_M22,PCM_16BIT);
GpPcmPlay((unsigned short*)Sound_Quest,sizeof(Sound_Quest), 1);


eso es lo que he puesto, una cosa el 1 del GpPcmPlay es para que lo repita indefinidamente??

Puck2099
29/08/2005, 15:54
casi me da algo bueno aun bajandole calidad al sonido, la libreria sigue pesando (ahora 10Mb), se ha pegado un buen rato para compilar, luego lo voy a probar en el emulador y da error ******



GpPcmInit(PCM_M22,PCM_16BIT);
GpPcmPlay((unsigned short*)Sound_Quest,sizeof(Sound_Quest), 1);


eso es lo que he puesto, una cosa el 1 del GpPcmPlay es para que lo repita indefinidamente??

Vamos por partes.

Si te ocupa 10 MB mejor olvídate, porque nisiquiera cabe en la RAM de la consola. De todos modos, ¿cuánto dura la música?, porque me parece una pasada lo que te ocupa...

Por otro lado, el emulador no tiene implementado el sonido, así que la única forma de probarlo es en la propia consola.

El código está bien y sí, el 1 es para que se repita indefinidamente.

Saludos

Dwarf
29/08/2005, 16:45
Y para cuando una nueva entrega de este peazo de manual? :brindis:

jjdrako
29/08/2005, 17:19
Y para cuando una nueva entrega de este peazo de manual? :brindis:
me parece que cada uno se hace su propio manual :D

ya me ha salido un peso aceptable en el sonido y aun asi se oye perfectamente en la consola, ya casi solo me queda sacar los graficos de algun lado

Dwarf
29/08/2005, 17:31
mmmmm mejor tutorial que manual? :rolleyes:

jjdrako
29/08/2005, 21:24
pues no se a ver si va mejorando sus tutoriales o ducumentos como el los llama

por cierto ya he visto la instruccion para tocar el brillo mediante codigo pero solo funciona en 8bits yo como estoy haciendo el juego en 16 pues no m vale, si se ve oscuro a joderse

the_goulin
29/08/2005, 21:39
Oyo,

Bueno, respecto al tema de los "Documentos" la verdad es que los tengo un poco olvidados :P pero seguramente esta semanita empezare el 3er documento ^_^ se aceptan sugerencias sobre el contenido, yo tenia pensado explicar como hacer un pequeño mapeado y detección de colisiones en terreno (palo GpSnake o por mapa de durezas, aun no lo se) o un scroll simple (como el que se utilizo en GpFrogger)

Respecto al nivel de los tutoriales, puess... claro a muchos no le serviran de mucho pq ya tienen un nivel, seguramente mayor que el mio :-) (tampoco es muy dificil) los docus estan pensados para aprender poco a poco y intentanto explicarme lo mejor que puedo, la semana entrante abrire un foro principalmente por si la gente tiene dudas sobre los documentos.

Pero como siempre digo se aceptan sugerencias PARA TODO ya que todo el curro que haga para la Gp es para el disfrute de los usuarios (y mi diversion claro :) ) , asi que si teneis alguna idea sobre un tema a tratar en el proximo Documento o si creeis que puedo apuntar un poco mas fuerte y rapido en las explicaciones pues agradecere que me lo digais, si es lo contrario pues tambien.

Pues nada, solo eso :)

Saludillos,
The_Goulin :brindis:

Dwarf
29/08/2005, 21:47
A mi me interesaria un tuto de poner sprites en pantalla, colisiones de objeto, algun tuto de como hacer algun juego tipo plataforma ( que avances con el muñeco y el mapa se mueva) ..

Tuto 04 .- IA pa los enemigos
Tuto 05.- Sonido
...

xDDDD

jjdrako
29/08/2005, 22:18
yo tambien opino que sea algo de colisiones, scroll, y choques por la pared y que el personaje vaya andando por un suelo irregular (es decir que para andar por un sitio liso ya se, solo hay que decirle q no pase de cierta "y")

este año vere IA en informatica a ver si lo llevo bien y hago algun juego que aprenda por su cuenta :D

oankali
30/08/2005, 08:03
[...]

este año vere IA en informatica a ver si lo llevo bien y hago algun juego que aprenda por su cuenta :D

Como aprenda demasiado, jugará solo dejándote tirado :), no sería la primera vez que pasa.
Recuerdo de un juego en 3D hace unos 3 años (no recuerdo cual) en que quisieron hacerlo tan real, que se pasaron y los personajes artificiales se peleaban entre ellos pasando completamente del heroe. :)

Oankali.

jjdrako
30/08/2005, 09:10
Como aprenda demasiado, jugará solo dejándote tirado :), no sería la primera vez que pasa.
Recuerdo de un juego en 3D hace unos 3 años (no recuerdo cual) en que quisieron hacerlo tan real, que se pasaron y los personajes artificiales se peleaban entre ellos pasando completamente del heroe. :)

Oankali.
si hacia eso es porque no lo tenian muy bien programado que digamos, si se le meten condiciones para el personaje principal sea el heroe y no entre ellos, pues no pasaria algo asi

oankali
30/08/2005, 10:39
si hacia eso es porque no lo tenian muy bien programado que digamos, si se le meten condiciones para el personaje principal sea el heroe y no entre ellos, pues no pasaria algo asi

Ya, pero en el juego había trabajo en equipo y además el juego quería ser los más real posible haciéndo que sea diferente cada partida ya que los personajes artificiales no solo peleaban sinó que interactuaban entre ellos.
La verdad que debe de ser bastante chungo montar algo así.

Oankali.

(_=*ZaXeR*=_)
30/08/2005, 18:14
oankali lo del petardeo del audio, ellos no lo tienen porque su SDK esta parcheado no? porque no entiendo entonces lo que me ocurre.

jjdrako
30/08/2005, 19:31
oankali lo del petardeo del audio, ellos no lo tienen porque su SDK esta parcheado no? porque no entiendo entonces lo que me ocurre.
a ti lo que te pasa es que oyes mucho petardas.com jajajajaja :D

jjdrako
30/08/2005, 20:54
alguien podria hacer un ejemplo de lo que hay que hacer para un juego de platarformas? me refiero a que si haces un nivel en el que hay obstaculos por el suelo, cosas que suben y bajan, como se hace (vamos si hay alguna manera facil) para que el personaje se suba ande solo por donde tiene que andar, se ha nombrado lo de colisiones por colores, es esa la manera facil??

podria hacer alguien un ejemplo para que se pueda ver bien?

gracias :)

Eskema
30/08/2005, 21:12
Venga a ver esos gurus de la programacion, pq yo tampoco tengo nada claro como hacer q el personaje vaya por los desniveles como en sonic por ejemplo o mejor aun, ¿alguien recuerda super off road? pq los 4 cochecitos se enganchaban en todos los agujeros, subian las montañitas aquellas, saltaban. Algo chungo para mi sin duda alguna,....

oankali
31/08/2005, 08:23
oankali lo del petardeo del audio, ellos no lo tienen porque su SDK esta parcheado no? porque no entiendo entonces lo que me ocurre.

El petardeo puede surgir en cualquier momento según como programes o que funciones utilizas.
En mi juego Pyramids 2 tuve algún petardeo en la pantalla de récords y no recuerdo que cambié, pero el problema se solucionó.
También tengo entendido que hay una optimización del compilador que no hay que utilizar porqué aumenta los riesgos de petardeo. El petardeo es debido a la sincronización del bus de datos con el procesador, ya que a veces uno va más rápido de lo que debiera y tiene que esperar a que el otro acabe. En concreto me parece que era el DMA el causante de todo.

Prueba a cambiar tus opciones de compilación, mira el makefile de mis proyectos.
Intenta detectar que parte de tu código produce el petardeo, en principio funciones de acceso masivos a la memória como memset() o GpRectFill().
Prueba a cambiar los memset() por gm_memset(), los memcpy() por gm_memcpy() o viceversa, etc...

Oankali.

MARU0410
27/06/2007, 21:18
Hola

Bueno, he subido 2 pequeños "intentos" de tutórales en los que intento explicar como hacer videojuegos, esta destinado a gente que sabe o tiene nociones de C.

Me gustaría que os los mirarais y me dijerais que os parece, si veis que no valen la pena me dedico a otra cosa xDD

Pensar que no soy un crack y puede que tampoco el mas indicado para hablar de la materia ^_^ pero supongo que ha mas de uno le ayudara un poco.


www.alonesoft.net/GpSnake.php (http://www.alonesoft.net/GpSnake.php)

la sección se llama "documentos goulineros"

Saludillos,
The_Goulin

hola, tengo una pequeña duda----

como puedo descargar desde el ling que pusiste???

(www.alonesoft.net/GpSnake.php (http://www.alonesoft.net/GpSnake.php)

la sección se llama "documentos goulineros")

no puedo descargar los tutoriales....si alguien me puede enseñar o puede dejar los link de descarga directa para poder descargar los tutoriales seria mejor...

los necesito urgente ya que necesito hacer un juego simple pero no sé como hacerlo....

http://www.modelismonaval.com/servicios/juegos/batalla/juego_barcos.htm (http://www.modelismonaval.com/servicios/juegos/batalla/juego_barcos.htm)


es algo como eso lo que quiero y tengo que hacer....

por favor si me pueden dar una ayudadita....

de antemanos gracias y espero ser un aporte para este foro....

nos vemos y gracias nuevamente :brindis: :brindis: :brindis:

Aiken
27/06/2007, 21:53
los necesito urgente ya que necesito hacer un juego simple pero no sé como hacerlo....



pues si te fijas es que esos tutoriales tienen fecha del 2005!! seguramente ya esten perdidos.

pero tienes que programar el juego en lenguaje C, o puedes programarlo en otro lenguaje?

Aiken

MARU0410
28/06/2007, 03:18
pues si te fijas es que esos tutoriales tienen fecha del 2005!! seguramente ya esten perdidos.

pero tienes que programar el juego en lenguaje C, o puedes programarlo en otro lenguaje?

Aiken

lo necesito hacer en C es por eso que necesitaba los tutoriales....

si habia visto que los tutos son del 2005 pero preguntaba por si alguien los tiene....

si me puedes ayudar seria genial...:brindis:

david hacker
09/09/2008, 17:37
Si queria saber como saber como se hace un juego se que programa me tengo que bajar pero lo que no se es utilizarlo me gustaria que me diesen un programa de un juego y un titurial por favor ayudarme gracias.:D:brindis:[wei2]

enkonsierto
09/09/2008, 19:03
pues si...

pakoito
09/09/2008, 19:07
Si queria saber como saber como se hace un juego se que programa me tengo que bajar pero lo que no se es utilizarlo me gustaria que me diesen un programa de un juego y un titurial por favor ayudarme gracias.:D:brindis:[wei2]
¿Que programa te tienes que bajar?

cybernoid
09/09/2008, 19:24
¿Que programa te tienes que bajar?

supongo que debe hablar del sdk oficial.

por cierto, un poco viejo el hilo ¿no? :D

pakoito
09/09/2008, 19:25
supongo que debe hablar del sdk oficial.
Ya bueno, pero tengo curiosidad.

otto_xd
09/09/2008, 19:25
¿Que programa te tienes que bajar?

El de hacer juegos ¬¬U

Tienes una cosas.....

spnmoska
19/10/2008, 13:42
Hola.
Llevo poco tiempo con C,y me interesa todo tipo de ayuda.En este caso el como crear juegos.
He pinchado en el link que esta posteado,pero me redirecciona a una pagina de dminios.
Seriais tan amables de darme el link válido?.
Gracias.Me interesa el tema.

Saludos

Zenzuke
19/10/2008, 15:23
Madre mia, que reflotes... si este es de cuando Misato estaba aprendiendo a programar, dioxmio xD

^MiSaTo^
19/10/2008, 15:24
Madre de dios.. que tiempos ^^

K-teto
19/10/2008, 15:34
Lo mejor es el tio que pide el programa para hacer juegos XDDDDDDDDDDDD
Asi es como lo hacen en crytek, se bajan un programa y hacen el crysis.

La pregunta que yo he tenido siempre es... quien hace el programa para que ellos hagan el juego?

Soltfern
19/10/2008, 15:37
quien hace el programa para que ellos hagan el juego?


Igual es Super Sidekicks:

http://www.meristation.com/EPORTAL_IMGS/GENERAL/articulos/Junio2006-MundialdeFutbolMeristation2006/IMG2-cw448cb87c76def/Super_Sidekicks_2.jpg

Kurraudo
19/10/2008, 15:42
Igual es Super Sidekicks:

http://www.meristation.com/EPORTAL_IMGS/GENERAL/articulos/Junio2006-MundialdeFutbolMeristation2006/IMG2-cw448cb87c76def/Super_Sidekicks_2.jpg
Gracias, habrá que probarlo.