Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - francoe1

#226
General (Antiguo) / Interfaces y listas
Julio 26, 2018, 04:44:10 AM
Si utilizas la función Awake para las asignaciones y las funciones Start para los comportamientos de inicio jamas vas a tener errores de referencias nulas al trabajar con componentes compartidos.
#227
Cita de: maikai date=1532165413Gola gracias por la respuesta . Me refiero a lo siguiente:
   
   
      Como uno dos partes de mapas pintados a manos en photoshop? 
   
   
      Que resolución es la óptima para que se vea bien??
   
   
      Y de paso:
   
   
      En Unity 2d se puede mezclar una zona con azulejos y aderirle otra zona mas grande pintada y creada a mano??
   
   
      Merci.
   


Te recomiendo leer algo sobre conceptos de Tiles - TileGrid - Isometric Tile y de eso vas a sacar todas tus dudas. 
 
 
#228
General (Antiguo) / Ayuda con tema de multijugador
Julio 16, 2018, 01:39:01 PM
Escribime por MP y te doy una mano.
#229
General (Antiguo) / Practica principiantes
Julio 13, 2018, 02:47:38 AM
Cita de: pioj date=1531385953Tanto Tetris como Snake requieren conocimiento de Collections (matrices/tablas/lists o cómo lo queráis llamar), y saber recorrer bien las posiciones dentro de bucles. Por lo tanto, considero que deberían estar ubicados en una etapa mucho más posterior a un mata-mata o a un plataformas2D, y por supuesto estar juntos en la misma práctica.
   
   
      Por otra parte, tanto Pong como Arkanoid/Breakout requieren comprender totalmente el concepto de Vector (posición , magnitud y dirección), para así poder calcular bien los rebotes. Es correcto que se aprendan a hacer juntos, en la misma etapa.
   
   
       
   
   
      ¿Quieres ser un buen programador de Videojuegos? Pues dominar las bases es un requisito imprescindible. De lo contrario te quedarás atascado siempre en un punto concreto del desarrollo, y te tocará hacer apaños o adaptar el código para conseguir un resultado parecido (que nunca igual), por lo que no "aprendes lo nuevo" y puedes acabar frustrado.
   
   
      Recomiendo re-organizar la lista para aprender a programar videojuegos, con un temario que decidamos entre todos y no se base en Juegos ni Géneros, sinó en los conocimientos a dominar y que caracterizan principalmente a esos juegos.
   
   
      Ejemplo:
   
   


  •          Vectores (Vector2)
             


    •                Pong
                  

    •             

    •                Breakount
                  

    •             

    •                Pang
                  

    •          


  •       

  •          Físicas (Velocidad, aceleración, Tiro parabólico, Impulso, Salto, Gravedad, Trayectorias)
             


    •                Angry Birds
                  

    •             

    •                Flappy Bird
                  

    •             

    •                Fruit Ninja
                  

    •             

    •                Jetpack
                  

    •             

    •                Floor is Lava
                  

    •          


  •       

  •          Object Pool (Colliders/Triggers, Instanciado de Proyectiles, Sistema de Partículas)
             


    •                R-Type
                  

    •             

    •                Darius
                  

    •             

    •                Ikaruga
                  

    •          


  •       

  •          Input (Controles, Colisiones & Raycasts, lógica y estados, Animaciones)
             


    •                Super Mario Bros
                  

    •             

    •                Enter the Gungeon
                  

    •             

    •                Pacman
                  

    •          


  •       

  •          Matrices (Colecciones, Arrays/Listas, Bucles anidados, pilas)
             


    •                Snake
                  

    •             

    •                Tetris
                  

    •             

    •                Columns
                  

    •             

    •                Puyo-Puyo
                  

    •             

    •                Candy Crush
                  

    •             

    •                2048
                  

    •          


  •       

  •          Timers (Contadores, Sincronización, Parallax, Eventos, Combos, QuickTimeEvents)
             


    •                JetPack Joyride
                  

    •             

    •                Guitar Hero
                  

    •          


  •       

  •          Transform/Vector3 (Cámaras, Follow & LookAt, Pivotes, Gimbal Lock, TimeLine & CineMachine)
             


    •                Doom & Call of Duty
                  

    •             

    •                Fornite
                  

    •             

    •                Gears of War
                  

    •             

    •                Dark Souls
                  

    •             

    •                Uncharted
                  

    •             

    •                Super Mario Galaxy & Odyssey
                  

    •          


  •       

  •          Gestión de Datos (Inventory, Skill tree, Player Stats, Quests, Atributos, Patrones, File Parser/Serialización)
             


    •                Final Fantasy
                  

    •             

    •                Diablo
                  

    •             

    •                Ogame
                  

    •             

    •                DayZ & PUBG
                  

    •          


  •    

       
   
   
      El temario no tiene ningún orden secuencial, ya que cada persona tiene facilidades o dificultades comprendiendo distintos temas. Eso sí, tened en cuenta que puede que alguno dependa de haber dominado otro conocimiento, previamente...
   
   
       
   


