FARANDULANOTICIAS

Among Us, un programador da una mirada tras bambalinas al código


  • A Entre nosotros El programador se une a nosotros para explicar una parte clave del código del juego.
  • Este juego multiplataforma hace que parezca fácil acomodar a jugadores de una docena de sistemas diferentes.
  • El juego está construido en el popular motor Unity, con código C++ y C# detrás de escena.

    En el juego de éxito Entre nosotros, un grupo de jugadores se sube a una nave espacial y se les asignan pequeñas tareas como el mantenimiento y la reparación del motor. Pero para un jugador, la «pequeña tarea» es matar a todos los demás. El juego se lanzó en 2018, pero despegó en 2020 como un juego de mesa en el que los grupos podían jugar juntos de forma virtual. Para empezar, es un juego divertido, pero también ilustra algunas cosas interesantes sobre cómo se crean y diseñan los juegos de computadora. Hablamos con Shahrin Khan de Innersloth, los creadores de Entre nosotros. Compartió un fragmento de código del juego que nos ayudará a contar la historia.

    Cómo se juega el juego

    Entre nosotros es un juego para hasta 15 jugadores. Todos eligen colores y accesorios, como sombreros o mascotas, desde un área de espera principal. Una vez que ha comenzado el partido, se eligen hasta tres jugadores para que sean impostores y el resto son jugadores regulares. Este es un juego de rol asimétrico, ya que los impostores tienen un conjunto diferente de movimientos y habilidades que el resto de los jugadores. Es posible que conozcas juegos de supervivencia de terror asimétricos populares como Muerto a plena luz del día, donde se enfrentan asesinos y supervivientes. Dentro Entre nosotros, los miembros de la tripulación tratan de sobrevivir. El impostor puede viajar a través de rejillas de ventilación ocultas, con el objetivo de atrapar y matar a los jugadores donde otros no puedan verlos. Luego, todos se reúnen para votar sobre quiénes creen que son los impostores.

    un programador entre nosotros explica un fragmento de código

    Victoria T. (Innersloth)

    Por qué este juego atrae a los usuarios

    Uno de los grandes atractivos de Entre nosotros es que el juego es compatible con el juego multiplataforma, lo que significa que las personas con la aplicación gratuita de Android pueden unirse a juegos con personas en Nintendo Switch, PC y otras consolas. El juego está integrado en Unity, que es un motor de juegos: el software que admite y sustenta el desarrollo de juegos al incluir muchas características y bibliotecas existentes que los desarrolladores probablemente usarán.

    Lanzado por primera vez en 2005, Unity se creó como un motor Mac antes de ser compatible con casi cualquier otro tipo de plataforma, desde Linux hasta consolas. Incluso es gratis para muchos usuarios, ya que hay un mínimo de $200 000 en ganancias anuales antes de que una cuenta se actualice a la versión paga de Unity Pro, y los desarrolladores que ganan más de $200 000 por año son raros. Debido a su filosofía de «democratización», Unity también cuenta con una enorme comunidad de personas que aportan recursos que otros pueden utilizar en sus proyectos. Para estudios pequeños e individuos, esto significa ahorrar tiempo y dinero en la creación de activos como modelos de personajes y fondos.

    Lenguajes de programación que funcionan

    Unity utiliza los lenguajes de programación C++ y C#. La codificación es muy generacional e iterativa, con lenguajes que agregan características y rasgos a lo largo del tiempo. C++ y C# se remontan a C, que se introdujo en la década de 1970 pero sigue siendo popular hoy en día como una forma de codificar sistemas operativos y hardware. (Ni siquiera es el lenguaje más antiguo que todavía se usa ampliamente; COBOL, popular para los sistemas bancarios y de contabilidad por lotes, se remonta a 1959. ¡Probablemente haya otros!)

    C ++ es la columna vertebral de gran parte de la programación de videojuegos, en parte porque fue diseñado para interactuar con el hardware de una manera eficiente en el uso de energía. Esto significa que el software escrito en C ++ puede ejecutarse de manera más eficiente mientras aprovecha las características del hardware de la computadora, como los gráficos y la RAM. C#, a su vez, supuestamente fue diseñado en respuesta al lenguaje Java. (La muestra que Shahrin Khan me envió se parece tanto a Java, un lenguaje que he usado más yo mismo, ¡que lo tomé por eso al principio!)

    Veamos el código

    Khan escribe código para Entre nosotros en un entorno de desarrollo integrado (IDE), software que facilita la visualización y el trabajo con el código mediante el uso de características como la codificación por colores. ¡Tendremos que prescindir de él en esta muestra!

    muestra un bloque de código que cambia el color de un sombrero

    Pereza interior

    Es un método, que es un bloque de código que solo se ejecuta si alguien más lo «llama». Llamar a SetHat(15) es como escribir 15 en su calculadora y luego presionar la raíz cuadrada, excepto que en lugar de la raíz cuadrada, el método cambia el color de su sombrero. «Se supone que ya sabes quién sombrero para usar, pero el color cambia”, dice Khan. Las opciones de color se almacenan como valores enteros porque es mucho más fácil que pedirle a la computadora que analice o interprete el nombre de un color escrito como una palabra.

    Luego, el código transforma el número entero del código de color en algo que realiza el cambio en el motor de Unity. Este cambio en realidad aplica la información visual correcta al arte representado en el juego». Esto eventualmente inicia una corrutina, básicamente, algo que Unity está tratando de hacer en segundo plano mientras hace otras cosas para que el juego no parezca congelado, para cargar los ‘datos de vista’ del sombrero», dice Khan. «Una vez que cargamos la textura, finalmente usamos la identificación de color que se nos pasó para colorear el sombrero apropiadamente».

    entre nosotros programador explicar fragmento de código

    Victoria T. (Innersloth)

    Los juegos, especialmente los juegos multijugador en línea, siempre equilibran muchos flujos de información al mismo tiempo. Y esto también es cierto para la mayoría de los demás usos de la informática. Vemos todas nuestras aplicaciones o ventanas abiertas y pensamos en ellas como flujos separados que suceden a la vez, pero eso se debe a que la programación escalona el «siguiente paso» de cada proceso para que todo parezca uniforme. En realidad, es más como rasguear una guitarra: técnicamente, golpeas una cuerda a la vez muy juntas, creando el sonido de un acorde.

    Entre nosotros tiene más de 300 sombreros, y son una gran parte del modelo financiero del juego. La aplicación de Android es gratuita, y otras versiones del juego son bastante económicas. pero todos los jugadores pueden pagar la moneda del juego que se puede usar para comprar paquetes de cosméticos temáticos para temporadas, días festivos y otros eventos especiales. «Personalmente, lo más divertido de los sombreros es ver todos los nombres basados ​​en juegos de palabras para ellos», dice Khan. «Tenía muchas ganas de encontrar un buen juego de palabras para decir eso, pero no pude». (Un buen juego de palabras es difícil de superar).

    Los sombreros son divertidos, pero tienen un gran inconveniente, dice Khan. “Uno de los desafíos es la gestión de la memoria. Muchos dispositivos móviles más antiguos no pueden cargar demasiados activos en el juego a la vez, lo que ha provocado problemas de bloqueo para algunos usuarios. Es algo que debemos tener en cuenta cada vez que agregamos nuevos cosméticos de cualquier tipo, sombrero o no”, dice ella. Y eso tiene sentido, porque cuanto más compleja se vuelve una experiencia de juego y más arte se usa y administra durante el juego, mayor es la tensión en el procesador de la computadora y la memoria que alimenta el dispositivo.

    Si alguna vez se realizó un cambio en el método SetHat anterior, hay un proceso muy específico para introducir el cambio en el código y, finalmente, en los jugadores. Khan haría el cambio localmente en su propia máquina y luego lo probaría. (Las pruebas no son solo un paso o lugar en el proceso; hay media docena de tipos diferentes de pruebas, y algunas se usan varias veces durante el desarrollo). A partir de ahí, el nuevo código se cargaría en archivos compartidos en GitHub de Innersloth, un servicio en línea que realiza un seguimiento de los cambios y lanzamientos de software.

    “Todas las noches tenemos un sistema automatizado que toma nuestro código base de trabajo y crea un ejecutable o una ‘compilación’ a partir de él para varias plataformas como Steam, Android, etc.”, dice Khan. «A la mañana siguiente, estas construcciones estarán listas para nuestra [quality assurance (QA)] equipo para probarlo. Si pasa sus pruebas, se considera que el cambio funciona y está listo para la próxima actualización.

    A veces, los cambios son urgentes, como un nuevo código que corrige un error que está bloqueando el juego, otras veces el código es para mejoras de rendimiento, nuevas funciones o correcciones de errores esotéricos y poco comunes que no tienen la misma urgencia. Los equipos de desarrollo deciden juntos cuándo quieren programar versiones actualizadas de su software. También se puede implementar en diferentes momentos entre plataformas.

    Khan tuvo algunos trabajos de codificación antes de trabajar en Entre nosotros, incluidos seis años como desarrollador de Unity en una empresa de juegos móviles. Ella dice que se sorprendió de lo genial que es el equipo de Innersloth, lo cual siempre es algo bueno en un trabajo. “Creo que lo que más me sorprendió fue lo grandioso que es el equipo y lo divertido que nos divertimos trabajando juntos”, dice. «Suena muy cursi, pero es verdad».

    Este contenido es creado y mantenido por un tercero y se carga en esta página para ayudar a los usuarios a proporcionar sus direcciones de correo electrónico. Es posible que pueda encontrar más información sobre este y contenido similar en piano.io

.

TE INTERESA>>  ¿Netflix te hará olvidar Amores Perros? Revelan nueva película mexicana que debes ver

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Botón volver arriba