Games - Rust Language + WebAssembly
Trabalho final - Computação Gráfica
Cecília Carneiro e Silva
Outline
- WebAssembly
- Linguagem Rust
- DDD (Data Driven Design)
WebAssembly
Wasm - formato binário, portável, leve e eficiente.
Performance
Compilado, otimizações up-front, velocidade nativa
enquanto JS ainda precisa ser interpretado.
Seguro
Memory-safe sandbox. Também possui garantias
de origem.
Aplicações
Onde alta performance é essencial: jogos, reconhecimento de imagens, aplicações CAD...
Links e referências:
[1] M. Reiser e L. Bläser, “Accelerate JavaScript applications by cross-compiling to WebAssembly”, in Proceedings of the 9th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages - VMIL 2017, Vancouver, BC, Canada, 2017, p. 10–17.
[2] A. Haas et al., “Bringing the Web up to Speed with WebAssembly”, p. 16.
[3] S. Letz, Y. Orlarey, e D. Fober, “FAUST Domain Specific Audio DSP Language Compiled to WebAssembly”, in Companion of the The Web Conference 2018 on The Web Conference 2018 - WWW ’18, Lyon, France, 2018, p. 701–709.
[4] A. Jangda, B. Powers, A. Guha, e E. Berger, “Mind the Gap: Analyzing the Performance of WebAssembly vs. Native Code”, arXiv:1901.09056 [cs], jan. 2019.
Rust Language
Empowering everyone to build
reliable and efficient software.
Segurança
System language. Memory Safety. Strong typed Language.
Eficiência
LLVM-backend. Ownership + borrowing = binário mais eficiente.
Produtividade
Abstrações de alto nível. Gerenciador de pacotes e build.
Rust Embedded
Tema da minha dissertação. Aplicar os conceitos em sistemas de baixo nível. Cabe o paralelo aqui!
Links
Referências Mestrado.
Game Engine
DDD - Actor System, Entity–component–system (ECS)
What?
Ainda não sei se será um revisão bibliográfica, ou um mini-jogo. Talvez uma mistura.
Alguns projetos e ideias interessantes. Tema novo e pouco estudado, caberia algumas contribuíções (não é a ideia inicial).
Formalismo + segurança estática do Rust para o desenvolvimento de jogos.
CG-Apresentação
By Cecília Carneiro e Silva
CG-Apresentação
Apresentação de tema - trabalho final de CG (Mestrado).
- 112