Es excelente este aporte -
 
Observo en la facultad y tambien dentro del secundario la línea de aprendizaje de las personas, existen tipos de materias en los cuales no se obtiene el resultado, "LITERATURA", "DERECHO", Etc, a diferencia de matemáticas, física y sobre todos las materias relacionadas a la matemáticas que se percibe la disposición para aprender, este ejemplo tambien se aplica a la programación, antes de empezar a desarrollar Juegos se debe tener un nivel intermedio en programación, y con esto me refiero a entender cosas como estructuras, clases, herencias, trabajos, hilos, escritura y lectura de datos, trabajar con eventos, y múltiples cosas, y muchos de estos temas no tienen resultados, si no que son absolutamente teoría.
 
No creo que unity sea el mejor ambiente para aprender, no digo que no lo vas a hacer pero te llevará más tiempo por disponer de todas las funciones matemáticas más simples y uno salta conocimientos que luego serán necesarios, conozco personas que trabajan profesionalmente en el rubro y actualmente "no recuerdan" cómo se transforman grados a radianes y viceversa, esto puede parecer tonto, pero cuando se empieza a trabajar con funciones trigonométricas hacen la vida imposible - y esto es el primer ejemplo, existen varios como la magnitud de un vector, la suma, la resta .
 
Recomiendo aprender C# básico con tutoriales donde aprendas hacer cosas en consola, muchas veces la programación no necesita resultados inmediatos y mucho menos gráficos, con un simple OK! en una consola podemos ir resolviendo muchísimos problemas - 
 
Me gusta este aporte de @pioj por qué separar los temas por tipo, aunque un poco extremo por qué no veo lógico desarrollar un 'DIABLO' para aprender a abrir un archivos escribir bytes y cerrarlo, tambien hay que tener presente la plataforma y omitir siempre que se posible librerías externas, como ya dije, utilizar un IDE, un ENGINE 3D sirve como herramienta para facilitar la construcción de nuestros proyectos, pero no se debe abusar de las prestaciones, por ejemplo un MARIO BROS no requiere físicas, rigidbody, raycast, entonces lo lógico sería no utilizar  ninguna prestación del componente Physics de Unity - Lo mismo para componentes como Animator, etc ... 
 
También hay que ser consciente que en cualquier momento Unity3D puede dejar de existir, y si tenemos pensado desarrollar juegos el motor gráfico solo debe ser una herramienta y no un todo para nuestra meta -
#230
Cita de: Eskema date=1531434291Lastima que el libro tenga poca utilidad al ser javascript que ya no esta soportado y que ya hacia tiempo se anuncio su retirada...
   
   
      Cronica de una muerte anunciada....
   
   
       
   




   
      RIP
   

[/quote]
 
 
#231
General (Antiguo) / Encuesta, frecuencia del testeo.
Julio 12, 2018, 05:26:30 AM
Por lo general definir la estructura, luegos los ámbitos, luego defino las clases, los métodos, los eventos, los delegados, y en el proceso de utilizo pruebas unitarias -
 
Evito al 100% estas testando algo, mas cuando las escenas son grandes y tardan mucho en arrancar -
 
