"Proyecto Bennu" mi primer y modesto juego de Dreamcast (Encuentro no casual)

Started by Ryo Suzuki, October 02, 2016, 10:16:51 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Ryo Suzuki

Bueno, como os dije habría cosas nuevas. ¿Y qué mejor que dar el título definitivo del juego?



Se llama 'Encuentro no casual'. ¿Qué os parece como suena?

Espero poder mostrarlo de alguna forma en la Retrobarcelona que se avecina. Ya os contaré.

Más info:

http://www.segasaturno.com/portal/mi-modesto-juego-de-dreamcast-se-llama-encuentro-no-casual-vf19-vt9128.html

http://www.dreamcast.es/news.php?readmore=830

Ryo Suzuki

Hola amigos.

Estoy vivo, jeje. El juego aunque lo tengo parado hace bastantes meses está básicamente finalizado.

Ahora estoy tratando de localizarlo al inglés para sacarlo en Dreamcast en los dos idiomas y así poder llegar a más gente.

El tema es que soy novato y muy chapucero y cuando lo programé no conté en que tuviese dos idiomas así que añadir el idioma inglés me es muy farragoso ahora y me va a dar mucha faena.

Igual os pido algún consejo...

Por ejemplo, ¿se podrían definir variables de forma alternativa? En plan, es esto o es lo otro....

Es que tengo las cadenas de texto en variables y sería lo suyo tener algo así como un IF xD

Ideas son bienvenidas...

Un saludo. Espero poder sacarlo de una forma o de otra.

Arcontus

Quote from: Ryo Suzuki on November 16, 2019, 11:15:49 AM
Hola amigos.
El tema es que soy novato y muy chapucero y cuando lo programé no conté en que tuviese dos idiomas así que añadir el idioma inglés me es muy farragoso ahora y me va a dar mucha faena.
...
Ideas son bienvenidas...

Yo tengo mi juego 5Leaps hecho en bennu y traducido tanto al ingles como al castellano. Por si no lo conoces: http://www.5leaps.com
Respecto a como hacerlo, yo lo que hice es guardarlo todo en una char[512] y utilizar un carácter delimitador entre idiomas. Luego con una sencilla funcion como esta

FUNCTION GUI_split_string_language(string * mensaje, string *str_valor)   //Dado una cadena mensaje con "español|ingles" devuelve el string apropiado sobre str_valor.
PRIVATE
    int indice, inicio, marca, tam;
END
BEGIN
    tam = len((*mensaje));
    if (tam > 0)
        marca = find((*mensaje),"@");
        if (marca > -1)
            if (idioma == LANG_ES)
                (*str_valor) = substr((*mensaje),0,marca);
            else
                (*str_valor) = substr((*mensaje),marca+1, tam);
            END
        END
    END
END

Espero que te sirva de ayuda, o de inspiración y a ver cuando enseñas algooo :)

Un saludo!
5Leaps, el primer juego comercial desarrollado para BennuGD. http://www.5leaps.com

Drumpi

Lo ideal siempre es tener un fichero con los diferentes textos. Puedes tener dos ficheros y usar PUTS y GETS para escribir y guardar las líneas de texto, o puedes tener una función que te devuelva una string en función del idioma y el texto que quieras obtener.
La idea es que sólo tengas que modificar una parte del código, y no tener las cadenas de texto desperdigadas por todo el código.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Ryo Suzuki

Arcontus, mucha gracias.

Si te soy sincero, no lo ababo de entender y no sabría implementarlo.

Tengo el texto usando una manera que me echó un cable panreyes en este hilo:

https://forum.bennugd.org/index.php?action=profile;u=5009;area=showposts;start=135

Quote from: panreyes on September 09, 2015, 10:58:42 AM
Holas Ryo,

Una preguntilla. ¿Utilizas write_in_map por algún motivo?
Yo te recomendaría hacerlo de otra forma, con write estándar.


for (i=0; i<len(cadena); i++)
  delete_text(id_texto);
  subcadena=""+subcadena+cadena[i];
  id_texto=write(0,200,100,0,subcadena);
  frame(500);
end


Estoy echándole un ojo a ver cómo podría usarlo junto a tu sugerencia. Cualquier ayuda extra... se agradece!!

