Bennu Game Development

Foros en Español => Proyectos => Topic started by: HaCkZJuaNN on September 08, 2008, 01:07:55 AM

Title: Ten Worlds
Post by: HaCkZJuaNN on September 08, 2008, 01:07:55 AM
Bueno, llevo más de 1 año trabajando en esto, pero debido a diversas chapuzas que he ido haciendo con el código a lo largo del tiempo, cada vez me cuesta más avanzar, así que he decidido pararlo de momento. Seguramente algún día lo termine pero como mucho reutilizaré los gráficos y sonidos, porque el código es bastante desastroso. Son 55000 líneas de código, pero que con buena organización se podrían haber reducido a menos de 10000. Pero bueno, era el primer proyecto de más de 1 semana de duración que he hecho, y me ha servido para aprender bastante sobre muchas cosas.

Está en bennu, aunque no estoy seguro de qué versión, creo que es la primera que salió. Está todo incluido en el rar así que da igual. Solo hay versión para windows, ya que esto lo publico porque lo he dejado y quería saber las opiniones de lo que llevaba hasta el momento, si fuera la versión final habría para otros OS.

Lo publico para que lo veáis y me deis vuestra opinión, porque aunque internamente sea como ya he dicho, a la hora de jugar no afecta para nada.

Esta 99,9% hecho por mi, historia, código, gráficos, música, etc... Lo único que tiene parte de autoría de otras personas son los efectos de sonido, que son de múltiples fuentes y la gran mayoría pasados por la grabadora de sonidos.

A la hora de probarlo, lo he dejado con un archivo guardado con los niveles de magia subidos prácticamente al máximo(lo necesario para lanzar todos los hechizos disponibles), vida prácticamente infinita, y con unas búsquedas introductorias pasadas, para que podáis probarlo a vuestro gusto. Si queréis modificar el archivo "haciendo trampas" decídmelo que os lo explico, es muy fácil.

Ahora lo que funciona y lo que no:

-Mapas/Regiones: Funcionar, funcionan 2 regiones de todos los mundos, el nexo, los mundos de fuego, aire y agua completos y gran parte del mundo de la tierra. Ahora, no están tal como deberían los mundos que NO sean fuego, aire, agua o tierra o el nexo, puesto que eso lo hice hace mucho y luego rediseñé todo el tema de los mapas y puede que haya fallos, además de que estéticamente no son como me gustaría. Si entráis podréis ver los "efectos ambientales" de esos mundos y algún monstruo que no aparece en los otros.

-Monstruos: Los monstruos que hay funcionan bien, que yo sepa.

-Hechizos: Los que hay funcionan, aunque aquí hay más riesgo de bugs, porque los hice hace más tiempo. Las invocaciones tenía intención de mejorarlas, hacerlas "inteligentes", pero no llegué a ese punto antes de decidir dejarlo.

-Búsquedas: Hay algunas, pero totalmente mal hechas, así que olvidáos de ellas.

No os cebéis criticando los gráficos o la música, que he tenido que hacerlas yo y de eso no sé casi nada :P La música creo que no está nada mal para haberla hecho yo, pero con los gráficos tengo más miedo :P Estuve buscando grafistas durante bastante tiempo y nadie quería, y sobre la música, encontré alguno que me dijo que me la haría, pero luego pasaron de mi, así que tuve que buscarme la vida :P

Controles:

-Para moverse, con el ratón, click izquierdo. Con click derecho cambiais la orientación del personaje sin moverlo.
-F9: Pausa
-Esc: Salir
-F1: Salvar
-F2: Cargar
-F12: Activar/Desactivar los efectos ambientales(algunos pueden ralentizar el juego por hacer demasiados cálculos, aunque no creo,a gusto del consumidor :P)
-Shift: Mostrar símbolos para lanzar hechizos(ahora lo explico)

-Para lanzar hechizos:

·Pulsando shift se muestran los símbolos de los elementos(9 en total), y el tiempo se "ralentiza"
·Cada hechizo tiene un código de elementos en un orden determinado, podéis ver el código de cada hechizo en la lista de hechizos, que podréis ver pasando el ratón por la esquina superior izquierda de la pantalla mientras jugáis o estando en pausa; para desplazaros por los diferentes niveles de magia pulsad las teclas 1-0(1-10).
·"Dibujad" el símbolo del hechizo pasando por los elementos en el orden indicado con el botón izquierdo del ratón pulsado y cuando hayáis terminado, soltadlo y el hechizo se lanzará. Algunos hechizos complicados pueden parecerlo demasiado, pero os recomiendo que los probéis porque tienen efectos bastante buenos, desde mi punto de vista.
·Cuando invoquéis un monstruo, con el sistema actual(sin IA), tenéis las siguientes teclas para darles órdenes, pulsando su tecla con el ratón sobre el objetivo(lugar o monstruo): D - Demon, A - Air Golem, P - Poison Golem, S - Skeleton, Space - Todos.

