Autor Tema: Nails - Juego masivo online  (Leído 9240 veces)

Desconectado CarlosRdrz

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 2.505
  • Karma: 131
  • Sexo: Masculino
  • A.k.a. TLX
    • Ver Perfil
Nails - Juego masivo online
« en: 20 de Julio de 2010, 22:56:29 pm »


Hola a todos

Vengo con mucha ilusión para presentar el ultimo proyecto que estoy creando, y que desarrollo actualmente: Nails.
Cuando comencé el proyecto, fijé rápidamente mi objetivo: realizar un juego de rol masivo online.
Actualmente, no ha llegado a tanto. En el estado en el que se encuentra el proyecto, solo puedo decir que es un chat masivo online (mas o menos).

Información general
Como crear una cuenta: http://www.phperos.net/foro/index.php/topic,6270.msg47423.html#msg47423
Controles: http://www.phperos.net/foro/index.php/topic,6270.msg47423.html#msg47423
Informar de bugs, errores o sugerencias: http://www.phperos.net/foro/index.php/topic,6270.msg47423.html#msg47423
Como compilar Nails: http://www.phperos.net/foro/index.php/topic,6270.msg46663.html#msg46663
Información de compilación: http://www.phperos.net/foro/index.php/topic,6270.msg47422.html#msg47422
Página de creación de cuentas: http://nailsoficial.no-ip.info/nails/

Introducción
No os podéis imaginar el tiempo que llevo programando esta aplicación (bueno, en realidad dos, tanto el cliente como el servidor), calculo que mas de un año supongo, aunque solo en mis ratos libres y cuando me apetece. Siempre he pensado que si programas a esfuerzo terminas antes, pero no de el modo que quieres. Así que tengan este proyecto en mente como el resultado de todo mi trabajo durante largos meses por puro gusto, disfrutando cada linea que programaba y cada resultado que obtenía.

Al fin y al cabo, supongo que es el sueño de todos programar un juego, y muchos de nosotros nos involucramos en el arte de programar justamente para eso, para conseguir los conocimientos necesarios para crear nuestro videojuego. A día de hoy, por desgracia, no puedo decir que tenga los conocimientos suficientes para crear totalmente un MMORPG por muy simple que sea, pero sin duda en este tiempo he aprendido muchísimo sobre la programación y sobre todo la programación orientada a objetos, y todo esto enfocado en un campo que me gusta especialmente: el diseño de videojuegos.

He aprendido mucho sobre el diseño de estas aplicaciones, como funcionan y por qué funcionan así. He visto muchos códigos de otros juegos, y los he analizado, para intentar extraer alguna enseñanza. He leído centenares de paginas webs sobre el tema, y muchísimos tutoriales. Me he documentado sobre librerías y funciones como nunca antes lo había hecho, y ahora mismo, aunque es poco lo que tengo, me siento orgulloso de lograr lo que he logrado.

Espero que este breve texto introductorio, además de servir de presentación para mi proyecto, sirva para animar a todos esos jóvenes programadores que como yo, desean realizar una aplicación, bien sea por gusto o por labrarse un futuro como programador.

Descripción general
El proyecto Nails se presenta como un Juego de rol Masivo en 2D, programado en C++ con la libreria SDL, por lo que es un juego multiplataforma (funciona tanto en Windows como Linux y Mac).
Las dos aplicaciones (cliente y servidor) se distribuyen en licencia GPL con su código fuente, para que quien quiera sea libre de ver el código, modificarlo y redistribuirlo.
El cliente incluye un editor de mapas para que puedas modificarlo. Este editor no esta creado por mí, sino que mi Cliente esta adaptado al formato con el que guarda los mapas este editor. El editor se llama Tiled, y su página oficial es http://mapeditor.org/
Algunas imágenes las he sacado de sitios populares para usarlas, aunque no suelen abundar. En general, el diseño de imágenes no es lo mío y me he centrado mas en la programación, obteniendo algunas imágenes de internet para salir del paso como he podido, espero que sepan perdonármelo :)
Me gustaría nombrar que, además del cliente en sí, en su día decidí programar por mí mismo mi propia GUI, lo que significa que todos los botones, inputboxes y demás estan totalmente programados por mí.
Esto consumió aun mas mi tiempo. Fue algo difícil para mi, y quizás si hubiera optado por elegir una gui ya creada como por ejemplo guichan habría tardado menos, pero no habría aprendido lo mismo.
El sistema esta pensado para que las cuentas se creen via web, pero sin embargo los personajes se crean dentro del propio juego.

Incluye el programa Tiled (usa Java) para editar el mapa.
Este programa no lo he creado yo, lo puedes descargar y encontrar a su autor en:
http://www.mapeditor.org/

