Unity #HO | Información General

totespare

#210 que me la he leido joder xD, debo ser puto retrasado macho jajaja

txandy

#209 porque tu puedes hacer lo que te salga el pito.

No hay ninguna relación, es la que tú le des y como montes el sistema. Yo tenía solo un prefab y modificaba las variables de este a partir del so.

Si tú necesitas muchos prefab, entonces cada prefab tendrá un so que este tendrá la información que quieras

1 respuesta
totespare
#212txandy:

Si tú necesitas muchos prefab, entonces cada prefab tendrá un so que este tendrá la información que quieras

eso es lo que creo que necesito. Tengo X enemigos, con un número Y de variables similares (vida, coste etc.), pero lo demás va por su cuenta. De todas formas, si cambio el valor de un miembro del SO, se cambia para todas las instancias que lo tengan, no? No está compartimentado... Entonces tendría que hacerme copias locales de esos valores en mi prefab, así que no veo por qué mierda iba a usar un SO...

B

Yo uso bastantes scriptableObjects y la ventaja sobre crear prefabs únicos para cada elemento es infinita.

Lo primero, poder cambiar valores en los atributos de los enemigos desde un CSV sin tener que alterar los prefabs o ir viendo cada uno de ellos.
Modificar con un SO, que tipo de enemigo será, partiendo de la misma base.
Reducir el tamaño de cada elemento en memoria eliminando el tener que cargar de un json.
Los SO no son necesarios de hacerlos a mano, pero crear uno o varios para testeo son perfectos para ello a la hora de modificar valores y equilibrar "fuerzas"
Trabajar con varias personas sin tener problemas a la hora de modificar prefabs ya construidos.
Puedes tener tropecientos SO y de diferentes tipos según tus necesidades. Yo tengo SO para:

  • Stats de los enemigos
  • Diálogos
  • AI
  • Skills

Totes, tu haces una copia de ese SO en tu prefab y dentro de ese prefab puedes modificar los valores que quieras.

Yo tengo un valor stats en un SO para los Guerreros que contiene:

  • Fuerza 3
  • Destreza 1
  • Vida 100

Que pasa si tengo 2 guerreros pero quiero que uno sea lvl 3 y otro level 5? Los stats no van a ser los mismos. Pues depende de como los tengas planteado, puedes multiplicar los valores de su nivel por los stats, vease
War 1:

  • STR 9
  • DEX 3
  • HP 300

War 2:

  • STR 15
  • DEX 5
  • HP 500

De esta manera, con un mismo SO tienes 2 enemigos que en apariencia son iguales, pero tienen diferentes stats. Pero sólo has tenido que usar un tipo de valor cargado.
Que ventajas tiene esto? Oye que multiplcar los stats por su nivel, crea un desbalanceo. Que tal hacerlo solo un 0.5 ó 0.3. Y esto lo haces desde el CSV, sin tener que tocar los prefabs ni los SO, pues puedes hacer que en el momento que se cambie algo en el csv, se guarde automáticamente en SO.

Puedes tener el mismo stat del Guerrero pero añadiendo un nuevo valor float llamado progresión, o incluso añadir diferentes tipos de progresión para cada tipo de stat. De tal manera que para un guerrero, el stat fuerza pueda subir por 0.5 por nivel, pero su Dex sea sólo de 0.1 y su HP de 0.3. En cambio de un ladrón, pueda tener esos atributos enfocados a Dex o un Tank mitad-mitad.

Los SO vienen perfecto cuando tienes que lidiar con gran cantidad de enemigos genéricos con atributos de stats muy similares pero para darles varianza le puedes añadir y/o reducir valores una vez cargas los atributos en el prefab.

2 2 respuestas
totespare

#214 cuando tenga un rato te leo despacito. Gracias!

1 respuesta
B

#215 Al final lo leíste?

1 1 respuesta
B

#216 xD

EDIT: busca otra excusa... para esta no te sirve el water... xD

1 respuesta
totespare

#214 vale, ya lo he leído. Lo aplicaré a los enemigos entonces, y para los stats básicos de los héroes puede que también, sip. Gracias!

1
Hukha

