[PAlib] MysdiaDS - MMORPG en NDS (release + source code)

1, 2, 3
MysdiaDS

eglomer escribió:¡¡Hola!!

Ha pasado ya casi medio año desde que empecé en solitario esta aventura (o mejor dicho locura). La cogí lleno de entusiasmo y alegría y trabajé duramente día y noche para ir avanzando paso a paso e ir consiguiendo grandes logros personales. He aprendido mucho trabajando en las más de 6500 líneas este proyecto (wifi para DS, php, C++, etc.), y me hubiese gustado poder daros a todos una primera versión mínimamente decente del juego para que os vieseis todos las caras virtualmente y hablaseis por el chat, pero, desgraciadamente, he de comunicar el abandono del proyecto.

¿Las razones? Ya he conseguido lo que quería. Quería demostrar y, sobretodo, demostrarme que podía hacer un MMORPG y que no es ninguna locura. Es posible si se tiene el tiempo, los conocimientos y el ánimo para hacerlo y yo, personalmente, he perdido el poco tiempo del que disponía y también he perdido el ánimo para seguir. Me siento satisfecho con lo que he conseguido (esas maravillosas charlas con eglomer_feo en el chat del juego... esos momentos de desesperación cuando los gusanitos se volvían locos...) aunque al final se haya torcido un poco la cosa. Siento que he alcanzado lo que me propuse, y, por eso, he decidido dejar el proyecto de lado y centrarme en otros que tengo entre manos. Cuando algo se convierte más en una obligación y una carga que en algo con lo que disfrutar, es la mejor decisión.

De todas formas, otros vendrán detrás de mí, de eso estoy seguro (de hecho, ya he visto alguno por otros foros), y para todos ellos, o para aquellos que quieran continuar con mi proyecto o simplemente tengan curiosidad por ver el funcionamiento de mis cutre-sistemas de transmisión servidor-cliente, les dejo aquí el source code completo del proyecto, y con completo quiero decir con todos los sprites, fondos, fuentes, versiones anteriores del código, etc. para poder modificar lo que se quiera (para las imágenes, necesitaréis el Paint Shop Pro X2). Sólo se deben cumplir dos condiciones: La primera, JAMÁS hacer un uso comercial con esto o con algo creado a partir de esto (eso quiere decir que no se podrá cobrar por nada); y la segunda que, en caso de crearse una obra derivada de esta o seguir trabajando en esta misma, deberá aparecer mi nombre en los créditos. Todo esto está estipulado en la licencia CC(by,nd) (en inglés) bajo la que libero el código del proyecto. Por cierto, mi código está muy sucio porque la programación modular y yo no nos llevamos muy bien, así que tomároslo con paciencia :P

En fin, sólo me queda agradecer todo el apoyo recibido por parte de todos los miembros de esta y de otras comunidades, toda la paciencia de mis sufridos betatesters, la ayuda recibida de AntonioND, un hacha en esto de la programación para la DS, y a Lau, la traductora oficial del juego.

¡¡Gracias a todos!!

Descarga MysdiaDS (copia la carpeta MysdiaDS a la raíz de tu flashcard)
Descarga Source Code




Novedades:
06/05/09
------------------
- Liberado código fuente y versión corrupta
- Abandono del proyecto

29/04/09
------------------
- Actualizados scripts para funcionar en PHP5
- Encontrado servidor la hostia de rápido (host cedido gratuitamente por Seri, así que ya podéis poneros a sus pies)
- Solucionado el tema de cuelgues aleatorios.

01/04/09
------------------
- Reducido el tiempo de desconexión de personajes inactivos de 15 a 5 minutos aproximadamente
- Parece que ya va bien en cyclo :D
- BootNDS no funciona en r4, así que se debe ejecutar el updater manualmente
- Añadida la opción de mostrar la contraseña escrita pulsando A
- Mejora en la gestión de RAM
- Arreglado bug que hacía que no se pudiese escribir ni el nombre ni la contraseña si se ponían mal o si se quería logear de nuevo una vez logeado
- BanHammer (dedicado a Rigle xD)

28/03/09
------------------
- Traducción al inglés -> 100%
- Función de rehacer personaje. Los personajes, una vez creados, no se pueden borrar, pero sí se puede crear otro personaje nuevo y sobreescribir el antiguo (perdiendo todos los logros del antiguo, claro)
- Selección de servidor desde fichero. Para cambiar de servidor sólo habrá que substituir la dirección del servidor del archivo de texto.
- Arreglado bug gráfico al mostrar a más de tres personajes en la pantalla
- Añadida la opción de cambio de idioma (por si alguien no está contento con el idioma seleccionado automáticamente y quiere cambiaro :P )
- KickSystem para patear a aquellos personajes que hayan estado inactivos durante 15 minutos aproximadamente

25/03/09
------------------
- Añadido comprobador inicial de estado del servidor, así puedo bloquear el acceso al servidor para hacer cambios fácilmente :)
- Arreglado colapso de memoria del sistema de creación de cuentas. Ahora ya crea cuentas sin problemas.
- Actualizador del juego y actualizador del actualizador con lanzador, es decir, que el juego cuando detecte una nueva versión lanzará el actualizador automáticamente, descargará el juego de internet mostrando el % de la descarga y, cuando acabe, relanzará el juego ya actualizado (bibah!). Gracias muy en parte a AntonioND :)

22/03/09
------------------
- Corregido error gráfico de movimiento de otros jugadores al mover nuestro personaje (ahora permanecen en su sitio sin moverse hacia la misma dirección que nuestro personaje)
- Añadido fondo al mostrar datos de personaje
- Corregidos errores gráficos de chat y mejorado el sistema (adiós a la maldita línea negra!)
- Mejorado el sistema de muestra de otros personajes
- Solucionado movimiento loco de personaje (al fin!)
- Mejorado el sistema de limpieza de memoria
- Implementado sistema de desconexión automática (desconexión cada minuto aprox)
- Traducción al inglés -> 97%

