ImmersiveSimToolkit Tech Demo!
Posted 2 days ago
I absolutely adore immersive sims -- I basically grew up playing Deus Ex and System Shock 2.

I've always been fascinated by the seamless interactions between the player and the environment. Simple actions such as picking up items to move them around or carry them to other areas, to storing multiple copies of the same weapon, each with different loaded ammo or different modifications, always made the game feel much more immersive and not just a shooting gallery.



This is my attempt at providing a few components/utilities in S&Box to build immersive sims. Currently, my tech demo provides the following features:
- Ability to switch between freelook and cursor mode a-la System Shock 1 and 2 -- (default key TAB)
- Interaction reticle that shows information about objects you're looking at
- Context menu that allows quick actions to be performed on objects -- (default key MOUSE2)
- Physically carry objects in 3D space or store them in your inventory for later
- Equip/unequip weapons, load/unload magazines, and even fill empty magazines from spare bullets

All of the systems are designed to be highly composable, for example the pistol is composed by the following C# components: `Carriable`, `Interactable`, `Equipment`, `Collectable`, `Pistol 9MM`, `Magazine User`.

It's easy to create new game objects by putting together these pieces and adding a bit of extra logic with a custom script.

Source code available here:
https://github.com/vittorioromeo/ImmersiveSimToolkit/tree/main

Hope you enjoy! You can use the project as an (unpolished) starting point for a game, or feel free to take any of the existing code and use it as a building block for something greater!