Menú

Mostrar Mensajes

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

Mostrar Mensajes Menú

Temas - Mantis

#1
General (Antiguo) / Rally Manager [Android, iOS]
Abril 29, 2016, 08:14:46 AM
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....


 
 
 
 
 
 

 
#2
General (Antiguo) / Zombie War - Dead City
Diciembre 13, 2015, 12:47:47 PM
Aquí lo tenéis, recién salido de la chistera. Un FPS Survival de zombies. La mecánica es la misma que el Block War Metal, pero en este caso de zombies.  La idea es sobrevivir a oleadas de zombies y boss, e ir desbloqueando armas y equipo. Por ahora he dejado las armas estilo Block Metal. Tal vez me haga uno con armas mas realistas y mecánica de Dead Trigger, o sea, en lugar de survival, serian pequeñas misiones que habrá que ir pasando. Aunque antes de que se termine el año voy a sacar otro de coches estilo Block que creo puede pegar.¿De que va esto?Has sobrevivido al apocalipsis zombie, pero ¿Por cuanto tiempo?. Tu misión prioritaria es acabar con las hordas zombies que imperan en la ciudad. La muerte acecha por todas partes, ningún lugar es seguro.LINK:  Zombie War - Dead City-Sonidos y efectos que te mantendrán atrapado en este apocalipsis zombie y del que no podrás escapar.
-First Person Shooter con movilidad libre por toda la ciudad.
-Arsenal disponible que iremos desbloqueando durante las partidas.
-Torretas con ametralladoras automáticas, fusiles de asalto, subfusiles. ametralladoras ligeras, claymores, granadas.
-Mejora las características de todas las armas: alcance ,daño, ratio de disparo, estabilidad, retroceso, agilidad.
#3
General (Antiguo) / Block War Metal 3D - FPS
Noviembre 28, 2015, 07:53:17 PM
BuenasOs presento mi próxima publicación para iOS y Android. En esta ocasión, se trata de un FPS con un estilo de cubos o bloques xD. Tiene cierto parecido a Pixel Gun 3D o Block Gun 3D, pero no es tan "cúbico".  Aún estoy pensando en modificar el HUD y ponerlo todo pixelado o dejarlo como está, ya veremos.PUBLICADO: Link a Google Play:   Block War Metal 3D - ShooterLos que lleven más tiempo en el foro, recordarán este proyecto que comencé pero que deje un poco de lado. Ahora lo he retomado y lo tengo casi terminado a falta de unos retoques.¿De que va esto?El que haya jugado al Call of Duty Modern Warfare 3 en el modo survival lo entenderá perfectamente, ya que el funcionamiento es el mismo.  Comenzaremos en un escenario donde irán apareciendo oleadas de enemigos cada vez más duros y en la que tendremos que sobrevivir.  La mecánica también tiene algún parecido a los modos zombies de call of duty. Sobrevivir a oleadas, adquiriendo equipo con el dinero o puntos ganados.Durante la partida ganaremos dinero que usaremos para adquirir este equipo y para comprar nuevas armas (fusiles de asalto, subfusiles y ametralladoras ligeras).Habrá dos zonas para abastecernos de armas, munición, claymores, granadas y torretas automáticas que podremos colocar a nuestro antojo por el escenario.También podremos comprar ventajas para mejorar las habilidades del jugador como recarga más rápida, correr más rápido o mayor salud.En este proyecto no se usan packs ni assets externos para FPS. Lo que si me ayudó mucho son los videotutoriales de Jocyf para la creación de un FPS. Lo recomiendo a todo aquel que tenga pensado hacer uno. 
#4
General (Antiguo) / I Wanna Be The Guy
Noviembre 17, 2015, 10:53:19 PM
Habéis visto este juego?  Esta gracioso como está hecho. 
eature=oembed" frameborder="0" allowfullscreen="true"> 
#5
General (Antiguo) / Drift EVO [Android]
Octubre 22, 2015, 09:54:27 AM
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 DriftingLINK a Google play:  Drift EVO
#6
General (Antiguo) / Offroad 4x4 Infinity
Octubre 16, 2015, 12:03:12 PM
Buenas.LINK: Offroad 4x4 InfinityAcabo de subir a Google play mi último juego de coches. Esta basado en uno que quería hacer de entornos gigantescos, pero al final he tenido que reducir el tamaño de los escenarios. Lo mejor es que ahora los escenarios son prácticamente ilimitados. O sea, que ahora se generan aleatoriamente cada vez que se inicia una partida. Nunca habrá dos escenarios iguales..El objetivo del juego es conducir un todoterreno por entornos muy accidentados y llegar a los checkpoints antes de que finalice el tiempo. El tiempo es diferente en cada partida y se calcula en relación a la distancia que existe entre los Checkpoints.  Hay piedras y rocas por un tubo que tendremos que sortear, y también lagos con cascadas, bastante guapos.  
#7
General (Antiguo) / Apps, publicidad y Cookies
Julio 28, 2015, 12:41:56 PM
Me han enviado un email y parece que antes del 15 de septiembre también habrá que poner el mensaje de aceptación de cookies donde se muestre publicidad de Google en nuestras apps.       
#8
Buenas.Aquí unas primeras imágenes de mi próximo juego para móviles. Se trata de un Shoot em up basado en el Arcade clásico "Commando".Link Google Play CommandoLINK Webplayer Demo --->      Comandos : Operación Mantis 
#9
BuenasComo en muchos juegos, a veces tenemos que crear los límites de movimiento del personaje en un eje o en varios...Ahora estoy liado con mi versión renovada del mítico Commandos y he dado mi solución particular a esto... Lo pongo porque he visto en otros post que suelen usar colliders y otras soluciones. Aquí esta la mía:En mi juego limito el movimiento del personaje en el eje x a lo que es el viewport de la cámara.  En este caso haríamos esto: 

