domingo, 5 de marzo de 2023

¿Como e resuelto un problema de colisión en Unity?;




 


¿Como e resuelto un problema de colisión en Unity?

Un personaje camina hacia una puerta por el sistema de Nav Mesh Agent pero hay una valla que le impide avanzar, el problema era que avanzaba igual atravesando la valla, el personaje tenia un rigidbody con gravedad acribada y un Capsule collider con trigger desactivado y la rotación del eje “Y” activado,,,,,,,,lo resolví poniendo la colisión en discreto y en vez de la opción interpolate le puse la de extrapolate, con estas características el personaje cuando toca la valla que tiene el rigidez en Kinematic y un Box Collider con el trigger desactivado se para y no abanza,,,,recordar interpolate abanza extrapolate se para no traspasa...




martes, 28 de febrero de 2023

Matamarcianos indie;

 

NO NECESITA INTALACION ALGUNA FUNCIONA EN WINDOWS 11 Y ANTERIORES,omitir instalar DirectPlay,  teclas Alt o Ctrl y flechas  junto teclado numerico, juego de marcianitos adictivo de varios niveles, tienes que disparar al OVNI y empujarlo hacia arriba entonces saldra un nuevo nivel del juego.....

DOES NOT NEED ANY INSTALLATION WORKS ON WINDOWS 11 AND EARLIER, skip install DirectPlay, Alt or Ctrl keys and arrow keys together with numeric keypad, addictive little martian game with several levels, you have to shoot the UFO and push it up then a new level of the game will come out. ....


viernes, 24 de febrero de 2023

Chat GPT;

Últimamente estoy percibiendo muchas noticias, videos, publicidad sobre la IA inteligencia artificial, parece ser que cualquiera puede acceder a ella y probarla, estoy escribiendo estas lineas y reconozco, admito que sin haberla probado ni saber nada estoy opinando, como todo tendrá cosas positivas y cosas negativas, en mi afición parece ser que,

 puede ayudarme en temas de programación, ideas, argumentos, para videojuegos guiones, ilustraciones,,,, Hace poco vi un video de un youtuber que la probaba pidiéndole que le hiciese un sript de programación para un videojuego, para unas acciones de este en concreto, y la maquina lo hizo, con fallos pero lo hizo….luego el youtuber corrigió los fallos de esa maquina IA, 

 Una persona que no sepa programar puede tener una ayuda con esa IA, Pero con el tiempo no tendrá que corregir nada y si no e entendido mal esa propia IA, con lo que se le pide y se le corrige recopila datos los asimila y se auto enseña así misma, osea, creo entender, lo que esta mal, lo que hace mal, lo desecha, y lo nuevo que esta corregido y es útil, y funciona, lo asimila y lo utiliza……

. Es un tema que parece va a revolucionar el mundo que actualmente conocemos,,,,, Lo que mas me alucina esque esto que esta ocurriendo ya no es un videojuego, esta ocurriendo y ocurrirá en el mundo real.



 

domingo, 19 de febrero de 2023

juega esta demo desde webGL; ya¡¡¡¡¡;

 

domingo, 12 de febrero de 2023

mis videojuegos de exito;

 

 

 

https://itch.io/s/61107/25-games 

 

 

 

 

 

martes, 7 de febrero de 2023

videojuego para mobile phones; y tambien pc windows web gl;

😄😄😄😄😄😄😄😄😄😄😄😄😄😄😄😄😄😄😄😄😄😄😄😄😄😄😄😄😄😄😄😄😄😄😄
 
😜😜😜😜😜😜😜😜😜😜😜😜😜😜😜😜😜😜😜😜😜😜😜😜😜😜😜😜😜😜😜😜😜😜😜
 
 
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ALKLICARRATONNIVEL1 : MonoBehaviour
{
    
        void Start () {


       
        }


    
        void Update () {

    if (Input.GetButton ("Fire1"))
            {

                        Application.LoadLevel (1);



        }
    }
}
 
 😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀
 
 
😏😏😏😏😏😏😏😏😏😏😏😏😏😏😏😏😏😏😏😏😏😏😏😏😏😏😏😏😏😏😏😏😏😏😏

 

 

 


 

Estoy probando hacer videojuegos para poderlos jugar desde teléfonos móviles, con los navegadores de internet que tienen la mayoría, este ejemplo que quiero trabajarme lo funciona en los pc con Windows y el mouse y en los teléfonos con el tacto del dedo, se puede giar y se puede disparar con el dedo tocando la pantalla, tiene un script para que el cubo se mueva solo y otro para que pueda inclinar lo y así frenarlo o darle marcha atrás , aparte al dar toques en la pantalla se producen los disparos, derribamos unos pilares y recogemos unas capsulas para sumar puntos….apartir de hay lo que se me ocurra y lo que la memoria de mi teléfono aguante,,,,en fin iré haciendo y comentando...pongo los scripts en C# que utilizo y el juego esta echo con Unity…


