You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Crear un cliente headless para testear escalabilidad del servidor y performance del cliente (self-assigned!)
Este issue es self-assigned (como varios en este repo), es decir no hace falta que alguien haga un pull request con este sistema ya que lo voy a crear yo. El propósito es más que nada documentar la idea/informar de su existencia y avances. Va a funcionar con el dakara-server y el server convencional (13.3) en VB6.
Headless client es un cliente cuyas únicas funcionalidades implementadas es conectarse al servidor y enviar paquetes simulando la actividad un usuario real: moverse, chatear, cambiar de mapa, atacar, etc. Como tiene renderización in-game limitada (o algunas veces completamente eliminada) es muy liviano y puede tener varias instancias correndo en un VPS muy básico (o tu PC).
Con esta combinación del cliente headless + tests automatizados vas a poder:
Comprobar el efecto que tienen en el servidor -tanto ancho de banda como consumo de RAM- las nuevas features que implementás. Ver cuantos usuarios se podría bancar tu servidor.
Crear tus propios tests automatizados para chequear que no se haya roto una feature ya existente cuando agregás una nueva. E2E testing.
Testear la performance del cliente simulando un escenario muy cercano a la realidad. Si bien las instancias del tal headless client no renderizan nada desde su punto de vista, vos sí vas a poder ver esos bots desde tu cliente completo convencional, como si fuesen usuarios reales. Eso te va a permitir determinar que specs necesita una PC para poder bancarse -por ejemplo- renderizar los cambios constantes en la iluminación de las superficies con normal maps (deferred shading) que ocurren cuando 100 usuarios pasan correteando + tirando hechizos (capaz con partículas) y etc. Como esto pero 50/100 luces iluminando desde diferentes direcciones e intensidades+distancias en vez de solamente la luz de mi mouse y la fogata. O testear cualquier otra feature que hayas implementado en el cliente, y a partir de ese resultado decidir si optimizar o no.
Todo esto para poder tener una imagen aproximada de como funcionaría tu proyecto en el mundo real, sería una experiencia fea darte cuenta que realmente no tenías el cliente/servidor preparado cuando empezás a tener +200 usuarios online.
Bueno... el Domingo 7 de Agosto comento por acá los avances que hubo.
The text was updated successfully, but these errors were encountered:
Bueno... el Domingo 7 de Agosto comento por acá los avances que hubo.
Videomuestra: https://youtu.be/a_NDHi3BxlU 10 bots paseando por Nix. El próximo paso sería agregar poteo + chat y el resto del ecosistema para que sea lo más similar a un escenario de mundo real... específicamente agregar taladores+pescadores+bots dueleando, etc. Se usó el dakara-server alojado en una instancia t2.micro de AWS EC2, Ubuntu.
Crear un cliente headless para testear escalabilidad del servidor y performance del cliente (self-assigned!)
Este issue es self-assigned (como varios en este repo), es decir no hace falta que alguien haga un pull request con este sistema ya que lo voy a crear yo. El propósito es más que nada documentar la idea/informar de su existencia y avances. Va a funcionar con el dakara-server y el server convencional (13.3) en VB6.
Headless client es un cliente cuyas únicas funcionalidades implementadas es conectarse al servidor y enviar paquetes simulando la actividad un usuario real: moverse, chatear, cambiar de mapa, atacar, etc. Como tiene renderización in-game limitada (o algunas veces completamente eliminada) es muy liviano y puede tener varias instancias correndo en un VPS muy básico (o tu PC).
Con esta combinación del cliente headless + tests automatizados vas a poder:
Comprobar el efecto que tienen en el servidor -tanto ancho de banda como consumo de RAM- las nuevas features que implementás. Ver cuantos usuarios se podría bancar tu servidor.
Crear tus propios tests automatizados para chequear que no se haya roto una feature ya existente cuando agregás una nueva. E2E testing.
Testear la performance del cliente simulando un escenario muy cercano a la realidad. Si bien las instancias del tal headless client no renderizan nada desde su punto de vista, vos sí vas a poder ver esos bots desde tu cliente completo convencional, como si fuesen usuarios reales. Eso te va a permitir determinar que specs necesita una PC para poder bancarse -por ejemplo- renderizar los cambios constantes en la iluminación de las superficies con normal maps (deferred shading) que ocurren cuando 100 usuarios pasan correteando + tirando hechizos (capaz con partículas) y etc. Como esto pero 50/100 luces iluminando desde diferentes direcciones e intensidades+distancias en vez de solamente la luz de mi mouse y la fogata. O testear cualquier otra feature que hayas implementado en el cliente, y a partir de ese resultado decidir si optimizar o no.
Todo esto para poder tener una imagen aproximada de como funcionaría tu proyecto en el mundo real, sería una experiencia fea darte cuenta que realmente no tenías el cliente/servidor preparado cuando empezás a tener +200 usuarios online.
Bueno... el Domingo 7 de Agosto comento por acá los avances que hubo.
The text was updated successfully, but these errors were encountered: