Recent Topics

Dragon Ball Super AMV - Rubbin' Off the Paint by Chakrai
[Today at 01:59:49 AM]


nice! by Tofu
[December 08, 2017, 09:42:37 AM]


Dragon Ball Super by LordWilhelmIV
[December 03, 2017, 08:56:34 PM]


Hello by Tofu
[November 18, 2017, 09:47:57 AM]


Anyone from Canada? by Yuhao
[November 09, 2017, 03:10:56 PM]

View Desktop Site View Mobile Site

* ShoutBox!

Refresh History
  • Keep it Clean! No Advertising!
  • Yesterday at 10:35:22 PM
    Luke[Dumke] i want help us with the Dev where we can Talk?
  • Yesterday at 10:34:11 PM
    Hello Guys
  • Yesterday at 01:25:50 PM
    :barduck:
  • December 10, 2017, 08:38:32 AM
    :uwot:
  • December 06, 2017, 02:30:56 PM
    :aussie:
  • December 06, 2017, 11:53:15 AM
    >:(
  • December 05, 2017, 09:28:21 AM
    me --> [link]
  • December 05, 2017, 09:27:19 AM
    you get 19+1+14+20+1 = 55 = 5x5 =25. Now mirror the number 25 and you get 52 = 5-2 = Illuminati pyramid has 3 sides. Santa = Illuminati confirmed!
  • December 05, 2017, 09:25:08 AM
    Santa...in the alphabet the S is the 19th letter. And if you break down the word santa like that with the rest of the letter
  • December 05, 2017, 05:48:35 AM
    :aussie:
  • December 05, 2017, 05:48:16 AM
    Nononono. The Aussie Santa is Dumke
  • December 05, 2017, 04:45:20 AM
    :))
  • December 05, 2017, 02:43:26 AM
    oi oi oi im the australian santa oi oi oi
  • December 04, 2017, 06:14:29 PM
    [link]
  • December 02, 2017, 12:18:55 PM
    WINTER IS HERE!
  • December 02, 2017, 09:51:20 AM
    [link]
  • December 02, 2017, 03:38:09 AM
    Lookin' good
  • December 01, 2017, 04:38:29 AM
    [link]
  • November 28, 2017, 10:25:47 AM
    :grin:
  • November 28, 2017, 01:51:09 AM
    Well that's friggin depressing
  • November 28, 2017, 12:30:05 AM
    D:
  • November 27, 2017, 11:39:49 PM
    ecsdee
  • November 25, 2017, 03:16:03 PM
    :crydbo:
  • November 25, 2017, 05:18:38 AM
    :'(
  • November 25, 2017, 05:18:32 AM
    me: [link]  [link]
  • November 25, 2017, 02:08:26 AM
    I only wait for dbor :(
  • November 25, 2017, 01:40:40 AM
    :-\
  • November 24, 2017, 06:24:44 AM
    [link]
  • November 20, 2017, 01:21:02 AM
    :'(
  • November 17, 2017, 10:06:30 PM
    R.I.P Bulma...[link]

Topic: Diario de desarrollo #2  (Read 2487 times)

0 Members and 1 Guest are viewing this topic.

Diario de desarrollo #2
« on: July 21, 2014, 01:27:12 PM »

    Offline West

  • Global Moderator
  • 6 Dragonballs
  • Honor: 80 / 1
  • Posts: 926
    • View Profile
    • Youtube Acc
  • Hail Doom Kay
  • I am a: Gun Maniac

Saludos a todos,
Aqui esta el muy pedido Diario de Desarrolo #2. Este diario va a ser bastante tecnico dado que hemos recibido preguntas muy tecnicas sobre el nucleo del server, de otros threads en el foro y en el A.M.A. Esperemos que no los aburra.

En un alto nivel, el server tiene 2 partes principales: Network (red) y simulación (claro que tambien hay otras como database, pero vamos a ignorarlas por ahora)

Para el lado del network (red), esta el "network thread pool" que maneja todas las conexiones y  entradas (inputs) de los jugadores, la simulación es el nucleo del gameplay. Aqui es donde el mundo, y todos los objetos del juego (jugadores, NPCs, y todo) estan, asi como tambien toda la logica del juego.

La simulación consiste de muchos sub-sistemas. En nuestra lista incial, hemos especulado mucho mas de 40 sub-sistemas. Desde los mas simples como inventario o mail, a los mas complejos y pesados como detección de colisión. Y estoy muy seguro de que habrán mas sub-sistemas en el proceso.

Todos estos sub-sistemas se comunican entren ellos por medio de "eventos". Cada tipo de eventos puede ser suscripto. En nuestro ultimo "Sneak Peek" video, donde se ve un simple combate, escencialmente fue una prueba del flujo de evento de combate entre un numero de sub-sistemas.

Aqui hay un rapido paso por paso en como los diferentes sub-sistemas trabajaron juntos en el ultimo ejemplo (Sneak Peek #2)

  • Cuando el jugador empieza a atacar a un mob, envía un evento el cual, el manejador de combates tiene suscripto.
  • El manejador de combates, empieza la logica del combate entre los 2 objetos (jugador-mob). Cada ronda de ataques empezaran eventos que son devueltos al jugador como da?o y actualizaciones en los LP/puntos de vida.
  • Cuando el mob muere, un evento es lanzado de nuevo para indicar que el jugador ha matado al mob.
  • El manejador de jugadores que ha sido suscripto a este evento, entonces puede premiar al jugador con puntos de experiencia, mientras que el manejador de drops (objetos lanzados por el mob al morir) que ha sido suscripto al mismo evento, entonces puede premiar al jugador con un drop de dinero y/o items, como 7 esferas del dragon (como fue visto en el video).

Similarmente, el manejador de quests (tareas o busquedas) puede ser suscripto a este evento para actualizar el progreso de la quest del jugador (si matar al mob es parte de la quest).

Tener sub-sistemas no solo hace las cosas mas manejables, si no que posibilita tenerlas corriendo en paralelo mientras que vemos que queden bien juntas. Tambien nos permite mover un sub-sistema a un proceso diferente o a un host diferente, lo cual hace al server mas escalable. Por ejemplo, la deteccion de colisiones o el manejador de aproximidad podría sobrecargarse en cuantos mas y mas jugadores haya.

No estoy diciendo que es un dise?o perfecto (y definitivamente no lo es), pero esto es con lo que hemos estado trabajando. Estoy seguro de que nuestro dise?o se rompera, será cambiado y mejorado mientras que progresamos.


Tambien hay cosas que hemos implementado con el unico proposito de beneficios en el desarrollo. Desde cosas simples como auto login y auto seleccion de personajes, a cosas como un modo especial del server en donde podemos terminar/finalizar/cesar el server del juego, hacer cambios en los codigos, recompilar y reiniciar, todo esto mientras que el cliente sigue conectado y sin la necesidad de reiniciarlo! Claro que algunos estados del mundo no son preservados/guardados luego del reinicio (no aun dado que no tiene sentido tenerlo hasta que jueguen los usuarios) pero si ayuda muchisimo cuando tenemos que testear/probar diferentes areas del server.

Este rapido video demuestra lo dicho:



Ambos jugadores  podían ver los movimientos de cada uno, hasta que el server del juego fue detenido (cuando apareció "Server is off"). Ambos clientes permanecieron encendidos sin saber que es lo que había sucedido.
Cuando el server fue encendido de nuevo, todo volvio a la normalidad. Tambien puedes notar como las posiciones de los NPCs fueron reestablecidas cuando el server fue reiniciado, como sus estados no fueron preservados.

Tambien estoy en proceso de escribir algunos clientes de prueba para que podamos hacer algunas pruebas de perfiles (profiles) y test de stress, postearemos un video de esto cuando podamos.

A parte de escribir codigos de server actual, tambien necesitamos mucha ingenieria inversa para ver como funciona el cliente.

Mucha gente piensa que dado que ya tenemos el source code (codigo base/fuente) y librerias del antiguo cliente, deberíamos trabajar mas facil y rapido. Bueno, el source code viejo ayuda obviamente. Pero el hecho real es que muchos de los protocolos, paquetes de estructura, tablas de base. etc. han sido cambiadas Muchas de ellas nos tomaron mucho tiempo trabajarlas.

No sorprendentemente, hemos descubierto que el cliente TW (Taiwan) tiene una construccion diferente a la del cliente HK (Hong Kong) en terminos de protocolos y paquetes de estructura y son completamente incompatibles entre ellos.

Mientras tanto, el cliente se crasheara (derrumbara, caera) con tan solo enviar 1 byte (bit) de data incorrecta, y no hay ninguna manera facil de solucionarlo sin la fuente, asumiendo que no contemos con el codigo de las personas que lo armaron como fuente ;) Y dado que estamos escribiendo todo desde cero y no estamos ayudandonos con el codigo de DBO/NTL, nos toma un bastante largo proceso.

Para resumir, nuestro objetivo es uno muy grande y ambicioso, pero estamos felices con lo que hemos hecho hasta el presente. Y una vez mas, agradecerles por su paciencia.

Tambien me gustaría dedicar unas palabras a todos los demas proyectos trabajando en DBO. Yo personalemente creo que son geniales. Y como un desarrollador, no hay nada mas excitante que ver a las personas tomar interes en programacion. Diferentes proyectos tendran diferentes direcciones y diferentes maneras de hacer las cosas, pero al final todos tenemos el mismo objetivo, traer de vuelta DBO. Yo realmente espero que todos podamos respetarnos, respetar nuestro trabajo y respetar las diferencias de todos.

Bueno, creo que eso es todo por ahora. Espero poder hacer mas de estas escrituras mas a menudo. Si tienen cualquier pregunta, sientanse libres de preguntar y haré mi mejor esfuerzo para responder.

Muchas gracias!
Pigeon.
R.I.P. Hall


|  Human Resources Leader for DBO Revelations  |
Contact: facebook.com/sonwestofficial



Diario de desarrollo #2
« Reply #1 on: July 21, 2014, 07:56:45 PM »

    Offline Zeref

  • 3 Dragonballs
  • Honor: 2 / 0
  • Posts: 238
    • View Profile
  • I am a: Super Saiyan
Buena información, viene bien conocer estas cosas para los que no tenemos ni idea de como funciona y que pensamos que esto se haría rapidamente  :-X

Y gracias por la traducción de nuevo!  ;)

