TUS en Diseño de Videojuegos
Ayose Lomba Pérez (LinkedIn)
Universidad del Atlántico Medio
La programación es el proceso de crear software a través de instrucciones que una computadora puede interpretar y ejecutar.
C# es un lenguaje de programación orientado a objetos, utilizado principalmente en el desarrollo de aplicaciones sobre la plataforma .NET y videojuegos con Unity.
![[../img/lenguajes.jpg|10]]
Para programar en C# utilizaremos:
Unity Hub para gestionar versiones de Unity.
Visual Studio como entorno de desarrollo.
Aunque este año vamos a abordar también otros IDE como son Visual Studio Code y RIDER
Descargar e instalar Unity Hub desde aquí.
Crear una cuenta en Unity ID.
Instalar Unity y configurar Visual Studio.
Un programa en C# se organiza en clases y métodos. Veamos un ejemplo básico:
using System;
class Program
{
static void Main()
{
Console.WriteLine("¡Hola, mundo!");
}
}
En C# existen varios tipos de datos:
int → Enteros
float → Números decimales
bool → Valores booleanos (true/false)
string → Cadenas de texto
Las variables permiten almacenar información en la memoria del programa.

Descarga e instala Unity Hub y Unity.
Configura Visual Studio como tu editor de código.
Crea tu primer proyecto en Unity.
Abre Unity y crea un nuevo script.
Escribe un código que muestre un mensaje en consola.
Ejecuta el código dentro de Unity y verifica su salida.
¿Qué ventaja posee C# como lenguae de programación que lo hace atractivo para su uso con UNITY?
¿Por qué es importante la estructura de un programa?
¿Cómo influye la programación en el desarrollo de videojuegos?
¡Nos vemos en la próxima sesión! 🚀
C# es un lenguaje de programación desarrollado por Microsoft. Es un lenguaje orientado a objetos y está diseñado para crear aplicaciones robustas y escalables en la plataforma .NET.
C# es un lenguaje de alto nivel que se compila en código de máquina para ser ejecutado por la computadora.
Un lenguaje de alto nivel en programación es un lenguaje de programación diseñado para ser fácil de entender y escribir para los seres humanos. Estos lenguajes permiten a los programadores escribir programas utilizando términos y estructuras similares al lenguaje humano, en lugar de tener que trabajar con instrucciones de bajo nivel o códigos máquina.
Los lenguajes de alto nivel suelen tener una sintaxis más simple y menos detalles técnicos que los lenguajes de bajo nivel, lo que facilita la tarea de escribir y leer el código. Estos lenguajes también ofrecen características avanzadas que hacen que la programación sea más eficiente, como la gestión automática de memoria y la abstracción de datos.
Ejemplos de lenguajes de alto nivel incluyen Python, Java, C#, Ruby, PHP y JavaScript.
gestión automática de memoria a través del recolector de basura
la orientación a objetos
la capacidad de trabajar con componentes de software preexistentes mediante el uso de bibliotecas de clases.
Aprender C# es fundamental para poder crear juegos en Unity, ya que se utiliza para programar la lógica del juego, el comportamiento de los objetos, la interacción con el usuario y la comunicación con otros sistemas.
Para programar en C# para Unity, es necesario tener un entorno de desarrollo integrado (IDE). Unity incluye un IDE durante su instalación (Visual Studio), pero es posible usar otros como Visual Studio Code o Rider de la empresa Jetbrains.
using UnityEngine;
public class CrearCubo : MonoBehaviour
{
// Este es el método Start, que se ejecuta una vez al iniciar la escena
void Start()
{
// Crear un cubo
GameObject cubo = GameObject.CreatePrimitive(PrimitiveType.Cube);
// Añadir un Rigidbody3D al cubo
Rigidbody rigidbody = cubo.AddComponent<Rigidbody>();
// Añadir un Collider al cubo
BoxCollider collider = cubo.AddComponent<BoxCollider>();
}
}Las variables son elementos fundamentales en la programación en C#. Las variables se utilizan para almacenar valores en la memoria de la computadora y pueden ser de diferentes tipos.

