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.
0,2,6 versión de warlike_feats, pongo aquí esta ultima versión
para jugarla y descargarla, si la queréis probar, y una captura de
video, a apartir de aquí are sobre papel los siguientes niveles,
versiones del videojuego para concretar mejor lo que quiero poner en
las pantallas, de momento voy añadiendo atrezo para intentar darle
el máximo ambiente de guerra de la época, y pondré un script para
que al llegar a cierto numero de puntos se abra la 3 parte del
videojuego, esto me va ir mas lento porque quiero basarme primero
sobre lo escrito en papel y con dibujos de los escenarios y
anotaciones , que también pondré en el blog durante estos próximos
días…...
warlike feats, "the documents" Sigo trabajando en el
videojuego y voy ha escribir una descripción de lo trabajado asta
ahora, de los objetivos del videojuego...e empezado un nuevo nivel y
doy por finalizado el primero.
El argumento base es
un soldado americano que entra en una fortificación alemana para
robar unos documentos, planos , papeles , fotografiás etc sobre
armas secretas en evolucion de estos enemigos, el videojuego esta
inspirado en la historia sobre la segunda guerra mundial, y sobre el
cine bélico otros videojuegos, documentales, etc, etc,.
Bien describo el
primer nivel y los objetivos para superarlo, lo fundamental tienes 10
vidas que has de mantener ante todas las cosas si no el juego se
reinicia al principio y has de empezar de cero, abatir y destruir a
los soldados enemigos, poner bombas en algunas torres de vigilancia,
y saltarte las zonas donde hay minas porque si no vas a perder el
juego al morir constantemente, aunque también puedes destruirlas
disparando o lanzando granadas solo por diversión….
Las torres de
vigilancia se destruyen disparando en un pequeño cubo que tienen
arriba, luego hay otras que se destruyen acercándose y apretando la
tecla “o “ letra o no numero cero, si no las destruyes tienes un
soldado que va disparando a tu alrededor y puede quitarte vidas.
Luego has de
derribar a los soldados enemigos disparando les a la cabeza , de
ellos sale una capsula que al recogerla vas sumando puntos de este
primer nivel ( en este primer nivel aun no le puesto utilidad al tema
de sumar puntos pero en el segundo nivel pienso ponérsela para poder
por ejemplo abrir una puerta o cambiar a otro nivel, etc etc,)
Entrando en una
especie de túneles pasillos has derribar a los enemigos antes de que
ellos te derriben a ti al quitarte vidas por cada uno de sus
impactos, luego hay unas barreras de cemento y piedra que has de
destrozar lanzando granadas o disparando, en una de ellas esta una
entrada que te indicara que al atravesar seguirás en la etapa del
segundo nivel del videojuego.
2 Segundo nivel
descripción...jugable pero lo estoy trabajando, pasar al interior
del pasillo y salir a una especie de patio donde de atrezo empiezo a
poner material militar secreto, también hay enemigos que al entrar
yo en el recinto me persiguen por el patio e de derribar los antes
que lo agan ellos conmigo...y de momento asta aquí e llegado en la
compilación del videojuego la 0,2,5….con tinuara…...
Modelado con blender
de bomba volante de guerra mundial .
Paso aquí un
adelanto de parte del atrezo que voy a poner en mi videojuego, una
captura de video rápida de la construcción con blender de una bomba
volante, sera parte del argumento del videojuego que aun no pienso
desvelar…...¡¡¡¡¡Sorpresa……..para mas adelante!!!!!
Un resumen muy
rápido, duplicar el cono construir unos cubos darles forma de ala,
unir todos los elementos , texturizar, guardar los archivos de
textura y exportar el modelado a formato fbx, y pasárselo a Unity
arrastrándolo a la carpeta “gráficos” donde guardo la mayoría
de gameobjets.
Cambiando de
nivel…si funciona,el cambio de armas no me da resultado, en versión
web no funciona, así que seguramente aprovechare el cambio de escena
o nivel al atravesar una puerta o túnel o recinto para hacer ala vez
un posible cambio de armas del player y de paso el cambio de nivel me
produce, como diría psicológicamente como un descanso en el trabajo
del proyecto, porque seria como iniciar un nuevo proyecto, nuevos
enemigos nuevas, situaciones nuevos decorados,,,,la monotonía aburre
siempre lo mismo siempre lo mismo cansa en el desarrollo y cansa en
el posible jugador del videojuego…..¿como estoy haciendo los
cambios de niveles?
De paso decir que
una inteligente combinación de cambios de escenas o de nivel hacen
descansar la memoria de una forma considerable y que el juego fluya
sin colgarse a la mitad…..
pongo a continuación
el script que produce el cambio de escena, este se le pone al player
protagonista del videojuego, cuando hace contacto con un gameobject
que esta nombrado con el tag “pasa” hace el cambio de escena o de
nivel…..
using
System.Collections; using
System.Collections.Generic; using
UnityEngine;
Pequeño resumen para el blog de lo aprendido por practicas en
videojuego "warlike feats, "the documents" "
impacto de balas en
los objetos, pequeñas muescas que se forman en las paredes muros o
suelo.
efecto de minas al
pasar el protagonista del juego el player por ellas y su efecto sobre
el player
cambio de arma al
pasar o tocar diversos objetos del player sobre ellos, como e echo el
efecto de las minas,?
como e echo el
efecto de muescas al impactar las balas sobre los objetos ? suelo
paredes muros etc....?
¿como e echo un
cambio de arma del player, el protagonista del videojuego?
Tema 1 minas.
Primero he echo un
cubo con el nombre de tag “pomada” para que el player al pasar
sobre el o tocarlo active una explosión y a la vez en su marcador de
vidas pierda una vida, luego e duplicado sucesivamente este cubo y
los hijos se los e puesto a un padre otro cubo, el primero de la
idea, para no tener que ir trasteando de uno en uno que se hace
tedioso e innecesario.
Cada mina tiene un
script en C# llamado Activate Trigger
using
System; using
UnityEngine; using
Object = UnityEngine.Object; namespace
UnityStandardAssets.Utility { publicclass
ActivateTrigger : MonoBehaviour
{ //
A multi-purpose script which causes an action to occur when //
a trigger collider is entered. publicenum
Mode
{
Trigger = 0,
//
Just broadcast the action on to the target
Replace = 1,
//
replace target with source
Activate = 2,
//
Activate the target GameObject
Enable = 3,
//
Enable a component
Animate = 4,
//
Start animation on target
Deactivate = 5//
Decativate target GameObject
} public
Mode action = Mode.Activate; //
The action to accomplish public
Object target; //
The game object to affect. If none, the trigger work on this game
object public
GameObject source; publicint
triggerCount = 1; publicbool
repeatTrigger = false; privatevoid
DoActivateTrigger()
{
triggerCount--; if
(triggerCount == 0
|| repeatTrigger)
{
Object currentTarget = target ?? gameObject;
Behaviour targetBehaviour = currentTarget as
Behaviour;
GameObject targetGameObject = currentTarget as
GameObject; if
(targetBehaviour != null)
{
targetGameObject = targetBehaviour.gameObject;
} switch
(action)
{ case
Mode.Trigger: if
(targetGameObject != null)
{
targetGameObject.BroadcastMessage("DoActivateTrigger");
} break; case
Mode.Replace: if
(source != null)
{ if
(targetGameObject != null)
{
Instantiate(source,
targetGameObject.transform.position,
targetGameObject.transform.rotation);
DestroyObject(targetGameObject);
}
} break; case
Mode.Activate: if
(targetGameObject != null)
{
targetGameObject.SetActive(true);
} break; case
Mode.Enable: if
(targetBehaviour != null)
{
targetBehaviour.enabled = true;
} break; case
Mode.Animate: if
(targetGameObject != null)
{
targetGameObject.GetComponent<Animation>().Play();
} break; case
Mode.Deactivate: if
(targetGameObject != null)
{
targetGameObject.SetActive(false);
} break;
}
}
} privatevoid
OnTriggerEnter(Collider other)
{
DoActivateTrigger();
}
} }
que al tocarlas el
player provoca el cambio de esta por un efecto de explosión, es muy
importante que cada pieza de mina este nombrada con el tag de
“pomada” por que el player tiene un script en C# llamado
restavida
using
System.Collections; using
System.Collections.Generic; using
UnityEngine; using
UnityEngine.UI; publicclass
restavida : MonoBehaviour {
//
Create public variables for player speed, and for the Text UI game
objects publicfloat
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; privateint
count;///
<summary>
//
At the start of the game.. void
Start () {
rb
= GetComponent<Rigidbody>();
//
Set the count to zero //count
= 0;////original count
= 10; //
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
= ""; }
que tiene el tag
nombra el tag de “pomada” para ir restando vidas al player asta
hacer el cambio de gameobject del player el protagonista del
videojuego desvaneciéndose en el suelo.
Mismo tag “pomada”
que produce el sonido de muerte o desvanecimiento del player, en este
script en C#
using
System.Collections; using
System.Collections.Generic; using
UnityEngine; publicclass
SUENAALPERDERUNAVIDA : MonoBehaviour { public
AudioSource tickSource; void
Start () { tickSource
= GetComponent<AudioSource> (); } void
Update () { } void
OnTriggerEnter(Collider other) { if
(other.gameObject.CompareTag ("pomada")){ tickSource.Play
(); }} }
Tema 2 muescas de
balas en muros.
Aquí el proyectil
que lanza el player esta nombrado con el tag "balaamericano"
y el proyectil tiene este script en c# using
System.Collections; using
System.Collections.Generic; using
UnityEngine; publicclass
SANGRABALAAMERICANOELENEMIGO : MonoBehaviour { public
Rigidbody Sphere; publicfloat
velocidad = 10f; void
disparador () { Rigidbody
SphereClon = (Rigidbody) Instantiate (Sphere, transform.position,
transform.rotation); SphereClon.velocity
= transform.up * velocidad; } //
Update is called once per frame void
Update () { } void
OnTriggerEnter(Collider other) { if
(other.gameObject.CompareTag ("balaamericano")){ disparador
();///////////////////////////imbento
yo }} }
A
este script hay que arrastrarle en una casilla vaciá el gameobject
que queremos se produzca cuando la bala toque otro objeto, yo
e puesto unos cubos pequeñitos de los que sale humo….
Tema
3 cambio de armas…...continuara este me lo tengo que trabajar y
estudiar mas porque en la versión web no me funciona al ser
compilado aunque si funciona en la descargable para jugar desde
este….continuara , paso el enlace de esta versión la 0,2,2 para
que veáis lo aprendido practicado….
Pequeño detalle de 20 segundos de estudio, para hacerle un cambio de
arma al player, también comentare dentro de poco un campo de minas
que e echo para el videojuego, como lo e construido y que efecto hace
en el videojuego, como afecta al player…….
0,1,9 Versión de mi
videojuego, no me gustaba la música que tenia de fondo y recordando
que a Hitler le gustaba la música clásica y Wagner en concreto, se
me ocurrió que engancharía en la temática de mi videojuego y le
pusto de fondo musical , Cabalgata_de_las_valquirias de Wagner.
He mejorado el sangrado de las heridas, y he puesto una bandera de la
época ondeando en la base enemiga alemana, también e retocado los
fogonazos de los disparos y pienso hacer el mismo efecto ondeante de
tela en ropa de los personajes haber como me sale, he de hacer
también efecto sangrado heridas en los enemigos a los que yo ataco,
y rellenar el argumento del videojuego de forma mas concreta….voy
sobre la marcha, desde luego un buen fondo musical aumenta mucho la
gracia del videojuego….creo que este mismo tema musical sale en la
película Apocalypse Now.
(fragmento del
enlace ((Destacable es también la escena en la que los helicópteros
del noveno batallón de la Primera División de Caballería
Aerotransportada bombardean un poblado vietnamita, todo ello
ambientado con la música de Richard
Wagner de la Cabalgata
de las Valquirias, tal y como hacían los audiovisuales de la
Luftwaffeen la
instrucción de los cadetes. ))
0.1.8 pierdo vida, grito dolor y sangro, mas, mejor jugabilidad.
Siguiendo con mi
ultimo videojuego ayer conseguí hacerle un efecto de sangrado al
player que hace algo mas interesante o ameno el videojuego, y esto
sumándolo a que pierde un punto de vida (tiene 10 vidas que iré
manipulando según baya viendo) y que da un grito de dolor cuando
recibe un disparo pues le da un aire mas correcto para ser un juego
de disparos.
¿como se hace un
efecto de impacto de un personaje y su sangrado, perder vida, emitir
un sonido de dolor?
En este caso
concreto explico lo del sangrado y muestro mis apuntes de mi libreta
…..
Mi memoria es muy
limitada y creo que en la libreta hice una especie de ecuación muy
simple y muy personal una operación matemática de comparaciones con
varios elementos del juego para conseguir que el player el
protagonista del juego emita una sangrado cuando es impactado.
Utilizo los mismos
elementos del disparador automático un cubo giratorio toca otro cubo
y provoca mediante scripts que lance otro game object constantemente
las balas.
Pues pensé e de
hacer algo similar pero que en este caso el player es como si hiciera
de pistola y de su cuerpo en lugar de disparar balas dispara
salpicaduras sangrientas y que lo aga cuando sea impactado por una
bala del enemigo, y lo e conseguido me da resultado.
Lo podéis ver en
esta versión del juego que publico aquí la 0,1,8 y muestro también
mi apunte en la libreta también pongo los escripts en c# utilizados
y e de poner algunos detalles sobre los scripts para que funcionen si
los queréis probar porque algunos por si solos no funcionan si no se
arrastran por pantalla con el mouse algunos elementos del juego como
gráficos y animaciones que hay que situarlos en diversas casillas al
lado de los scripts C#
De una de las articulaciones del player e puesto una esfera de hay
sale un cubo cada vez que tiene un impacto, un cubo transparente con
gráficos de efecto de agua que le cambie el color azul por uno
rojizo….
using System.Collections;
using System.Collections.Generic;
using UnityEngine;