20/03/09
-------------------
- Añadido logotipo de EOL (con el permiso de jiXo)
- Añadida pantalla de créditos
- Nombre del juego elegido: MysdiaDS

09/03/09
-------------------
- Mejora del proceso de búsqueda de otros personajes y actualización de la posición.
- Mejora en el chat (ahora, creo, pues falta testearlo con calma, no dará el bug de la línea negra y tampoco sacará símbolos raros cuando le de la gana).
- Mejora en la creación de personajes y en los menús de login en general.
- Estoy pensando un actualizador del juego para poder actualizar directamente desde la DS, aunque no se muy bien cómo lo haré (se aceptan sugerencias).
- Se ha eliminado el mapa individual y se ha mejorado el mapa colectivo, aunque todavía da errores que hay que solventar.
- Se ha cambiado la interfaz del juego. En la pantalla de abajo se mostraran las coordenadas, el nivel y dos barras con el % de la vida y de la magia (esto en la parte de arriba) y la barra de ataques/objetos/opciones/estado del servidor/hora (en la parte de abajo); en la pantalla de arriba se mostrarán por defecto las propiedades del personaje (avatar, nombre, nivel, HP, MP, experiencia, raza, tipo y estadísticas varias), y también se mostrará, siempre y cuando lo activemos, el mapa o el chat.
- Se ha reescrito el sistema de manejo del personaje con el Stylus, aunque aún quedan algunos detalles por solventar.
- Ya tengo hechos 4 sprites de personajes (bien! sólo quedan 124!! xDD)
- Añadida autodetección de idioma (si tienes la DS configurada en español, los textos se mostrarán en dicho idioma, y si no, en mi inglés chapucero :P)

25/02/09
-------------------
- Añadido comprobador de la versión
- Empezados sprites de razas y jobs

22/02/09
--------------------
- Reforzada la seguridad del servidor
- Arreglados algunos bugs del sistema de creación de usuario/personajes (tanto en el servidor como en el juego)

21/02/09
--------------------
- Lectura desde fichero de user/pass para logear directamente
- Pantalla de selección y creación de nuevos personajes (Hasta cuatro personajes por cuenta)
- Razas y profesiones (4 razas con 4 subtipos de raza y 4 profesiones para cada subtipo, cada uno en chico o en chica -> 128 posibilidades :) )

18/02/09
--------------------
- Movimiento y registro en la base de datos del servidor de los movimiento de tu jugador.
- Movimiento en tu DS de los otros jugadores con su nombre encima.
- Movimiento a través del Stylus.
- Interfaz gráfica.
- Chat con caracteres especiales.
- Mapa donde se muestra tu posición.
- Mapa donde se muestra la posición de los demás a parte de la tuya propia.
- Fuentes y teclado propio con acentos, ñ,ç y demases.
- Pantalla de login con creación de nuevos usuarios
- Lectura desde fichero de user/pass para logear directamente
- Pantalla de selección y creación de nuevos personajes (Hasta cuatro personajes por cuenta)
- Razas y profesiones (4 razas con 4 subtipos de raza y 4 profesiones para cada subtipo, en chico o en chica -> 128 posibilidades :) )


Cosas que faltan (por supuesto, cualquier idea que se pueda aportar será más que bienvenida :) ):
- Enemigos
- Inventario
- Sistema de batalla
- Sistema de Compra/Venta
- Multihilo
- Sistema de misiones
- Música y sonidos
- Habilidades y ataques
- Sprites e imágenes en general
- Diseño gráfico general
- Colisiones


Bugs conocidos:
- El actualizador falla a veces...
- Problemas de conectividad


Trabajando en:
- Sprites de personajes (1%)


Capturas y vídeos:
Imagen
Imagen

Vídeo 1
Vídeo 2
Video 3
Video 4

--------------------------------------------------------------------

Capturas de la pantalla de login:
Imagen Imagen Imagen

Capturas de la pantalla de creación de cuenta:
Imagen Imagen Imagen

Capturas de la pantalla de creación de personaje:
Imagen

Imagen

Imagen

Imagen

Otras capturas:
Imagen Imagen
Imagen

Imagen
--------------------------------------------------------------------

Razas:

SKULLS
Los Skulls son criaturas de Halloween, seres incomprendidos cuyo sarcástico y macabro humor les ha supuesto la consideración de alocados y despreocupados. Aún así, ellos siguen expandiéndose por el mundo, llevando allá donde van su poderosa magia.

Subtipos:
- Hombre del saco / Mujer del saco.
- Calabaza.
- Paraguas.
- Esqueleto.

Imágenes:
Imagen

MONTAÑESES
Los Montañeses son unos intrépidos y valientes aventureros cuya pasión les ha puesto en más de una ocasión en serios problemas de los que no hubiesen podido salir sin su increíble fuerza bruta, su resistencia física y su agilidad.

Subtipos:
- Gato / Gata.
- Leopardo.
- Tigre / Tigresa.
- Pantera.

Imágenes:
Imagen

FLYERS
Los Flyers son los dueños del cielo, donde campan a sus anchas realizando vuelos a una velocidad de vértigo o investigando los misterios ocultos en las nubes. Su característica principal es la excelente defensa que poseen, tanto física como mágica.

Subtipos:
- Libélula.
- Dragón / Dragona.
- Fénix.
- Hado / Hada.

Imágenes:
Imagen

HORNS
Los Horn son, de entre todas las razas, los seres más tozudos e irritables. Poseen una fuerza física tremenda y una excelente puntería, por lo que es mejor intentar no molestarles mucho al cruzarse con ellos.

Subtipos:
- Toro / Vaca.
- Cabra.
- Mino.
- Unicornio.

Imágenes:
Imagen

--------------------------------------------------------------------

Profesiones:

MAGOS
Los magos son los poseedores de la magia blanca. Con ella, son capaces de ayudarse a sí mismo y a los demás, centrándose principalmente en el apoyo.

BRUJOS
Los brujos son los poseedores de la magia negra. Con ella, son capaces de crear poderosos y siniestros conjuros para destrozar a sus enemigos.

GUERREROS
Los guerreros son personas justas y valientes que luchan por defender sus ideales a fuerza de espada, pues su poder mágico apenas está desarrollado.


MERCENARIOS
Los mercenarios son personas sin ética ni moral, capaces de cualquier cosa por dinero. Además, poseen un equilibrio entre sus características físicas y mágicas que los convierten en unos adversarios formidables.

--------------------------------------------------------------------

Tablas de atributos máximos: AQUÍ
Te podría ayudar en diseño
Nuad está baneado por "troll"
Yo también quería empezar a programar en la DS...

Si puedo hacer algo dímelo, no soy muy bueno en general pero algo puedo intentar.

Me presto como escritor, porque tengo muy buenas ideas e imaginación para este tipo de trabajos, así que para guión, quests y demás puedes contar conmigo.
Yo tmb quiero colaborar

Podria hacer sprite sheets si me das el patron de una, para los enemigos y tal
Joer, como mola. Ánimo. Para cualquier cosa que necesites ya sabes, al msn. ;)
Ya podrías pasarte una beta nueva ^^u
PD: Como se nota que esto ha estado posteado en pruebas xDD
Muy buena iniciativa... Intentare ayudarte todo lo que puedas

Aqui mis ideas:

1º El nombre es mejor que se decida al final, cuando ya se sepa mas o menos como va el juego y eso
2º Deberias intentar que el juego fuera en vista isometrica como el wow, si necesitas ayuda con 3d aqui lo basico:
hilo_tutorial-1-primeros-pasos-en-3d_1043755

Bugs conocidos:
- Parece ser que no tira bien en cartuchos Cyclo
- El chat a veces se raya y empieza a sacar letras raras
- El teclado deja una línea negra en el mapa a veces
- Cuando el servidor tarda en responder el juego se queda bloqueado a la espera
- El personaje a veces se vuelve loco y empieza a cambiar de posición de forma rara

El 1º, es culpa de la flashcard, no deberias preocuparte.

El 3º podria ser , ¿que cuando la linea o la letra es mas grande de lo normal da eso?

El 4º es el mas facil, ponerle alguna condiccion (boleana) para que si no actualiza los datos en x segundos. Te salga una pantalla de espera

El 5º... Creo que es, porque tu has puesto que cuando pinches en una dirrecion. El personaje anda hacia ella, cuando lo cambias de sentido. El personaje va a 2 destinos opuestos, se lia y empieza a andar para atras y cosas asi
amchacon escribió:Muy buena iniciativa... Intentare ayudarte todo lo que puedas

Aqui mis ideas:

1º El nombre es mejor que se decida al final, cuando ya se sepa mas o menos como va el juego y eso
2º Deberias intentar que el juego fuera en vista isometrica como el wow, si necesitas ayuda con 3d aqui lo basico:
hilo_tutorial-1-primeros-pasos-en-3d_1043755

Bugs conocidos:
- Parece ser que no tira bien en cartuchos Cyclo
- El chat a veces se raya y empieza a sacar letras raras
- El teclado deja una línea negra en el mapa a veces
- Cuando el servidor tarda en responder el juego se queda bloqueado a la espera
- El personaje a veces se vuelve loco y empieza a cambiar de posición de forma rara

El 1º, es culpa de la flashcard, no deberias preocuparte.

El 3º podria ser , ¿que cuando la linea o la letra es mas grande de lo normal da eso?

El 4º es el mas facil, ponerle alguna condiccion (boleana) para que si no actualiza los datos en x segundos. Te salga una pantalla de espera

El 5º... Creo que es, porque tu has puesto que cuando pinches en una dirrecion. El personaje anda hacia ella, cuando lo cambias de sentido. El personaje va a 2 destinos opuestos, se lia y empieza a andar para atras y cosas asi


1º -> Estoy en busca y captura de alguien con cyclo para probar si es cosa del cartucho del beta tester o de todos los cyclos
3º -> No es por eso. Tengo la ligera sospecha de que se raya por interferencias de otra función, pero aún no me he parado a mirarlo detenidamente.
4º -> Mano de santo, hoygan!! Muchas gracias ^^
5º -> El personaje no va hacia dos sentidos opuestos a la vez :S Simplemente cuando hay muchos sprites se raya...

Y sobre lo de hacerlo en 3D, creo que no. No tengo los conocimientos suficientes para hacerlo, no tengo ni idea de diseño en 3D y mucho menos de programación en este aspecto, así que queda descartada la idea -.-U

Alberds escribió:Yo tmb quiero colaborar

Podria hacer sprite sheets si me das el patron de una, para los enemigos y tal

Amshun escribió:Te podría ayudar en diseño


Gracias, pero de momento es un reto personal, por lo que quiero intentar hacerlo solo :)
Keda, he descubierto una página para hacer sprites y tal.
A ver si te gusta:

http://www.famitsu.com/freegame/tool/chibi/index2.html
http://www.famitsu.com/freegame/tool/chibi/index1.html

Yo he hecho este:
Imagen

PD: Con el Charas Editor me he hecho esta:
Imagen
Rigle escribió:Keda, he descubierto una página para hacer sprites y tal.
A ver si te gusta:

chicos y chicas

¿¿No va??

pd: ¿el control del personaje sera tambien con pad?. Esque me resulta (por lo menos a mi) mas comodo.

pd2: otra cosa, ¿las batallas seran por turnos o a tiempo real?
Rigle escribió:Keda, he descubierto una página para hacer sprites y tal.
A ver si te gusta:

http://www.famitsu.com/freegame/tool/chibi/index2.html
http://www.famitsu.com/freegame/tool/chibi/index1.html

Yo he hecho este:
Imagen

PD: Con el Charas Editor me he hecho esta:
Imagen


No me van los enlaces... :S aunque para los sprites supongo que usaré el sprit_gen de Hermes, que está muy chulo.

amchacon escribió:
Rigle escribió:Keda, he descubierto una página para hacer sprites y tal.
A ver si te gusta:

chicos y chicas

¿¿No va??

pd: ¿el control del personaje sera tambien con pad?. Esque me resulta (por lo menos a mi) mas comodo.

pd2: otra cosa, ¿las batallas seran por turnos o a tiempo real?


El control será con Stylus porque el pad y los botones serán para accesos directos a ataques/objetos. Y las batallas no tengo ni idea de cómo seran xq no lo he pensado aun, y ahora mismo tampoco me decido por ninguna opción :P
Tienes que copiar la dirección, no pinchar en el enlace :o
Ey, qué alegría oir que proyectos así se empiezan. Mucho ánimo, lo más complicado es si lo dejas, volver a retomarlo, así que no lo hagas :p
Rigle escribió:Tienes que copiar la dirección, no pinchar en el enlace :o


Así sí funciona D:

XTRminator escribió:Ey, qué alegría oir que proyectos así se empiezan. Mucho ánimo, lo más complicado es si lo dejas, volver a retomarlo, así que no lo hagas :p


Lo intentaré, pero con unas oposiciones por delante no aseguro nada...

Por cierto, ya casi tengo montado el sistema de login y creación de cuentas directamente desde la DS, y parte de la creación de personajes :)

Podréis tener hasta tres personajes, aunque me estoy planteando la posibilidad de ampliarlo a cuatro, pues las razas que tengo pensadas en un principio son cuatro :P

Edit: Añadidas algunas capturas en el post principal.
que razas tienes pensadas?? tengo curiosidad

En cuanto al sistema de luchas, creo que molaria mas que fuera en tiempo real, aunque supongo que mas dificil y peor(xq no creo que la ds aguante con muchos personajes en pantalla). Y por turnos supongo que sera mas facil no? xo vamos son suposiciones mias xD de todas formas lo hagas como lo hagas mucha suerte [bye]
amarco90 escribió:que razas tienes pensadas?? tengo curiosidad

En cuanto al sistema de luchas, creo que molaria mas que fuera en tiempo real, aunque supongo que mas dificil y peor(xq no creo que la ds aguante con muchos personajes en pantalla). Y por turnos supongo que sera mas facil no? xo vamos son suposiciones mias xD de todas formas lo hagas como lo hagas mucha suerte [bye]


Pues anteayer hice una prueba y le metí hasta 101 personajes (sprites) en la pantalla y no se llegó a bloquear el juego, aunque más o menos a partir del personaje 30 empezó a haber errores gráficos y, como es normal, la velocidad de movimiento se redujo lo suyo.

Las razas tengo pensadas que sean cuatro, pero tampoco tengo muy claras sus características, así que no puedo decirte nada de momento...
Buenas, me gusta bastante tu proyecto y espero que sigas avanzando en esto. ¿Soy yo o este es el unico proyecto de mmorpg para nds? Porque ya existe Ragnarok online pero si no me confundo se juega por wifi, no?. Acerca de este tema...,¿el servidor lo pones tu o solo se podra jugar en una red wifi? Saludos
Suikoden77 escribió:Buenas, me gusta bastante tu proyecto y espero que sigas avanzando en esto. ¿Soy yo o este es el unico proyecto de mmorpg para nds? Porque ya existe Ragnarok online pero si no me confundo se juega por wifi, no?. Acerca de este tema...,¿el servidor lo pones tu o solo se podra jugar en una red wifi? Saludos

También hay uno que necesita el ópera :S
Rigle escribió:
Suikoden77 escribió:Buenas, me gusta bastante tu proyecto y espero que sigas avanzando en esto. ¿Soy yo o este es el unico proyecto de mmorpg para nds? Porque ya existe Ragnarok online pero si no me confundo se juega por wifi, no?. Acerca de este tema...,¿el servidor lo pones tu o solo se podra jugar en una red wifi? Saludos

También hay uno que necesita el ópera :S

TinyMO, aunque el autor dijo que no era más que una prueba de concepto y que no iba a continuarlo. Además se puede jugar desde cualquier navegador, no solo desde la DS (eso mola ^^), aunque se necesita expansión de RAM

Suikoden77 escribió:Buenas, me gusta bastante tu proyecto y espero que sigas avanzando en esto. ¿Soy yo o este es el unico proyecto de mmorpg para nds? Porque ya existe Ragnarok online pero si no me confundo se juega por wifi, no?. Acerca de este tema...,¿el servidor lo pones tu o solo se podra jugar en una red wifi? Saludos

No entiendo lo del servidor :S
keda escribió:
Rigle escribió:
Suikoden77 escribió:Buenas, me gusta bastante tu proyecto y espero que sigas avanzando en esto. ¿Soy yo o este es el unico proyecto de mmorpg para nds? Porque ya existe Ragnarok online pero si no me confundo se juega por wifi, no?. Acerca de este tema...,¿el servidor lo pones tu o solo se podra jugar en una red wifi? Saludos

También hay uno que necesita el ópera :S

TinyMO, aunque el autor dijo que no era más que una prueba de concepto y que no iba a continuarlo. Además se puede jugar desde cualquier navegador, no solo desde la DS (eso mola ^^), aunque se necesita expansión de RAM

Suikoden77 escribió:Buenas, me gusta bastante tu proyecto y espero que sigas avanzando en esto. ¿Soy yo o este es el unico proyecto de mmorpg para nds? Porque ya existe Ragnarok online pero si no me confundo se juega por wifi, no?. Acerca de este tema...,¿el servidor lo pones tu o solo se podra jugar en una red wifi? Saludos

No entiendo lo del servidor :S