Los tipos de datos básicos en C# son:
int: un número entero
float: un número con decimales
bool: un valor booleano (verdadero o falso)
string: una cadena de texto
Una variable de tipo “int” en C#.
Para esto se utiliza la siguiente sintaxis:
Existen varias convenciones para nombrar variables y métodos en programación.
Camel case: El primer caracter de la primera palabra es minúscula, y el primer caracter de las siguientes palabras es mayúscula. Por ejemplo: miVariable, miMetodo.
Pascal case: El primer caracter de cada palabra es mayúscula. Por ejemplo: MiVariable, MiMetodo.
Snake case: Las palabras están separadas por guiones bajos. Por ejemplo: mi_variable, mi_metodo.
Kebab case: Las palabras están separadas por guiones medios. Por ejemplo: mi-variable, mi-metodo.
En Unity se usa:
Archivos: PASCAL. MiArchivo -> MiClase (Esto es obligatorio)
Vbles y métodos: CAMEL CASE. miVble o miFuncion
Comprender los distintos tipos de operadores en C#.
Aprender su sintaxis y funcionamiento.
Aplicar operadores en ejemplos prácticos.
Operadores Aritméticos
Operadores de Asignación
Operadores de Comparación
Operadores Lógicos
Operadores de Incremento y Decremento
Operador Condicional
| Operador | Significado | Ejemplo | Resultado |
|---|---|---|---|
+ |
Suma | 5 + 3 |
8 |
- |
Resta | 10 - 2 |
8 |
* |
Multiplicación | 4 * 3 |
12 |
/ |
División | 10 / 2f |
5.0 |
% |
Módulo (resto) | 10 % 3 |
1 |
| Operador | Significado | Ejemplo |
|---|---|---|
= |
Asignación | x = 5; |
+= |
Suma y asignación | x += 3; |
-= |
Resta y asignación | x -= 2; |
*= |
Multiplicación y asignación | x *= 4; |
/= |
División y asignación | x /= 2; |
%= |
Módulo y asignación | x %= 3; |
| Operador | Significado | Ejemplo | Resultado |
|---|---|---|---|
== |
Igual a | 5 == 5 |
true |
!= |
Diferente de | 5 != 3 |
true |
> |
Mayor que | 7 > 4 |
true |
< |
Menor que | 2 < 5 |
true |
>= |
Mayor o igual que | 6 >= 6 |
true |
<= |
Menor o igual que | 3 <= 4 |
true |
| Operador | Significado | Ejemplo | Resultado |
|---|---|---|---|
&& |
AND lógico | (5 > 3) && (10 < 20) |
true |
|| |
OR lógico | (5 > 10) || (3 < 4) |
true |
! |
NOT lógico | !(5 > 3) |
false |
| Operador | Significado | Ejemplo |
|---|---|---|
++ |
Incremento en 1 | x++ o ++x |
-- |
Decremento en 1 | x-- o --x |
| Operador | Significado | Ejemplo |
|---|---|---|
? : |
Evalúa una condición y devuelve un valor | resultado = (x > 5) ? "Mayor" : "Menor"; |
Las estructuras de control de flujo se utilizan para controlar el flujo de ejecución de un programa. Las estructuras de control de flujo básicas en C# son:
if/else
switch
Se utiliza para ejecutar una acción si se cumple una condición y otra acción si no se cumple. Se pueden encadenar más a través del ELSE IF
El Switch es una estructura de control en la que bajo la evaluación de una expresión se ejecutará el caso que cumpla con el resultado de la misma.
Nótese que siempre, tras las sentencias de un caso, se añade un BREAK para que no se sigan comprobando el resto de posibilidades
int day = 4;
switch (day)
{
case 1:
Console.WriteLine("Monday");
break;
case 2:
Console.WriteLine("Tuesday");
break;
case 3:
Console.WriteLine("Wednesday");
break;
case 4:
Console.WriteLine("Thursday");
break;
case 5:
Console.WriteLine("Friday");
break;
case 6:
Console.WriteLine("Saturday");
break;
case 7:
Console.WriteLine("Sunday");
break;
}
// Outputs "Thursday" (day 4)
Los bucles for son una forma de ejecutar un bloque de código un número determinado de veces.

Los bucles while y do-while son otra forma de ejecutar un bloque de código mientras se cumpla una condición.