Luis Diaz
Hi! My name is Luis Diaz , I'm a Computer Engineer and I'm passionate about science, technology, video games, visual arts and software engineering. I work professionally as a software developer and I'm also interested in Game Technology, Computer Graphics, and 3D animation. Sometimes I also enjoy writing about things I do and find interesting. Visit my blog to learn more about my interests and explore my projects to see what I enjoy working on!
Projects
Here are some of my most remarkable projects. You can see a full list of my projects here!-
PPHD8 Extract
Rust Systems Programming Tools
A tool written in rust to extract .VAG audio files from PPHD8 files, an audio file format for old Play Station consoles
Jan. 2023 -
AR Carnival
C# Unity Vuforia AR
Simple AR game made with unity and Vuforia. Use your AR gun to shoot at spawning plates in your desk!
Jul. 2022 -
Parkour Shooter
Unreal 4 C++ Blueprints
This is an Unreal Engine project where I aimed to implement and experiment with advanced mobility mechanics in an FPS game. The core movement features include sliding, wall running, a grappling hook, and vaulting.
Feb. 2023
Blog
-
[proto-ecs] The Render Foundation 2024-12-22In this article, I'll share how we structured and implemented the Render API, and how the render thread integrates into proto-ecs's architecture and entity system. We use a dedicated render thread, PODs to simplify resource management and double buffering.
-
[proto-ecs] Entity Allocator 2024-05-13A thorough explanation of how we implemented entity allocation in Rust. We start with simple Generational Indices, and we explore several interesting Rust features to implement a complete entity allocator!
-
[proto-ecs] Data types registration in Rust 2024-02-05When you write a game engine, you usually want to allow users to create custom data types to implement behavior. And sometimes you need some sort of reflection system to collect some metadata about those new data types. In languages with limited reflection features like Rust and C++, this can be quite a challenge. In this article, I will explain how we approached this problem using macros in Rust in proto-ecs