La intro aparece siempre, pero os la podéis saltar dándole a enter o pulsando el ratón. El juego está en inglés, así que para los que no sepan cuento un poco la historia inicial:

=>Los Keron y los Fert eran dos razas ultrapoderosas y archienemigas, luchaban constantemente hasta que los Fert decidieron juntar todo su poder mágico para encerrar a los Keron en una prisión(no tenían suficiente poder para matarlos) y dividir el mundo en 10. Entonces ambas razas creían que eran los seres más poderosos del universo. Los Keron fueron encerrados en un pequeño mundo propio y su memoria fue borrada, olvidando su antiguo poder. No obstante, antes de que aquello sucediera, algún Keron consiguio escribir un libro explicándolo todo y mostrando gran parte de los hechizos antiguamente conocidos por estos, y lo enterro en este mundo-prisión. Tú eres un Keron que vives en este nuevo mundo y un día encuentran el libro enterrado. Resulta que pueden teletransportar a un solo Keron al Nexo, el lugar de unión de los 10 nuevos mundos, y te toca a ti por sorteo. Una vez allí te das cuenta de que existían muchas otras fuerzas muy poderosas que desconocíais.

Screenshots:

1. Mundo de la tierra, lanzando un hechizo
(http://img297.imageshack.us/img297/4196/tenworlds1sa6.th.png) (http://img297.imageshack.us/my.php?image=tenworlds1sa6.png)

2. Mundo del fuego
(http://img84.imageshack.us/img84/4866/tenworlds2fz9.th.png) (http://img84.imageshack.us/my.php?image=tenworlds2fz9.png)

3. Dentro de un hormiguero de hormigas gigantes, en el mundo del aire
(http://img297.imageshack.us/img297/4796/tenworlds3xu1.th.png) (http://img297.imageshack.us/my.php?image=tenworlds3xu1.png)

4. En una ciudad fert, en el mundo del aire
(http://img83.imageshack.us/img83/7231/tenworlds4ph6.th.png) (http://img83.imageshack.us/my.php?image=tenworlds4ph6.png)

5. Mundo del agua
(http://img352.imageshack.us/img352/815/tenworlds5oh3.th.png) (http://img352.imageshack.us/my.php?image=tenworlds5oh3.png)

6. Lista de hechizos
(http://img83.imageshack.us/img83/4971/tenworlds6ze4.th.png) (http://img83.imageshack.us/my.php?image=tenworlds6ze4.png)

Descarga: http://www.megaupload.com/?d=NLXK9BJ9
Title: Re: Ten Worlds
Post by: blostec on September 08, 2008, 07:17:15 PM

Que pena que lo hayas dejado pero como bien dices, si te ha servido para aprender ya merece el esfuerzo realizado. Ahora me lo bajo y ya te comentare, saludos!
Title: Re: Ten Worlds
Post by: SplinterGU on September 08, 2008, 07:42:35 PM
Viendo las imagenes hasta dan ganas de jugarlo, los graficos no estan tan mal para una primera version...
Ya lo baje, en algun tiempo lo probare, ahora estoy metido de lleno con la release de bennu...
Title: Re: Ten Worlds
Post by: fr0d0b0ls0n on September 09, 2008, 07:29:33 AM
Guau, 55000 líneas de código, debe ser un caos intentar corregir algo. 11 veces más que mi proyecto actualmente O_O.

Le he estado echando un vistazo pero se me hace complicado de manejar, y los primeros enemigos me parecen demasiado "complicados", tengo que lanzarles mil hechizos. ¿Algo se me escapa?
Title: Re: Ten Worlds
Post by: HaCkZJuaNN on September 09, 2008, 12:20:18 PM
El daño de los hechizos no se corresponde con la vida de los enemigos, es algo que tenía por ajustar. Además, se supone que es un juego para practicar el lanzamiento y hacerlo cada vez más rápido y fluido. Yo a base de pruebas soy capaz de lanzar el hechizo más complicado en cosa de 5-6 segundos. Además, la idea era incluir un montón de hechizos que no fueran solo para hacer daño, como por ejemplo "small pause", que si que está incluido, que sirve para ralentizar el transcurso del tiempo, o hechizos de protección, hechizos que congelen a los enemigos, etc... haciendo que en vez de ser un juego de fuerza bruta sea un juego de inteligencia, sabiendo qué hechizos utilizar en cada momento.
Title: Re: Ten Worlds
Post by: FreeYourMind on November 14, 2010, 07:28:45 PM
Alguien se ha descargado el juego para ponerlo de nuevo aqui ?
El link ya no funciona...
Title: Re: Ten Worlds
Post by: Windgate on November 15, 2010, 08:52:28 AM
No va el link, si lo pones te lo puedo hostear, o puedes subirlo a la web de proyectos Bennu
Title: Re: Ten Worlds
Post by: FreeYourMind on November 15, 2010, 09:57:14 AM
Si lo estoy pidiendo como te lo voy a poner !?  :D
Title: Re: Ten Worlds
Post by: SplinterGU on November 15, 2010, 10:50:07 AM
:)
Title: Re: Ten Worlds
Post by: Outlaw on November 26, 2010, 03:56:22 AM
Quote from: FreeYourMind on November 15, 2010, 09:57:14 AM
Si lo estoy pidiendo como te lo voy a poner !?  :D

Jajajaja, muy cierto!  ;D
De hecho yo entré, vi las pantallas y leí de lo que se trata y me dieron ganas de descargarlo, ¿alguien tendrá una copia por ahí?  :)
Title: Re: Ten Worlds
Post by: Windgate on November 28, 2010, 04:48:01 PM
Quote from: FreeYourMind on November 15, 2010, 09:57:14 AM
Si lo estoy pidiendo como te lo voy a poner !?  :D

No te lo decía a tí caracono, se lo decía al autor xD
Title: Re: Ten Worlds
Post by: HaCkZJuaNN on October 29, 2011, 01:02:34 PM
Reflote.

El autor acaba de volver. Lo cierto es que a estas alturas me siento muy avergonzado del código de este juego, pero lo voy a volver a subir igualmente.

Está exactamente en el mismo estado que estaba cuando lo posteé.

Tengo planeado re-hacer este juego, con la misma idea pero todo más serio. No obstante, he de reconocer que mi idea era hacerlo en Java y no en Bennu :S Creo que Bennu es mejor para juegos de un tamaño más moderado.

En cualquier caso ahí va:

http://www.megaupload.com/?d=NLXK9BJ9
Title: Re: Ten Worlds
Post by: FreeYourMind on October 29, 2011, 02:00:12 PM
Para que vas a tener verguenza ? Acaso piensas que los demás lo hacen mejor o que ?
Gracias por compartirlo, veré si puedo probarlo cuanto antes.
Title: Re: Ten Worlds
Post by: Drumpi on November 04, 2011, 07:42:24 PM
A lo que dice Free añado: no te creas que por hacerlo en Java va a ser más fácil, es exactamente igual. Cierto que tienes que controlar menos cosas (las descargas), pero en cuanto un proyecto crece, tienes los mismos problemas uses el lenguaje que uses.

Solución: empezar por cosas pequeñas, e ir aumentando el tamaño a medida que se aprende ;)
Title: Re: Ten Worlds
Post by: HaCkZJuaNN on November 07, 2011, 09:29:56 PM
Quote from: Drumpi on November 04, 2011, 07:42:24 PM
A lo que dice Free añado: no te creas que por hacerlo en Java va a ser más fácil, es exactamente igual. Cierto que tienes que controlar menos cosas (las descargas), pero en cuanto un proyecto crece, tienes los mismos problemas uses el lenguaje que uses.

Solución: empezar por cosas pequeñas, e ir aumentando el tamaño a medida que se aprende ;)

Nah, es porque para hacer lógica complicada Java es increíblemente bonito. De hecho, es bastante más complicado hacerlo en Java que en Bennu.

De todas formas tengo una idea a muy largo plazo de meter ciertos elementos de programación orientada a objetos en Bennu que ya le he comentado a Splinter que, si acabó haciendo o alguien distinto hace, quizás signifique que use Bennu para proyectos algo más grandes.

Todo esto son especulaciones, lo cierto es que apenas he acabado ningún proyecto medianamente grande (alguno sí, pero no demasiados).
Title: Re: Ten Worlds
Post by: Drumpi on November 10, 2011, 08:12:05 PM
Otro que no se ha dado cuenta de que Bennu ya es orientado a objetos :D

Sí, sí, procesos, pero analizándolo fríamente, con el sistema de sincronización y comunicación tan sencillo que tiene, está más a medio camino de la orientación a objetos que de la programación concurrente pura y dura. Analizad las funciones de manejo de primitivas ;D

(Juer, y sólo son las 21:00, ni siquiera he pasado de las 00:00 :D :D :D).

Nah, sólo divago. A ver qué es lo que estás pensando meter. También sería interesante tener algún elemento de programación concurrente, sobre todo, paso de mensajes (una tubería, o un estado de congelación hasta que alguien lo despierte con un dato... o que el actual signal pueda retornar un valor enviado con signal(otroid,s_wakeup, un_valor)).
Title: Re: Ten Worlds
Post by: HaCkZJuaNN on November 11, 2011, 12:54:14 PM
Sísí, claro que lo es, y por eso quiero terminarlo. El esquema es totalmente orientado a objetos con los procesos y las variables públicas y demás. Lo que yo hecho en falta son las interfaces y la herencia, principalmente; y eso es lo que quiero implementar.

La programación orientada a objetos y concurrente están intimamente relacionadas porque... conceptualmente van de la mano. Ahí tienes Java y todos sus líos con los threads (y supongo que otros lenguajes orientados a objetos tienen cosas parecidas).