¿Que puedo hacer en esta versión de Nails?
- Crear tu cuenta, y crear en ella hasta tres personajes con el que conectarte al mundo
- Moverte por el escenario mientras ves como los demás se mueven
- Hablar con el resto de personajes

Por favor, ten en cuenta que ésta es simplemente la primera versión ALPHA, y que ha sido desarrollado por un solo programador.
Aunque parezca que las actuales características son pocas y básicas, el cliente abarca unas 2500 lineas de código y el servidor unas 800 lineas. Espero que sepas traducir esto en trabajo
para un solo programador. Tanto el servidor como el cliente son totalmente originales, lo que quiere decir que esas 3300 lineas han sido escritas íntegramente por mí.

¿Que podré hacer en las próximas versiones?
Si todo sigue bien, el plan es que en las próximas versiones vean la luz las siguientes características
- Cambiar de mapa al moverse a ciertas losetas del mapa, lo que da mas espacio para moverse
- Cambiar el estilo de mi personaje
- Manejar mi personaje con la interfaz en el juego, donde podrás ver tu vida, maná, etc.
- Añadir y gestionar amigos y hablar con ellos de forma privada

Además, pensando a largo plazo, la idea es que la aplicación cobre mas sentido de juego RPG, con lo que se añadirían batallas, magias y demás.

Algunos screenshots

Descargar versión actual 0.1.1
Archivo .DEB para Ubuntu/Debian -> nails_0.1.1-1_i386.deb
http://www.megaupload.com/?d=WPC3YBA7

Archivo comprimido Windows -> nails-0.1.1-windows-comprimido.rar (Usar WinRar para descomprimir)
http://www.megaupload.com/?d=BRBMBAMH

Archivo autoextraible Windows -> nails-0.1.1-windows-autoextraible.exe
http://www.megaupload.com/?d=PS26TYCM

Código fuente del cliente -> nails-0.1.1-source.tar.gz
http://www.megaupload.com/?d=1X29EB7B

Código fuente del servidor -> nailserver-0.1.1-source.tar.gz
http://www.megaupload.com/?d=G4WFZO9E

Notas para compilar
Si vais a compilar cliente o servidor leed esto:
Cliente: http://www.phperos.net/foro/index.php/topic,6270.msg47422.html#msg47422
Servidor: http://www.phperos.net/foro/index.php/topic,6270.msg47422.html#msg47422

En conclusión
Lo bueno del estado actual del proyecto y de la licencia GPL, es que actualmente el concepto de juego esta muy poco introducido en la dinámica de la aplicación, lo que significa que editándolo un poco, puedes obtener tanto un juego RPG como un juego social o cualquier otra cosa. ¡Es cuestión de imaginación!
Por cierto, actualmente no busco a ningún personal para mi equipo, pero sin embargo, como supongo que ya saben, pueden modificarlo a su gusto.

Espero que os guste,
Saludos!
« Última modificación: 23 de Agosto de 2010, 15:45:54 pm por TLX »
La dedicación de mi respuesta sera directamente proporcional a la dedicación de tu pregunta.
Hacer códigos que entiendan las máquinas es fácil, lo difícil y realmente útil es hacer códigos que entiendan las personas.
http://twitter.com/CarlosRdrz
http://www.carlosrdrz.es

Comunidad PHPeros

Nails - Juego masivo online
« en: 20 de Julio de 2010, 22:56:29 pm »

Desconectado javipilo

  • PHPero Experto
  • *****
  • Mensajes: 975
  • Karma: 31
  • Sexo: Masculino
    • Ver Perfil
Re:Nails - Juego masivo online
« Respuesta #1 en: 20 de Julio de 2010, 23:15:19 pm »
Anda y esto parece guapo.
Súbelo cuanto antes. Si quieres le diseño una web...

Saludos

Desconectado Siquillote

  • PHPero Master
  • ******
  • Mensajes: 4.229
  • Karma: 179
  • Sexo: Masculino
    • Ver Perfil
Re:Nails - Juego masivo online
« Respuesta #2 en: 20 de Julio de 2010, 23:15:33 pm »
Hace dos o tres días que me comentaste que estabas tras este proyecto y no se, con C++ creía que no se podía llegar tan lejos. Me alegro de que
por fín, alguien publique algo serio y no estafas.....

¡Si quieres me ayuda, siempre la tendrás pero si me necesitas en C++, apaga y vamonos! jaja

#Fdo. Physlet

Desconectado westwest

  • PHPero Master
  • ******
  • Mensajes: 2.837
  • Karma: 104
  • Sexo: Masculino
    • Ver Perfil
Re:Nails - Juego masivo online
« Respuesta #3 en: 20 de Julio de 2010, 23:29:18 pm »
TLX, me quito el sombrero. Es sencillito pero 3300 lineas de código tienen que costar, sobre todo C...