Quote from: Drumpi on December 18, 2019, 01:36:32 PM
Lo ideal siempre es tener un fichero con los diferentes textos. Puedes tener dos ficheros y usar PUTS y GETS para escribir y guardar las líneas de texto, o puedes tener una función que te devuelva una string en función del idioma y el texto que quieras obtener.
La idea es que sólo tengas que modificar una parte del código, y no tener las cadenas de texto desperdigadas por todo el código.

Sí, amigo. Lo estuve intentando. Pero en Dreamcast no se pueden usar esas funciones que abren y cierran archivos externos.

--

Por cierto, os pongo algunas capturas de la demo que mostré en Retrobarcelona, que me sabe mal no poner nada:


 



Gracias, un saludo!

Drumpi

Pues entonces lo dicho:

string Function obtenerCadena (int idioma, int cadena)
private
    string a_devolver;
begin
    switch (idioma)
    case 0:  //español
        switch (cadena)
        case 0: a_devolver = "primera frase."; end
        case 1: a_devolver = "segunda frase."; end
        ...
        end //switch frases
    end
    case 1:  //english
        switch (cadena)
        case 0: a_devolver = "first sentence."; end
        case 1: a_devolver = "second dentence."; end
        ...
        end //switch frases
    end

    return a_devolver;
end


Lo metes en un include aparte y listo. Si quieres, en vez de enteros, usas constantes que será mejor (o usas "defines"). Luego en lugar de escribir la cadena, llamas a esta función, donde "idioma" lo tengas en una variable global, y "cadena" dependa del momento en que la llamas. Así de fácil.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Ryo Suzuki

Hola.

Muchas gracias Drumpi, eres muy grande.

Ya lo tengo implementado y lo estoy usando.

Estoy tratando de hacer multi-lenguaje la demo que hice en 2017 para la Retrobarcelona y sacarla pronto.

Os mantendré informados. Un abrazo y felices fiestas.

Ryo Suzuki

Hola, sigo vivo y el proyecto también.

Ya he localizado la demo al inglés. Ahora gracias a Drumpi funciona automáticamente en los dos idiomas sin hacer nada según tengas configurada tu Dreamcast (aún así voy a añadir un pequeño menú para poder cambiar el idioma en cualquier momento)

La traducción al inglés me la ha hecho un colega traductor con filología inglesa etc, pero se la paso ahora en breve a un nativo americano por si hay que pulir alguna cosa.

La demo he aprovechado y le he añadido bastantes extras y cosas ocultas. Además he corregido pequeñas cosas de guión y demás, ahora creo que es mucho mejor.





Se pudo jugar en Retro Parla 2020, que se celebró justo antes de todo este tema del COVID-19...

En fin, que esta demo-prólogo espero poder sacarla pronto (aunque estas cosas ya veo que hay que ir con mucha cautela)

Os mantendré informados, un saludo!


Ryo Suzuki

No está aún disponible públicamente aún.

Espero que se pueda descargar pronto.

No sé que haremos, en principio la demo la íbamos a poner para descargar y promocionar así el juego. Pero últimamente mi amigo Matra que edita juegos retro (fue el que me publicó el Dreamcastnoid enhanced) cree que la demo aunque sea corta tiene potencial para editarse en físico para los coleccionistas.

Realmente dice que no es demo sino que sería algo así como prólogo. En realidad no le falta razón porque no es una demo propiamente dicha con un pasaje del juego que puedes probar, es contenido totalmente nuevo en plan meta-juego para presentar el producto.

No sé qué haremos. Si publicamos este prólogo en físico (que sería muy barato en principio) dejaríamos pasar un tiempo hasta liberarlo y que estuviera en descarga, más que nada como gesto a las personas que lo comprasen.

Y el juego final supongo que algo parecido. Ese sí que saldría a la venta seguro y unos meses después o lo que sea pues se pone tal vez en descarga gratuita.

Espero tener más noticias pronto, un saludo!!



SplinterGU

Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Ryo Suzuki

Gracias a vosotros.

He implementado ya el icono del SAVE desde la VMU.



A ver si escribo un tutorial de cómo hacerlo :)

folken

Se muy bueno tu juego, muchas felicidades, pantallas de gran calidad, llama mucho la atención.

Where reality ends, life begins!

Ryo Suzuki

Gracias folken.

Estoy tratando de sacar al menos el prólogo-demo.

A ver si consigo que sea este año y ya puestos a ser optimistas el juego completo el año que viene.

Estas cosas van para largo  :'(

Os mantendré informados.