Title
Summary
Timeframe: ~15 hours (08.04.25 - 05.05.25)
Role: Developer
Skills: Programming, Game Design
Engine: Unreal Engine
Language: Blueprints
Teamsize: 1
Website/Download: Showcase video. Repository is coming soon.
Description: My goal was to create a physics based grabbing system, similar to the one from the game R.E.P.O..
Story: -
Gameplay/Features: There are multiple objects the player can interact with. There is a small cube that the player can pick up and freely move around in the air. There is a door that swings on a hinge and that the player can also grab and open or close that way. There is a lever where the lever hinges on the bottom part and can be move left or right to activate or deactivate it. Lastly there is a chest where the player can grab the top part to open or close it. The player can also scroll the mouse wheel to pull a grabbed object towards or away from them. Lastly if the player moves to far away from the element for example on the door that is restricted by its hinges the connection breaks.
Workflow: The door, lever and chest use physics constraints to restrict their movement along a hinge. The grab system is made via a physics handle that grabs the specified object and tries to move it towards a certain grab point. The grab point is where the player is looking and has a certain distance from the player that can be controlled via the mouse wheel up to a certain maximum. Additionally I added a orange laser ray that moves from the player through the grab point and then ends in the grabbed object.
Key takeaways: physics constraints are great at creating objects with restricted movement while physics handles are great if you want to grab and move objects physically accurate. Both make for good physics based grab systems without needing to deal to much with complex calculations.
What I would do better next time: I may work more on this project in the future. Some things I would consider adding are grabbable objects with different masses, being able to rotate grabbed objects or being able to grab an object not just in the center but also at its edges or corners.