Conocia lo de TinyMo, ademas de que lo pones en el primer post del hilo.A lo que me refiero es que para que cualquier persona pueda jugar online deberá existir un servidor, al igual que los servidores que pone nintendo para que podamos jugar a mario kart, tetris, etc etc. Puede ser que yo esté confundido, pero sin ese servidor como mucho se podria llegar a jugar por consolas conectadas cercanas con wifi, no? Espero haberme explicado mejor. Saludos
Ahh! Sí, sí, estoy haciendo el servidor a parte del juego, así que por eso no hay problema :)
1º -> Estoy en busca y captura de alguien con cyclo para probar si es cosa del cartucho del beta tester o de todos los cyclos
3º -> No es por eso. Tengo la ligera sospecha de que se raya por interferencias de otra función, pero aún no me he parado a mirarlo detenidamente.
4º -> Mano de santo, hoygan!! Muchas gracias ^^
5º -> El personaje no va hacia dos sentidos opuestos a la vez :S Simplemente cuando hay muchos sprites se raya...

Y sobre lo de hacerlo en 3D, creo que no. No tengo los conocimientos suficientes para hacerlo, no tengo ni idea de diseño en 3D y mucho menos de programación en este aspecto, así que queda descartada la idea -.-U

Ahora que pienso... Si segun tu el problema del movimiento es el numero de sprites, la solucion seria facil. Poner una condicion de que cuando los sprites que esten en uso supere un determinado numero (pongamos unos 20) se borrasen automaticamente los ultimos que han sido creados, funcionando algo asi como un sistema de depuracion. Tambien te serviria para mejorar el rendimiento
amchacon escribió:
1º -> Estoy en busca y captura de alguien con cyclo para probar si es cosa del cartucho del beta tester o de todos los cyclos
3º -> No es por eso. Tengo la ligera sospecha de que se raya por interferencias de otra función, pero aún no me he parado a mirarlo detenidamente.
4º -> Mano de santo, hoygan!! Muchas gracias ^^
5º -> El personaje no va hacia dos sentidos opuestos a la vez :S Simplemente cuando hay muchos sprites se raya...

Y sobre lo de hacerlo en 3D, creo que no. No tengo los conocimientos suficientes para hacerlo, no tengo ni idea de diseño en 3D y mucho menos de programación en este aspecto, así que queda descartada la idea -.-U

Ahora que pienso... Si segun tu el problema del movimiento es el numero de sprites, la solucion seria facil. Poner una condicion de que cuando los sprites que esten en uso supere un determinado numero (pongamos unos 20) se borrasen automaticamente los ultimos que han sido creados, funcionando algo asi como un sistema de depuracion. Tambien te serviria para mejorar el rendimiento


Ya, pero entonces no sería un MMORPG xDD
keda escribió:
amchacon escribió:
1º -> Estoy en busca y captura de alguien con cyclo para probar si es cosa del cartucho del beta tester o de todos los cyclos
3º -> No es por eso. Tengo la ligera sospecha de que se raya por interferencias de otra función, pero aún no me he parado a mirarlo detenidamente.
4º -> Mano de santo, hoygan!! Muchas gracias ^^
5º -> El personaje no va hacia dos sentidos opuestos a la vez :S Simplemente cuando hay muchos sprites se raya...

Y sobre lo de hacerlo en 3D, creo que no. No tengo los conocimientos suficientes para hacerlo, no tengo ni idea de diseño en 3D y mucho menos de programación en este aspecto, así que queda descartada la idea -.-U

Ahora que pienso... Si segun tu el problema del movimiento es el numero de sprites, la solucion seria facil. Poner una condicion de que cuando los sprites que esten en uso supere un determinado numero (pongamos unos 20) se borrasen automaticamente los ultimos que han sido creados, funcionando algo asi como un sistema de depuracion. Tambien te serviria para mejorar el rendimiento


Ya, pero entonces no sería un MMORPG xDD

K??? No te entiendo
creo que uno se refiere a que se borren de la memoria o de la pantalla cuando pasan de 30 y el otro ha entendido que se borren del servidor
No, no me refiero a borrarlos del servidor, me refiero a que si sólo se muestran 30 monigotes no cero que pudiese considerarse un MMORPG

Ya tengo al 80% la creación de los personajes, incluyendo las características de cada raza y los sprites. Serán cuatro razas, y dentro de las razas habrá la posibilidad de elegir entre cuatro subtipos. Y dentro de esos cuatro subtipos, se podrá elegir entre cuatro profesiones, a parte del género del personaje, por supuesto. En cuanto lo tenga ya os pondré algunas capturas y eso, y a ver si con un poco de suerte puedo sacar alguna beta o algo pronto.
Si necesitas un betatester con CycloDS puedes contar conmigo.

Tengo conexión Wi-fi.
keda escribió:- Movimiento a través del Stylus


Que no sea tu principal prioridad. A veces se prefiere el pad que el stylus
jon2491 escribió:Si necesitas un betatester con CycloDS puedes contar conmigo.

Tengo conexión Wi-fi.


Te apunto y para la próxima prueba que haga con los testers te aviso ;)

AleXillo escribió:
keda escribió:- Movimiento a través del Stylus


Que no sea tu principal prioridad. A veces se prefiere el pad que el stylus


Esq los botones van a ser accesos directos a ataques/items, y para combates y demás se va atener que usar el stylus, así que pensé que es más cómodo el basar todo el control en el stylus y no andar cambiando.
keda escribió:5º -> El personaje no va hacia dos sentidos opuestos a la vez :S Simplemente cuando hay muchos sprites se raya...


Cada vez que un sprite de un jugador distinto sale fuera de pantalla le borras de la ram? Si no lo haces te petara rapido, es vastante facil calcular matematicamente cuando esta fuera o dentro de pantalla y cuando crearlo o borrarlo. Asi no tendras problemas si quieres mostrar 1200 sprites en un mapa, ya que la ram solo tendra los que se muestren al momento (30 como mucho).

Sobre lo del stylus, yo al zelda que estaba desarroyando le puse control con stylus(estaba oculto) un poco jacho pero funcionava, solo era hecharle unas horitas para que funcionase bien, si te interesa ya te contare como hacerlo.

salu2

P.D: Te puedo ayudar configurando el emu para poder probar el juego sin estar cada dos por tres con la flashcard a cuestas.
Plata escribió:
keda escribió:5º -> El personaje no va hacia dos sentidos opuestos a la vez :S Simplemente cuando hay muchos sprites se raya...


