Nacho Liñán Vicente

Mis habilidades

Animación, Entornos Interactivos y 3D
Desarrollo de Aplicaciones Web
Curso de Especialización en Videojuegos
y Realidad Virtual
Ingeniería en Computadoras
&
Ingeniería en Videojuegos

Ejemplo de Posicionamiento en CSS

Proyectos y Experiencia

Durante mis estudios en Animación 3D desarrollé varios proyectos centrados en la creación de entornos, modelado de personajes y animación técnica.

En el grado de Desarrollo de Aplicaciones Web trabajé en aplicaciones dinámicas, bases de datos y desarrollo front-end utilizando HTML, CSS, JavaScript y frameworks modernos.

En el Curso de Especialización en Videojuegos y Realidad Virtual, participé en proyectos de simulación interactiva y entornos inmersivos con Unity y Unreal Engine.

Actualmente sigo formándome en Ingeniería Informática y Videojuegos, buscando unir el desarrollo técnico con el diseño visual.

Texto con position: absolute

Elemento Sticky (permanece visible al hacer scroll)

Galería de Tecnologías

HTML

HTML5

CSS

CSS3

JavaScript

JavaScript

Blender

Blender

Java

Java

Estos lenguajes forman la base de todos mis proyectos web y son esenciales en el desarrollo moderno.

Proyectos Destacados

Proyecto Web Proyecto Web Proyecto Web

Modelado 3D

Proyecto 3D Proyecto 3D

DEMOS

Videojueguitos

Script Global – Adventure Game Studio

Este script controla la lógica principal del juego: gestión de entradas del jugador, comportamiento de personajes, inventario y transiciones entre habitaciones. Es una parte esencial del sistema de interacción del proyecto.


// main global script file

int lastFlipTime = 0; // Para llevar el control del tiempo
int flipInterval = 10000; // 10 segundos en milisegundos
int isDialogActive = 0;

// Definir una variable global para controlar la dirección
int enemigoDireccion = 1;  // 1 significa que está mirando a la derecha (eDirectionRight), 0 para izquierda (eDirectionLeft)

// called when the game starts, before the first room is loaded
function game_start()
{
  SetRestartPoint();
  mouse.Visible = true;
  mouse.Mode = eModeWalkto;
}

function repeatedly_execute()
{
  if (isDialogActive == 1) return;
  LocationType location = GetLocationType(mouse.x, mouse.y);
  if (location == eLocationObject || location == eLocationCharacter) {
    mouse.Mode = eModeUsermode1;
  } else {
    mouse.Mode = eModeWalkto;
  }
}

function on_key_press(eKeyCode keycode, int mod)
{
  if (IsGamePaused()) keycode = 0;
  else if (keycode == eKeyQ && (mod & eKeyModCtrl)) QuitGame(1);
  else if (keycode == eKeyF9) RestartGame();
  else if (keycode == eKeyF12) SaveScreenShot("screenshot.pcx");
}

function cAyudante_Talk(Character *theCharacter, CursorMode mode)
{
  cAyudante.Say("Con cualquier cosa, aquí estoy");
  dDialog1.Start();
}