Tal vez me baje el código del juego y vea como va xD

¡Mucha suerte!

Desconectado FeDe

  • PHPero Avanzado
  • ****
  • Mensajes: 448
  • Karma: 35
  • Sexo: Masculino
  • BaDyDj -> ¡Mi Stylo, Mi ViDa!
    • Ver Perfil
Re:Nails - Juego masivo online
« Respuesta #4 en: 20 de Julio de 2010, 23:30:21 pm »
Señor TLX...

Quién lo diría !

Me alegro mucho de que tu esfuerzo se recompense en cosas así... que el fruto de un trabajo diario por gusto y no por dinero, porque pensando tan solo en lo económico y no lo satisfactorio es casi siempre un trabajo en vano...

Me alegro que después de tantos años conociendote y de tus primeros pasos de PHP, con mis consejos y tu entusiasmo por este mundo te halla hecho llegar más halla de la programación web y pasarte también a la programación de software como esta aplicación...

Tan solo espero que sigas con tu trabajo con la misma iniciativa, tan solo por gusto y satisfacción de ver tu esfuerzo recompensando en forma de Aplicación...

Y me satisface saber que por fín conozco a alguien que se mueve por si mismo y no por la economía; debería a ver más personas como tú.


¡ Un abrazo y sigue así, FELICIDADES !
Sin Firma me haces una? :P

Desconectado Guero

  • PHPero Avanzado
  • ****
  • Mensajes: 439
  • Karma: 13
  • Sexo: Masculino
  • PHPeros, tu web PHP
    • Ver Perfil
    • De aquí, puedes encontrar Roma
Nails - Juego masivo online
« Respuesta #5 en: 21 de Julio de 2010, 00:28:32 am »
Me alegro me parece muy bien.
Lo vas a hacer a el modo: World of Warcraft, o eso creo...

Saludos :)

Desconectado Warlox

  • Moderadores PHP
  • PHPero Master
  • ****
  • Mensajes: 1.278
  • Karma: 77
  • Sexo: Masculino
  • A veces hay que aprender a correr antes de caminar
    • Ver Perfil
    • Página personal
Re:Nails - Juego masivo online
« Respuesta #6 en: 21 de Julio de 2010, 00:54:42 am »
¡Coooool! 8)

Ya TLX me había enseñado el juego, y puedo presumir que lo he jugado (aunque no con el mismo diseño de ahora y no tenía chat), pero puedo asegurar que es genial, y que lleva mucho esfuerzo por detrás.

Suerte con todo, TLX, y que tenga éxitos el juego ;)
Saludos ^^
- Moderador de PHP


Desconectado Siquillote

  • PHPero Master
  • ******
  • Mensajes: 4.229
  • Karma: 179
  • Sexo: Masculino
    • Ver Perfil
Re:Nails - Juego masivo online
« Respuesta #7 en: 21 de Julio de 2010, 13:50:18 pm »

¡;O que fuerte Carlos, ¿A Kevin se lo enseñas a mi no?! Que fuerte me parece, jajaja es broma :$. Pero si me gustaría probarlo antes que otros :·

#Fdo. Physlet

Desconectado Edwin

  • PHPero Avanzado
  • ****
  • Mensajes: 404
  • Karma: 8
  • Sexo: Masculino
    • Ver Perfil
Re:Nails - Juego masivo online
« Respuesta #8 en: 21 de Julio de 2010, 18:56:54 pm »
¡Excelente! Veo que te esforzaste en ese juego, espero la descarga con ansias y suerte con tu siguiente versión.  :bstar:

Desconectado Fermin

  • PHPero Experto
  • *****
  • Mensajes: 783
  • Karma: 7
  • Sexo: Masculino
  • Nada que decirte.
    • Ver Perfil
Re:Nails - Juego masivo online
« Respuesta #9 en: 22 de Julio de 2010, 22:48:40 pm »
Esto si es un juego

Desconectado SoyJoaquin.

  • PHPero Master
  • ******
  • Mensajes: 2.737
  • Karma: 131
  • Sexo: Masculino
  • ส้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ส้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ Problem?
    • Ver Perfil
    • IsoMap
Re:Nails - Juego masivo online
« Respuesta #10 en: 22 de Julio de 2010, 22:52:44 pm »
Esta buenísimo... x'D
Aunque.. Puedes agarrar sprites de rpg.
Ese césped se ve de un real... Que me impresiona...

En fin...
Ojala lo termines..
Twitter: @JoakoM010



Desconectado CarlosRdrz

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 2.505
  • Karma: 131
  • Sexo: Masculino
  • A.k.a. TLX
    • Ver Perfil