Cada vez que un sprite de un jugador distinto sale fuera de pantalla le borras de la ram? Si no lo haces te petara rapido, es vastante facil calcular matematicamente cuando esta fuera o dentro de pantalla y cuando crearlo o borrarlo. Asi no tendras problemas si quieres mostrar 1200 sprites en un mapa, ya que la ram solo tendra los que se muestren al momento (30 como mucho).

Sí que se borran. Lo que hace el juego es comprobar qué jugadores están en la zona visible de la pantalla y mostrarlos, y los que no lo estén se borran con PA_DeleteSprite.

Por cierto, lo de 30 como mucho es verdad? A partir de entonces da errores? Lo digo porque el otro día hice una prueba de mostrar 100 personajes en la pantalla y sí que me daba errores gráficos con los sprites, pero no me fijé a partir de qué número fue...

Sobre lo del stylus, yo al zelda que estaba desarroyando le puse control con stylus(estaba oculto) un poco jacho pero funcionava, solo era hecharle unas horitas para que funcionase bien, si te interesa ya te contare como hacerlo.

salu2

El sistema del stylus lo tengo desde hace ya cosa de un año. Fue una de mis primeras pruebas con PAlib :) El único problema que tengo es lo de la dirección de los monigotes, que van para donde les da la gana a veces xDD

P.D: Te puedo ayudar configurando el emu para poder probar el juego sin estar cada dos por tres con la flashcard a cuestas.

Por eso de momento no tengo problema, porque como el archivo pesa poco lo meto a la DS con DSFTP, o, aún a malas, le desactivo el wifi desde el programa y compilo, aunque de cara a pruebas venideras sí que me sería de ayuda. A ver si coincidimos algún día por msn y lo hablamos ^^
keda escribió:Esq los botones van a ser accesos directos a ataques/items, y para combates y demás se va atener que usar el stylus, así que pensé que es más cómodo el basar todo el control en el stylus y no andar cambiando.


A ok. Entonces adelante y buena suerte [sonrisa]
Para los controles, a modo de idea, porque no usas unos punteros variables en todos los sitios donde se usen controles, así podrías hacer un menú de configuración para elegir las teclas actualizando estos punteros.
Es una idea que creo que podría ser buena

Otra cosa, yo no uso PAlib por las grandes limitaciones que tiene para mostrar muchos sprites, uso ulib que teoriamente permite mostrar 1400 sprites, aunque la verdad esta librería da muchos problemas con el resto de librerías... y no la recomiendo. Me llama la atención la librería de ANTONIOND, en teoría da soporte para 2D sobre 3D pero el mismo dice que aun es bastante simple, pero no dudo que sea mejor que las ulib. Estaría bien mirar las limitaciones de cada librería. (Si, no digo gran cosa en claro, pero doy ideas a mirar)

felicidades por el curro, es de admirar.
ZarkGhost escribió:Otra cosa, yo no uso PAlib por las grandes limitaciones que tiene para mostrar muchos sprites, uso ulib que teoriamente permite mostrar 1400 sprites, aunque la verdad esta librería da muchos problemas con el resto de librerías... y no la recomiendo. Me llama la atención la librería de ANTONIOND, en teoría da soporte para 2D sobre 3D pero el mismo dice que aun es bastante simple, pero no dudo que sea mejor que las ulib. Estaría bien mirar las limitaciones de cada librería. (Si, no digo gran cosa en claro, pero doy ideas a mirar)

Si, da soporte para 2D, pero muy limitado. No tiene soporte para animaciones (tendrías que ir controlando tú que frame hay que dibujar en cada caso), no te deja girar... Lo pensé para hacer barras de vida y cosas así. [tomaaa]

Por cierto, 6144/4 = 1536 sprites.
ZarkGhost escribió:Para los controles, a modo de idea, porque no usas unos punteros variables en todos los sitios donde se usen controles, así podrías hacer un menú de configuración para elegir las teclas actualizando estos punteros.
Es una idea que creo que podría ser buena

Supongo que te refieres a que se pueda elegir qué ataque/item asignar a cada botón. Si es así, es justamente lo que tenía pensado [oki]

Otra cosa, yo no uso PAlib por las grandes limitaciones que tiene para mostrar muchos sprites, uso ulib que teoriamente permite mostrar 1400 sprites, aunque la verdad esta librería da muchos problemas con el resto de librerías... y no la recomiendo. Me llama la atención la librería de ANTONIOND, en teoría da soporte para 2D sobre 3D pero el mismo dice que aun es bastante simple, pero no dudo que sea mejor que las ulib. Estaría bien mirar las limitaciones de cada librería. (Si, no digo gran cosa en claro, pero doy ideas a mirar)


Yo uso palib básicamente porque es la única libreria que "controlo" en cuanto a programación de la DS (benditos tutos de Plata :) ) y porque no tengo ni tiempo ni ganas de ponerme a mirar otras libs [360º]

felicidades por el curro, es de admirar.

gracias ^^
keda escribió:
ZarkGhost escribió:Para los controles, a modo de idea, porque no usas unos punteros variables en todos los sitios donde se usen controles, así podrías hacer un menú de configuración para elegir las teclas actualizando estos punteros.
Es una idea que creo que podría ser buena

Supongo que te refieres a que se pueda elegir qué ataque/item asignar a cada botón. Si es así, es justamente lo que tenía pensado [oki]

Otra cosa, yo no uso PAlib por las grandes limitaciones que tiene para mostrar muchos sprites, uso ulib que teoriamente permite mostrar 1400 sprites, aunque la verdad esta librería da muchos problemas con el resto de librerías... y no la recomiendo. Me llama la atención la librería de ANTONIOND, en teoría da soporte para 2D sobre 3D pero el mismo dice que aun es bastante simple, pero no dudo que sea mejor que las ulib. Estaría bien mirar las limitaciones de cada librería. (Si, no digo gran cosa en claro, pero doy ideas a mirar)


