Jump to content
UnitySpain

Leaderboard


Popular Content

Showing most liked content since 04/23/2012 in all areas

  1. 12 likes
    Después de la mega-paliza que me pegué haciendo el supervídeo de BasicScripts, vuelvo a la carga con una nueva batería de tutoriales. En esta ocasión, voy a cambiar completamente de tema y dejar de lado los FPS y tirar por el apasionante mundo de la simulacion de coches. He subido un vídeo de presentación de tutorial y en los próximos días empezaré a hacer los tutoriales propiamente dichos. Espero que os guste: Acutalización, los tres primeros vídeos de este tutorial: Acutalización 2, los cuatro vídeos que siguen: Actualización 3: Resto de los vídeos hasta el final de la serie. https://www.youtube.com/watch?v=NlzoKl0Fwrs https://www.youtube.com/watch?v=D-sSmmKAXso https://www.youtube.com/watch?v=WpWQ8-LztXc Saludos.
  2. 11 likes
    Hola a todos. A petición de un usuario voy a aportar un script para controlar un objeto mediante botones (GUITextures) en Android o dispositivos móviles. Es un script muy simple con cuatro botones, pero pienso será de gran ayuda para el que esté comenzando con esto de los móviles. public var boton_abajo: GUITexture; public var boton_izquierda : GUITexture; public var boton_derecha: GUITexture; private var boton_arriba_pulsado : boolean; private var boton_abajo_pulsado : boolean; private var boton_izquierda_pulsado : boolean; private var boton_derecha_pulsado : boolean; public var speed : float = 10.0; function Awake(){ SituarControles(); } function Update(){ if(Input.touchCount > 0){ for (var i = 0; i < Input.touchCount; ++i) { if(boton_arriba.HitTest(Input.GetTouch(i).position)){ boton_arriba_pulsado = true; }else if(boton_abajo.HitTest(Input.GetTouch(i).position)){ boton_abajo_pulsado = true; }else if(boton_izquierda.HitTest(Input.GetTouch(i).position)){ boton_izquierda_pulsado = true; }else if(boton_derecha.HitTest(Input.GetTouch(i).position)){ boton_derecha_pulsado = true; } } } //UNA VEZ HEMOS RECIBIDO LAS ENTRADAS. ACTUAMOS!!! if(boton_abajo_pulsado){ transform.Translate(-Vector3.up * speed * Time.deltaTime); }else if(boton_arriba_pulsado){ transform.Translate(Vector3.up * speed * Time.deltaTime); } if(boton_derecha_pulsado){ transform.Translate(Vector3.right * speed * Time.deltaTime); }else if(boton_izquierda_pulsado){ transform.Translate(-Vector3.right * speed * Time.deltaTime); } //LO PONEMOS A FALSE PARA COMPROBAR EN EL SIGUIENTE Update() SI SE SIGUEN PULSANDO O NO. boton_derecha_pulsado = false; boton_izquierda_pulsado = false; boton_arriba_pulsado = false; boton_abajo_pulsado = false; } function SituarControles(){ //CONTROL ABAJO boton_abajo_pulsado.transform.position = Vector3.zero; boton_abajo_pulsado.transform.localScale = Vector3.zero; boton_abajo_pulsado.guiTexture.pixelInset.width = Screen.width/7; boton_abajo_pulsado.guiTexture.pixelInset.height = boton_abajo_pulsado.guiTexture.pixelInset.width; boton_abajo_pulsado.guiTexture.pixelInset.x = Screen.width - (boton_abajo_pulsado.guiTexture.pixelInset.width * 1.1); boton_abajo_pulsado.guiTexture.pixelInset.y = Screen.height/30; //CONTROL ARRIBA boton_arriba_pulsado.transform.position = Vector3.zero; boton_arriba_pulsado.transform.localScale = Vector3.zero; boton_arriba_pulsado.guiTexture.pixelInset.width = Screen.width/7; boton_arriba_pulsado.guiTexture.pixelInset.height = boton_arriba_pulsado.guiTexture.pixelInset.width; boton_arriba_pulsado.guiTexture.pixelInset.x = Screen.width - (boton_arriba_pulsado.guiTexture.pixelInset.width * 1.1); boton_arriba_pulsado.guiTexture.pixelInset.y = Screen.height/3; //CONTROL DERECHA boton_derecha_pulsado.transform.position = Vector3.zero; boton_derecha_pulsado.transform.localScale = Vector3.zero; boton_derecha_pulsado.guiTexture.pixelInset.width = Screen.width/7; boton_derecha_pulsado.guiTexture.pixelInset.height = boton_derecha_pulsado.guiTexture.pixelInset.width; boton_derecha_pulsado.guiTexture.pixelInset.x = boton_derecha_pulsado.guiTexture.pixelInset.width + boton_derecha_pulsado.guiTexture.pixelInset.width/1.8; boton_derecha_pulsado.guiTexture.pixelInset.y = Screen.height/30; //CONTROL IZQUIERDA boton_izquierda_pulsado.transform.position = Vector3.zero; boton_izquierda_pulsado.transform.localScale = Vector3.zero; boton_izquierda_pulsado.guiTexture.pixelInset.width = Screen.width/7; boton_izquierda_pulsado.guiTexture.pixelInset.height = boton_izquierda_pulsado.guiTexture.pixelInset.width; boton_izquierda_pulsado.guiTexture.pixelInset.x = Screen.width/50; boton_izquierda_pulsado.guiTexture.pixelInset.y = Screen.height/30; } USO: Este script se lo ponen al objeto que vayan a mover. Luego se crean 4 GUitextures y se le agregan al script desde el inspector Saludos
  3. 8 likes
    Muchos lo sabréis y otros no, pero hay una lista de recursos bastante tocha hecha en zeef.com de recursos para el desarrollador de videojuegos. Espero que os sea de utilidad! https://game-development.zeef.com/david.arcila
  4. 8 likes
    Enlace de descarga: https://app.box.com/s/384vkwhfosk9zgzpftphq3oi35yifhpb Para este sistema de Save/Load necesitamos crear un prefab de la entidad. El prefab se necesita para instanciar/crear un nuevo GameObject de la forma más sencilla. El sistema de guardado consta de una clase estática llamada GameData que almacena una sola instancia MonoBehaviour(script) de cada GameObject dentro de una ArrayList, y dispone de las funciones Save y Load: using UnityEngine; using System.Collections; using System.IO; using System.Runtime.Serialization.Formatters.Binary; public static class GameData { public static string file = "GameData.dat"; public static ArrayList Data = new ArrayList(); //Aqui se almacenaria todos los datos como objetos public static bool Save(){ FileStream fs = new FileStream(file, FileMode.Create); BinaryFormatter formatter = new BinaryFormatter(); ArrayList arrayList = new ArrayList(); foreach(object data in Data){ ISaveLoad script = (ISaveLoad) data; arrayList.Add(script.GetData()); } try { formatter.Serialize(fs, arrayList); } catch (System.Runtime.Serialization.SerializationException e) { UnityEngine.Debug.Log("Failed to serialize. Reason: " + e.Message); return false; } finally { fs.Close(); } arrayList.Clear(); arrayList = null; formatter = null; fs = null; return true; } public static bool Load(){ if(!File.Exists(file)) return false; FileStream fs = new FileStream(file, FileMode.Open); ArrayList arrayList; try { BinaryFormatter formatter = new BinaryFormatter(); arrayList = (ArrayList) formatter.Deserialize(fs); formatter = null; } catch (System.Runtime.Serialization.SerializationException e) { UnityEngine.Debug.Log("Failed to deserialize. Reason: " + e.Message); return false; } finally { fs.Close(); } Data.Clear(); //Instanciar GameObjects a escena foreach(object data in arrayList){ EntityData entityData = (EntityData)data; entityData.OnLoad(UnityEngine.Object.Instantiate<GameObject>(Resources.Load<GameObject>(entityData.ResourcesPath))); } arrayList.Clear(); arrayList = null; fs = null; return true; } } Uso la instancia de un script como referencia del GameObject, y no una clase serializada directamente, porque es constante durante todo el tiempo de juego. Tampoco utilizo el GameObject directamente como referencia, para que este sistema de guardado pueda ser utilizado por cualquier tipo de script(SOLO UN SCRIPT por GameObject podrá implementar el sistema de guardado). Este único script recoge los datos de los componentes y otros script del GameObject. Para poder guardar los datos del juego de forma generalizada, utilizo una clase base serializada llamada EntityData con el campo ResourcesPath y la funcion OnLoad: [System.Serializable] public class EntityData{ public string ResourcesPath; public virtual void OnLoad(GameObject gameObject){} } Y además, necesito una interfaz para poder extraer los datos de los GameObjects, con la funcion GetData(): interface ISaveLoad{ object GetData(); } UTILIZACION Como he dicho, antes de nada, es necesario crear un prefab de la entidad/GameObject que alojaremos en la carpeta Resources. A continuación, dentro de algún script del GameObject a guardar(solo un script del GameObject puede implementar este sistema): 1) Creamos una clase derivada de EntityData. Esta clase hereda ResourcesPath y la funcion OnLoad necesaria para la carga de la escena, y añadiremos los datos que queramos guardar del GameObject. Por ejemplo: [System.Serializable] public class Data : EntityData{ [HideInInspector] public float px,py,pz,rx,ry,rz,sx,sy,sz; public int vida = 100, experiencia = 0; public override void OnLoad (GameObject gameObject) { Transform transform = gameObject.GetComponent<Transform>(); transform.position = new Vector3(px,py,pz); transform.eulerAngles = new Vector3(rx,ry,rz); transform.localScale = new Vector3(sx,sy,sz); ScriptEntidad1 script = gameObject.GetComponent<ScriptEntidad1>(); //Transformamos el object en la clase de datos de la entidad script.datos = (ScriptEntidad1.Data) this; } } public Data datos; He creado una clase llamada Data, derivada de EntityData, donde almaceno los datos del Transform y dos campos de vida y experiencia. En la funcion OnLoad asigno estos valores a los componentes, es decir, al Transform y al Script al que he vinculado los datos, en este caso al script 'ScriptEntidad1'. 2) Añadimos el script a la lista de GameData desde la funcion Start() de Unity, y los eliminamos al destruir el GameObject desde la funcion OnDestroy() de Unity: void Start () { //Añadir GameObject a la lista GameData.Data.Add(this); } void OnDestroy(){ //Eliminar GameObject de la lista GameData.Data.Remove(this); } 3) Añardir la funcion GetData de la interfaz ISaveLoad: public class ScriptEntidad1 : MonoBehaviour, ISaveLoad { object ISaveLoad.GetData(){ //Actualizar Datos Transform Vector3 temp = this.transform.position; this.datos.px = temp.x; this.datos.py = temp.y; this.datos.pz = temp.z; temp = this.transform.eulerAngles; this.datos.rx = temp.x; this.datos.ry = temp.y; this.datos.rz = temp.z; temp = this.transform.localScale; this.datos.sx = temp.x; this.datos.sy = temp.y; this.datos.sz = temp.z; return this.datos; } } Si quereis ver el codigo completo del script: using UnityEngine; using System.Collections; public class ScriptEntidad1 : MonoBehaviour, ISaveLoad { [System.Serializable] public class Data : EntityData{ [HideInInspector] public float px,py,pz,rx,ry,rz,sx,sy,sz; public int vida = 100, experiencia = 0; public override void OnLoad (GameObject gameObject) { Transform transform = gameObject.GetComponent<Transform>(); transform.position = new Vector3(px,py,pz); transform.eulerAngles = new Vector3(rx,ry,rz); transform.localScale = new Vector3(sx,sy,sz); ScriptEntidad1 script = gameObject.GetComponent<ScriptEntidad1>(); //Transformamos el object en la clase de datos de la entidad script.datos = (ScriptEntidad1.Data) this; } } public Data datos; object ISaveLoad.GetData(){ //Actualizar Datos Transform Vector3 temp = this.transform.position; this.datos.px = temp.x; this.datos.py = temp.y; this.datos.pz = temp.z; temp = this.transform.eulerAngles; this.datos.rx = temp.x; this.datos.ry = temp.y; this.datos.rz = temp.z; temp = this.transform.localScale; this.datos.sx = temp.x; this.datos.sy = temp.y; this.datos.sz = temp.z; return this.datos; } void Start () { //Añadir GameObject a la lista GameData.Data.Add(this); } void OnDestroy(){ //Eliminar GameObject de la lista GameData.Data.Remove(this); } }
  5. 8 likes
    Lost Hope Hola a todos , somos Somber Pixel! Estamos desarrollando un juego survival horror hecho a base de pixel art llamado Lost Hope Lost Hope es un survival horror donde se puede explorar libremente diferentes lugares de una ciudad y tomar decisiones para poder sobrevivir a una catástrofe que ha traído consigo a mutantes . Hemos tomado bastante información sobre otros survival horrors , como silent hill o los primeros resident evil , así como algunos proyectos indie que hemos visto . Acerca del juego Vista General Que harías si de repente las personas a tu alrededor comienzan a convertirse en violentos mutantes? Esperando en casa por unos días hasta que todo se solucione puede ser una opción , lo cual ya lo has hecho por un tiempo y ahora estas sin nada de suministros para poder sobrevivir. Lo siguiente que pasa por tu cabeza es : tu objetivo debe ser escapar de la ciudad y ( si tu curiosidad es mucha) descubrir que esta pasando actualmente. Por supuesto, estamos trabajando en darle personalidad a cada uno de nuestros NPC con los que te encontraras , de momento no hablaremos mucho de esto ya que podrías frustrar la experiencia del juego para muchos , en resumen , tu objetivo principal sera : sobrevivir y escapar de la ciudad . Características Fluido y divertido sistema de combate Esto no quiere decir que sea fácil ! queremos que sientan el horror de tener un mutante frente a ustedes. Así que si quieres jugar a lo Rambo aquí .... terminaras muerto en muchas piezas por un mutante ya que las balas serán escasas. También habrá combate cuerpo a cuerpo, todo acción sera para sobrevivir. *La siguiente imagen es un trabajo en proceso (WIP) , es para dar una idea del juego , las calles estarán mucho mas detalladas en la versión final. Exploración y decisiones Explora una ciudad entera que tendrá diferentes entornos detallados desde el principio , que podrás recorrer bajo tus propio riesgo. Podrás entrar en cada edificio de la ciudad. Mirar a cada sobreviviente que estará lleno de una personalidad interesante , hacerles favores o hasta llegar a matarlos ... espera , Que? eso no destruiría el desarrollo de la historia y lo volvería genérico? No , esto sera parte del juego , en la vida real debes hacer todo lo posible por sobrevivir a una catástrofe con mutantes, pero todo en esta vida tiene consecuencias , no ? Enemigos mortales que te harán sentir bendecido por llevar una vida normal sin ellos queriéndote matar Cada mutante es diseñado con una estrategia de combate que vaya a juego con su diseño , cierto , todos te querrán matar .Algunas veces es mejor eludirlos a entablar combate y así encontrar una ruta alternativa. Muchos objetos para coleccionar Y mucho mas Tenemos mas aspectos que queremos mostrar en este tema , pero aun nos falta retocarlos. Estaremos posteando de manera regular ! y acerca del audio , lo cubriremos en un futuro cercano ya que es una parte muy importante del juego. Conoce al equipo Solos somos dos personas en Somber Pixel , pero pondremos todo nuestro esfuerzo y tiempo en este juego ! Izquierda: Adolfo Jungbluth(Programador) Derecha: Arturo Anci(artista Pixel art ) Y la parte mas importante ...el feedback de los usuarios ! Apreciaríamos muchos cada idea que se les venga a la cabeza o critica que nos ayude a mejorar así sera el juego que ustedes y nosotros queremos al final ! Un poco tarde , pero santa les deja un pequeño mensaje navideño Mas información Twitter: Somber Pixel: @SomberPixel Adolfo: @adolfojo777 Arturo: @Artan0728 Tumblr: http://somberpixel.tumblr.com/ Facebook: https://www.facebook.com/SomberPixel O directamente en este tema o MP !
  6. 8 likes
    Hola gente de UnitySpain. Me complace comunicaros que hemos terminado un nuevo proyecto para Android. https://play.google.com/store/apps/details?id=com.CodeLimit.MarioCrossy Actualización: https://itunes.apple.com/es/app/fun-run-cross-hero/id1020639994?mt=8 Curioso el caso del video con apenas 100 visualizaciones y 200 descargas del juego. El juego es un clásico runner endless pero cogiendo una perspectiva isométrica tal cual uno de los clásicos de Mario. La idea es coger varios conceptos que están muy de moda en muchos juegos actuales, pero usando una propuesta distinta. * Es decir, tendremos varios personajes a elegir, con varias habilidades que aún se encuentran en desarrollo. Ya tenemos algunos disponibles como jugar con Marcos (xD) con doble salto o Donatello con disparo especial * Generación random de escenario, incrementando la probabilidad de zonas difíciles en función de la distancia recorrida. * Generación random de enemigos en función de la distancia y de las condiciones climatológicas. * Concepto visual imitando a Minecraft y usando personajes clásicos obviando los nombres, esperamos conseguir un reclamo visual y llegar a tener algunas descargas decentes. * Drop de items actuales de monedas y munición, a lo largo de la semana esperamos tener los items para craftear armaduras y botas que mejoren los stats de cualquier personaje. Nos quedan que pulir algunas cosas, ajustar mas finamente las partículas y otras mas, pero antes de pegarnos un curro de 6 meses y estamparnos contra la pared hemos publicado para ver la aceptación del publico. Esperamos ansiosos vuestros comentarios, para poder mejorar en la medida de la posible el juego y convertirlo en lo mas divertido posible. Cabe destacar que los records he intentado protegerlos para que haya mas competitividad, tampoco os pido que superéis el mío, ya que la mayoría del foro no tienen porque tener destreza jugando y si programando, cosa que para mi es al revés Y_Y Por favor, si contesto algún comentario, no es que no agradezcamos las valoraciones y que también nos gusta compartir nuestros puntos de vista. GRACIAS por poder trabajar con Gustavo Schreyer, un excelente diseñador, y mejor persona. Los audios hemos reutilizado alguna cosa de Sergio Gonzalez, últimamente no logramos contactar con el, estuvo enfermo recientemente y perdí su teléfono, si alguien lo tiene por favor que contacte conmigo por privado.
  7. 8 likes
    ¡Hola a todos! Acabo de terminar de grabar una serie completa de tutoriales (de unas 14 horas de vídeo en total) en la que explico los conceptos básicos de programación usando C# en Unity. Este curso está especialmente diseñado para personas que nunca han programado, así que espero que sea una buena forma de empezar a escribir código en C#. Esta es la lista de reproducción de este curso: http://goo.gl/nlhTyv Y este es el enlace de mi canal: http://www.youtube.com/juande Echadle un vistazo a la siguiente presentación para ver si se adapta a vuestras necesidades. Espero que os resulte interesante. Estos son otros tutoriales que he publicado en este foro:
  8. 8 likes
    ¡Hola a todos! En este curso se desarrolla (desde el principio, hasta el final, y paso a paso) un juego tipo "Infinite Runner" en 2D con Unity 4.3. Os dejo por aquí un vídeo introducción del curso para que evaluéis si os interesa o no. Esta es la lista de reproducción de este curso: http://goo.gl/k7jCOVY este es el enlace de mi canal: http://www.youtube.com/juande Echadle un vistazo a la siguiente presentación para ver si se adapta a vuestras necesidades. Estos son otros tutoriales que he publicado en este foro: PD: En su día también hice un curso completo sobre cómo desarrollar un juego de realidad aumentada utilizando el plugin de Vuforia para Unity 3.5. Si os interesa aprender a hacer algo con la realidad aumentada, lo podéis encontrar también en mi canal. ¡Saludos!
  9. 7 likes
    ABRAMELIN GAMES Injection π23 Survival-horror clásico Inspirado en una pequeña localidad de Málaga. Jugabilidad orientada a resolver puzzles, exploración y supervivencia. 4 modos de cámara: 1ª persona, 3ª persona (camara libre y autocam) y camaras fijas (survival-horror clásico). Juego no recomendado para menores de 18. Plataforma: PlayStation 4, Windows (x64) Desarrollado por: J.A.M. (Abramelin Games) Colaboraciones: Abramelin logo, bocetos y cover art por Danilo 'Do Burundanga' Supervisión de código, sistema Autotarget 3ª persona, Autocam y sistema IK por Francisco Javier Tejada. Guía de optimización: LightBug Luces volumétricas open source por Michal Skalsky Actores de voces: Bernardo Casado (grabaciones cintas, doctor1) Jonathan Casquete (ex-militar, policia1) Virginia Montero (niño walkman) Miguel Flames (sacerdote2, policia2) Javi Ruiz (personaje principal) Luis Alberto Martin (doctor2, magnate) Pablo Ibañez (sacerdote1) Ruth pascual (doctora) Diego Orellana (enterrador, enfermero, guardaespaldas) Carlos Cremades (dueño del club) Francisca Rey (mujeres del club, ermitaña) Jose M. Sancho (profesor) http://abramelingames.blogspot.com/ www.abramelingames.com https://twitter.com/AbramelinGames
  10. 7 likes
    Trigonometría con Mathf Hola a todos, Me dispongo a hacer unas explicaciones de trigonometría Mathf y como funciona, y algo de explicaciones matematicas al respecto. Explicare los metodos mas importantes de la trigonometría. Explicare primero los arcos de coseno, seno y tangente. explicando en ellos el coseno, seno y tangente a su vez. luego mostrare como funciona Mathf.cos, Mathf.sin y Mathf.tan aparte sin explicar matematicamente cada uno, ya que han sido explicados junto a sus arcos. Mathf.Abs Este es sencillo y facil de entender asi que no me entretengo, Abs retorna el valor absoluto de un valor X Debug.Log(Mathf.Abs(-2045.34f)); //Vemos que estamos pasando el valor -2045.34f, el valor retornado sera 2045.34 //Si el valor que le pasamos a Mathf.Abs() es -10, este nos retornara 10. //En definicion, Abs retornara el valor positivo. Mathf.Acos Esta devuelve el Arcocoseno de un valor, recordar que lo devuelve en radianes. Que es coseno: Quiero explicar antes el coseno para poder entender mejor el arcocoseno. (Al igual que haré con seno, el codigo de ejemplo lo pondre para Mathf.Cos()) el coseno es la razon entre: El cateto adyacente (b) a dicho ángulo y la hipotenusa (c) en un triangulo rectangulo. esto quiere decir que cos α = b / c donde α es el valor angular con un dominio de [0,π]. (cuando hablamos de dominio, queremos decir un rango entre un minimo y un maximo, en este caso el minimo es 0 y el maximo 3.14159265359) Esta es la grafica de coseno: Que es Arcocoseno: Por definicion es la funcion recíproca de coseno, Esta es el arco cuyo coseno es alfa. arcocoseno restringe el dominio de la funcion coseno a (x) [-1,1] donde su codominio (α) [0, π]. Donde x es el valor comprendido entre -1 y 1 de la linea que vemos en la imagen, y α es la aceleración angular por unidad de tiempo. float x = ; //0 es exactamente es exactamente la bisectriz del primer y el tercer cuadrante de la grafica de arcocoseno. Debug.Log(Mathf.Acos(x)); //Devolvera (1/2)π radianes, que es 1,57 radianes. que en grados es 0. //Si X fuese 0.7, Devolveria (1/4)π radianes, que es 0,785 radianes. que son 45 grados. La tabla de valores comunes es: Valor dominio X: -1 -√2/2 -1/2 0 1/2 √2/2 1 Angulos: 180 135 120 90 60 45 0 Radianes: π 3/4π 5/6π 1/2π 1/3π 1/4π 0 Que son Radianes: El radian es la unidad de ángulo plano, en el sistema de medidas, 1rad = r. donde r es el radio de la circunferencia. y la circunferencia siempre vale 2π radianes. Esto quiere decir que 1 radian en valor decimal es equivalente la la longitud del radio. os dejo una imagen que aclara bastante la mente. Mathf.Approximately Segun la referencia oficial de unity: (Este metodo lo añado por que me parecia interesante) //En vez de: if(1.0f == 10.0f / 10.0f)... //Hacer esto: if(Mathf.Aproximately( 1.0f, 10.0f / 10.0f )... (Supongo que esto es mejor usarlo con valores float largos como pueda ser π.) Mathf.Asin Este metodo devuelve el arcoseno de un valor, Recordar que lo devuelve en Radianes. Que es seno: Como con arcocoseno ya explique el coseno, con arcoseno explicare el seno. el seno es la razon entre: El cateto opuesto (a) a dicho ángulo y la hipotenusa (c) en un triangulo rectangulo. esto quiere decir que sen α = a / c (La diferencia con coseno es que coseno usa cateto adyacente, y este usa el opuesto al ángulo) donde α es el valor angular con un dominio de [0,π]. Esta es la grafica de seno: Ahora que sabemos que es el seno: Que es Arcoseno: Al igual que arcocoseno es la funcion recíproca de coseno, arcoseno es la funcion recíproca de seno. Lo que quiere decir que: SI arcsen x = α ENTONCES sen α = x recordar tambien que se escribe arcsen o sen-1 Es el arco cuyo seno es α. (Es como el espejo de arcocoseno antes explicado) arcoseno restringe el dominio de la funcion seno a (x) [-1,1] donde su codominio (α) [-π/2, π/2]. Os mostrare ahora una imagen de como se comportan seno y arcoseno en una grafica: La gráfica de la función arcoseno es simétrica a la de la función seno respecto a la recta bisectriz del primer y tercer cuadrante (y=x) float x = .5f; //.5f es el equivalente a 1/2 Debug.Log(Mathf.Asin(x)); //Devolvera 1/6π radianes que es 0,52 y son 30 grados. Mathf.Atan El metodo devuelve en arcotangente de un valor, recordar que lo devuelve en radianes. Que es la Tangente: La tangente la razon entre los catetos de un triangulo rectangulo. tan α = a / b Siempre como dividendo es el cateto opuesto, y como divisor el cateto adyacente. Vamos a recordar que sen α = a / c y que cos α = b / c por lo tanto la tangente de α se puede expresar como tan α = sen α / cos a Para comprender el concepto de tangente, graficamente vista en la imagen anterior, imagina una linea que su punto 0 nace desde D y tiende a infinito. El dominio de la tangente es (x) [-∞,∞], donde su codominio (α) [-π/2, π/2]. (Tranquilos esta funcion no estan necesaria en un principio como seno y coseno, asi que no os preocupeis si os resulta mas compleja) Que es Arcotangente: En este caso es la función recíproca de tangente. Al igual que con arcoseno y arcocoseno, arcotangente es el arco cuya tangente es α. En notacion matematica se puede escribir arctan o tan-1. Uso con unity de estas funciones Vale, ahora que sabemos la teoria, queda lo mas interesante que es la practica de estos conceptos en unity, y aplicaciones varias. El metodo que utilizare para mostrar los ejemplos sera con imagenes y codigo para que veamos la facilidad del asunto. (Recordar tambien que el objetivo es entender estos conceptos, para que podais usarlos a vuestro libre albederio) En este ejemplo, vamos a ver como saber los grados que tiene que rotar un objeto para mirar a otro. (Aunque esta funcion ya trae incorporada unity como Transform.LookAt() aquí explicare como funciona internamente) Lo primero que hay que saber es como conseguir la distancia entre dos puntos del plano de unity. (Yo trabajare con Vectores de dos dimensiones, "Vector2") Vector2.Distance(Vector2 a, Vector2 b); //Distancia entre los dos vectores. //Es lo mismo que hacer: Vector2 a = new Vector2(10, 11); Vector2 b = new Vector2(5, 8); float dist = (a - b).magnitude; Debug.Log(dist); Ahora en el proyecto creamos dos objetos, recuerdo que estoy trabajando en 2D, en 3D seria lo mismo pero jugando con Vector3, recordar que solo rotamos en el eje Y. Como vemos he creado dos objetos en un plano bidimensional, son dos sprites, el azul llamado objeto1 su posicion es: X=0 Y=-3.5, el negro y rojo llamado objeto2 su posicion es X=4 Y=-1. Como veis he dibujado un triangulo rectangulo a partir del punto A (Objeto1) y punto B (Objeto2) ahora tenemos la incognita de C que es sencilla, es la posicion Y de A y la posicion X de B Para encontrar la posición de C en Unity: public Transform A, B; //Aqui añadiremos los objetos de nuestra escena desde el inspector. void Start () { Vector2 C = new Vector2(B.position.x, A.position.y); //C es la posicion X del objeto2 y la posicion Y del objeto 1 } Ahora ya tenemos los 3 puntos de nuestro triangulo imaginario. Ahora hay que saber la distancia de h, de ca y de co Aunque para sacar el coseno que es lo que necesitamos, no nos hacefalta co, ya que solo necesitamos cateto adyacente e hipotenusa. public Transform A, B; //Aqui añadiremos los objetos de nuestra escena desde el inspector. void Start () { Vector2 C = new Vector2(B.position.x, A.position.y); //C es la posicion X del objeto2 y la posicion Y del objeto 1 float h = (A.position - B.position).magnitude; //Distancia de hipotenusa float ca = (new Vector2(A.position.x, A.position.y) - C).magnitude; //distancia cateto adyacente float co = (new Vector2(B.position.x, B.position.y) - C).magnitude; //distancia cateto opuesto. } Sacaremos ahora el coseno del triangulo, para que nos de los radianes. public Transform A, B; //Aqui añadiremos los objetos de nuestra escena desde el inspector. void Start () { Vector2 C = new Vector2(B.position.x, A.position.y); //C es la posicion X del objeto2 y la posicion Y del objeto 1 float h = (A.position - B.position).magnitude; //Distancia de hipotenusa float ca = (new Vector2(A.position.x, A.position.y) - C).magnitude; //distancia cateto adyacente float co = (new Vector2(B.position.x, B.position.y) - C).magnitude; //distancia cateto opuesto. //Sabiendo que; cos α = ca / h float a = ca / h; //Ya tenemos alfa. float rad = Mathf.Cos(a); //ahora sacamos con Mathf el coseno de alfa y lo pasamos a una variable float, que sera el valor en radianes. Debug.Log(rad); //Nos dara 0.66 } Vale ahora tenemos el valor en radianes, ahora lo pasaremos a grados. public Transform A, B; //Aqui añadiremos los objetos de nuestra escena desde el inspector. void Start () { Vector2 C = new Vector2(B.position.x, A.position.y); //C es la posicion X del objeto2 y la posicion Y del objeto 1 float h = (A.position - B.position).magnitude; //Distancia de hipotenusa float ca = (new Vector2(A.position.x, A.position.y) - C).magnitude; //distancia cateto adyacente float co = (new Vector2(B.position.x, B.position.y) - C).magnitude; //distancia cateto opuesto. //Sabiendo que; cos α = ca / h float a = ca / h; //Ya tenemos alfa. float rad = Mathf.Cos(a); //ahora sacamos con Mathf el coseno de alfa y lo pasamos a una variable float, que sera el valor en radianes. //Para pasar de radianes a grados es aplicar la regla de 3 //-> Pi / 180 = rad / X despejamos la x // y la ecuacion es-> x=180*rad/Pi float grados = (180 * rad) / Mathf.PI; Debug.Log(grados); } No os equivoqueis por que estos no son los grados que hay que rotar, estos son los a los que se encuentra el punto B respecto al punto A, os muestro una imagen para que lo comprendais. Si nuestro sprite mirase a la derecha por defecto (que es donde comienda el grado 0) entonces 37.9 grados serian los que tendria que rotar a su izquierda, pero nosotros tenemos el offset de 90 grados por que nuestro sprite mira hacia arriba. (Por eso hay que hacer un pequeño arreglo) Y ahora si por fin lo rotaremos lo necesario para que mire hacia el otro objeto. void Start () { Vector2 C = new Vector2(B.position.x, A.position.y); //C es la posicion X del objeto2 y la posicion Y del objeto 1 float h = (A.position - B.position).magnitude; //Distancia de hipotenusa float ca = (new Vector2(A.position.x, A.position.y) - C).magnitude; //distancia cateto adyacente float co = (new Vector2(B.position.x, B.position.y) - C).magnitude; //distancia cateto opuesto. //Sabiendo que; cos α = ca / h float a = ca / h; //Ya tenemos alfa. float rad = Mathf.Cos(a); //ahora sacamos con Mathf el coseno de alfa y lo pasamos a una variable float, que sera el valor en radianes. //Para pasar de radianes a grados es aplicar la regla de 3 //-> Pi / 180 = rad / X despejamos la x // y la ecuacion es-> x=180*rad/Pi float grados = (180 * rad) / Mathf.PI; float offset = 90; //Este es el offset de nuestro sprite, por que por defecto deberia de mirar a izquierda y no arriba. //Ahora ya si, lo rotamos A.Rotate(new Vector3(,,-(offset-grados))); } Recordar que el offset cambia segun si esta a izquierda o derecha de nosotros, tambien segun este arriba o abajo. Esto es un ejemplo de una de las muchas utilidades de la trigonometría en los videojuegos, esta claro que para muchos unity ya da herramientas, pero para otros no, por eso estos conceptos son necesarios saberlos. Un saludo y espero que les sirva esta pequeña explicación!
  11. 7 likes
    Pongo a vuestra disposición unos cursos sobre Unity 5 (mención especial al de "Como hacer un RPG" en inglés); otros sobre Blender que van desde lo básico hasta modelar personajes y rigging; y por último programación con C# y Javascript. También añado uno sobre inteligencia artificial. Si desáis más podéis ir al foro de Stratos, que es donde puse estos cursos más otros tantos: http://www.stratos-ad.com/forums/index.php?topic=16831.msg162995#msg162995 Espero que os sean útiles. Programación - Curso C# básico - Curso C# - Curso de JavaScript desde 0 - Curso de JavaScript para principiantes - Inteligencia Artificial Diseño Grafico Blender Cursos iniciación - Curso Blender 2.6X - Curso completo Blender Cursos nivel avanzado Cursos modelado - Curso modelado de un personaje en Blender 2.68 - Curso modelado personaje 3D estilo anime - Blenderella Cursos Rigging - Curso Blender Character Rigging - Mini curso Rigging - Tutorial Ciclo caminando - Humane Rigging Cursos Texturizado - Blender for 3d printing Cursos otras técnicas - Blend & Paint - Venoms Lab! 2 - Track Match Blend Game Engines Unity Cursos iniciación - Curso en español de C# para Unity (Nivel 1) - Bloques! Tu primer juego en Unity 5 - Unity 5 from Beginners to Pro - Curso Unity 5 - Curso Unity 5.4 - Micro tutoriales Unity 5.4 - Como crear tu primer videojuego - Unity 5.1.0 Cursos especificos - Crear un juego RPG - Create a RPG - Unity 5 RPG Series – Item System - Unity 5 RPG Character Controller - Creando el juego Space Shooter 2D - Curso creación juego 2D Unity Tutoriales varios - Tutoriales Unity5 - Blender and Unity Cursos avanzados - Curso Inteligencia artificial usando una máquina de estados
  12. 7 likes
    Saludos a todos. Tras muchas búsquedas sin éxito, por fin he encontrado un Joystick analógico virtual (en pantalla) para tablets y smartphones, pero que se base por fin en el uso de la nueva GUI que tiene Unity desde la 4.6.x. He tenido la oportunidad de probarlo, y tras unas leves modificaciones ya funciona para versiones 5.0 en adelante. Lo he reducido de tamaño con sólo lo necesario y lo he vuelto a empaquetar. El Package en cuestión lleva una scene de prueba que mueve una píldora por un escenario cerrado, para probar colisiones. El Joystick como tal se encuentra dentro de un panel, dentro del Canvas (como toca). Enlace: http://www.filedropper.com/uguijoystick Espero que os sirva tanto como a mí, y que le deis mucho uso!
  13. 7 likes
    Buenas. Ya va siendo hora de mostrar algo de mi nuevo proyecto. Esta vez se trata de un juego de Rally en el que podremos disputar el campeonato el mundo de rally. ¿Qué hay que hacer? Pues completar cada etapa del rally en el menor tiempo posible, conseguir dinero e ir mejorando y desactivando más coches. Tengo pensado en dividir el juego en licencias (B, A, AAA), o sea, que habrá como tres niveles diferentes en el que nos hará falta tener la licencia y un coche de ese nivel para poder correr un campeonato en ese nivel. Lo único que diferencia a una y otra licencia es la potencia del coche y el dinero a ganar. Ya está en Google Play: Versión Free :https://play.google.com/store/apps/details?id=com.MantisGames.DriftandRallyFREE Versión Completa : https://play.google.com/store/apps/details?id=com.MantisGames.DriftandRally Unas capturas de varias escenas provisionales. También habrá nieve, desierto y asfalto. Todos los escenarios serán ricos en desnieveles, como debe ser.
  14. 7 likes
    Buenas, les dejo un enlace a un libro PDF sobre tips y demás, para desarrollar los niveles de sus juegos. El titulo del libro es: How to Create a Full Playable Map from Beginning to End in 11 Days using UDK? Pero vale para todo, es decir, hos explican desde como crear la idea, hasta el desarrollo completo del nivel, eso sí, está en inglés. http://www.worldofleveldesign.com/ Animense a mirarlo por que es muy completo y además es GRATISSS!!! XD poco más que añadir...
  15. 6 likes
    Hola de nuevo a tod@s. Después de algún tiempo sin postear nada por aquí, y tras la satisfactoria experiencia con mi anterior proyecto SpinBlock Puzzle del que ya os hable en otro hilo, os traigo lo último en lo que estoy trabajando. Un juego de estrategia táctica multijugador por turnos, con ambientación medieval fantástica. Donde la acción se reparte entre la construcción y evolución del poblado o ciudad, mediante la obtención de recursos. Y el combate contra otros jugadores en diferentes mapas disponibles, empleando las tropas y máquinas de asedio creadas con antelación o reclutando otras nuevas. Y levantando defensas para impedir el avance del contrincante. Aquel que consiga cruzar las defensas del oponente obtendrá el estandarte del adversario y ganará la partida. Pero para ello tendrá que desarrollar su estrategia en función de los recursos disponibles, la distribución del mapa, la raza de los personajes, las actualizaciones conseguidas y las habilidades desarrolladas. Próximamente os ampliaré detalles. Por ahora os dejo con algunas capturas para abrir boca. Espero que os gusten y quedo a la espera de vuestras críticas y sugerencias. Saludos. Despliegue de defensas de nivel básico Despliege de defensas de nivel intermedio Detalle de una trampa de estacas y un ariete Encendiendo la barbacoa!!!!
  16. 6 likes
    EDITO: La pagina de steam ya esta activa, Delta Squad en Steam con su correspondiente trailer y demas :) Ya puedes comprarlo!! Hola!!!, Llego el momento de presentar el proyecto en el que llevo varios meses currando. Se llama Delta Squad, y al igual que mi anterior trabajo FullBlast esta pensado para old gamers y gente que gusta de arcades clasicos con gameplay clasico 100%. Aqui no hay ayudas a los jugadores, ni "complicado" lore, al mas puro estilo john carmack, donde decia aquello de que la historia en un juego tal y cual... xD Delta Squad es un arcade donde tenemos que liberar a la humanidad de un maligno virus y para ello iremos cumpliendo misiones en cada nivel hasta conseguir nuestro objetivo. Se puede jugar hasta 4 personas local coop, y trae un modo para activar el "friendly fire" que es siempre tan agradecido en estos juegos (porque matar a tus compañeros siempre se agradece xD). Aqui os dejo la primera captura del proyecto :) Delta Squad es un juego muy particular y que solo gustara a un porcentaje MUY pequeño de la gente. El juego va enfocado a la gente que busca un juego retro como los arcades de los 90', si no te encuentras en ese target, entonces el juego NO tiene nada que ofrecerte y no te recomiendo comprarlo porque te aburrira mucho. Si por el contrario te gusta comprar juegos asi "raros" como me pasa a mi, entonces seguramente este Delta pueda estar entre tus retro-favoritos. Para gustos colores... Edit: Aqui tenemos el primer video en movimiento del juego :) Gameplay video
  17. 6 likes
    Lamentum Se cuenta que un conde vive en una mansión oscura. De él se dice que puede conceder cualquier deseo y que es tal su poder que incluso la muerte no se atreve a cruzar sus dominios. Pero todo tiene un precio... ¿Te atreverías a pagarlo? Sobre el juego: Lamentum es un juego survival-horror en estilo pixel art que tiene lugar en Nueva Inglaterra a mediados del siglo XIX. Tomarás el papel de Victor, un joven aristócrata que busca desesperadamente la cura para una rara enfermedad. El juego se basa en la exploración y resolución de enigmas, pero sin olvidar la acción y el combate. Acerca de nosotros: Somos un pequeño equipo de dos personas con base en Madrid y Sevilla. Aunque tenemos experiencia en el sector de los videojuegos, este es nuestro primer proyecto en equipo. También contamos con la colaboración de Black Light Sound, encargado de la música y los efectos sonoros. Soundcloud: https://soundcloud.com/blacklightsnd Gracias por pasaros y agradeceríamos vuestros comentarios. Podéis seguirnos en: Twitter: https://twitter.com/ObscureTales Facebook: https://www.facebook.com/ObscureTalesGames
  18. 6 likes
    Hola, ahora que he empezado el proceso de subir un segundo juego a la playstore le he encontrado utilidad a los post que escribí al subir el primero, ya que me están facilitando mucho el trabajo. Os dejo los enlaces con una pequeña explicación y espero que puedan ser de ayuda a todos aquellos que hacen sus primeras subidas a la tienda de Google. Como subir un juego a la playstore. Aparte de describir el proceso, se indica lo que tendríamos que tener preparado previamente, como los iconos, o una descripción corta y una larga, pantallas, un vídeo… Como firmar un apk de unity para subirlo a la play store. Lo más importante: NO PERDÁIS NUNCA DE LOS JAMASES LA FIRMA. Incorporando Google logros con Google Play Services. Aparte de publicar el juego creo que es una buena idea aprovechar las diversas posibilidades que nos ofrece Google, los logros es una de ellas, y pueden ayudar a motivar al jugador. Como crear un tablero de puntos para Unity con Google Leaderboard. Otro de los servicios que nos ofrece Google y podemos aprovechar: el tablero de puntos! Són post muy simples, donde se explica el proceso más sencillo. Por ejemplo en el de subida no pasamos por Alpha y Beta, ni creamos un grupo de usuarios Betas. Espero que sirvan a todos aquellos que suben su primer juego! Suerte… y a por los Euruuuuuuus!!!
  19. 6 likes
    Mi primer vídeo juego en Unity 3D Personal. También hecho con MakeHuman y blender. Mi blog
  20. 6 likes
    Buenas Os presento el proyecto que estoy llevando a cabo yo solo desde hace 1 año. Vendí mi antiguo negocio hace unos meses y estoy trabajando en esto a tiempo completo desde entonces. Mi idea es ponerlo a votación en Greenlight en una o dos semanas como máximo. El argumento es bastante sencillo: eres el capitán de una nave militar. Los mundos exteriores han declarado la guerra a la Federación Galáctica y todas las naves militares, incluida la tuya, reciben la orden de dirigirse a la capital y defenderla del inminente ataque. El juego en sí, es muy parecido al planteamiento de FTL. Hay un mapa estelar generado aleatoriamente con diferentes puntos a los que podemos saltar, cada vez que saltamos a un nuevo punto aparecerá un evento en el que podremos tomar decisiones. Dependiendo de la suerte y nuestras elecciones podremos ganar o perder créditos, moral, tripulantes, ganar nuevos sistemas o armas para la nave o hacer que el evento termine en una batalla. Algunos eventos son sencillos y tienen solo dos finales posibles o incluso solo uno (por ejemplo, los eventos que siempre finalizán en una batalla), pero otros serán bastante más complejos, el más variado hasta ahora tiene 9 finales distintos y 35 strings de texto. El sistema de batalla no se parece en nada al de FTL y es más parecido a Starpoint Gemini o al de Battlevoid Harbinger (pero en 3D). Las naves tienen puntos en los que se pueden acoplar sistemas y armas, las armas disparan y apuntan automáticamente y nosotros controlamos el movimiento de la nave, el control de energía y las habilidades que ofrecen algunos sistemas y armas y que tienen un tiempo de recarga una vez se utilizan (por ejemplo: camuflaje óptico, reparación, sabotaje de sistemas enemigos, lanzamiento de misil nuclear etc.). He grabado un gameplay de 15 minutos para que podáis ver un poco el juego. Ahora mismo el juego está en pre-alpha, tiene la mayoría de sistemas acabados, aunque algunas cosas pueden variar pero principalmente le falta contenido (eventos, naves, armas y sistemas), que es a lo que me dedicaré a partir de ahora. En el estado actual se puede jugar el primer nivel de los 5 que tendrá una partida completa. Pongo también algunas capturas más: Decidme como lo veis y que os parece!
  21. 6 likes
    Hola foreros! Llegó el gran día. Por fin tenemos publicado nuestro primer juego, Medieval Business Clicker. Nos estrenamos en este mundo con mucha ilusión y metas por cumplir, deseando empezar con el siguiente proyecto, hacer colaboraciones y conocer gente para aumentar la plantilla y poder así aspirar a otros más ambiciosos. Os animamos a que lo probéis y veáis el resultado de varios meses de trabajo duro. Si nos dais vuestra bendición en forma de estrellas también os lo agradeceríamos mucho. Medieval Business Clicker es un adictivo juego incremental para android y PC (Próximamente en IOS) en el que tendrás que gestionar diferentes negocios y optimizarlos al máximo. Descárgalo gratis en android (pronto en PC e IOS): https://goo.gl/TyfCFY Comienzas tu aventura en un reino con diferentes negocios en los que invertir. Al principio el progreso completamente “manual”, pero en poco tiempo, el juego alcanzará un nivel mucho mas frenético. Además de comprar diferentes negocios, puedes contratar managers para automatizar los negocios, conseguir mejoras para mejorar el rendimiento, hacer diferentes misiones e incluso viajar a otras a zonas. Ademas incluye la posibilidad de elegir entre 3 personajes distintos y conseguir logros únicos para cada uno de ellos a lo largo de la aventura. Y un sistema de rejugabilidad infinita a través de reseteos que te otorgan un bonus en cada nueva partida en forma de "prestigio". Podéis preguntarnos cualquier duda sobre el desarrollo en este mismo post. Y estar al tanto de las novedades sobre MBC y nuestros futuros proyectos en : http://www.partyheadstudio.com Capturas de PlayStore de Medieval Business Clicker:
  22. 6 likes
    SEEVN ahora está disponible para Android: https://play.google.com/store/apps/details?id=co.wcu.seevn Además puede descargarse para sistemas de escritorio en: https://wcu.itch.io/seevn POST ORIGINAL Aquí les va mi último proyecto en Unity. SEEVN es un editor de novelas visuales por nodos, que permite a los autores crear historias con múltiples rutas de manera más sencilla. Después de varias semanas de trabajo está listo para publicarse. Este ha sido uno de mis proyectos más motivantes. Aunque existen varios assets para creación de novelas hice este de comienzo a fin con sólo la API de UI. La primera versión es bastante básica, pero tengo una tonelada de características por implementar. Dejen sus comentarios. Veremos si genera algo de atención…
  23. 6 likes
    Te dejo algo que arme hace un tiempo y lo modifique ahora para vos.. public static class Parabolic { public struct Node { public Vector3 Point; public Vector3 Euler; public Quaternion Rotation { get { return Quaternion.Euler(Euler); } } } public enum ERotation { Deg0, Deg90, Deg180, Deg270, } public static Node[] Create(Vector3 point, Vector2 velocity, int segments, ERotation rotation) { float vel = Mathf.Sqrt((velocity.x * velocity.x) + (velocity.y * velocity.y)); float angle = Mathf.Rad2Deg * (Mathf.Atan2(velocity.y, velocity.x)); float time = ; time += 0.1f; Node[] path = new Node[segments]; for (int i = ; i < segments; i++) { float disX = vel * time * Mathf.Cos(angle * Mathf.Deg2Rad); float disY = vel * time * Mathf.Sin(angle * Mathf.Deg2Rad) - (Physics2D.gravity.magnitude * time * time / 2.0f); path[i].Point = new Vector3(point.x + disX, point.y, point.z); if (rotation == ERotation.Deg0) path[i].Point.y += disY; else if (rotation == ERotation.Deg90) path[i].Point.z += disY; else if (rotation == ERotation.Deg180) path[i].Point.y -= disY; else if (rotation == ERotation.Deg270) path[i].Point.z -= disY; path[i].Euler = new Vector3(, , Mathf.Atan2(velocity.y - (Physics.gravity.magnitude) * time, velocity.x) * Mathf.Rad2Deg); time += 0.1f; } return path; } } Podes armar parabólicas en las 4 rotaciones creería necesarias para tus mecánicas. Te dejo un componente de prueba... public class Parabola : MonoBehaviour { public Vector2 Vi = new Vector2(10, 20); public Parabolic.Node[] Path = new Parabolic.Node[]; public int Segments = 50; public Parabolic.ERotation Rot = Parabolic.ERotation.Deg0; private void Update() { if (Input.GetKeyDown(KeyCode.Mouse0)) { Path = Parabolic.Create(transform.position, Vi, Segments, Rot); } } private void OnDrawGizmos() { for (int i = ; i < Path.Length - 1; i++) { int i2 = i + 1; Gizmos.color = Color.white; Gizmos.DrawLine(Path[i].Point, Path[i2].Point); Vector3 dir = (Path[i].Point + Path[i2].Point.normalized); Vector3 hDir = dir; hDir.y = Path[i].Point.y; Vector3 vDir = dir; vDir.x = Path[i].Point.x; Gizmos.color = Color.red; Gizmos.DrawLine(Path[i].Point, hDir); Gizmos.color = Color.blue; Gizmos.DrawLine(Path[i].Point, vDir); } } } Espero te sirvan!
  24. 6 likes
    24 Code Limit, tiene el placer de anunciar su nuevo proyecto. Proyecto Gratuito que saldrá en primer lugar para Android y en breve para iOS. ___________________________ Actualización ____________________________________ https://play.google.com/store/apps/details?id=com.CodeLimit.ShootyHeroes http://www.amazon.com/Shooty-Sky-Héroes-Endless-Arcade/dp/B019Z93KCQ/ref=sr_1_1 https://itunes.apple.com/es/app/shooty-sky-heroes-endless/id1067640076?l=en&mt=8 https://www.microsoft.com/en-us/store/games/shooty-sky-heroes/9nblggh5km34 Hasta tenemos review ^^ que triste xD A raíz del resurgimiento de la moda de los Shoot` em up con nuevas estéticas de tendencias voxel o cubicas o pixel hemos decidido llevar a cabo este proyecto, si bien no el mas ambicioso, pero si donde mas cariño hemos puesto. Por supuesto gracias a la colaboración de ciertos miembros del foro por sus aportes ante problemas lógicos, hemos podido llevar a cabo este proyecto en prácticamente 2 meses a un estado casi finalizado. Lo aprendido en anteriores proyectos nos ha servidor para ir creando contenido cada vez a una velocidad mayor. También técnicas básicas con el soporte de extensiones para creación de pool del Sr. Ilie se ha convertido en una clase básica en nuestros proyectos para lograr rendimientos significativos sobre todo en terminales de gama media media-baja. El objetivo del juego en el primer lanzamiento será del clásico modo insane donde te vendrán oleadas de enemigos desde todos los flancos menos el inferior, y tendremos que eliminarlos si no queremos acabar secos. Cada cierto tiempo podremos potenciar nuestras armas con powerups amen de habilidades especiales para cada personaje, aunque en un principio tendremos el clásico carga de misiles si no te mueves durante un periodo. Si logras avanzar hasta cierto punto deberás enfrentarte a un final boss con ataques especiales y mas vida clásico en cualquier shoot em up que se precie. Nuestro objetivo en esta semana es calibrar la dificultad y el ritmo de juego para hacerlo lo mas divertido posible. En las próximas semanas queremos plantear una serie de retos/niveles con buenas recompensas que incentiven a superarlos y siempre sin dejar un ritmo frenético y divertido. Hemos optado por la clásica estética voxel con personajes famosos, pero obviamente cambiando nombres para no violar copyright, el objetivo en los próximos días será aumentar el número de enemigos y jugadores a conseguir. De momento contamos con una variedad simple de sonidos FX que iremos ampliando y mejorando en breve. Si habéis conseguido leer hasta aquí, gracias por vuestra atención sincera. También necesitamos todas las críticas posibles, tanto buenas como malas, siempre bajo nuestro criterio, esperamos acertar con la que tomaremos para cambiar el rumbo en determinados aspectos. Pero gracias lo primero a todos por comentar. Todo el diseño gráfico fue realizado por el maestro Gustavo Schreyer y la programación por parte de Francisco Gimenez. Hemos contado entre otros con la inestimable colaboración del estudio de Keplrerians. Si me dais unos minutos empiezo a subir imágenes..... Enlace a la comunidad de Beta Tester para quien nos complazca con su participación. Porque también queda gente en la red social de Facebook, Shooty Heroes... Bueno, en breve podéis uniros en Beta tester en Google y subiré apk en Dropbox también por aquí. Un saludo.
  25. 6 likes
    Hola a todos He estado trabajando con el tema de Pathfinder para mi proyecto y quería compartir lo que he conseguido hasta ahora. No es el A* pathfinder, pero es muchísimo más sencillo. Esta basado en el algoritmo que posteó un usuario del foro, el código del algoritmo estaba escrito en C++ Código en C++y lo traduje a javascript. El algoritmo esta basado en una Matriz como el A* pathfinder He estado observando la idea de escanear el terreno y dividirlo en cuadriculas de un compañero del foro que está realizando el A* Pathfinder. En mi proyecto también escaneo el terreno pero de manera diferente. Lo que se me ocurrió fue crearme una Matriz de Objetos (Planos en este caso). El nombre de cada cuadrícula (Objeto) de la matriz me indica las coordenadas que ocupa en dicha matriz. Así el punto (0,0) tendrá de nombre "0000", el punto (0,1) será el "0001". Los dos primeros caracteres me indican la coordenada x y los siguientes la coordenada y. Recupero ese nombre lo paso a Entero y lo uso para trabajar con la Matriz lógica . Mejor veis el código y lo probais: El algoritmo funciona perfectamente en escenarios como el que hay en el proyecto. Con los laterales libre de obstáculos. El problema es que en escenarios con laterales cerrados el Player puede fallar al encontrar el camino. Esto es algo que hay que mejorar. PATHFINDER.zip
  26. 6 likes
    Buenas tardes a todos! Ya he hecho una presentación del juego en el apartado de Proyectos Finalizados, pero esta vez quiero compartir con vosotros, desarrolladores como yo, unas líneas sobre el cómo hice mi proyecto: Mobius of Magic, un RPG de la vieja escuela adaptado para dispositivos táctiles. El hecho es que he dedicado más de un año a tiempo completo a este proyecto y me gustaría compartir mi experiencia con todos aquellos que quieran aventurarse a hacer lo mismo (o simplemente con aquellos que les pique la curiosidad). Por esta razón he escrito este libro. Un libro poco convencional donde expongo a lo largo de más de 40 páginas, el proceso entero de la creación de Mobius of Magic. No es un tutorial, puesto que de tutoriales de Unity hay para hacer mil hogueras. He intentado escribir este libro buscando un poco el lado más humano del desarrollo: ¿Qué materiales he usado? ¿Por qué? ¿Qué software? ¿Cómo hice el diseño de personajes? ¿Y la IA de los enemigos? ¿Cómo era el prototipo del videojuego? ¿Cuál era mi idea original? He intentado responder a todas estas preguntas (y muchas más) que uno se hace cuando inicia su aventura de crear un juego, intentando siempre mantener los costes al mínimo y buscando la balanza entre un juego ambicioso pero no imposible de realizar. Espero que disfrutéis del libro. És gratuito y podéis encontrarlo en la iBooks Store de Apple (para iPad). Siento que no esté disponible para otras plataformas, pero quería incluir videos, modelos 3D y todo tipo de materiales gráficos. Para ello necesitaba una plataforma que me permitiera hacer todo eso, y sólo lo podía hacer mediante iBooks Author. Link al Libro Happy coding!
  27. 6 likes
    Buenas. Os presento la nueva versión de mi Formula Unlimited....Es un juego nuevo, no un update del anterior...... Pero entonces, ¿que hay de nuevo en este? Mucho más espectacular que la Formula 1 y GP 2. En esta nueva versión estaremos al volante de fabulosos monoplazas de alto rendimiento. Un juego de competición de alto nivel, con monoplazas exclusivos y con un rendimiento muy superior a un F1 convencional. Google Play: Formula Unlimited 2014 App Store: Formula Unlimited 2014 Novedades con respecto a la versión anterior: - Lo primero es la cámara. Ahora es tercera persona y estudiaré la posibilidad de tener la misma vista que la primera versión (en primera). - Perdida de rendimiento y aerodinámica por impactos y degradación de neumáticos. - Indicador de Status del monoplaza. - Parada en boxes para restablecer estado de vehículo y neumáticos. Por consiguiente ahora los circuitos disponen de PitLane - Ajuste de sensibilidad en pantalla de juego durante la carrera. - Mejoras gráficas en el monoplaza del player y en los monoplazas IA. En estos últimos si que hay una gran diferencia con respecto a la anterior versión. EDITADO: Cambios en estilo del Menú de configuración del Monoplaza Muestra parada en boxes (Los cambios de ruedas se realizan de manera táctil)
  28. 6 likes
    Yo comenze un proyecto solo pero ahora me acompaña gente en el camino de construir un RTS. Concept Art: Unity
  29. 5 likes
    Buenas, si alguien lo recuerda, este juego lo empece hace mucho, lo deje abandonado y no pude resucitarlo al tratarse de versiones tan antiguas de Unity. Actualmente estoy haciendo un reboot, de momento y a modo de demo técnica, os muestro este pequeño video de ejemplo:
  30. 5 likes
    Buenas, os enseño el juego que estoy creando con la Unidad para Android. Aún está en una fase temprana pero ya se puede ver más o menos como será. os pongo un par de Gifs. Iré actualizando. Me interesaría alguien que se ofrezca a probarlo y me dé su opinión. Un saludo! Dejo enlace a la beta en Google Play por si alguien lo quiere probar: https://play.google.com/store/apps/details?id=com.TumbGore.SVG
  31. 5 likes
    Hola a todos, Desde MoadStudio llevamos dándole vueltas a un juego de carreras con estéticas Low Poly con un toque ochentero en cuento a vehículos se refiere, y en el que estamos incorporando varios modos de carrera como TimeLap, Race, Battle, e incluso mini juegos sorpresas a desbloquear. Actualmente disponemos ya de varios circuitos y coches, corriendo con un buen framerate en móviles y tablets, y esperamos tenerlo pronto en googleplay. Os dejo algunos videos donde se puede ver mecánicas y gameplay. Las música de los mismos son del compañero de Batallas Igor, que ademas programar le da al tema musical Saludos!! ---- Moisés Moreno - MoadStudio www.moadstudio.com @moadstudio Google Play
  32. 5 likes
    Hola como estan? he hecho un tutorial de como hacer un sistema de registro en unity usando php y MySQL , espero puedan verlo
  33. 5 likes
    Hola a todos! Me llamo Oscar y soy coordinador del programa de incubación de empresas de videojuegos GameBCN, que se desarrolla en Barcelona. Nuestra labor consiste en acompañar a 5 equipos durante 6 meses en el desarrollo de sus juegos. Para ello proporcionamos gratuitamente: Espacio de trabajo en nuestro coworking Formaciones diversas (producción, game design, level design, marketing, monetización...) Expertos de la industria vienen a mentorizar a los equipos Les ponemos en contacto con publishers e inversores Si alguno de vosotros está desarrollando un juego, seguramente en setiembre abriremos una nueva convocatoria. Saludos!
  34. 5 likes
    Hola, hago este mini articulo porque hace unos dias me di cuenta que Unity ahora o desde hace poco trae un plugin de audio encargado de hacer lo que se llama HRTF (Head Related Transfer Function), que basicamente simula una fuente de audio en el espacio en relacion a una cabeza (Audio Listener de la camara preferentemente). Se dice Cabeza porque se vale de la diferencia en los tiempos de ingreso de ondas a cada oido para dar esa sensacion de "viene de alla", como en la realidad lo hace el cerebro, ... a diferencia del audio por default que solo calcula un vector de distancia y en base a las componentes divide el audio en Izquierda y derecha, quitando todo 3D aunque diga sonido 3D. En definitiva para aplicarlo a un proyecto hay que: --> Ir a opciones de Audio (Edit/Projects Settings/Audio) y elegir un plugin de la lista correspondiente a "Spatializer plugin" (A mi me va mejor el MS HRTF Spatializer, el otro sale muy bajo el volumen): --> En los AudioSources que se desea el efecto se lo habilita en el inspector (opcion Spatialize): Listo Ahora unas pruebitas (Ver Audio - DSP Load, algunos valores oscilaban en +-1 o 2 % de carga DSP): sin plugin 2 fuentes/ 40 fuentes/ 240 fuentes: con plugin 2 fuentes/ 40 fuentes/ 240 fuentes: En todos los casos los fps no hicieron la diferencia, (salvo cuando puse como 1000 pero supere la capacidad del plugin porque hubo unos warnings por ahi), aunque si la hizo el DSP Load como es de suponer. En conclusion si se tiene un escenario con demasiadas fuentes de audio lo mejor es siempre dar prioridad a aquellas importantes, como lo pueden ser pasos, voces, un enemigo, una fuente que su localizacion espacial sea de importancia (sobre todo si se tiene un horror game!!) y este tipo de plugin hara maravillas y a un costo relativamente bajo para el gran efecto que produce. PD: Usar auriculares por favor
  35. 5 likes
    Hola buenas, Después de tanto tiempo sin postear en mi antiguo hogar (uséase: UnitySpain), vuelvo triunfante -cual Cid Campeador- para presentaros el juego que hemos sacado para IOS. Lo hemos hecho entre dos personas (Raúl López y yo) a lo largo de año y medio. Es un juego de coches en 2d con una jugabilidad original (con deciros que NO hay carreras de coches como tales, lo digo todo). En fin, aqui os dejo con MOW: MOW es un juego 2D de conducción en el que tienes que respetar las señales de tráfico, evitando choques y accidentes varios. MOW te lleva situaciones límite (derrumbamientos, acantilados e inundaciones), mezclado con meteorología adversa (lluvia, nieve, truenos y relámpagos). Recorrerás circuitos llenos de obstáculos y peligros (rocas, barreras, charcos, badenes, troncos, montículos de arena, nieve o rocas etc..). Conduce y destruye obstáculos lanzando ráfagas de luz y completa los circuitos llegando al final sin fallos para conseguir bonificaciones extra. Cuida tu coche, reposta para seguir adelante y repara averías en los talleres. MOW está disponible para IOS : https://itunes.apple.com/us/app/mow/id1253567437?mt=8&ign-mpt=uo%3D2 Saludos a todos.
  36. 5 likes
    Buenas.....ya toca ir mostrando algo de lo que tengo entre manos. Este es el proyecto en el que estoy trabajando ahora. Se trata de un juego de coches xD, pero de estilo manager. Para el que no conozca este tipo de juegos, se trata de gestionar un equipo de rally en el campeonato del mundo, donde no se conduce ningún coche. En lugar de eso gestionaremos todo: contratación de personal, mejoras del coche, estrategias de carrera etc... Links descarga: Google Play: Rally Manager App Store: Rally Manager iOS Descripción y captura de algunos menús (próximamente pondré escena de juego y más) Gestiona tu equipo de competición en el campeonato del mundo de rally Contrata pilotos, copilotos, ingenieros y patrocinadores para crear el equipo más competitivo del campeonato. Invierte en mejoras del coche, en I + D y en mejorar tu infraestructura. Todos los elementos son importantes para mejorar tu coche. En cada etapa podrás ver la carrera en tiempo real de tu coche y una imagen virtual de todos los coches para comparar tiempos. Selecciona tu estrategia durante la carrera y reacciona a los cambios meteorológicos realizando paradas y eligiendo los neumáticos adecuados. Ocho tipo de neumáticos diferentes: (Asfalto duros, Asfalto blandos, Asfalto lluvia, Tierra duros, Tierra blandos, Tierra lluvia, Nieve polvo, Nieve Hielo) Configuración de suspensión, reglajes motor y sistema de frenada. Tipo de conducción (apretar, equilibrado, conservador). Tipo de reglajes de conducción (rectas, equilibrado, curvas). Mantenimiento del vehículo después de cada carrera. Y mucho más….
  37. 5 likes
    Parece ser que Unity ha comprado el asset y lo ha puesto gratuito para todos. La diferencia entre el de pago y este es sencillamente que viene empaquetado en una dll el código fuente, sin embargo la funcionalidad es exactamente la misma. https://www.assetstore.unity3d.com/en/#!/content/84126 Saludos
  38. 5 likes
    Timothy McHugh, de Sonniss, ha publicado hace poco menos de una hora en Reddit un recurso muy valioso: 10 GB de audio para videojuegos, de forma totalmente gratuita. Aquí tenéis el torrent: http://sonniss.com/GameAudioGDC.torrent Aquí está la lista completa de archivos, con algunos ejemplos. Los que he podido escuchar son efectivamente de una calidad muy buena.
  39. 5 likes
    Muy buenas chicos. Estamos terminando nuestra nuevo proyecto basado en los clásicos invaders pero partiendo de la nueva moda a raiz del Shooty. Os adjunto un par de imágenes. Nos vendría bien ir probando la beta, recordar que tenemos una comunidad para ello: https://plus.google.com/communities/102793355455274006536 Solicitais ser miembros y el enlace espero esta misma tarde tenerlo disponible. Iremos actualizando el hilo conforme veamos la rotación de Encélado. Tenemos un nivel introducción con una breve historia que nos situará en un contexto narrativo bastante intenso, y al mismo tiempo aprenderemos los controles. Tenemos una sección de powerups donde podemos: .- Mejorar arma principal, secundaria, disparo diagonal y disparo múltiple. .- Mejorar drone de disparo secundario. .- Mejorar drone de disparo de misisles. .- Mejorar sistema de escudos. .- Mejorar arma de misiles en ala. .- Mejorar arma especial de cada nave. Las monedas necesarias se podrán recolectar al eliminar enemigos en cada escena. Tenemos 3 slots para elegir distintas naves y probar distintas configuraciones. Disponemos de 60 niveles, cada 10 niveles debemos de enfrentarnos a un jefe final para desloquear la siguiente constelación. Disponemos niveles con fases de eliminar enemigos, escapar de zona de asteroides o trampas de enemigos. Iremos poco a poco ampliando mas contenido, es nuestro último proyecto y esperamos con toda la experiencia que tenemos en nuestras espaldas lograr como objetivo los 100k en menos de 1 mes. Soñar es grátis, que pasa? xD
  40. 5 likes
    Descripción Galazy Infinity es un shooter vertical centrado en 3 objetivos, acción, niveles infinitos y competición contra otros jugadores de todo el mundo. Acción Control intuitivo, podrás moverte con total libertad por toda la pantalla para acabar con tus enemigos. 3 disparos diferentes con 6 niveles de evolución cada uno. Será un placer acabar con tus enemigos con ellos. Niveles infinitos Galazy Infinity a sido diseñado para que cada partida sea única y diferente, con un algoritmo que permite que cada vez que juegues no sabrás por donde vendrán, ni cuales serán, los enemigos y que se incrementara la dificultad con el desarrollo de la partida, ademas de enemigos nuevos mas fuertes. Social Galazy Infinity trae consigo un ranking online con el que te podrás retar con tus amigos y con toda la galaxia. Elimina a tus enemigos para aumentar el multiplicador y conseguir puntos y consigue tantas estrellas como puedas para sumar aun mas puntos. El sonido de Galazy Infinity ha sido diseñado especialmente para auriculares, ya que cuenta con un sonido envolvente e inmersivo. Idiomas disponibles -Español -Ingles Compatible con Smartphone y Tablets. Descargar version gratuita Descargar version Premium Official Trailer Gameplay Pure Gameplay
  41. 5 likes
    ¿Que tipo de base de datos escoger para mi proyecto? Buenas a todos me gustaría hacer una breve introducción de ayuda para la gente que duda que tipo de base de datos coger para su proyecto y voy a plantear tres opciones validas dependiendo de lo que se necesite hacer. Existen 3 opciones recomendadas : (Bajo mis 11 años de experiencia) MYSQL (La mas común y seguramente que todos utilicéis) MARIA DB MONGODB Como muchos sabréis existen bases de datos Relacionales y no relacionales, ¿Que es esto? las bases de datos relacionales son todas aquellas que puedes relacionar información entre ellas en una misma consulta y que puedes segmentar y ordenar la información muchas mas eficiente y estructurada dividiéndola en tablas y campos, y por otro lado tenemos las bases de datos no relacionales que son todo lo contrario no puedes relacionar información entre ellas de manera directa. Mysql y Maria db son bases de datos entre otras RELACIONALES. MONGODB entre otras son bases de datos NO RELACIONALES. ¿Y cuales son las ventajas de estas ultimas si con las otras no puedo relacionar datos? Las bases de datos no relacionales son utilizadas muchos para el BIG DATA la entrada masiva de datos ya que no existe limitaciones de conexiones simultaneas o paradas temporales por actualización o inserción de datos evitando así cuellos de botella. Para que os hagáis una idea una base de datos no relacional (MONGODB) puede aguantar a 6000 personas insertando a la vez sin que se sobrecarga el sistema, sin embargo una base de datos relacional como MYSQL solo podría soportar en los mejor de los casos a 300. ¿RELACIONAMIENTO ENTRE TABLAS, ejemplo practico (MYSQL)? Por ejemplo necesitas coger de la tabla usuario la id y el nombre y luego por esa id buscar en el inventario, por esa id coges todas las id de objetos que están en la tienda y todos en una misma QUERY. ¿NO RELACIONAMIENTO ENTRE TABLAS, ejemplo practico (MONGO)?Si necesitas que constantemente se este guardando información en la base de datos así como extrayendo la sin que se generen cuellos de botella por saturacion. ¿Cual es mejor? No existe una favorita, la clave es saber que necesitas para tu proyecto, si lo que necesitas es GRAND PERFORMANCE e insertar y consultar muchos datos de una forma rápida MONGODB (no relacional) Si por el contrario necesitas RELACIONAR datos y una arquitectura compleja MYSQL O MARIA. Diferencias entre MYSQL Y MARIA La mysql ya la conocemos todos ya que es la mas utilizada por su sencillez, pues de los creadores de MYSQL llego MARIA DB al vender la patente de mysql los mismos tios decidieron crear MARIA que basicamente una copia de mysql pero mejorada orientada las a la clusterizacion. https://www.mongodb.com/ https://mariadb.org/ https://www.mysql.com/ Bueno espero que te servio de orientación a la hora de elegir un sistema de base de datos para tu proyecto. En mi experiencia diaria utilizado mas: mongodb Saludos CEO ZOORARE
  42. 5 likes
    Hola a todos! Les presento mi ultimo proyecto, es un juego para móviles por el momento esta disponible solamente para android pero pronto estará también para iPhone. el nombre es "Speedbox" un poco trivial lo se, los controles son muy sencillos (Derecha,Izquierda y voltear) pero la jugabilidad es un poco 'Hardcore', ya que esa era el objetivo, los gráficos son desentes para ser un juego móvil, la interfaz gráfica muy limpia y diseño plano con un esquema de color suave. Cuenta con dos modos de juego "Classic" donde el objetivo principal es recoger los 'items' del nivel y "Infinity" donde tienes que llegar lo mas lejos que puedas evitando los obstaculos. esta es la primera versión, tengo planeado integrar a leadeboard / ranking para la próxima actualización para compartir las mejores puntuaciones. Espero le den una mirada y me den sus consejos para mejorar, una buena evaluacion me ayudaria mucho chicos! Google Play Store: https://play.google.com/store/apps/details?id=sv.lovattostudio.speedbox Les dejo unas capturas y un video de el juego en su etapa de desarrollo (hay muchas mejoras en la version de lanzamiento).
  43. 5 likes
    Empieza por esto: void Start() { Debug.Log("Hello World!"); }
  44. 5 likes
    Buenas. Os traigo un nuevo juego recién salido de la chistera..xD..Para los aficionados al Drifting y las Gymkhanas con coches deportivos... Creo que no estuve acertado al hacer el juego Drift and Rally con varios modos de juego Rally y Drifting. Aunque no me quejo, ya que no me va mal con él en ambas plataformas, pero bueno.. He decidido crear este dedicado solo al Drifting LINK a Google play: Drift EVO
  45. 5 likes
    oye aki te traigo un adelanto del trabajo a ver que te parece
  46. 5 likes
    Hola a todos los desarrolladores de Unity3D Me presento como propietario y fundador de Codiwans, una empresa desarrolladora de Apps y Videojuegos para Smartphones. Una gran parte de nuestros proyectos se desarrollan habitualmente en Unity 3D. Por esta razón decidimos dedicar aproximadamente 1 mes de trabajo con 2 programadores, 1 para iOS y otro para Android para desarrollar dos plugins 100% funcionales capaces de permitir realizar micropagos y compras a través de los sistemas nativos que soportan iOS y Android, es decir: in-app purchases con iTunes Connect y Android in-app Billing con Google Checkout. La idea de ambos plugins es que cualquiera de vosotros tengais la posibilidad de implementar micro-pagos mediante nuestros plugins en cuestión de minutos a un coste muy bajo, aproximadamente unos 25 €. Este precio incluye ejemplos e instrucciones paso a paso para lograr que funcione totalmente en ambas plataformas de Apple y Google. Podeis visitar la página oficial en la web de Asset Store de Unity3D o descargarlo desde el Asset Store desde el mismo programa. Ambos plugins están testeados al 100% y en ambos casos podemos dar soporte por correo electrónico tanto en español como en inglés: iOS In App Purchase 35$, (Compatible con iOS6): http://t.co/Pod1u80K Android In App Billing 30$, (Compatible con Android 2.2 hasta 4.x): http://u3d.as/3U3 Envia tus dudas y preguntas para soporte al correo imperialmail@codiwans.com para completar el proceso de instalación rápidamente y generar beneficios con tu juego! Saludos desde Barcelona! Roger. CEO & Founder at Codiwans www.codiwans.com
  47. 5 likes
    Estás t0nto, si le mandas el móvil con que vas a hablar? mándale el número nada mas!
  48. 5 likes
    Buenas, Hace un par de meses decidimos comenzar una nueva y segunda linea de negocio, que es la de desarrollar juegos en menos tiempo. Comenzamos desarrollando el tipico Slenderman. Nuestra idea era desarrollar un juego todos los viernes, pero al final pasó a ser prácticamente todo el finde. Ahora mismo la cuenta tiene 3 juegos. https://play.google.com/store/apps/developer?id=Keplerians&hl=es Crossy Creeper: Este es con el que mejor nos ha ido, con unas 200.000 descargas en 2 meses. Fue publicado con 3 dias de desarrollo, y hemos ido metiendo actualizaciones con mas contenido. Ahora está disponible tambien en App Store, aunque aun estamos subiendo una update(esperando que nos la aprueben..) Diamond Robot: Este realizado en una semana, pero apenas lo hemos actualizado. Tenemos pendiente meterle mejoras y darle un lavado de cara, ya que creemos que da para mucho . Se trata de ir subiendo pisos evitando trampas y enemigos. Ademas vas recogiendo piezas(que despues puedes seleccionar para customizar tu robot) y powerups(que puedes usar para defenderte de las trampas etc). Están fundamentalmente monetizados con video ads, que los dejamos a voluntad del jugador, por lo que son juegos gratuitos. Se agradece el feedback como siempre. Vendran nuevos juegos pronto . Saludos!
  49. 5 likes
    Estoy algo atorado con Last Bullet porque el artista se ha atrasado un poco así que estoy esperando que termine para seguir con ese proyecto. Por mientras, esta es una de las imágenes que me ha mandado (para el menú e íconos): Mientras tanto estoy juntando assets y escribiendo el documento de diseño para mi próximo proyecto que va a ser un juego sci fi espacial con niveles procedurales y aún no me decido si combate por turnos a lo JRPG, un "tablero" con hexágonos (a lo Heroes of Might & Magic) o derechamente voy por algo en tiempo real (como Homeworld). Como ven, tengo muchas dudas, lo único que tengo claro es que tiene que ser un juego para PC porque estoy harto de juegos para móviles (desde ahora voy a tratar de sólo hacer juegos que yo estaría dispuesto a comprar y jugar). Screenshot de una prueba que estoy haciendo (el proyecto está recién en planeación): Saludos.
  50. 5 likes
    Gracias FiroH ! Link de descarga: http://www.worldofleveldesign.com/ebooks/ultimate-level-design-guide-11-days-level-design.php
×
×
  • Create New...