OSS Scripting System for Game Development in Rust

Autor: Rodrigo Oliveira Campos, Carla Rocha, Pablo Diego Silva da Silva
Přispěvatelé: Universidade de Brasilia [Brasília] (UnB), Davide Taibi, Valentina Lenarduzzi, Terhi Kilamo, Stefano Zacchiroli, TC 2, WG 2.13
Jazyk: angličtina
Rok vydání: 2021
Předmět:
Zdroj: IFIP Advances in Information and Communication Technology
17th IFIP International Conference on Open Source Systems (OSS)
17th IFIP International Conference on Open Source Systems (OSS), May 2021, Lathi/virtual event, Finland. pp.51-58, ⟨10.1007/978-3-030-75251-4_5⟩
IFIP Advances in Information and Communication Technology ISBN: 9783030752507
OSS
Popis: International audience; Software development for electronic games has remarkable performance and portability requirements, and the system and low-level languages usually provide those. This ecosystem became homogeneous at commercial levels around C and C++, both for open source or proprietary solutions. However, innovations brought other possibilities that are still growing in this area, including Rust and other system languages. Rust has low-level language properties and modern security guarantees in access to memory, concurrency, dependency management, and portability. The Open Source game engine Amethyst has become a reference solution for game development in Rust, has a large and active community, and endeavors in being an alternative to current solutions. Amethyst brings parallelism and performance optimizations, with the advantages of the Rust language. This paper presents scripting concepts that allow the game logic to be implemented in an external interpreted language. We present a scripting module called Legion Script that was implemented for the entity and component system (ECS) called Legion, part of the Amethyst organization. As a Proof-of-Concept (POC), we perform the Python code interpretation using the Rust Foreign Function Interface (FFI) with CPython. This POC added scripting capabilities to Legion. We also discuss the benefit of using the alternative strategy of developing a POC before contributing to OSS communities in emergent technologies.
Databáze: OpenAIRE