Yo uso palib básicamente porque es la única libreria que "controlo" en cuanto a programación de la DS (benditos tutos de Plata :) ) y porque no tengo ni tiempo ni ganas de ponerme a mirar otras libs [360º]

felicidades por el curro, es de admirar.

gracias ^^

diria que se refiere a que los controles sean configurables por el usuario final(a gusto del consumidor)
soukai a eso me refería.

pero vamos, quien se lo esta currando eres tu, solo es una idea, porque aunque de momento no tenga la opción de configurar controles, o no llegue a tenerla, a si, si algún día te da por implementarlo, o publicas el código y a alguien le da por implementarlo, sera bastante mas sencillo, bastara con reapuntar esos punteros a los datos que se obtengan de pulsar teclas, o de las variables que se obtengan a partir de funciones, como el control por la táctil.

Y si empiezas a llenar el código de comparaciones con los botones de la ds... y te da por cambiar la tecla, agradecerás lo rápido que sera :P
Si necesitas un guión para alguna quest puedes decírmelo ;)
Hum, vaya. Quizás podría ayudarte con el sistema de juego, y las habilidades especiales
añadidas razas, profesiones y tabla de atributos al post inicial :)
yo soy lauriya en los videos xDD, para la próxima le cambio el nombre a la DS
Bueno, señoras y señores, esto aún no está muerto. Sigo trabajando en el juego, aunque a un ritmo muy lento, pues las oposiciones que estoy preparando me dejan muy poco tiempo libre, pero aún así yo no me rindo. Algunas mejoras hechas hasta ahora son:
- Mejora del proceso de búsqueda de otros personajes y actualización de la posición.
- Mejora en el chat (ahora, creo, pues falta testearlo con calma, no dará el bug de la línea negra y tampoco sacará símbolos raros cuando le de la gana).
- Mejora en la creación de personajes y en los menús de login en general.
- Estoy pensando un actualizador del juego para poder actualizar directamente desde la DS, aunque no se muy bien cómo lo haré (se aceptan sugerencias).
- Se ha eliminado el mapa individual y se ha mejorado el mapa colectivo, aunque todavía da errores que hay que solventar.
- Se ha cambiado la interfaz del juego. En la pantalla de abajo se mostraran las coordenadas, el nivel y dos barras con el % de la vida y de la magia (esto en la parte de arriba) y la barra de ataques/objetos/opciones/estado del servidor/hora (en la parte de abajo); en la pantalla de arriba se mostrarán por defecto las propiedades del personaje (avatar, nombre, nivel, HP, MP, experiencia, raza, tipo y estadísticas varias), y también se mostrará, siempre y cuando lo activemos, el mapa o el chat.
- Se ha reescrito el sistema de manejo del personaje con el Stylus, aunque aún quedan algunos detalles por solventar.
- Ya tengo hechos 4 sprites de personajes (bien! sólo quedan 124!! xDD)
- Añadida autodetección de idioma (si tienes la DS configurada en español, los textos se mostrarán en dicho idioma, y si no, en mi inglés chapucero :P)

Que yo recuerde esas son todas las mejoras hechas hasta ahora (como hace tiempo que no escribía, no me acuerdo bien de todo lo que he hecho -.-U). En cuanto tenga acabado el tema de los sprites (buff), el mapa, el chat, algunas cosillas gráficas y el actualizador, probablemente saque una primera versión pública, aunque para eso todavía falta, pues, como ya he dicho, tengo muy poco tiempo actualmente.

Eso es todo por ahora.
Saludos!

PD: Ockto, aun estoy esperando el vídeo aquel que grabaste en la última prueba que hicimos xDD

Edit: Soy keda, que esta es otra cuenta :P
Cuantos avances, me dejas impresionado, y mas cuando estas haciendo tu todo (graficos, codigo)...
Acerca de la actualizacion mediante la consola.. no se como se podria hacer, pero yo no realizaría esto hasta mas adelante, me centraria en los otros aspectos. Además no me quiero ni imaginar como será el envío de archivos por wifi, además de que traería problemas según en que carpetas se metan los archivos, no? Sigue adelante, te está quedando de lujo, un saludo
Bueno, algunas ideas de lo que te queda hacer (nada tecnico lo que voy a decir) podrian ser:

Enemigos pos podrian ser emoticonos, que hay miles y muchos me gustaria darles una buena paliza. (ademas que pegaria con el rol de los personajes)
El sistema de batalla tipo zelda. Combate en tiempo real pero golpes por turnos. Haver si me explico. Conoceis alguno el juego tibia online? Pues asi. Tu atacas a un enemigo y cada segundo da 1 golpe, que dependiendo de la esquiva, ataque usado y demas, los golpes blancos (sin usar habilidades especiales ni nada, solo el golpe normal de arma). Luego a esos golpes blancos ya si se usa alguna habilidad especial se añadiria ese golpe al golpe blanco, por ejemplo, un ataque magico. Golpes blancos seria el lanzamiento de flechas (este al ser golpe blanco a distancia tardaria algo mas, por ejemplo 1,5 segundos) y cuerpo a cuerpo de 1 segundo cada golpe. Si usas algun ataque magico, por ejemplo (bola de fuego¿?) darias el golpe blanco y se le añadiria ese ataque.

El sistema de compra venta podria usarse algun tipo de subasta o un npc en la ciudad que se encargase de hacer los traspasos de objetos, compa venta y demas. Tu en ese npc depositas un objeto y añades un destinatario. El otro jugador añade el objeto que te va a enviar y una vez que veas su objeto, aceptarias o no, y listo. Al aceptar los dos cambio realizado (se evitan asi ninjeos y timos)

El inventario podria ser una simple mochila con algunos slots (es lo tipico) y luego un almacen, banco, etc, que puedas comprar,/alquilar a niveles un poco altos. Asi se evita la saturacion del servidor por cuentas echas simplemente para obtener espacio en el almacen.