Diario de desarrollo #2
« Reply #2 on: July 21, 2014, 09:18:23 PM »

    Offline BangeR

  • 2 Dragonballs
  • Honor: 0 / 0
  • Posts: 63
    • View Profile
  • I am a: Warrior
Buena información :D jajaja mientras leía lo de los eventos se me vino a la mente el RPG MAKER xD jajajaja bueno en fin :) muy buena la info y gracias por la traducción (Y)
Miembro del equipo de traducción de DBOR en español


Diario de desarrollo #2
« Reply #3 on: July 21, 2014, 10:18:23 PM »
    • View Profile
  • Hacker / cracker : Knowledge is free We are Legion
  • I am a: Grand Chef
 ah! buena información west muchas gracias por traducirlo e informarnos de nuevo amigo  ;). hable con mastex el sabe programar, pero tiene ingles  nivel dice es" técnico"( básico/medio) creo seria de gran ayuda en el desarrollo,pero dado su nivel de ingles para el entendimiento le costaría ,ya que tendría que traducir de vez en cuando,yo creo que por internet existe un programa de traducción automática de voz.esto iria bien,claro si es que existe y que pigeon y hexus den la aprobación para que mastex les ayude con el proyecto de desarrollo.


pregunta : mantenimiento del server : -si va a ser de alquiler habrá que pagar una cuota cada mes,¿quien la pagara? entre todos o los desarrolladores?

