Godot, scripts para Godot estudios y aprendizajes, Creacion de videojuegos. Creacion y publicacion de videojuegos en internet. Como hacer videojuegos. C# unity. Animaciones unity blender. Personajes videojuegos graficos dibujos. Diseño grafico. Comic. Animaciones gif. Dibujo de retratos. Realidad virtual. Cine y realidad virtual.
domingo, 24 de octubre de 2021
The miner el videojuego estreno estas navidades 2021 año nuevo 2022;
viernes, 22 de octubre de 2021
Consejo de profesionales para los que hacemos videojuegos;
Consejo de profesionales para los que hacemos videojuegos
Piensa en algo en lo
que te quieras especializar del desarrollo de videojuegos. A la hora
de hacer un juego hay muchas tareas muy diversas. Céntrate en si
quieres ser game design, programador, artista. Incluso dentro de la
especialización hay varias ramas. Céntrate en alguna.
Empápate
de arte de todo tipo. De música, de cine, de videojuegos, de
pintura, da igual. Fíjate en qué hacen los grandes artistas y cómo
lo hacen. Si es necesario, copia. Que no te importe. Y admite que lo
has hecho. Siempre puedes decir que es un homenaje, o una referencia
o un guiño ;). Una vez seas capaz de repetir lo que han hecho los
grandes artistas serás capaz de seguir tu propio camino e innovar.
La mejor forma para aprender es copiando. Tenlo clarísimo.
Cada
trabajo que hagas muéstralo al mundo, que no te de verguenza.
Sometíendote a las críticas de la gente es como aprendes a ver las
cosas de otra manera y ves los errores que has cometido. Fórmate,
trabaja duro, sé constante, empieza y acaba proyectos, muéstralos
al mundo, aprende a mantener la motivación y si es posible forma un
buen equipo para hacer juegos con ellos y manteneos unidos.
No
hay ningun secreto. Si quieres poder vivir de desarrollar videojuegos
vas a tener que esforzarte como nunca lo hayas hecho en toda tu vida.
Ten muy claro que hacer juegos tiene poco que ver con jugarlos y es
muy sacrificado. Extremadamente sacrificado.
lunes, 18 de octubre de 2021
¿Como pintar directamente una figura 3d desde el propio blender 2.93.5 y pasarla aUnity, sin explicaciones complicadas que hacen perder el tiempo?
¿Como pintar directamente una figura 3d desde el propio blender 2.93.5 y pasarla aUnity, sin explicaciones complicadas que hacen perder el tiempo?
E gravado este video explicando una base para poder pintar con blender desde la versión 2.93.5…
Esta un pelin verde pero el que lo vea podrá siguiendo los pasos que e seguido , podrá pintar un personaje y pasarlo a Unity, e echo lo fundamental sin profundizar, e ido quizás demasiado rápido sin pulir las explicaciones, pero al menos es muy concreto y voy al grano porque ayer domingo estuve desde las 8 de la mañana asta las 12;30 del mediodía para poder explicar esto,,,mirando otro video de YouTube que estaba en ingles..., intentando sacar el grano de la paja...de dicho video.
Solo 3 pasos.
1- importar una figura 3d.
2-pasos seguidos para pintarla.
3- resultado en Unity de lo trabajado.
Para comprender lo hay que ir viendo el video parando las imágenes siguiendo los pasos y probando con el pc….no hay otra forma de aprender.
sábado, 16 de octubre de 2021
Animaciones con unity, ;
Animaciones con unity,
Boy a comentar como e echo las animaciones de los personajes del videojuego THE OLYMPIC SNIPER;
https://videojuegosenlineaasaco4.blogspot.com/2021/10/the-olympic-sniper.html
Hice una combinación de animación descargada de unity, de las gratuitas, de cuerpo completo del personaje , sobre todo movimientos de caminar y correr, estas vienen ya echas y solo las aplique a los personajes en diferentes niveles, son muy laboriosas de hacer a mano, así que las descargue y las aplique,.
Las que si hice manualmente y son fáciles de hacer son cuando el personaje esta de pie o sentado o tumbado en el suelo, estas son muy fáciles de trabajar, solo tenia que animar facciones del rostro o las articulaciones de los brazos la cabeza hombros columna vertebral desde la cadera hacia arriba, algún movimiento de piernas mientras el personaje esta tumbado en el suelo.
También las animaciones de la cámara hacen un efecto interesante que enriquece la visualización del videojuego.
Los personajes los hice a partir del programa gratuito makehuman-community, tiene una característica que te permite hacer de forma aleatoria las proporciones de los personajes haciéndolos con los hombros mas anchos o mas estrechos o mas largos o mas cortos, y así con todas las partes del cuerpo humano, brazos, piernas, manos, pies ,cabeza ,caderas ,pecho, cuello, etc...etc… y tiene la opción de asignarle diversos esqueletos para exportarlo en formato fbx a unity, por ejemplo, es el que utilizo yo ahora mismo.
Yo uso un esqueleto que permite la manipulación del rostro, ademas de todo el resto de articulaciones, boca, nariz, ojos, etc.…
Lo paso a fbx y lo paso a unity, cuando esta en unity lo animo desde hay directamente sin manipular absolutamente nada del gameobject fbx.
En este video podéis ver un ejemplo...
Una captura de pantalla del Animation desde unity donde voy haciendo poco a poco las animaciones del rostro haciendo muecas y movimientos del tronco y brazos….
Como e dicho antes las animaciones echas para este caso que el personaje esta de pie o sentado o tumbado en el suelo son fáciles de hacer y dan bastante buen resultado, pero las de caminar y correr ya es diferente es mejor, al menos para mi, utilizar las de ejemplos y descargas gratuitas del tema, desde unity….
En la captura de pantalla desde Asset Store podéis elegir para empezar las Free, gratuitas , hos bais a hartar de mirar y probar animaciones de todo tipo
Para poner estas animaciones si tenéis que preparar el gameobject humanoide fbx para que las pueda utilizar…..en el video lo muestro....
viernes, 15 de octubre de 2021
C# scripts del videojuego THE OLYMPIC SNIPER;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class baadepositoexplota21 : MonoBehaviour {
void Start () {
}
//void OnCollisionEnter (){
void OnCollisionEnter (Collision collision)
{
//if (collision.gameObject.tag == "maloazul (4)") {
//Destroy (gameObject, 0.0f);
if (collision.gameObject.tag == "depositoexplota") {
//Destroy (gameObject, 2.0f);
// transform.position = new Vector3 (198.301f, 20.316f, 136.023f);/////////nuebo mio
//transform.Translate (new Vector3 (198 * Time.deltaTime, 20, 136.2f), Space.Self);/////////////IMBENTADO
//Application.LoadLevel (1);////ORIGINALLLLLLLLLLLL
Application.LoadLevel (21);
}
}
}
------------------------------------------------------------------------------------------------------------------------
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class badepositoexplota22 : MonoBehaviour {
void Start () {
}
//void OnCollisionEnter (){
void OnCollisionEnter (Collision collision)
{
//if (collision.gameObject.tag == "maloazul (4)") {
//Destroy (gameObject, 0.0f);
if (collision.gameObject.tag == "depositoexplota2") {
//Destroy (gameObject, 2.0f);
// transform.position = new Vector3 (198.301f, 20.316f, 136.023f);/////////nuebo mio
//transform.Translate (new Vector3 (198 * Time.deltaTime, 20, 136.2f), Space.Self);/////////////IMBENTADO
//Application.LoadLevel (1);////ORIGINALLLLLLLLLLLL
Application.LoadLevel (22);
}
}
}
--------------------------------------------------------------------------------------------------------------------------
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;/// <summary>
public class cabiodeescenanivel0en25segundos : MonoBehaviour {
public Text contador1;
public Text fin1;
private float tiempo = 25f;
// Use this for initialization
void Start () {
contador1.text = " " + tiempo;
fin1.enabled = false;
}
// Update is called once per frame
void Update ()
{
tiempo -= Time.deltaTime;
contador1.text = " " + tiempo.ToString ("f0");
if (tiempo <= 0) {
contador1.text = "0";
fin1.enabled = true;
{
Destroy (gameObject, 0.0f);
{
//Application.LoadLevel (1); ESTE ES EL ORIGINALLLLLLL
Application.LoadLevel (0);
}
}
}
}
}
--------------------------------------------------------------------------------------------------------------------------
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class cambia28portaga28 : MonoBehaviour {
void Start () {
}
//void OnCollisionEnter (){
void OnCollisionEnter (Collision collision)
{
//if (collision.gameObject.tag == "maloazul (4)") {
//Destroy (gameObject, 0.0f);
if (collision.gameObject.tag == "a28") {
//Destroy (gameObject, 2.0f);
// transform.position = new Vector3 (198.301f, 20.316f, 136.023f);/////////nuebo mio
//transform.Translate (new Vector3 (198 * Time.deltaTime, 20, 136.2f), Space.Self);/////////////IMBENTADO
//Application.LoadLevel (1);////ORIGINALLLLLLLLLLLL
Application.LoadLevel (28);
}
}
}
---------------------------------------------------------------------------------------------------------------------------
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class cambiaa24 : MonoBehaviour {
void Start () {
}
//void OnCollisionEnter (){
void OnCollisionEnter (Collision collision)
{
//if (collision.gameObject.tag == "maloazul (4)") {
//Destroy (gameObject, 0.0f);
if (collision.gameObject.tag == "maloren") {
//Destroy (gameObject, 2.0f);
// transform.position = new Vector3 (198.301f, 20.316f, 136.023f);/////////nuebo mio
//transform.Translate (new Vector3 (198 * Time.deltaTime, 20, 136.2f), Space.Self);/////////////IMBENTADO
//Application.LoadLevel (1);////ORIGINALLLLLLLLLLLL
Application.LoadLevel (24);
}
}
}
------------------------------------------------------------------------------------------------------------------------
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class cambiaa25 : MonoBehaviour {
void Start () {
}
//void OnCollisionEnter (){
void OnCollisionEnter (Collision collision)
{
//if (collision.gameObject.tag == "maloazul (4)") {
//Destroy (gameObject, 0.0f);
if (collision.gameObject.tag == "anieve") {
//Destroy (gameObject, 2.0f);
// transform.position = new Vector3 (198.301f, 20.316f, 136.023f);/////////nuebo mio
//transform.Translate (new Vector3 (198 * Time.deltaTime, 20, 136.2f), Space.Self);/////////////IMBENTADO
//Application.LoadLevel (1);////ORIGINALLLLLLLLLLLL
Application.LoadLevel (25);
}
}
}
--------------------------------------------------------------------------------------------------------------------------
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class cambiaa26 : MonoBehaviour {
void Start () {
}
//void OnCollisionEnter (){
void OnCollisionEnter (Collision collision)
{
//if (collision.gameObject.tag == "maloazul (4)") {
//Destroy (gameObject, 0.0f);
if (collision.gameObject.tag == "muerte26") {
//Destroy (gameObject, 2.0f);
// transform.position = new Vector3 (198.301f, 20.316f, 136.023f);/////////nuebo mio
//transform.Translate (new Vector3 (198 * Time.deltaTime, 20, 136.2f), Space.Self);/////////////IMBENTADO
//Application.LoadLevel (1);////ORIGINALLLLLLLLLLLL
Application.LoadLevel (26);
}
}
}
--------------------------------------------------------------------------------------------------------------------------
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class cambiaa30impactoexclamacioncubo : MonoBehaviour {
void Start () {
}
//void OnCollisionEnter (){
void OnCollisionEnter (Collision collision)
{
//if (collision.gameObject.tag == "maloazul (4)") {
//Destroy (gameObject, 0.0f);
if (collision.gameObject.tag == "torreplayer") {
//Destroy (gameObject, 2.0f);
// transform.position = new Vector3 (198.301f, 20.316f, 136.023f);/////////nuebo mio
//transform.Translate (new Vector3 (198 * Time.deltaTime, 20, 136.2f), Space.Self);/////////////IMBENTADO
//Application.LoadLevel (1);////ORIGINALLLLLLLLLLLL
Application.LoadLevel (30);
}
}
}
---------------------------------------------------------------------------------------------------------------------------
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;/// <summary>
public class cambiaa30portiempo : MonoBehaviour {
public Text contador1;
public Text fin1;
private float tiempo = 25f;
// Use this for initialization
void Start () {
contador1.text = " " + tiempo;
fin1.enabled = false;
}
// Update is called once per frame
void Update ()
{
tiempo -= Time.deltaTime;
contador1.text = " " + tiempo.ToString ("f0");
if (tiempo <= 0) {
contador1.text = "0";
fin1.enabled = true;
{
//Destroy (gameObject, 0.0f); //////original activado
{
//Application.LoadLevel (1); ESTE ES EL ORIGINALLLLLLL
// Application.LoadLevel (1);
Application.LoadLevel (30);
}
}
}
}
}
-----------------------------------------------------------------------------------------------------------------------
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class cambiaa31portacimpacto : MonoBehaviour {
void Start () {
}
//void OnCollisionEnter (){
void OnCollisionEnter (Collision collision)
{
//if (collision.gameObject.tag == "maloazul (4)") {
//Destroy (gameObject, 0.0f);
if (collision.gameObject.tag == "a31") {
//Destroy (gameObject, 2.0f);
// transform.position = new Vector3 (198.301f, 20.316f, 136.023f);/////////nuebo mio
//transform.Translate (new Vector3 (198 * Time.deltaTime, 20, 136.2f), Space.Self);/////////////IMBENTADO
//Application.LoadLevel (1);////ORIGINALLLLLLLLLLLL
Application.LoadLevel (31);
}
}
}
----------------------------------------------------------------------------------------------------------------------
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class cambiaa33 : MonoBehaviour {
void Start () {
}
//void OnCollisionEnter (){
void OnCollisionEnter (Collision collision)
{
//if (collision.gameObject.tag == "maloazul (4)") {
//Destroy (gameObject, 0.0f);
if (collision.gameObject.tag == "a33") {
//Destroy (gameObject, 2.0f);
// transform.position = new Vector3 (198.301f, 20.316f, 136.023f);/////////nuebo mio
//transform.Translate (new Vector3 (198 * Time.deltaTime, 20, 136.2f), Space.Self);/////////////IMBENTADO
//Application.LoadLevel (1);////ORIGINALLLLLLLLLLLL
Application.LoadLevel (33);
}
}
}
--------------------------------------------------------------------------------------------------------------------------
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class cambialaescenaa9alapretarespacio : MonoBehaviour {
void Update ()
{
if (Input.GetKey(KeyCode.Space))////funciona contantemente al apretar W mayusculas a de ser
//if (Input.GetKeyDown(KeyCode.W))// funciona pasito a pasito
Application.LoadLevel (9);
}
}
--------------------------------------------------------------------------------------------------------------------------
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;/// <summary>
public class CAMBIAPORTIEMPOAL28 : MonoBehaviour {
public Text contador1;
public Text fin1;
private float tiempo = 15f;
// Use this for initialization
void Start () {
contador1.text = " " + tiempo;
fin1.enabled = false;
}
// Update is called once per frame
void Update ()
{
tiempo -= Time.deltaTime;
contador1.text = " " + tiempo.ToString ("f0");
if (tiempo <= 0) {
contador1.text = "0";
fin1.enabled = true;
{
//Destroy (gameObject, 0.0f); //////original activado
{
//Application.LoadLevel (1); ESTE ES EL ORIGINALLLLLLL
// Application.LoadLevel (1);
Application.LoadLevel (28);
}
}
}
}
}
-------------------------------------------------------------------------------------------------------------------------
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;/// <summary>
public class cambiaportirmpoal35 : MonoBehaviour {
public Text contador1;
public Text fin1;
private float tiempo = 70f;
// Use this for initialization
void Start () {
contador1.text = " " + tiempo;
fin1.enabled = false;
}
// Update is called once per frame
void Update ()
{
tiempo -= Time.deltaTime;
contador1.text = " " + tiempo.ToString ("f0");
if (tiempo <= 0) {
contador1.text = "0";
fin1.enabled = true;
{
//Destroy (gameObject, 0.0f); //////original activado
{
//Application.LoadLevel (1); ESTE ES EL ORIGINALLLLLLL
// Application.LoadLevel (1);
Application.LoadLevel (35);
}
}
}
}
}
--------------------------------------------------------------------------------------------------------------------
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CAMBIO28 : MonoBehaviour {
void Start () {
}
//void OnCollisionEnter (){
void OnCollisionEnter (Collision collision)
{
//if (collision.gameObject.tag == "maloazul (4)") {
//Destroy (gameObject, 0.0f);
if (collision.gameObject.tag == "OTROMALO") {
//Destroy (gameObject, 2.0f);
// transform.position = new Vector3 (198.301f, 20.316f, 136.023f);/////////nuebo mio
//transform.Translate (new Vector3 (198 * Time.deltaTime, 20, 136.2f), Space.Self);/////////////IMBENTADO
//Application.LoadLevel (1);////ORIGINALLLLLLLLLLLL
Application.LoadLevel (28);
}
}
}
----------------------------------------------------------------------------------------------------------------------
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CAMBIOA27 : MonoBehaviour {
void Start () {
}
//void OnCollisionEnter (){
void OnCollisionEnter (Collision collision)
{
//if (collision.gameObject.tag == "maloazul (4)") {
//Destroy (gameObject, 0.0f);
if (collision.gameObject.tag == "CAPSULAMALO") {
//Destroy (gameObject, 2.0f);
// transform.position = new Vector3 (198.301f, 20.316f, 136.023f);/////////nuebo mio
//transform.Translate (new Vector3 (198 * Time.deltaTime, 20, 136.2f), Space.Self);/////////////IMBENTADO
//Application.LoadLevel (1);////ORIGINALLLLLLLLLLLL
Application.LoadLevel (27);
}
}
}
-------------------------------------------------------------------------------------------------------------------
Estos scripts de c# son ejemplos para cambios de escenas por tiempo y cambios de escenas por colisiones con gameobjets con un nombre de tag especifico para crear los cambios......no los e puesto todos es solo para que el que los vea se aga una idea del funcionamiento del videojuego al jugar con los cambios de escenas con el tema ,,,,tiempo y colision,,,,
En la imagen se ven las treinta y pico escenas que uso en el videojuego.........
En la imagen se ven las treinta y pico escenas que uso en el videojuego.........
El videojuego funciona a la perfeccion en su version de descarga desde itch.io pero en la version de jugar desde la web tiene bugs, ignoro el motivo pero se repite continuamente una escena del videojuego del impacto a un personaje....solo ocurre en la version web, en la de descacarga ningun problema.
De todas formas la version web tambien es jugable pero has de ser muy rapido al acertar los disparos...rapidisimo bamos¡¡¡¡¡¡
El player dispara desde 3 lugares diferentes, tiene 3 objetivos en conjunto .
1-personajes aislados.
2-un ascensor para destrozar.
3- un personaje cargado encima de explosivos que si le das destruyes todo y todo y todo y a todossssss.
En resumen es un videojuego que solo tiene el objetivo de ir explorando lo que se puede disparar y ver que pasa, lo mejor del videojuego es que es completamente fluido,
el cambio de escenas me salio genial en el sentido que el juego no se relantiza no funciona lento para nada en ningun instante....
y lo podia haber seguido trabajando asta alcanzar alrededor de 1Gb de capacidad, es lo maximo que me dejan para subir un videojuego a internet sin pedir permisos o consultas adicionales desde itch,io ,,,
o desde gamejolt......ademas boy a empezar un vidojuego nuevo sobre un minero y una mina...
.quiero jugar con las luces en este nuevo proyecto, y acerlo muy corto, muy concreto, y que sea completo, con principio y fin....no cuento nada que me lo copian.....pero saldra en itch.io ...
.a la venta....un proyecto pensado para las navidades que ya se caen encima nuestro...hare una demo y el proyecto completo lo vendo por 1 dolar...
.si no vende lo pondre gratis con el tiempo...¡¡ja ja ja ja ja ja!!! es un jovi una aficion la mia..pero que narices lo economico motiva un monton cuando te ponen la miel en los lavios.
Seguire con detalles del videojuego C# scripts del videojuego THE OLYMPIC SNIPER,
este script de devajo cambia de escena al apretar la tecla "espacio" "espace" la mas alargada del teclado...
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class cambialaescenaa9alapretarespacio : MonoBehaviour {
void Update ()
{
if (Input.GetKey(KeyCode.Space))////funciona contantemente al apretar W mayusculas a de ser
//if (Input.GetKeyDown(KeyCode.W))// funciona pasito a pasito
Application.LoadLevel (9);
}
}
-------------------------------------------------------------------------------
---------------------------------------------------------------------------
Las de cambio de escena por tiempo, explicare su funcionamiento lo mejor que pueda ....pongo un ejemplo aqui devajo....e imagenes captura de imagenes,,,,,
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;/// <summary>
public class cambioaescenaanueve : MonoBehaviour {
public Text contador1;
public Text fin1;
private float tiempo = 15f;
// Use this for initialization
void Start () {
contador1.text = " " + tiempo;
fin1.enabled = false;
}
// Update is called once per frame
void Update ()
{
tiempo -= Time.deltaTime;
contador1.text = " " + tiempo.ToString ("f0");
if (tiempo <= 0) {
contador1.text = "0";
fin1.enabled = true;
{
//Destroy (gameObject, 0.0f); //////original activado
{
//Application.LoadLevel (1); ESTE ES EL ORIGINALLLLLLL
// Application.LoadLevel (1);
Application.LoadLevel (9);
}
}
}
}
}
Hay que poner un canvas y unos textos que se tienen que arrastrar con el mouse en las casillas vacias del escript,,,,,los textos tiene que tener el numero 0.
Si no se hace esto no funciona.
Esto es en el tema por tiempo que cambia la escena.
En el tema de colision por tag, al impactar el proyectil sobre un personaje que tiene un tag concreto, hace que se cambie la escena,,,,en esta imagen captura pongo los diversos escripts con la orden de tag concreto en cada uno de ellos para que aga los cambios de escenas en el videojuego...
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CAMBIO28 : MonoBehaviour {
void Start () {
}
//void OnCollisionEnter (){
void OnCollisionEnter (Collision collision)
{
//if (collision.gameObject.tag == "maloazul (4)") {
//Destroy (gameObject, 0.0f);
if (collision.gameObject.tag == "OTROMALO") {
//Destroy (gameObject, 2.0f);
// transform.position = new Vector3 (198.301f, 20.316f, 136.023f);/////////nuebo mio
//transform.Translate (new Vector3 (198 * Time.deltaTime, 20, 136.2f), Space.Self);/////////////IMBENTADO
//Application.LoadLevel (1);////ORIGINALLLLLLLLLLLL
Application.LoadLevel (28);
}
}
}
El personaje se llama "malopasea1" pero le puesto un tag con el nombre "OTROMALO" el cual es el que esta escrito en el script y hace la funcion del cambio de la escena,,,,es un pelin complicado a lo primero de entender,,,,,hay que hacer muchos juegos y repetirse para ir comprendiendolo.....pero cuando se consigue armonizar el tema quedan las ideas geniales , me refiero los cambios que se pueden conseguir durante el juego.https://gamejolt.com/games/farncotrador_olimpico-3/654733
martes, 12 de octubre de 2021
"THE OLYMPIC SNIPER" ;
VIDEOJUEGO DE EXPLORACION Y DISPAROS , CONTIENE "DEMO" GRATUITA PARA PROBARLO Y EL JUEGO COMPLETO PARA DESCARGAR SI GUSTA A PRECIO ECONOMICO,
EXPLORATION AND SHOOTING VIDEO GAME, IT CONTAINS FREE "DEMO" TO TRY IT AND THE FULL GAME TO DOWNLOAD IF YOU LIKE AT ECONOMIC PRICE,
"THE OLYMPIC SNIPER"
"EL FRANCOTIRADOR OLIMPICO"
martes, 5 de octubre de 2021
Ejemplo para descargar y estudiar un videojuego echo con Unity, desde “mega” web para alojar archivos;
Ejemplo para descargar y estudiar un videojuego echo con Unity, desde “mega” web para alojar archivos, llevo días sin ampliar mi blog porque estoy centrado en estudiar y ampliar este videojuego que precisamente voy a poner un enlace para descarga y estudio de dicho juego en sus inicios, en el van ,los gráficos, los Asets, los scripts en C# , para el que quiera analizarlo y un par de enlaces de la publicación de este videojuego que sigo trabajándolo porque me entusiasma el juego de cambio de escenas y el juego con las cámaras, e conseguido también una fluidez total del videojuego al cargar escenas continuamente, en fin pongo aquí los enlaces de la descarga desde “mega” web para alojar archivos, y pongo lo publicado desde gamejolt….
La gente que conoce Unity si les sirve de algo hay lo tenéis, yo no soy un genio pero siempre abra quien tiene mas conocimientos y quien tiene menos, yo casi todo lo aprendido a sido por gente que a dado a conocer por internet sus conocimientos y, bueno aquí pongo yo mi granito de arena, quizás sea útil alguna persona.
https://mega.nz/file/wVBQnZwa#nGl2-ieD5oztjm0MqT9E2zBFAwEUSbJkTQkhKFwAXG0
ignoro si esta descarga tiene algun tipo de caducidad, mirare de enterarme bien, aqui teneis el videojuego para poder cargarlo desde Unity y estudiarlo o transformarlo.... es algo pesado 1,32 GB pero de cosas utiles.
Si alguien no puede descargarselo por favor mandarme un email a...
asaco415@gmail.com
mirare de solucionarlo....pero a fecha de hoy 5-10 -21 creo no abra ningun problema en varios meses.
Yo ahora mismo e realizado una descarga y me funciona sin ningun problema.
La carpeta "FRANCOTIRADOR" es la que teneis que abrir desde Unity, el resto de carpetas son diversas compilaciones del videojuego y fotos de documentacion y diversas anotaciones....cuando abrais la carpeta "FRANCOTIRADOR" encontrareis muchos scripts en c# sobre cambios de escenas por colisiones y por tiempos, archivos de sonido, graficos del videojuego, efectos de agua manipulables, una carpeta sobre tema disparos exclusivamente que podreis analizar y probar con sus scripts y graficos, personajes echos desde makehuman-community, manipulados con blender animados desde Unity....
https://gamejolt.com/games/FRANCOTIRADOR_OLIMPICO/645186
aqui teneis el videojuego para jugar desde web sin instalacion alguna desde gamejolt.
Un adelanto del videojuego que publicare en itch.io de aqui unas semanas y que podreis descargar por 1dolar + o - , la demo sera gratuita, y el juego completo sera a 1 dolar y pico, ya vendi una descarga de otro juego diferente hace unas semanas porque no otra vez??? ¡¡¡mas y mejor!!!.