function LimitarMovimiento(){
   
    var limit_x : float = Camera.main.ViewportToWorldPoint(Vector3(1, 1, Camera.main.nearClipPlane)).x;
    transform.localPosition.x = Mathf.Clamp(transform.localPosition.x,-limit_x ,limit_x);

}
Con esto hemos limitado el movimiento del personaje a los limites de la cámara para el eje x. Para el eje y, creo que no hace falta que lo ponga xD Saludos! 
#10
Desde lo de los rankings no puedo enviar ni responder privados, ni ver temas donde he comentado algo, me sale este error:
 
Fatal error: Call to a member function topicPost_view() on a non-object in /home/unityspa/public_html/admin/applications_addon/other/jawards/app_class_jawards.php on line 530
#11
General (Antiguo) / Final Race [Android & iOS]
Junio 14, 2015, 06:21:09 PM
Buenas
 
Os traigo mi proximo lanzamiento que estará disponible esta semana.... Se trata de otro juego de carreras, pero esta vez transcurre en un mundo postapocalíptico. Es algo parecido a los Brutal racing que saqué hace tiempo, pero mucho más currado, claro. 
 
A parte de los coches que nos disparan, también tendremos que evitar helicopteros, drones y zombies que transitan libremente por la carrera.  Estos zombies se pueden atropellar pero es mejor machacarlos con la ametralladora o los misiles, ya que la sangre de  los zombies nos quitará vida.
 
Dispondremos tambien de una serie de ventajas que podremos seleccionar antes de iniciar cada carrera. Ahora mismo solo hay 9:
  1. Más blindaje

  2. Proyectiles mejorados

  3. Misiles

  4. Inmunidad a la sangre zombie

  5. Cargadores ampliados

  6. Más gasolina

  7. Mayor alcance de armas

  8. Inmunidad a onda expansiva

  9. Mayor potencia del motor

Durante la carrera se puede recoger gasolina y municion de los coches que destruyamos, y tendremos la opción de recargar armas, parando en una especie de boxes, donde tambien podremos reparar los daños del coche y repostar gasolina.
 
Os dejo un montaje que he hecho. Me gustaria cambiar el aspecto (los caretos) de los corredores por unos un poco más reales, a ver que sale.
 
#12
General (Antiguo) / Unity 5
Marzo 11, 2015, 09:57:36 AM
Buenas.
 
Acabo de instalar unity 5 y lo primero que he notado es una ligera bajada en el framerate de mi proyecto. No es mucho pero es algo y no me hace gracia, claro.   A parte de eso toda la física de WheelColiders ha sido modificada en esta versión de unity, lo que me lleva a tener que modificar todos los parámetros de los vehículos nuevamente.  Ni que decir que esta es la parte más importante en un proyecto relacionado con vehículos (coches) y la que más tiempo me ha llevado hasta que todo ha ido fino.  Los parámetros son mas o menos mismos, pero los valores ya no guardan relación con los de versiones anteriores de unity.  Vaya cagada..... Estoy por volver a la anterior versión.
#13
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 dis***r 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" rel="external nofollow">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" rel="external nofollow">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
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: https://play.google.com/store/apps/details?id=com.MantisGames.FormulaUnlimited2014" rel="external nofollow">Formula Unlimited 2014
 