lo pregunto porque vi un video tutorial que explicaba los diferentes servidores .hay pequeños de bajo coste para tener a 5 clientes simultáneamente conectados(tipo oficinas)

ya que un servidor para : entre 5.000 personas y 10.000 u 15milcomo max.creo que seria un precio desorbitado¿o no?

 un saludo a todos ;) :)
« Last Edit: July 21, 2014, 10:22:22 PM by Musicchef »

Diario de desarrollo #2
« Reply #4 on: July 21, 2014, 10:54:06 PM »

    Offline Custem

  • 2 Dragonballs
  • Honor: 1 / 0
  • Posts: 64
    • View Profile
    • CustemTV - DBORevelations Y Más ! https://www.youtube.com/user/CustemHD
  • I am a: Dark Warrior
Gran post West!; como siempre gracias por traducir todo este tipo de cosas, nos facilita mucho su entendimiento! :)

Diario de desarrollo #2
« Reply #5 on: July 22, 2014, 02:11:30 AM »
    • View Profile
Yo soy nuevo en este foro, pero realmente agradezco el gran esfuerzo que hacen al traernos de vuelta dbo sigan asi ;D

Diario de desarrollo #2
« Reply #6 on: July 22, 2014, 03:09:05 AM »

    Offline Apollo

  • Moderator
  • 4 Dragonballs
  • Honor: 33 / 0
  • Posts: 439
    • View Profile
    • Apollo DBO
  • There's no such thing as useless effort
  • I am a: Turtle Hermit
ah! buena información west muchas gracias por traducirlo e informarnos de nuevo amigo  ;). hable con mastex el sabe programar, pero tiene ingles  nivel dice es" técnico"( básico/medio) creo seria de gran ayuda en el desarrollo,pero dado su nivel de ingles para el entendimiento le costaría ,ya que tendría que traducir de vez en cuando,yo creo que por internet existe un programa de traducción automática de voz.esto iria bien,claro si es que existe y que pigeon y hexus den la aprobación para que mastex les ayude con el proyecto de desarrollo.


