Cosas para hacer en C#: Juegos
Por el título de este post ya se podrán imaginar qué viene a continuación. Como saben este blog se enfoca principalmente en enseñar e inspirar a quién lo lee a programar en C#, pero muchas veces nos quedamos con esa sensación de ¿Y luego, qué?
Me he encontrado con que uno de los motivos que evita que la gente quiera apender C# es que aún existe la creencia de que los lenguajes de .NET son solo para el desarrollo de aplicaciones empresariales y que para poder vivir de programar en C# deberán encontrar un trabajo de 9 a 5 en alguna corporación maligna.
Pero no, resulta que se pueden hacer un montón de cosas, incluyéndo videojuegos. Para hacer juegos, tenemos dos opciones:
C# desde "cero"
Gracias a la comunidad de Mono y a MonoGame, se han hecho grandes avances en el desarrollo de videojuegos con .NET. Permiten alcanzar una calidad en el juego al grado que ya se han publicado varios videojeugos para PC exitosos escritos en C#, por ejemplo: FEZ y Bastion.
Pero, ¿cuál es el chiste?, te preguntarás, si C# siempre ha funcionado en Windows. Pues resulta que estos juegos también han brincado las fronteras de la PC y ahora hay algunos para Play Station 4 (¡y Apple TV!): Por si no sabías, Transistor y TowerFall también están hechos en el fabuloso C#.
Utilizando un motor
Si vas comenzando con la creación de videojuegos, tal vez crear uno desde cero no sea la mejor opción. Para ello existen algunas herramientas conocidas como motores de juego que te ayudan quitando muchas de las complicaciones técnicas de crear un juego dejándote a ti la tarea de dedicarte a programar la lógica de tus creaciones. Una vez que tu juego está terminado estos motores lo compilan y dejan un producto que puede ser exportado a múltipes plataformas.
Los dos motores que conozco, y he probado, son Unity 3D y Unreal Engine, ambos soportan C# como lenguaje de scripting, es decir, para definir el comportamiento de los elementos de nuestro juego. Hay muchos ejemplos de juegos que se pueden hacer con ellos, inclusive Rovio (sí, el creador de Angry Birds) usó Unity para crear su juego Bad Piggies.
En esta parte, en lugar de dar ejemplos, les dejo algunos enlaces a tutoriales bastante buenos en los que me basé para hacer Woha!, un jueguillo para Android en el que usé C#.
Entren al canal de YouTube de Hagamos Videojuegos en él encontraran como hacer shooters, runners e inclusive aprender un poco sobre realidad aumentada.
Para terminar
Como puden ver, C# no es solo trabajo de oficina de 9 a 5, también se pueden hacer algunas otras cosas bastante divertidas pero sobre todo interesantes. En un futuro hablaré sobre qué más se puede programar con él, ¿tienes alguna idea? cuéntame vía correo o Twitter ;).