Treffer: OSS Scripting System for Game Development in Rust

Title:
OSS Scripting System for Game Development in Rust
Contributors:
Universidade de Brasilia = University of Brasilia Brasília (UnB), Davide Taibi, Valentina Lenarduzzi, Terhi Kilamo, Stefano Zacchiroli, TC 2, WG 2.13
Source:
IFIP Advances in Information and Communication Technology ; 17th IFIP International Conference on Open Source Systems (OSS) ; https://inria.hal.science/hal-03254065 ; 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⟩
Publisher Information:
CCSD
Springer International Publishing
Publication Year:
2021
Subject Geographic:
Document Type:
Konferenz conference object
Language:
English
DOI:
10.1007/978-3-030-75251-4_5
Rights:
http://creativecommons.org/licenses/by/ ; info:eu-repo/semantics/OpenAccess
Accession Number:
edsbas.23ECF9F5
Database:
BASE

Weitere Informationen

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.