pregunta : mantenimiento del server : -si va a ser de alquiler habrá que pagar una cuota cada mes,¿quien la pagara? entre todos o los desarrolladores?

lo pregunto porque vi un video tutorial que explicaba los diferentes servidores .hay pequeños de bajo coste para tener a 5 clientes simultáneamente conectados(tipo oficinas)

ya que un servidor para : entre 5.000 personas y 10.000 u 15milcomo max.creo que seria un precio desorbitado¿o no?

 un saludo a todos ;) :)

SonWest ya dijo en otro post que no se va a integrar mas gente al proyecto (o por lo menos públicamente), ademas creo que estaria dificil comunicarse con alguien que no se maneja muy bien en el ingles, incluso con traductores que generalmente no traducen de forma coherente, sino textual.

Lo del pago del server creo que ya se menciono antes, se utilizaría un centro de donaciones voluntario en el cual cada jugador aportaría la cantidad de dinero que desee, también se menciono una posible cash shop (pero como siempre nada es seguro aún).

Por otra lado no se si parte del dinero obtenido por la publicidad en la pagina la destinaran al pago del server, ya que según tengo entendido es utilizado en los gastos del foro.
Youtube Channel: Playing MGSV and Overwatch
Dragon Ball Xenoverse PS3 North America Champion:Razor16574 (A.K.A Sheridan)


Diario de desarrollo #2
« Reply #7 on: July 22, 2014, 03:16:31 AM »

    Offline West

  • Global Moderator
  • 6 Dragonballs
  • Honor: 80 / 1
  • Posts: 926
    • View Profile
    • Youtube Acc
  • Hail Doom Kay
  • I am a: Gun Maniac
Tristemente el dinero por publicidades no alcanza ni para pagar el website y los foros, ponemos mas dinero nosotros del que recibimos.
Lo cual no está mal, no empezamos un proyecto siendo pobres. Asi son los negocios, inversiones.

Tenemos buenas espectativas de las donaciones una vez que el server abra por suerte, pero no debería preocuparles esto, los servers siempre serán gratuitos.
Edit: ahora que recuerdo, Luke me había comentado que cuando se abran las donaciones, serán informados todos publicamente de cuanto dinero se consiguen con las donaciones y como se utiliza.
« Last Edit: July 22, 2014, 03:18:25 AM by SonWest »
R.I.P. Hall


|  Human Resources Leader for DBO Revelations  |
Contact: facebook.com/sonwestofficial



Diario de desarrollo #2
« Reply #8 on: July 22, 2014, 03:40:18 AM »

    Offline hardlock

  • 2 Dragonballs
  • Honor: 0 / 0
  • Posts: 145
    • View Profile
  • I am a: Super Saiyan
Son West os recomiendo que os unais a alguna network en Youtube para monetizar vuestros videos asi os ganais un dinerillo... ya que vuestro canal de youtube teneis bastantes visitas y esas cosas... :)

Diario de desarrollo #2
« Reply #9 on: July 22, 2014, 04:25:20 AM »

    Offline West

  • Global Moderator
  • 6 Dragonballs
  • Honor: 80 / 1
  • Posts: 926
    • View Profile
    • Youtube Acc
  • Hail Doom Kay
  • I am a: Gun Maniac
Son West os recomiendo que os unais a alguna network en Youtube para monetizar vuestros videos asi os ganais un dinerillo... ya que vuestro canal de youtube teneis bastantes visitas y esas cosas... :)
Habiamos estado con Google en ambos youtube y publicidades en la web, y de la nada nos cancelaron... (no fue ninguna infraccion nuestra realmente, hay notas en todos lados de que google anda cortando gente/empresas de la nada) y perdimos grandes cantidades que habíamos ahorrado, por el momento estamos buscando partner en YouTube, ya veremos si conseguimos nuevamente.
R.I.P. Hall


|  Human Resources Leader for DBO Revelations  |
Contact: facebook.com/sonwestofficial



Diario de desarrollo #2
« Reply #10 on: July 22, 2014, 04:34:48 AM »

    Offline hardlock

  • 2 Dragonballs
  • Honor: 0 / 0
  • Posts: 145
    • View Profile
  • I am a: Super Saiyan
os recomiendo de Partner TGN :)

Diario de desarrollo #2
« Reply #11 on: July 22, 2014, 09:44:06 PM »

    Offline UPAL

  • 2 Dragonballs
  • Honor: 2 / 0
  • Posts: 61
    • View Profile
    • Noticias Dragon Ball Online
  • 鶴仙人 Tsuru Sen'nin
  • I am a: Human
Gracias por la traducción loco se te agradece.