Pero muchas veces me pasa de estar teniendo errores y me lleva a => EDITAR línea y TESTEAR  y así por horas -
#232
Dentro de Player Setting tenes la opción para quitar esta ventana.
#233
General (Antiguo) / Practica principiantes
Julio 12, 2018, 12:59:46 AM
Cita de: lightbug date=1531344321Esta interesante la propuesta, aunque no se si pretendés crearlos fielmente o usan las mismas técnicas, o si pretendés una versión similar o visualmente parecida, por ej un "juego estilo mario" y no un mario. Quizás un mario muchos lo interpreten como un sprite corriendo, comiendose unos hongos psicodelicos,  y saltando sobre cosas, bien pero eso no alcanza para nada, Mario tiene cosas unicas que hacen que cuando lo jugas sabés que es Mario y no otra cosa, cuantos lo van a hacer respetando por ej el salto positivo de una forma y el negativo más rápido el típico "cambio de gravedad"?, o la genial cámara que te espera pero cuando superás un umbral se adelanta más rápido? (dificil de explicar pero jugandolo se ve), o las colisiones exactas tipo tile (en esa epoca) vs los molestos rigidbodies en este tipo de juegos que usa todo el mundo?, dudo que alguien vaya a hacer todo esto, por eso no lo concideraría un Mario ni de cerca, pero sí un intento de Mario.
   
   
      Lo mismo se aplica al resto, Pong no es una pelota y dos bloques con rebote infinito o un physics material slippery, Tetris tampoco son un rigidbodies cayendo del aire, osea hacer esos juegos teniendo en cuenta como se hicieron y los trucos que implementaron no se si es algo completamente principiante, pero sí se pueden crear imitaciones salgan como salgan y de ahí ir mejorandolas, eso sí que sería bueno de ver, entretenido y hasta didáctico.
   
   
      Por que no arrancás vos y subís alguno, los tres primeros tenés?
   
   
      Saludos
   
   
       
   
   
       
   


Hace más de 10 Años intente armar un TETRIS diciendo .. es super SIMPLE, luego me di cuenta que se aplica matemática un "poco" compleja - Cuando logre programarlo lo hice en C# con XNA - Si bien en este proyecto solo se aplican reglas matemáticas estuve meses para terminar NO TENÍA NADA DE CONOCIMIENTO Estaba aprendiendo aún.
 
Cuando intente recrear Super Mario Bros de la NES. me encontré con un mundo de cosas SÚPER complejas, como la colisión por pixeles, las resoluciones, los tiles, las animaciones, el manejo de sprites sheet y sobre todo la optimización de cada parte - NUNCA logre un gran resultado, tenia miles de errores imposibles de solucionar, luego me di cuenta que algunos juegos se ponen aún más complejos --- por ejemplo Flintstone, con la opción de agarrarse de las cornisas, luego plataformas diagonales.
 
Luego llegó UNITY -  y esto arruinó toda la magia de la programación de Juegos, la gente no entiende que los componentes que trae UNITY no son para abusar, y no siempre se deben utilizar, tambien un error del motor es integrar todo al proyecto, debería ser modular -
 
Lo "GROSO" del motor es poder construir algo multiplataforma, la transparencia total con shaders, materiales, animaciones, etc, pero creo que para alguien que esta iniciando en este mundo es mejor una librería gráfica, donde se debe programar "cada pixel", las colisiones y todas sus mecánicas, entonces al pasar a un motor gráfico saben elegir correctamente cada componente -
#234
General (Antiguo) / Problemas con algunos scripts!!
Julio 11, 2018, 12:47:07 AM
AudioSource new audio :)
#235
General (Antiguo) / Problemas con algunos scripts!!
Julio 10, 2018, 10:41:27 PM
Pone las excepciones, deduzco que son errores de código obsolete o deprecated -
#236
General (Antiguo) / Unity 2018.1
Julio 10, 2018, 03:36:57 PM
Cita de: Igor date=1531229398hola, suponia que se podria configurar... pero de primeras me estaba resultando super molesto todo esos de las ayudas y observaciones.... 
   
   
      al final me he puesto el visualStudioCODE...
   
   
      me parece mucho mejor que el VE...
   
   
      ocupa super poco, y se carga en un segundo... y de primeras no me cambia nada y me deja escribir a manera...
   
   
      creo que me quedare con este... llevo solo 10 minutos con el... pero tiene bastante buena pinta...
   
   
      me ha guastado que tenga una vista en miniatura (del codigo) en un lateral... asi puedes pinchar en la parte del codigo que quieres ver... en vez de tener que desplazae la barra de desplazamiento... me parece muy util la verdad...
   
   
       
   
   
      @Eskema gracias por el link de descarga
   