El sistema de misiones podria ser simplemente no existiendo. Me explico. En vez de hablar con un npc, te envia a matar a x personaje y demas. Solo tendrias que, en el juego, ir i matar a x enemigo. una vez muerto, este podria soltar un objeto que al llevarlo a un npc te daria una recompensa (ya sea exp, otro objeto, dinero...) y al ser en tiempo real, no se avanzaria a lo loco. Si no que si el enemigo esta muerto te tocaria esperar su respaneo. Esto hace que si estais varios para matarlo, os dariais de leches para eliminarlo. Y asi el mas fuerte seria el que se lo llevase.
A un enemigo, si lo ataca el personaje n1 pero lo mata el n2, el loot seria del n1. Asi se evita gente aprovechada.

Al morir un jugador por la mano de otro jugador, podria tener una penalizacion de por ejemplo, que se le reduzcan los atributos un 30% durante 3 min y durante esos 3 min tuviese inmunidad para no ser atacado por otros jugadores. Esto haria que no pudiese questear durante esos 3 min en la zona, los jugadores que le mataron de mas nivel no se podrian aprovechar en matarlo, pero asi da espacio de tiempo para que los jugadores de nivel mas alto acaben lo que estaban haciendo en esa zona.

El sistema de habilidades podria ser enplan diablo. Subes de nivel y tienes 1 punto para mejorar una rama. (esto podria hacerse como el wow) Tienes 1 rama de habilidades, pero segun que escojas, daria un rol u otro al jugador. Ejemplo. Tienes un guerrero.Subes y tienes en la rama de habilidades 3 habilidades para poner un punto. Hasta que no hayas usado 3 o 4 puntos o los que se dictaminen, no podrias subir a la siguiente fila de habilidades, pero puedes seguir potenciendo las de la primera linea. Segun cual escojas, podrias tener un rol de jugador para hacer daño. Osease subes mucho el ataque, o potencias magias de ataque para matar mas rapido, pero se descuidan las de defensa. Puedes ser equilibrado, para poder hacer daño o hacer de tanke en un momento determinado, o puedes subir plenamente en estadisticas de defensa para poder aguantar, aumentar la vida, defensa, esquiva o lo que se dictamine.
Con un mago, seria distintio. Los magos no tienen rol de tanke, pero si puede ser un mago que tenga un rol para curar solo, o rol para curar y atacar, o ataque completamente.

Sobre los atajos y demas, yo lo veo facil. L pociones de vida y R de mana. Diablo puro y duro (entre otros que usas sistemas parecidos)

Sobre sprites y demas, de otros juegos tengo varios. Fuy GM de un server del tibia (un ot server o server pirata) y tambien de uno del wow (pirata igual mente). Y de esos juegos varios mapas meencargue de diseñarlos o hacerle algun areglo a otros mapas ya diseñados.

Espero que estas ideas te sirvan. No soy programador, pero bueno, algo es algo jeje.

P.D: nombre del juego...Souless (que bonito suena XD)
Sobre el actualizado... Tengo una idea:

Se comprueba las actualizaciones nada mas entrar en juego, si tienes una version defasada. No puedes jugar (para evitar las incompatibilidades)

La descarga de la actualizacion se haria, con la descarga de un archivo nds que seria el actualizador

Apagamos la ds y encendemos, cargamos el archivo nds, este nos pide la rom del juego. Se la damos, y el actualizador le mete a la rom los datos nuevos mediante un sistema de parcheo basado en xdelta

Apagamos la ds, ponemos el juego... Y ya lo tenemos actualizado

pd: El xdelta es un progama de creacion de parches y parcheo (sirve para modificar un archivo, sin tener que resubirlo entero, muy util si este tiene un gran tamaño (200mb)). Te pongo este tutorial que he sacado de google, aunque hay algunos mejores y ademas yo tambien entiendo de ese progama:
http://sigt.net/archivo/xdelta-parchean ... nsub.xhtml
Suikoden77, me vas a poner colorao XD

amchacon, lo que pones es justamente lo que había pensado hacer :)

hkg36e, menudo tocho!! xDD Vamos por partes:
- A lo de los emoticonos, lo siento pero no :P
- El sistema de combates no tengo ni idea aún de cómo será, así que me guardo lo que me has dicho por si acaso
- El sistema de compra-venta probablemente sea mediante npcs. Respecto al intercambio de objetos entre personajes, no hay nada pensado aún.
- El inventario será al estilo FF7, con una capacidad total de 100 objetos, y lo del banco y tal me lo plantearé, aunque no me gusta eso de tener que viajar kilómetros y kilómetros para poder llegar a uno (maldito wow xD).
- El sistema de misiones no puede no existir, porque a mi me gusta hacer misiones xDD Lo que no me gusta es que las misiones sean sólo un "mata a 20 animalitos" o "recoge 10 florecillas del campo". Me gustaría que tuviesen más fondo que eso...
- Sí, habrá sistema antigorrones (o por lo menos eso intentaré) :)
- Todavía no sé si implementaré el jcj en los mapas normales, aunque sí que tenía pensado crear algún lugar especial para que se pueda hacer.
- El sistema de habilidades todavía no está pensado...
- Los atajos, pensando en las personas zurdas y en las diestras, serán la cruceta y L para los diestros, y los botones y R para los zurdos.


En fin, de regalito dos vídeos nuevos. El primero muestra el menú de selección y creación de personajes, y es algo viejo, pero poco ha cambiado desde entonces, así que no hay problema. El segundo muestra todo lo que llevo hecho del juego en sí, aunque la calidad deja bastante que desear.

Video 3
Video 4

Gracias a todos!!
SIMPLEMENTE :O
ES IMPRESIONANTE . Terminalo y serás DIOOS!
alucinante. simplemente eso :O
Celduques está baneado por "utilizar clon para saltarse baneo de subforo y querer tomar el pelo a la administración"
La verdad buen trabajo, aúnque no me acabe de convencer el camino que está cogiendo el programador para el estilo de los personajes XD
119 respuestas
1, 2, 3