Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Menu

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menu

Mensajes - javiel

#1
Proyectos / ....
09 de Enero de 2008, 06:09:32 PM
bueno... bueno... muchas gracias

Voy por partes.

CitarVeo que esta vez no habéis tenido problemas para empaquetar la versión Mac

El año pasado me lo dejaste muy claro y no he tenido ningún problema ;-). No me ha dado tiempo a mandarte un correo para comunicarte lo del juego

CitarMis mas sinceras felicitaciones señores. Por ahora... mi juego español favorito en lo que va de año

Aunque llevamos 9 días del 2008 la verdad ser el favorito por ahora me emociona ;-)

Citarpor cierto que ya tenia yo ganas de dar con vosotros para cuando se montase encuentro de desarrolladores en Cádiz con DeSEA.

Estuve mirando la web de DeSEA hace un tiempo, pero estábamos un montón de liados con el proyecto este. La verdad tampoco se que podemos aportar, pero nada mas que tienes que darnos un toque para lo que sea que estamos encantados de participar

CitarSoy andaluz y me siento muy orgulloso de vuestro trabajo, a ver si llego al nivel de Málaga y veo que es lo que ponéis de mi city

Me alegra escuchar eso Uno de los grandes miedos que tuvimos con super-tiritran era como se lo iba a tomar la gente y la verdad que fue increible la respuesta. Con este nos ha pasado lo mismo, esperamos que a la gente le guste y disfruten con el juego y se vean reflejados

Citarme interesa mucho saber qué pasos habéis tenido que dar para conseguir la subvención por parte de la junta.

Ponte en contacto conmigo y te ayudo en lo que sea

CitarTambién podríais explicar un poco, si no os importa, qué tal el proceso de desarrollo. Las librerías que habéis usado, herramientas utilizadas, tiempo que os ha llevado terminarlo... y alguna dificultad que halláis encontrado.

Yo soy el programador, te puedo hablar de mi parte. Para el desarrollo del juego hemos usado SDL y OpenGL. Para el videojuego necesitábamos poder escalar las imágenes (los tableros tienen mas baldosas cuando se va avanzando por ejemplo), eso hizo que nos decantaramos por OpenGL para mejor el rendimiento, ya que SDL para eso no nos valía. Hemos usado también SDL_image y SDL_mixer para la música y expat para el trabajo con XML. Toda la información del editor se guarda en archivos XML que luego se leen en las fases.

Todo está programado en C++

Durante el desarrollo del juego he ido creando una especie de motor, no creo que llegue a esa altura, pero es en lo que me he basado para hacer el juego. El motor se llama "martian" y no está compilado como una librería a parte, está dentro del código del juego. Nunca he creado un motor, he estado creando lo que necesitaba en cada momento, con él se puede: trabajar con sprites, animaciones de sprites, mover objetos por la pantalla, escalar, rotar, drag'n'drop de elementos, trabajar con sonidos, multiidioma, y muchas cosas más. No esperéis mucho del motor la verdad, pero bueno, ahí está

El videojuego hemos tardado 10 meses en hacerlo 3 personas. La verdad que ha sido un poco duro, sobretodo el tener una fecha de entrega. Además el editor de misiones es algo que lo queríamos hacer y ha costado bastante, pero finalmente está, aunque no como me gustaría

Estoy seguro que no nos vamos a meter en otra subvención de estas, me parece que nos hemos pasado, y ha sido duro en algunos momentos, pero bueno, también ha sido bonito

Muchas gracias a todos por vuestros mensajes de verdad y a ver si os lo hacéis ;-)

saludos
#2
Proyectos / ....
09 de Enero de 2008, 11:13:32 AM
El proyecto está subvencionado, pero no ha sido un encargo. Es algo que teníamos en mente y que finalmente hemos hecho gracias a la junta.

La verdad que no conozco otros proyectos que se han hecho que estén subvencionados, y tampoco creo que haya algún juego entre ellos.

Espero que os guste y muchas gracias
#3
Ya hace un año sacamos un videojuego que tuvo cierto éxito, fue super-tirititran el superhéroe gaditano. Viendo el éxito que tuvimos con eso de hacer juegos localistas ahora llegamos con el segundo, pero esta ampliamos fronteras y el juego está ambientado en andalucía

El juego se llama "Nimuh en busca del tesoro andaluz" y podéis descargarlo desde la web del proyecto

http://www.nimuh.com

El juego es un juego de comerte un poco el coco y está basado en "Theseus and the Minotaur Mazes", pero con algunos toques personales y en perspectiva isométrica

Espero que os guste y que disfrutéis con él lo mismo que nosotros lo hemos hecho mientras lo hacíamos

un saludo y gracias a todos los del foro que me habéis ayudado como siempre con mis problemas a la hora de programarlo
#4
General Programadores / Problemas con teclado en SDL
19 de Noviembre de 2007, 12:54:25 PM
Hola a todos:

