
ARTDEPARTMENT

El jerga de programación Rust no ha hecho más que superar popularidad en los últimos primaveras, gracias a su enfoque en la seguridad y el rendimiento. Eso hace que muchos lo consideren, además, una de las opciones más prometedoras en el mundo del exposición de videojuegos frente a lenguajes más establecidos como C++, Unity (C#) y Godot.
Sin confiscación, no todo es tan idílico como parece: luego de tres primaveras dedicados a desarrollar videojuegos en Rust, el estudio indie LogLog Games decidió entregarse su desafío por este jerga como útil principal de exposición, pese a las miles de horas que habían invertido en su uso.
Los 25 juegos mas dificiles de la historia
Cuando LogLog Games comenzó a utilizar Rust, lo hicieron con altas expectativas. Rust prometía un rendimiento excelente y herramientas que garantizaban la partida de errores comunes relacionados con la memoria, poco crucial en un entorno tan riguroso como el exposición de videojuegos.
Durante este periodo, el equipo lanzó varios juegos en plataformas como Steam, utilizando frameworks como Bevy y Macroquad, por otra parte de crear su propio motor 2D desde cero. Sin confiscación, a medida que avanzaban en su experiencia, los problemas comenzaron a acumularse.
Uno de los principales retos fue la curva de enseñanza del jerga: Rust es notoriamente complicado para principiantes y, aunque los desarrolladores de LogLog Games no eran precisamente inexpertos (escribieron más de 100.000 líneas de código en esos tres primaveras), muchos de los problemas iniciales no desaparecieron con el tiempo.
El principal obstáculo técnico fue el 'borrow checker', una útil que asegura que los datos no sean modificados de guisa insegura en tiempo de ejecución: si proporcionadamente esta característica es un pilar del diseño de Rust, en el contexto de los videojuegos —donde la iteración rápida y la flexibilidad son esenciales—, resultó ser una traba constante.

Según explican los desarrolladores,
"El 'checker' obliga a realizar refactorizaciones en los momentos menos convenientes. [...] en el tiempo que un desarrollador de Rust termina de refactorizar su código para cumplir con el 'borrow checker', un desarrollador de C# ya ha probado varias ideas y ha iterado en ellas".
Esto dificultaba la implementación de prototipos rápidos, y hacía que incluso las modificaciones más simples resultaran tediosas y lentas, un ostentación que los estudios independientes con bienes limitados no pueden permitirse...
...pero crear un prototipo utilitario en poco tiempo es lo que permite a los desarrolladores verificar y evaluar ideas antaño de trastornar bienes significativos en su exposición completo.
Los desarrolladores de LogLog Games encontraron que realizar pequeños cambios en el diseño a menudo requería grandes refactorizaciones, impuestas por el propio compilador
En otros lenguajes, como C# o C++, es popular implementar soluciones rápidas y "desordenadas" durante la etapa de prototipado, para luego refinarlas. En Rust, esta actos es casi difícil correcto a las restricciones del jerga:
"El código en Rust a menudo es más honrado, pero eso no garantiza que el esparcimiento sea mejor. Lo que importa no es un sistema consumado, sino cuán rápido puedes implementar y probar mecánicas para descubrir qué funciona y qué no".
A pesar de las críticas, LogLog Games reconoce que Rust tiene fortalezas innegables. El jerga es excepcionalmente bueno en áreas como herramientas de segmento de comandos, procesamiento de datos y algoritmos. Por otra parte, su rendimiento "por defecto" es impresionante, superando a lenguajes como C# incluso sin optimizaciones exhaustivas:
"Rust es un jerga que funciona proporcionadamente para proyectos donde la seguridad y la estabilidad a dadivoso plazo son prioritarias. Pero para nosotros, el exposición de videojuegos es sobre velocidad y creatividad. Y en esos aspectos, Rust simplemente no nos ayudó".

Tras tomar la valentía de entregarse Rust, LogLog Games planea retornar a usar Unity, aprovechando su ecosistema progresista y herramientas que favorecen la iteración rápida.
Por el contrario, el ecosistema de Rust carece de herramientas maduras comparables a las que ofrecen Unity o Unreal Engine: ni editores visuales, ni sistemas avanzados de interfaz de legatario, etc.
Un punto recurrente de frustración fue el uso extendido de sistemas de componentes (ECS) en Rust, como el que implementa Bevy. Aunque estos sistemas ofrecen beneficios en memoria y modularidad, logran que
"lo que podría ser una segmento de código en Unity o Godot se convierta en una tarea de 30 líneas dividida en múltiples lugares".
Vía | LogLog Games
Imagen | Marcos Merino mediante IA
En Genbeta | Qué es Rust y por qué Elon Musk piensa que será el jerga con el que crearemos la 'IA Genérico'
Compartir este artículo
Consultoria Personalizada
¡Si aun no tienes presencia en internet o
necesitas ayuda con tus proyectos, por favor, escribenos!