using System.Collections;

using System.Collections.Generic;

using UnityEngine;


public class muebeladodespacio : MonoBehaviour {


// Use this for initialization

void Start () {

}




// Update is called once per frame

void Update () {


transform.position += transform.forward * 1.2f * Time.deltaTime; }


}






😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁


😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁

😉😉😉😉😉😉😉😉😉😉😉😉😉😉😉😉😉😉😉😉😉😉😉😉









using System;

using UnityEngine;

using UnityStandardAssets.CrossPlatformInput;


namespace UnityStandardAssets.Utility

{

public class SimpleMouseRotator : MonoBehaviour

{

// A mouselook behaviour with constraints which operate relative to

// this gameobject's initial rotation.

// Only rotates around local X and Y.

// Works in local coordinates, so if this object is parented

// to another moving gameobject, its local constraints will

// operate correctly

// (Think: looking out the side window of a car, or a gun turret

// on a moving spaceship with a limited angular range)

// to have no constraints on an axis, set the rotationRange to 360 or greater.

public Vector2 rotationRange = new Vector3(70, 70);

public float rotationSpeed = 10;

public float dampingTime = 0.2f;

public bool autoZeroVerticalOnMobile = true;

public bool autoZeroHorizontalOnMobile = false;

public bool relative = true;

private Vector3 m_TargetAngles;

private Vector3 m_FollowAngles;

private Vector3 m_FollowVelocity;

private Quaternion m_OriginalRotation;



private void Start()

{

m_OriginalRotation = transform.localRotation;

}



private void Update()

{

// we make initial calculations from the original local rotation

transform.localRotation = m_OriginalRotation;


// read input from mouse or mobile controls

float inputH;

float inputV;

if (relative)

{

inputH = CrossPlatformInputManager.GetAxis("Mouse X");

inputV = CrossPlatformInputManager.GetAxis("Mouse Y");


// wrap values to avoid springing quickly the wrong way from positive to negative

if (m_TargetAngles.y > 180)

{

m_TargetAngles.y -= 360;

m_FollowAngles.y -= 360;

}

if (m_TargetAngles.x > 180)

{

m_TargetAngles.x -= 360;

m_FollowAngles.x -= 360;

}

if (m_TargetAngles.y < -180)

{

m_TargetAngles.y += 360;

m_FollowAngles.y += 360;

}

if (m_TargetAngles.x < -180)

{

m_TargetAngles.x += 360;

m_FollowAngles.x += 360;

}


#if MOBILE_INPUT

// on mobile, sometimes we want input mapped directly to tilt value,

// so it springs back automatically when the look input is released.

if (autoZeroHorizontalOnMobile) {

m_TargetAngles.y = Mathf.Lerp (-rotationRange.y * 0.5f, rotationRange.y * 0.5f, inputH * .5f + .5f);

} else {

m_TargetAngles.y += inputH * rotationSpeed;

}

if (autoZeroVerticalOnMobile) {

m_TargetAngles.x = Mathf.Lerp (-rotationRange.x * 0.5f, rotationRange.x * 0.5f, inputV * .5f + .5f);

} else {

m_TargetAngles.x += inputV * rotationSpeed;

}

#else

// with mouse input, we have direct control with no springback required.

m_TargetAngles.y += inputH*rotationSpeed;

m_TargetAngles.x += inputV*rotationSpeed;

#endif


// clamp values to allowed range

m_TargetAngles.y = Mathf.Clamp(m_TargetAngles.y, -rotationRange.y*0.5f, rotationRange.y*0.5f);

m_TargetAngles.x = Mathf.Clamp(m_TargetAngles.x, -rotationRange.x*0.5f, rotationRange.x*0.5f);

}

else

{

inputH = Input.mousePosition.x;

inputV = Input.mousePosition.y;


// set values to allowed range

m_TargetAngles.y = Mathf.Lerp(-rotationRange.y*0.5f, rotationRange.y*0.5f, inputH/Screen.width);

m_TargetAngles.x = Mathf.Lerp(-rotationRange.x*0.5f, rotationRange.x*0.5f, inputV/Screen.height);

}


// smoothly interpolate current values to target angles

m_FollowAngles = Vector3.SmoothDamp(m_FollowAngles, m_TargetAngles, ref m_FollowVelocity, dampingTime);


// update the actual gameobject's rotation

transform.localRotation = m_OriginalRotation*Quaternion.Euler(-m_FollowAngles.x, m_FollowAngles.y, 0);

}

}

}



😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😁😁😁

😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊





using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class solosumar : MonoBehaviour
{



    // Create public variables for player speed, and for the Text UI game objects
    public float speed;
    public Text countText;
    public Text winText;
   




    // Create private references to the rigidbody component on the player, and the count of pick up objects picked up so far
    private Rigidbody rb;
    private int count;/// <summary>


    /// //////////////////////////////////////////
    /// </summary>
    //private int PUNTOS;/// <summary>
    /// /////////////////////////////////////////////////
    /// </summary>

    // At the start of the game..
    void Start ()
    {












        // Assign the Rigidbody component to our private rb variable
        rb = GetComponent<Rigidbody>();

        // Set the count to zero
        count = 0;

        // Run the SetCountText function to update the UI (see below)
        SetCountText ();

        // Set the text property of our Win Text UI to an empty string, making the 'You Win' (game over message) blank
        winText.text = "";
    }




    // When this game object intersects a collider with 'is trigger' checked,
    // store a reference to that collider in a variable named 'other'..
    void OnTriggerEnter(Collider other)
    {
        // ..and if the game object we intersect has the tag 'Pick Up' assigned to it..





        //if (other.gameObject.CompareTag ("ogri2"))
        //if (other.gameObject.CompareTag ("mini"))
            if (other.gameObject.CompareTag ("suma"))

        //if (other.gameObject.CompareTag ("Terrain"))

       


        {
            // Make the other game object (the pick up) inactive, to make it disappear
            //other.gameObject.SetActive (false);///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

            // Add one to the score variable 'count'
            count = count + 1;









            // Run the 'SetCountText()' function (see below)
            SetCountText ();
        }
            }

    // Create a standalone function that can update the 'countText' UI and check if the required amount to win has been achieved
    void SetCountText()
    {
        // Update the text field of our 'countText' variable
        //countText.text = "Count: " + count.ToString ();

        countText.text = "puntos: " + count.ToString ();
        // Check if our 'count' is equal to or exceeded 12
        //if (count >= 999)
        if (count >= 5)
        {


//Application.LoadLevel (1);
            // Set the text value of our 'winText'
            //winText.text = "COMPLETADO";

            //TextMeshPro = "CAMPEON GANASTES";

    

            //Destroy (gameObject, 1.2f); ////////////PROBAR TAPANDO ESTO
            //Destroy (gameObject, 0.0f);

       

        }
    }
}
    

😛😛😛😛😛😛😛😛😛😛😛😛😛😛😛😛😛😛😛😛😛😛😛😛😛😛😛😛😛😛😛😛😛

😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃





miércoles, 1 de febrero de 2023

The perverted thief; 1$;

 


sábado, 21 de enero de 2023

Sobre generar ingresos de un desarrollador indie, breve resumen de la situación,21-1-23;

 👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇

Sobre generar ingresos de un desarrollador indie, breve resumen de la situación,

voy hacer un comentario de como voy resolviendo, y, o, aprendiendo a conseguir vender mis desarrollos en la red, por internet.

1-Haciendo muchísimos juegos, docenas y docenas de ellos, y trabajando y estudiando sobre la base de los juegos anteriores, y aprovechando sus recursos, gráficos sripts..etc.

2- Constancia total, cada día hacer algo, aunque solo sea una hora o media hora.

3- El traductor de Google del ingles….imprescindible.

4-Cuando se consigue alguna venta, desde EEUU en mi caso, y en la web donde alojo mis desarrollos de videojuegos te obligan a rellenar un formulario de datos fiscales en mi caso uno de tipo W8BEN, la dificultad esta en que esta en ingles y bueno con el traductor poco a poco vas traduciendo y vas aprendiendo y rellenándolo, para mi un tema complicado, todos los pasos que realizo los ago con una captura de video de la pantalla para luego cuando algo salga mal poder revovinar y ver los pasos que e realizado y asi poder corregir mis fallos, que estoy seguro hay un montón,….en fin, de momento no te piden datos muy difíciles, nombre dirección país fecha de nacimiento..lo típico, solo tengo una duda quizás tenga que poner algún numero de tipo seguro social o que este relacionado con la hacienda propia del país donde se reside.


También creo hay que firmar el documento fiscal, imprimirlo firmarlo escanearlo y volverlo a mandar, En YouTube hay tutoriales sobre el relleno de este formulario W8BEN…

Cada plataforma de temas de internet, youtubers, blogueros, desarrolladores de videojuegos, y mas formas de creación, creo tienen diferentes formas de resolver o rellenar los temas fiscales….

Hay en España alguna gestoria especializada, les consulte, pero si no hay cantidades importates de ingresos no te hacen mucho caso, es entendible, nadie trabaja gratis, y no vas a pagar 150$ para cobrar 5$,,,,,por que estas perdiendo dinero...


Bueno en resumen, después de unos 6 o 7 años de constancia, estoy empezando, lo tengo ala alcance de la mano, tocándolo con la puntitas de los dedos, y ya casi agarrándolo, el comienzo de un desarrollador indie profesional que genera ingresos de forma siempre legal por su afición...quizás posible profesión futura.


Constancia y trabajo y una gran pasión por el tema, esto es lo principal.

😅😅😅😅😅😅😅😅😅😅😅😅😅😅😅😅😅😅😅😅😅😅😅😅😅😅😅😅😅😅