Un editor de texto vs un IDE - 
 
Visual Code es muy bueno, yo lo uso para NodeJs y mis proyectos NPM va de 10 - mucho mejor.
 
Pero sin dudas con todos los puntos son los productos de jetbrains, estan EXCELENTES. 
#237
General (Antiguo) / Unity 2018.1
Julio 10, 2018, 03:18:24 PM
Cita de: Igor date=1531226209hola,
   
   
      acabo de cambiar de PC (porfin) y me he puesto unity2018...
   
   
      para mi es una ***da que me hayan quitado el MonoDevelop... ya me habia acostumbrado a todos sus fallos... jeje...
   
   
      he estado probado con el visual studio (el de windows) ...y he decidido que lo odio... vale, no me ha dado ningun fallo... pero me cambia el formato de todo lo que escribo... me pone el "{" debajo de la linea... si abro un parentesis "(", él mismo me lo cierra, me pone ")" detras... y mas cosas por el estilo...
   
   
      hay quien pensaria que es un ahorro de tiempo... para mi es una tocadura de pelotas... no me deja escribir a mi manera y eso me molesta un monton...
   
   
      tambien me pone "comentarios" (!) del tipo "esto estaria mejor asi"... y eso tambien me toca las pe... 
   
   
      ademas tarda bastante en cargar... 
   
   
      voy a descargar el que habeis dicho, el visualStudioCode.... a ver si lo odio un poco menos... 


Es que estas utilizando 2017 Community te recomiendo VS 2013 o 2015
 
En lo personal uso 2013 por que las versiones siguientes con IE son muy molestas con sus ayudas y observaciones, la verdad es que se puede configurar pero es bastante molesto, lo bueno es que la config queda en tu cuenta y cuando te logueas tenes todo de nuevo :)
#238
General (Antiguo) / networkbehaviour!!!
Julio 09, 2018, 11:58:58 PM
Cita de: Kvashir date=1531171828yo seguiré dándole cabezazos a esto, eh pensado otra manera, 
   
   
      @francoe1, repito esto es para testear, no para hacer algo viable 100%
   
   
      y estoy haciendo esto porque por internet nadie a intentado esto.. o al menos no lo eh encontrado.
   
   
      por ejemplo haciendo estas pruebas me planteo dudas nuevas con la cuales aprendo mas sobre esto y el porque las cosas son de una manera y no de otra.
   
   
       
   


Yo te estoy invitando a evitar errores que pueden frustrarse por meses -
 
El Networking tiene una complejidad en 3 puntos - OPTIMIZACIÓN - SEGURIDAD - SERIALIZACIÓN si de inicio aprendes mal esto todo tu futuro arrastrara las malas prácticas, en NETWORKING hay muchísima información, lo que no existe es la adaptación a un proyecto, debido a que esto es algo propio de cada uno -
 
Creo que antes de ponerte a trastear con UNITY deberias de centrarte en C# y crear proyectos en consola para el testear, definir qué capa cubre qué responsabilidades, y luego empezar -
 
Por ejemplo - 
 
NetDebug > NetCore > NetPeer > NetConn > NetWrapper > NetSerialize  > NetCrypto > NetCatch
 