Estoy buscando una solución desesperadamente a este tema. El problema es que estoy haciendo un juego en linux y windows. La cosa es qeu cuando captura la tecla "Ñ" en linux me dice que estoy pulsando la tecla "Ñ" (muy bien), pero si la captura en Windows me dice qeu estoy pulsando el punto y coma.

Las teclas las capturo con: event.key.keysym.sym

He estado probando con el tema del unicode así event.key.keysym.unicode (activando SDL_EnableUNICODE), pero tampoco me ha dado resultado

Parece como si windows me reconociese el teclado en ingles ¿es posible eso?

Cualquier ayuda es buena. Muchas gracias a todos
#5
General Programadores / Crear un archivo con UTF-8
16 de Octubre de 2007, 08:49:21 AM
Hola a todos

Estamos en fase de terminar el juego, bueno... supongo que en dos meses estará listo, y me estoy encontrando con problemas que no se exactamente como solucionar y son bastante jodidos....

La cosa es que en el juego creado diferentes archivos XML con configuraciones y datos de los niveles y eso, y me he encontrado el problema que cuando mete una ñ o un acento en el XML luego no puedo cargarlo. Me he dado cuenta que los archivos se crean en ISO-8859-15 y cuando los paso a UTF-8 ya funcionan perfectamente

Uso "fopen" de esta manera:

f = fopen((char*)file.c_str(), "w+");

y voy haciendo los fwrite línea por línea

fwrite(tmp_val, strlen(tmp_val), 1, f);

la cuestión es ¿como podría hacer para crear directamente los archivos en UTF-8? ¿puedo hacerlo de esta forma o tendría que cambiar el código para generar los archivos de otra manera?

muchas gracias de verdad, me estáis salvando la vida estos días
#6
funciona perfecto

muchas gracias
#7
Hola a todos:

Realmente no se donde poner esta pregunta, así que lo pongo en el general. En el juego que estoy haciendo tengo un problemas, que realmente es un programa general mas que particular para la creación de videojuego

Bueno que me lío. La cosa es que tengo que crear en tiempo de ejecución algunos directorios, el problema es que en windows la única forma que he encontrado es haciendo llamadas al sistema:

system('mkdir ...')

El problema es q en windows (en linux no) cuando haga una llamada al sistema se me abre y cierra una ventana en MSDOS muy rápida que es muy molesta y lo peor es que si el juego está en pantalla completa te saca de la pantalla completa y te deja en modo ventana

¿existe alguna forma de que no salgan esas ventanas cuando se hacen llamadas al sistema?

si no se puedo ¿existe otra forma de crear directorios en c++ que no sea esta?

muchas gracias
#8
Programación gráfica / ...
15 de Octubre de 2007, 05:34:33 PM
dije que iba a responder el mates de la semana pasada y se me ha pasado ;-)

perfecto, era exactamente eso, muchas graciassssss
#9
Programación gráfica / ....
06 de Octubre de 2007, 06:00:31 PM
Entonces en mi ordenador funciona bien pq es la tarjeta es peor. Que cosas

La verdad que te lo has currado, me has convencido y estoy seguro que será por eso. Tengoque estudiar más opengl, algunas veces hago cosas que no están bien ;-)

saludos y muchas gracias, ya te contaré el martes
#10
Probaré el GL_RGBA8 con el ordenador que no funciona, aunque tendré que esperar lo menos al martes. Espero que funcione

Para cargar el PNG, estoy usando SDL y después creo la textura para OpenGL. Aquí tengo algún ejemplo por si te interesa

saludos
#11
Hola a todos:

Estamos realizando un pequeño videojuego en 2D y estamos usando OpenGL. Usamos png para todas las imágenes y el problema es q en algunos ordenadores la transparencia en PNG no sale bien. Adjunto una imagen para que podáis verlo mejor:



A la derecha la que se ve mal por supuesto. Es la sombra del personaje y se ve así, como si en todas los pixel con alpha se colocaran al 50% de transparencia.

Lo raro es que pasa en algunos ordenadores. El código que uso para cargar las texturas es el siguiente:


glGenTextures(1, &texture);
glBindTexture(GL_TEXTURE_2D , texture);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glPixelStorei(GL_UNPACK_ROW_LENGTH, surf->pitch / surf->format->BytesPerPixel);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB10_A2, surf->w, surf->h, 0, GL_RGBA, GL_UNSIGNED_BYTE, surf->pixels);
glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);


¿alquien me puede dar alguna idea? ¿puede ser por problemas con la tarjeta de video y opengl?

gracias
#12
General / ...
19 de Abril de 2007, 11:24:06 AM
estoy probando lo del WCS y eso, pero no me funciona. No se si lo estoy haciendo bien