Re:Nails - Juego masivo online
« Respuesta #11 en: 22 de Julio de 2010, 23:09:11 pm »
Gracias a todos por vuestros comentarios.

Y si SoyJoaquin, estoy contigo, pero si has leido todo el texto habrás entendido el por qué no me exprimí demasiado en los gráficos.

Saludos! :)
La dedicación de mi respuesta sera directamente proporcional a la dedicación de tu pregunta.
Hacer códigos que entiendan las máquinas es fácil, lo difícil y realmente útil es hacer códigos que entiendan las personas.
http://twitter.com/CarlosRdrz
http://www.carlosrdrz.es

Desconectado SoyJoaquin.

  • PHPero Master
  • ******
  • Mensajes: 2.737
  • Karma: 131
  • Sexo: Masculino
  • ส้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ส้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ Problem?
    • Ver Perfil
    • IsoMap
Re:Nails - Juego masivo online
« Respuesta #12 en: 22 de Julio de 2010, 23:15:18 pm »
Gracias a todos por vuestros comentarios.

Y si SoyJoaquin, estoy contigo, pero si has leido todo el texto habrás entendido el por qué no me exprimí demasiado en los gráficos.

Saludos! :)

Como comprenderás.. es mucho texto D:
Twitter: @JoakoM010



Desconectado CarlosRdrz

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 2.505
  • Karma: 131
  • Sexo: Masculino
  • A.k.a. TLX
    • Ver Perfil
Re:Nails - Juego masivo online
« Respuesta #13 en: 23 de Julio de 2010, 00:06:02 am »
Me parece que ahora el que dice: "En fin..." soy yo.
Saludos
La dedicación de mi respuesta sera directamente proporcional a la dedicación de tu pregunta.
Hacer códigos que entiendan las máquinas es fácil, lo difícil y realmente útil es hacer códigos que entiendan las personas.
http://twitter.com/CarlosRdrz
http://www.carlosrdrz.es

Desconectado CarlosRdrz

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 2.505
  • Karma: 131
  • Sexo: Masculino
  • A.k.a. TLX
    • Ver Perfil
Re:Nails - Juego masivo online
« Respuesta #14 en: 23 de Julio de 2010, 12:46:24 pm »
Reviviendo el tema, necesito gente para probar la aplicación, especialmente si vuestro sistema operativo es Linux o Mac, aunque tambien me vendrían bien algunas personas con Windows, supongo.

En el caso de Mac necesitáis saber compilar código en c++ para poder ayudarme.

Si os decidís a ayudarme, en Windows podéis usar este tutorial para instalar Dev-C++ con SDL.
http://www.losersjuegos.com.ar/referencia/articulos/instalar_devcpp
En la parte que dice "Obtener e Instalar SDL_image y SDL_mixer:" podéis ignorar SDL_mixer y no instalarlo, y en cambio debéis instalar SDL_ttf y SDL_net, que se instala igual que SDL_image pero los archivos necesarios se consiguen de estas páginas:
http://www.libsdl.org/projects/SDL_net/
http://www.libsdl.org/projects/SDL_ttf/
Además, en la parte de linker, que os pide que pongáis esto:
-lmingw32 -lSDLmain -lSDL -lSDL_image -lSDL_mixer
Debéis cambiarlo por:
-lmingw32 -lSDLmain -lSDL -lSDL_image -lSDL_net -lSDL_ttf

Para el caso de una distribución Linux solo tenéis que ir a vuestro gestor de paquetes preferido (Synaptic por ejemplo) e instalar los siguientes paquetes:
libsdl-image1.2, libsdl-image1.2-dev, libsdl-net1.2, libsdl-net1.2-dev, libsdl-ttf2.0-0, libsdl-ttf2.0-dev, libsdl1.2-dev
Y en el caso de distribuciones basadas en debian, como el caso de Ubuntu instalar tambien:
libsdl1.2debian y libsdl1.2debian-pulseaudio

Eso es todo
El caso de Mac lo desconozco, pues nunca he programado ahí y no tengo donde probarlo, pero si alguien se anima, en teoría el código debería compilarse sin problema ahí tambien.

Si queréis ayudarme solo pasadme vuestro MSN por MP y yo me pondré en contacto con vosotros en el momento en que necesite ayuda (que es ya).
Vuestra misión será simplemente asegurarse de que el cliente funciona de manera adecuada en esas plataformas y reportar cualquier error o bug que veáis.

Gracias a todos,
Saludos!
La dedicación de mi respuesta sera directamente proporcional a la dedicación de tu pregunta.
Hacer códigos que entiendan las máquinas es fácil, lo difícil y realmente útil es hacer códigos que entiendan las personas.
http://twitter.com/CarlosRdrz
http://www.carlosrdrz.es