Jump to content
UnitySpain

farenhai

Fosiles
  • Content Count

    78
  • Joined

  • Last visited

  • Days Won

    1

farenhai last won the day on May 2 2016

farenhai had the most liked content!

Community Reputation

9 Neutral

About farenhai

  • Rank
    Asiduo

Profile Information

  • Especialidad
    Artista

Recent Profile Visitors

497 profile views
  1. El tema es complejillo, y además con Steam (o quizá el mundo de los videojuegos), creo que se complica más. En líneas generales, las reseñas se ponen para protestar o quejarse. Tengo un amigo que trabaja en la recepción de un y desde la dirección de la cadena les instan a insistir en que la gente comente su estancia (da igual si buena o mala). ¿El motivo? Nadie suele decir nada cuando todo funciona bien porque se asume que todo va a estar bien. ¿El resultado? Las valoraciones del hotel eran entre malas y muy malas antes de seguir las órdenes de la dirección. Tan pronto empezaron a insistir a los clientes, la valoración del hotel dio un vuelco y pasó a estar entre bien y muy bien. ¿Qué diferencia, verdad? A título personal, tengo una novela publicada en Amazon. La visibilidad depende directamente de las ventas, y las ventas se guían, en gran medida, por las valoraciones de los clientes. Podréis imaginar la abrumadora cantidad de títulos y autores en la tienda. Recordemos, que si no apareces en la antes del final página 2 de un buscador , no existe. Esto se aplica también en las tiendas. Pregunta 1: ¿Cómo subes a la página 2 sin que nadie te compre? Pregunta 2: ¿Quién va a comprar tu producto (libro, en este caso) si no tiene, al menos, algunas buenas valoraciones que lo avalen? Pregunta 3: ¿Comprarías un producto cuyas valoraciones sean sólo negativas (¿aunque sólo sea una?) ? Esta última la respondo yo: no, en la mayoría de los casos. De esta manera, existen dos posibilidades: a) intentar atraer público con una serie de valoraciones positivas inciales o b) no hacer nada y confiar en la Virgen del Rosario. Hay que recordar que la publicidad existe por algo, y la publicidad no consiste sólo en que conozcan tu producto (muy importante), sino que además piensen que puede ser interesante (porque si no, no lo comprarán; si la única valoración que tienes es negativa...) La opción a permitirá hacer unas cuantas ventas. Si el producto es bueno, es posible que esas ventas aumenten o, al menos, se mantengan. La opción B tiene más posibilidades de llevar tu producto a un limbo olvidado. ¿Qué es mejor? Personalmente, creo que la apuesta acertada es la primera. Es la que más posibilidades de recorrido ofrece. ¿Problema potencial? Crear expectativas demasiado altas (en eso caí yo). Si la valoración es excesiva, puede suceder que después de las primeras valoraciones de amigos y conocidos, sigan una serie de valoraciones brutales, debidas en parte a las altas expectativas. Con la opción A he podido vender casi doscientos ejemplares; ahora está en el limbo (es verdad que hace mucho que no hago nigún tipo de promoción en RRSS desde hace casi un año). ¿Qué habría sucedido con la opción B? Estoy seguro de que habría tenido menos ventas. Mi ego está casi igual de herido que si no hubiera vendido. "CASI". Al menos, me han leído y, de paso, he sacado dos o tres euros (no creáis que mucho más xD ). Sin embargo, con los videojuegos creo que puede suceder algo ligeramente diferente. Aunque creo que esto es un logro casi exclusivo de Steam, la comunidad de jugadores quiere recomendar juegos que les ha gustado/entusiasmado. Valve ha conseguido (en mi opinión) crear una verdadera comunidad dispuesta a compartir y, además, con un amplio público sensibilizado con el producto indie. Esto creo que facilita que se escriban más valoraciones de lo que probablemente se haga en otros medios (por no hablar de la facilidad que ofrece hacerlo desde un ordenador, comparado con un dispositivo móvil (por ejemplo, ¿PlayStore? ¿Itunes? siempre será más engorroso escribir en un móvil). Esto que comento en el último párrafo necesitaría contrastarlo todavía; es sólo una intuición, pues no tengo datos al respecto. De esta manera, no es que el público de videojuegos fuera más benevolente; sencillamente, serían más proclives a compartir y valorar (nótese, además, los 4-packs y la posibilidad de hacer regalos, más todas las posiblidades de comunidad que ofrece y fomenta Steam -snapshots, vídeos, forums, etc, etc, etc). Si a esto sumamos las rebajas de Steam, cabe una posiblidad relativamente remota de conseguir que tu juego indie tenga la suficiente visibilidad como para recibir las suficientes ventas que permitan que el producto sea conocido y, a partir de ahí, "despegue" o no. ¿Vale la pena hacer una valoración extrapositiva en Steam? Pues probablemente no, y menos con el nuevo sistema de valoración... al menos durante el primer mes. Ahora bien, si pasaran 2 ó 3 meses en los que apenas has vendido unas decenas de juegos y tienes 2 ó 3 valoraciones que te situan por debajo del 50% de recomendaciones? Pues, después de intentar corregir los motivos fundamentales (si comprendemos que puede haber cierta razón en las quejas), tal vez SÍ, porque partiríamos de un producto varado en ese limbo mencionado antes para intentar darle una segunda oportunidad. ¿Y en Playstore? ¿Itunes? Pobablemente sea necesario (y más en Playstore que Itunes debido a la falta de control de calidad de Google y, por tanto, mayor competencia por la visibilidad) por a) la falta de una comunidad TAN implicada y bien ligada como ha conseguido STEAM. b) Es bastante más incómodo reseñar en el móvil que en el pc... c) tiene menos utilidad (en Steam escribes para tus amigos, entre otras cosas...) etc... Si hay algo que he aprendido con mi novela es que, o las valoraciones son relativamente buenas, o tu ego se va a resentir (sea en mayor o menor medida, dependiendo de lo fuerte que seas y cómo enfoques los golpes). A veces, las críticas pueden ser injustas; incluso injustificadas... Aún así, el ego se resiente, casi sí o sí. Hay que ponerse una coraza y punto. A mí no me resulta clarificador que me den una palmadita en la espalda y me digan "venga, que es tu primera novela". Eso es cierto. Ya lo sé. Quiero saber si más o menos gustó; si entretuvo o no; si volverían a hacer la compra o la recomendarían a algún amigo. Y por supuesto: por qué. En última instancia, no se trata tanto de saciar el ego (que, por supuesto, también). Al final del día, lo que se vende no deja de ser negocios, y un negocio exige resultados. Si le damos una valoración pensando en otros motivos, creamos confusión. Agradezco mucho que me expliquen por qué ha gustado o no. Pero, al final del día, necesito saber si ha gustado, no y en qué medida (y por qué), pero no que me den el típico suspenso con un 4'5 (cuando en realidad sería un 5) porque tienes que esforzarte (cuánto daño ha hecho la eduación en España, que a todos nos han jodido con eso y a todos se la queremos devolver! xD) . Un 3 es un 3; un 4 es un 4; y un 6 es un 6... no sé si me explico... Todo lo demás, es enviar un mensaje que lo normal (salvo que se deje MUY claro en la valoración) NO LLEGUE. Luego está la responsabilidad con respecto a los otros compradores. ¿Es tan terrible el producto? ¿merece ser adquirido, aún con las claras deficiencias? ¿Es mejorable pero tiene potencial? Y por supuesto: ¿cómo me siento yo, comprador de la aplicación con el producto? ¿Es, acaso, un producto hecho sin cuidado ni atención, rozando lo fraudulento? Eso, evidentemente, también cuenta. Pero es que va a contar también para todos los demás comentadores... Mi conclusión: las buenas valoraciones iniciales son, a menudo, necesarias e inevitables porque si no, no adquieres audiencia. Esto hay que entenderlo y tenerlo en cuenta ¿Qué hacer con los productos deficientes? Pues si nos sentimos paternalistas, explicar los puntos a mejorar (y a ser posible, ofreciendo entre líneas alguna posible alternativa). Los mensajes positivos que engloban una crítica clara y constructiva, los óptimos (remarcando además, el potencial que tendría de arreglarse estos aspectos, si esto procediere). Lamentablemente, estos son los que más escasean. Perdonad la parrafada; igual me he ido un poco por los cerros de Úbeda... xD PD: la objetividad es, a menudo, relativa... xD
  2. Para el modelado 3D, me sorprende que puedas trabajar con una tarjeta integrada. Evidentemente, podrás hacer modelados relativamente básicos; tienes un base decente de RAM (yo trabajo con 4gb) y seguramente eso te ayude. Sin embargo debería irte bastante chunguillo a pocos polígonos que le metas de más. Para este tipo de trabajos, históricamente se ha trabajado con tarjetas Quadro (aunque también he visto hacerlo con Geforce). Yo tengo una Quadro Fx 1800 y, aunque creo recordar que el Substance Painter me arranca, no funciona correctamente (estoy un poco por debajo de los requisitos mínimos). No sé qué ram dedicada tendrá tu tarjeta integrada, pero SP no es precisamente un programa ligero. Aunque te arranque el programa, dudo bastante que pueda funcionar de manera operativa. Probablemente te convenga más ceñirte a los clásicos Mudbox o Zbrush (y aún así, me gustaría verlos funcionar, pues el trabajo en 3D de las texturas es bastante exigente).
  3. ¡Hola a todos! Seguramente este tema (que me sale por curiosidad, no porque esté en ningún proyecto de tipo parecido) me venga un poco demasiado grande, pero tengo curiosidad. A menudo leo muchos comentarios que hablan de una pobre optimización de Minecraft. En líneas generales yo no suelo tener problemas con el juego (quadcore a 2,66 ; 4gb RAM, Quadro Fx1800) y los problemas que a veces tengo son dependientes del servidor (he estado en tres, sólo en uno estoy teniendo problemillas - y asumo que, al menos, no todo el problema es mío). El juego, no obstante, corre bien en ordenadores sensiblemente inferiores, y aún así, se habla de esa mala optimización. Me sorprende pq, a fin de cuentas, a nivel polígonos debería ser bastante bajo el consumo de recursos, puesto que todos los mesh son (o entiendo que son) cubos. Los comentarios hablan muchas veces de un pésimo código por parte de Notch, pero salvo que sea un adicto a meter todo en la función Update () (cosa que dudo pq entiendo que no hay tantos elementos que requieran el chequeo a cada frame) no se me ocurre en qué se pueda justificar la mala optimización de la que se habla (aunque estoy seguro de que puede haber mil motivos). ¿Alguno comparte la idea de que el juego está mal optimizado? ¿Por qué? ¿Alguno conoce los códigos? (no he investigado, pero asumo que es código cerrado y por tanto nadie conoce realmente la manera de promación de Mojang, salvo Mojang) ¿Qué ideas/reflexiones sacáis de todo esto? ¿Tienen razón los comentarios acusadores, o son solo "haters" que no saben bien de qué hablan? Si sospecháis algunas prácticas dignas de ser evitadas, ¿cuáles serían? ¿De qué otro modo lo haríais? ¡Gracias, y un saludo a todos!
  4. ¡Gracias a los dos! Lo probaré (me va a venir de perlas!)
  5. Buenas! Una pregunta que ya me temo la respuesta porque no lo he visto nunca... ¿Existe alguna manera de COLOREAR/MARCAR variables en el inspector? Tengo mogollón en un mismo script, y aunque los nombres son bastante descriptivos de por sí, a veces se hace complicado moverse entre tanta variable... Imagino que ni de coña, pero por si acaso.... ¡Gracias!
  6. Para temas de "visión" /"audición" de los enemigos, creo que se lo que se suele usar es la función Raycast, que en definitiva (que me corrijan los expertos si me equivoco) no es más que una línea (invisible en el juego) que se dibuja desde el objeto de refencia (tu enemigo) hasta el infinito o la distancia que determines. De esta manera, si tu protagonista está en la línea de alcance emitida, tu enemigo "verá"/ "oirá" a tu protagonista y echará a andar o lo que determines. https://unity3d.com/es/learn/tutorials/topics/physics/raycasting Sobre los waypoints no te sé decir, pero podrías echarle un ojo al Navigation Mesh System (navmesh), que a priori, me parece bastante sencillo de usar (aunque siempre puede traer dificultades en según qué ocasiones, como todo... ) https://unity3d.com/es/learn/tutorials/topics/navigation/navmesh-agent Este tutorial te puede venir MUY BIEN para ver cómo hacer funcionar el navmesh https://unity3d.com/es/learn/tutorials/projects/survival-shooter-tutorial Espero que te sirva. ¡Un saludo!
  7. http://docs.unity3d.com/ScriptReference/Screen-showCursor.html Esto te podría servir? (comando en desuso, pero ahí tienes los nuevos mencionados)
  8. ¡Hola, Juanma! Pues precisamente, sí, me has comprendido (creo) bastante bien. La idea que tenía era que el jugador-Host guardara la partida. No obstante, como en las ciudades hay variables que pertenecen en exclusiva a cada uno de los jugadores (véase, por ejemplo: influencia, dinero adeudado, etcétera), que enviaran todos los clientes la información y que la guardara el jugador Host. Efectivamente, intento al componente del array: Todos los "countries" tienen esas características (evidentemente, muchas más; las he omitido por no aburrir). Seguiré las pistas que me has dado para ver qué puedo encontrar. ¡Muchas gracias y un saludo!
  9. Pues habiendo conseguido la sincronización de la variable population resulta que se me ha ido al cuerno la función de salvado. Evidentemente, esto es un problema - no de que el código se haya trastocado (comprobado), sino del mismo Network Identity que tiene que llevar la esfera/ciudad que comentaba en el post anterior 'Networking' ( http://www.unityspain.com/topic/35905-networking/ ) ; quitando todas las alusiones a la red, el problema desaparece y vuelve a salvar/cargar sin problema Pensé que podría ser porque no estaba pasando los datos por el servidor, así que incorporé las instrucciones Command y Rpc a los void Save() y Load(), pero tras salvar y ejecutar la función RpcLoad(), se comporta como si no sucediera nada. Compruebo el archivo creado y No se están salvando las variables en el archivo; crea el archivo pero no guarda las variables (diferentes kb en el archivo creado en Application.PersistantDataPath; 0 kb en este momento) No tengo claro si es que me estoy saltando un paso del tipo dar autoridad al cliente ( NetworkServer.SpawnWithClientAuthority(go, connectionToClient); en cualquier caso algunos valores que añada posteriormente deberán influir en 'population', siendo valores locales, asi que imagino que tendré que hacer algo así tarde temprano; no obstante, ignoro si tiene algo que ver en el caso que nos ocupa en este momento); Total, que un poco lío todo esto del networking El siguiente script es exactamente el mismo que he estado usando antes de aplicar el Network Identity, salvo por las alusiones network añadidas (NetworkBehaviour, Cmd y prefijo en voi+ Rpc y prefijo en void). ¿Alguna idea? ¡¡Mil gracias!! using UnityEngine; using System.Collections; using UnityEngine; using System.Collections; using System.Collections.Generic; using System.Runtime.Serialization.Formatters.Binary; using System.IO; using System; using System.Linq; using UnityEngine.Networking; public class GameControl : NetworkBehaviour { public GameObject [ ] countries; public static GameControl control; [Serializable] public class PlayerCountryData { public int population; // Es una [SyncVar] en otro script llamado Country !!!!!!!! } public PlayerCountryData pais; void Awake () { if (control == null) { DontDestroyOnLoad (gameObject); control = this; } else if (control != this) { Destroy(gameObject); } } // Use this for initialization void Start () { countries = GameObject.FindGameObjectsWithTag ("Country"); } void Update () { } [Command] public void CmdSave () // Guardar datos; { BinaryFormatter bf = new BinaryFormatter (); FileStream file = File.Create (Application.persistentDataPath + "/playerInfo.dat"); foreach (GameObject country in countries) { //BUCLE PARA RECORRER EL ARRAY DE PAISES PARA GUARDAR SU POBLACION for (int i = ; i<countries.Length; i++) { PlayerCountryData pais = new PlayerCountryData (); //PONER EN LA VARIABLE PAIS EL CONTENIDO DE LA VARIABLE COUNTRIES PARA GUARDAR EL DATO EN EL FICHERO pais.population = countries.GetComponent<Country>().population pais.poblacionAdulta = countries.GetComponent<Country>().poblacionAdulta; pais.poblacionInfantil = countries.GetComponent<Country>().poblacionInfantil; // ESCRIBE EN EL FICHERO EL DATO DE LA POBLACION bf.Serialize( file, pais); //Debug.Log("Esta es la poblacion" + pais.population); } } file.Close(); Debug.Log ("Save complete!"); } [ClientRpc] public void RpcLoad() { if (File.Exists (Application.persistentDataPath + "/playerInfo.dat")) { BinaryFormatter bf = new BinaryFormatter (); FileStream file = File.Open (Application.persistentDataPath + "/playerInfo.dat", FileMode.Open); //BUCLE PARA RECORRER EL FICHERO Y CARGAR LA POBLACION DE CADA PAIS for (int i = ; i<countries.Length; i++) { //LEE EL REGISTRO DE LA POBLACION DE CADA PAIS. PlayerCountryData pais = (PlayerCountryData)bf.Deserialize (file); countries .GetComponent<Country> ().population = pais.population; countries.GetComponent<Country>().poblacionAdulta = pais.poblacionAdulta; countries.GetComponent<Country>().poblacionInfantil = pais.poblacionInfantil; //PASA EL VALOR DE LA POBLACION REGISGRADA EN EL FICHERO A LA POBLACION DE CADA PAIS. Debug.Log (pais.population); } //CIERRA EL FICHERO file.Close(); Debug.Log ("Load Complete!"); } if (!File.Exists (Application.persistentDataPath + "/playerInfo.dat")) { Debug.Log ("ERROR"); } } }
  10. En según qué situaciones, te puede interesar el método DontDestroyOnLoad() (que imagino que ya conoces, pero por si las moscas te recuerdo) para conservar el GO entre una escena y otra ...
  11. Creo que intenta entender el motivo "profundo" (la razón que motiva que no se pueda instanciar), más allá de la "gramática"... y yo ya me quedo con la duda... ¿Va bien encaminado lo que decía yo en el post anterior?
  12. Pues la respuesta experta la dejo para los expertos... pero Sí: si instancias como la variable Static, no te deja hacerlo a través de GetComponent. La pregunta es: ¿para qué hacerlo si ya la tienes declarada como static? Supongo (en respuesta a tu pregunta) que una vez declarada la variable como static, la variable queda en RAM (además de ser única), por lo que sería más rápida y menos costosa (el gasto mayoritario ya los has hecho al declararla static). Sospecho que la razón es equivalente a: ¿Para qué gastar tu dinero en construir una carretera comarcal (más barata) cuando ya tienes una autopista (que costó más dinero, pero que funciona mejor y más rápido) si llevan al mismo lugar?... Por este mismo motivo, C# no te dejaría acceder a una variable static a través de GetComponent (ya tienes una autopista hecha!!!) De todas formas, esto es meramente especulativo por mi parte y probablemente esté equivocado... Seguro que los compañeros podrán arrojar más y mejor luz sobre esta duda que me parece teorícamente interesante, aunque no sé si especialmente relevante... Un saludo!!
  13. la primera pregunta (y más evidente) que se me ocurre es ¿por qué estás intentando acceder a un script que tienes EN OTRO PROYECTO? No soy más que un novato, pero desde mi ignorancia, lo que planteas suena bizarro xD. Copialo a tu proyecto y vuelve a hacer la prueba. Hasta donde sé, Game.Find no encontrará nada fuera del proyecto!
  14. Ha sido sólo una impresión después de haberlo probado y haber comparado con el video que mostré. También pregunté si alguien lo recomendaba y si mi impresión era incorrecta... Perdón si herí sensibilidades de algún tipo... Me queda claro que lo recomiendas. ¡Gracias!
  15. ¡Funciona de maravilla, Juanma! Ahora toca romperse los cuernos para adaptarlo a mi proyecto ... ¡Muchas gracias!
×
×
  • Create New...