Te paso un canal, que desde mi punto personal aún está en un nivel bajo pero está bastante bien encaminado -.
 


   
eature=oembed" width="480">

 
Visita su canal tiene muchos videos de intentos que nunca llegan a algo en concreto pero en el proceso explica algunas cosas bastante bien.
#239
General (Antiguo) / Armonía de las variables
Julio 09, 2018, 02:36:46 AM
Lo que pasa que va en base al GamePlay pero podrias como dice @lightbug definir qué campos son directamente proporcionales - Por ejemplo si la fuerza de inicio es de 5 la defensa es de 6 a cuanto más aumenta la fuerza más disminuye la defensa - Pero siempre deberias de tener un puntaje total de todos los parámetros, y por cada aumento tienes que controlar el puntaje total, y si modificas el puntaje total creas la ecuación inversa para que se aplique a todos los parámetros equitativamente -. teniendo en cuenta las directivas proporcionales que antes mencione-.
 
Un desastre mi explicación, pero me enfrente múltiples veces en esto con algunos softwares contables donde muchas ecuaciones van en base a promedios y relaciones -
 
Si quieres sube una tabla de prueba - y aplicamos un algoritmo 
 
Aca dejo el mio -
 
https://dotnetfiddle.net/lCQIST
#240
General (Antiguo) / networkbehaviour!!!
Julio 08, 2018, 10:50:50 PM
Cita de: Kvashir date=1531066290 holas ! @francoe1 todos los movimientos que recibe el servidor son correctos y los envia a todos los clientes correctamente, el problema es que a los clientes les cuesta calcular todo, es como si se les acomulase el trabajo pero al final lo calculan todo correcto
   
   
      estoy utilizando TCP, pro el momento no pierdo paquetes, lo que ocurre es que los clientes tardan en calcular los datos,

      en esta práctica que estoy haciendo no importa tanto que el servidor tenga conocimiento del "mundo" que tienen los clientes, ya que los propios clientes gestionan eso con unity y unity le dice al servidor lo que hay (por así decirlo)
   
   
      entiendo que lo que dará problemas es en el caso de querer controlar un NPC y que este se comporte igual en todos los clientes, pero no estoy abordado ese caso por el momento.
   
   
      no es ningún juego solo es un proyecto para probar y aprender, por eso quiero hacerlo en JAVA el servidor.
   
   
       
   
   
      el problema que tengo no es de recepción de paquetes (estoy comprobando los paquetes que llegan y reciben tanto el servidor como los clientes y son correctos el 100% de las veces)
   
   
      el problema es que los clientes "colapsan" al recibir tantos mensajes o esa es la sensación que me dá. 
   
   
      por eso dije de usar coroutine.
   
   
      seguiré probando mis locuras, os mantendré informados :P
   


1º - Utilizar un servidor sin la simulación no solo causa problemas con los NPC si no, que el propio servidor desconoce el escenario y sus mecánicas.
 
2º - Una corrutina en lo absoluto solucionaria tu problema ya que esta se llama desde el mismo hilo de ejecución del juego.
 
3º - Creía que el error es "BUFFER OUT" esto se ocasiona porque no estás trabajando correctamente los mensajes, ¿tienes alguna forma de identificar cada mensaje? para por ejemplo en el caso de la posición evitar mantener en buffer aquellos que son más antiguos que el actual, y solo interpolar la posición actual con el último estado.
 
Por otro lado, replantea utilizar JSON, ya que vas a necesitar un "WRAPPER" para la des/serialización de los objetos lo cual es muy costoso, tambien para leer algunos datos vas a necesitar deserializar el objeto completo lo que es una perdida de tiempo inmensa - 
 
Paso a explicarte que contiene un mensaje -
 


  1.    ID


  2.    Secuencia


  3.    N_Secuencia


  4.    Owner


  5.    Length


  6.    Tag


  7.    Data


Esa sería la estructura base de cada paquete, gracias a la herencia puedes conmutar dos paquetes para crear un personalizado. 
 
Ahora si recibo un paquete ya tengo identificados cuantos campos debo leer - en total son 6, pero sin ningún tipo de costo para el procesador ya que simplemente casteo un valor binary a objeto lo cual es un 99% menos costoso que cualquier WRAPPER que requiere expresiones regulares, etc..
 
- ¿Se entiende? - 
 
"NO utilices CORRUTINAS" <<< ES LO MÁS CONTRAPRODUCENTE para este tipo de implementación.