App Store: https://itunes.apple.com/us/app/formula-unlimited-2014/id896053615?mt=8" rel="external nofollow">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)
#15
Muy buenas.
 
Vengo a mostrar como podéis posicionar y escalar elementos GUI mediante OnGUI y también usando GUITextures. Vamos a hacerlo manualmente desde el Inspector, usando unas barritas de Scroll, XDDDD. El elemento (OnGUI o GUITexture) quedará adaptado para cualquier resolución de pantalla, ya que usaremos siempre Screen.width...etc...
 
Esto es un ejemplo para un GUI.Button pero podéis hacerlo con cualquier elemento GUI,..... GUI.Label, GUI.Box lo que sea
 
Como se usa:
 
Añadimos el script a la escena (a un GameObject, claro) y activamos la pestaña Game. Siempre trabajaremos en modo edición, ya que se guardaran nuestros datos en las variables correspondientes y cuando ejecutemos el juego, ya tendremos nuestro GUI posicionado y escalado en la resolución que sea.....Ahí va la magia:
 
 
Posicionar y Escalar elementos GUI con OnGUI()  desde Inspector
 
BotonGUI.js 

@script ExecuteInEditMode()
 
@Range(0,1)
public var posicion_x : float;
@Range(0,1)
public var posicion_y : float;
@Range(0,1)
public var escala_x : float;
@Range(0,1)
public var escala_y : float;
function  OnGUI() { 
   GUI.Button(Rect(posicion_x * Screen.width, posicion_y * Screen.height, escala_x * Screen.width, escala_y * Screen.width),"ESO ES TODO");
}

---------------------------------------------------------------------------------------------------------------
 
Posicionar y Escalar GUITextures desde Inspector
 
IMPORTANTE: Para GUITextures usaremos 2 Scripts uno para configurar el GUITexture en modo edición, el cual desactivaremos después de situar y escalar el GUITexture y el otro que guardará estos parámetros para nuestro juego (este ultimo no se desactiva). 
 
PosicionadorGUITexture.js 
 
 

@script ExecuteInEditMode()
 
@Range(0,1)
public var posicion_x : float;
@Range(0,1)
public var posicion_y : float;
@Range(0,1)
public var escala_x : float;
@Range(0,1)
public var escala_y : float;
 
private var script_parametros_gui_texture : ParametrosGUITexture;
function Start(){
   script_parametros_gui_texture = this.GetComponent(ParametrosGUITexture);
}
function Update() {
     
    this.transform.position = Vector3.zero;
    this.transform.position.z= 1;
    this.transform.localScale = Vector3.zero;
    this.guiTexture.pixelInset.width = escala_x * Screen.width;
    this.guiTexture.pixelInset.height = escala_y * Screen.width;     
    this.guiTexture.pixelInset.x = posicion_x * Screen.width;
    this.guiTexture.pixelInset.y = posicion_y * Screen.height;
    
    script_parametros_gui_texture.SetPosicion_X(posicion_x);
    script_parametros_gui_texture.SetPosicion_Y(posicion_y);
    script_parametros_gui_texture.SetEscala_X(escala_x);
    script_parametros_gui_texture.SetEscala_Y(escala_y);
}

 

ParametrosGUITexture.js

public var posicion_x : float;
public var posicion_y : float;
public var escala_x : float;
public var escala_y : float;
function SetPosicion_X (p : float){posicion_x = p;}
function SetPosicion_Y (p : float){posicion_y = p;}
function SetEscala_X (e : float){escala_x = e;}
function SetEscala_Y (e : float){escala_y = e;}
function Awake(){
    SituarGUITexture();
    this.GetComponent(PosicionadorGUITexture).enabled = false;
}
function SituarGUITexture(){
    this.transform.position = Vector3.zero;
    this.transform.position.z= 1;
    this.transform.localScale = Vector3.zero;
    this.guiTexture.pixelInset.width = escala_x * Screen.width;
    this.guiTexture.pixelInset.height = escala_y * Screen.width;     
    this.guiTexture.pixelInset.x = posicion_x * Screen.width;
    this.guiTexture.pixelInset.y = posicion_y * Screen.height;
}
#16
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
#17
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++ http://www.catsoft-studios.com/article/index.php?artid=74" rel="external nofollow">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