Yo lo que tengo una clase (singleton) llamada Languge que tiene un diccionario con las palabras traduciodas del idioma. El diccionario es una "map" con dos "string", uno con el nombre y otro el valor

Cuando llamo a getText me devuelve el valor del nombre, pero lo que me devuelve es el string. Se supone que el diccionario está en unico ya que lo relleno a partir del XML que está en unicode

Total, que a la funciona wcstombs, tiene que darle el segundo parámetro en unicode en el tipo (const wchar_t*). A lo máximo que he llegado es hacer un casting, pero cuando escribo lo que pone, que está en la variable tmp que es un char de 32, no me sale lo que debería se salir

es muy posible que no lo esté haciendo bien

¿me puedes orientar con esto a ver si funciona? Muchas gracias, te pongo el código


char tmp[32];
const wchar_t* w = (const wchar_t*)Language::GetInstance()->getText("nombre").c_str();
wcstombs(tmp, w, sizeof(tmp));
#13
General / Problemas con expat y la iso-8859-1
17 de Abril de 2007, 02:39:59 PM
Hola:

Ya se que esto no está relacionado con videojuegos, aunque es por un videojuego por lo que tengo el problema ;-)

Estoy desesperado y no se donde preguntar

La cosa es que tengo un XML con los diferentes idiomas del juego y tengo un clase en C++ que contiene el diccionario. Con expat leo el XML y lo paso a al diccionario de la instanacia. La cosa es que uso iso-8859-1 pero no me pilla los acentos, la ñ y todo eso

Me estoy volviendo loco. Llevo tres días mirando y modificando el código pero es imposible. Si le paso una string con acentos me lo hace bien, pero si le paso un string que he pillado el XML no me lo hace

Tengo el archivo XML, los archivos .cpp y .h con la codificacion iso-8859-1. El XML lo tengo con encoding="iso-8859-1" y cuando cargo en el XML_Parser de expat también le pongo iso-8859-1. Yo es que creo que no hay más

Lo he probado en linux y windows y en los dos no me funciona.

Lo más raro es que los caracteres especiales me lo pilla como si fueran dos caracteres. El texto se lo paso a una clase que me crea la palabra desde una fuente bitmap. Para ello voy leyendo cada uno de los caracteres, pero los especiales son dos números negativos

Por ejemplo, si pusiera:

"gráfico"

serías algo como:

3 (g) 10 (r) -21 -23 (á) 34 (f) 24 (i) 45 (c) 12 (o)

los números me los he inventado

Bueno, cualquier cosa a lo mejor me orienta hacer nuevas pruebas, pq ya no se me ocurre nada más

¿alguna idea?

gracias de antemano
#14
Programación gráfica / Foco de luz en 2d usando OpenGL
03 de Abril de 2007, 02:53:33 PM
he hecho lo que me has dicho Fran usando

glBlendFunc(GL_SRC_ALPHA,GL_ONE)

pq GL_DST_ONE no existe

pero me sale lo siguiente:



haciendolo como te dije antes me sale bien, pero como te digo es lo mismo que poner una imagen negra con el circulo transparente

No se que hacer, o si se puede hacer

Por otro lado estoy interesado en lo que comentas de poder crear texturas. Si me puedes poner el código en JAVA y a ver si lo entiendo para pasar a c++ o si tiene (o alguien tiene) algún site donde lo explique en c++ mejor

muchas gracias
#15
Programación gráfica / ...
03 de Abril de 2007, 08:36:42 AM
sigo con las pruebas. De principio con las luces no estoy haciendo nada, aunque quiero probar a ver que tal.

Las pruebas las estoy haciendo con la máscara, pero no me salen como yo quiero realmente, aunque como yo quiero no se si se puede hacer ;-)

He puesto la máscara. Tengo la imagen y luego otra con fondo negro y círculo en blanco. Y sale esto:



He estado haciendo pruebas y la única forma ha sido poniendo el BLEND así:

glBlendFunc(GL_DST_COLOR,GL_ZERO);

Los BLEND de las otras imágenes (las de debajo) los tengo así:

glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

La cosa es que de principio esto lo podría hacer perfectamente con un PNG con un círculo transparente en medio, o sea, que tampoco es que halla avanzado demasiado.

La cuestión es que la imagen con el fondo negro es muy grande y si la moviese pues tendría que se 2 veces más grande que la pantalla para que cubriese todo. Imaginemos que quiero hacer algo como 007 cuando sale al principio de la película con el circulo buscándolo. Si tengo un círculo como este, para poder moverlo por pantalla cómodamente:



Me saldría algo así:



Y yo quisiera que saliera algo así:



No se si esto es posible, ya que la imagen negra no es tan grande, a ver que opináis

¿es posible?





Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.