#217 Que mal tío...

1 1 respuesta
B

#219 tu lo tienes más fácil con las excusas...

1 respuesta
Hukha

#220 No, si lo digo por usar el tema blanco. Que eres, judío?

B

Dejo unos benchmarks interesantes que me he encontrado, estoy por empezar a probar ENET... https://github.com/nxrighthere/BenchmarkNet/wiki/Benchmark-Results

1 respuesta
txandy

#222 to old pero interesante. Cuando vuelva a ponerme con el multi probaré. Hasta ahora solo he tocado node y sockets para hacer el multiplayer

1 1 respuesta
B

#223 Me parece más interesante alojar el juego en el servidor y hacerlo completamente autoritativo para que gente como @aikonCWD no de por saco.

Si quieres que el server maneje clientes webgl puedes usar websocket-sharp en el lado del server (probado en windows y linux) para habilitar servidor websockets.

2 respuestas
pirri1721

#224 no he cogido una raqueta en mi vida, hulio

1 respuesta
txandy

#224 te refieres a programar todo en unity3d? Cliente y servidor?

B

#225 pues no se a que esperas...

1 respuesta
txandy

#227 pero es el mismo proyecto que lo compilas modo server y modo cliente. O dos completamente diferentes?

1 respuesta
B

#228 esa es la idea, proyecto único para agilizar desarrollo. Proyectos por separado sería más sencillo pero supone doble curro.

2 respuestas
pirri1721

#229 los viejunos con experiencia (y quizás @AikonCWD por sus pinitos de sistemas): habeís explorado algo lo de la integración continua?
Un colega me habló maravillas de Jenkins, no se si github tiene algo propio también
Cuando lo estuve curioseando yo, había que toquetear bien desde líneas de comandos, pero la idea era que a cada commit te haga un build & deploy de cada plataforma para lo que lo tengas preparado.
Huele a currazo de devops pero supongo que para la alta industria, estos life services con juegos que no paran d evolucionar y añadir contenido... no se, que pensaís?

1 respuesta
txandy

#229 https://garry.tv/2016/02/18/rusts-networking/

#230 yo lo tengo implementado para web y el es el que hace los deploy automáticamente.

2
B

Machine Learning inteligencia artificial...

IA aprendizaje...

Blog imitation learning in unity the workflow

ML-Agents explained - Unite LA

Unity ML-Agents Toolkit https://github.com/Unity-Technologies/ml-agents

1 respuesta
totespare

#232 mola! Estaba yo estos dias haciendo un cursillo de aprendizaje automático también en Unity, a ver si lo acabo :P

1
B

Yo estoy de puente.

Para 2019, propongo hacer algo :)

1
txandy

Unity 2018.3 RC 1 is out.

https://unity3d.com/es/unity/beta/2018.3.0f1

1 respuesta
pirri1721

#235 que significa lo de RC? y tienen en beta ya el 2019

1 respuesta
B

#236 "release candidate", es una beta con acabado de "final" que no es final porque falta testar.

La 2019 es Alpha... y va fina (raro con Unity xD). La estoy usando para crear el servidor dedicado multiplayer multiplataforma y hasta ahora no me ha dado problemas.

1
B

Juegos de 1mb gracias a ECS...

enlace https://blogs.unity3d.com/es/2018/12/05/project-tiny-preview-package-is-here/

PD: esto igual le interesa a @Jastro que siempre hace referencia al excesivo size con Unity...

(motor 162 KB, programa 199 KB, arte 597 KB, sonido 861KB)
enlace a la demo https://tiny-match3.storage.googleapis.com/index.html

B

Announcing the release of Unity Integrations

Unity Integrations lets you connect key Unity services to popular productivity and communication tools like Slack, Jira, and Discord. It’s a great way to get instantly notified, for example, when a new user report is submitted through Cloud Diagnostics or a teammate has pushed new changes to Collaborate.

enlace https://blogs.unity3d.com/es/2018/12/07/announcing-the-release-of-unity-integrations/

Hukha

Ahora que ya es una realidad, tendré que mirarme lo de ECS que aún no me entero realmente de que va y es un must si tocamos unity xD

1