I've been working on an engine to make a nice silent hill styled horror game. It's written entirely in Odin and I've started a few weeks ago. Needless to say, I'm quite happy with the API I laid out for managing game objects:
helmet := scene_new_game_object(&scene) helmet.transform = linalg.matrix4_translate_f32({ -2.5, 0, 0 }) game_object_init_render(helmet, "gamedata/assets/models/DamagedHelmet.gltf") suzanne := scene_new_game_object(&scene) suzanne.transform = linalg.matrix4_translate_f32({0, 0, 0}) game_object_init_render(suzanne, "gamedata/assets/models/Suzanne.gltf") sci_fi_helmet := scene_new_game_object(&scene) sci_fi_helmet.transform = linalg.matrix4_translate_f32({2.5, 0, 0}) game_object_init_render(sci_fi_helmet, "gamedata/assets/models/SciFiHelmet.gltf")
Result: