Telekinesis is a project I made during my Game Design studies. The main purposes were learning Unreal Engine then implementing and polishing a game mechanic.
The mechanic I chose was the telekinesis we can experience in Control from Remedy Entertainment:
- Grabbing an object
- Making it levitate
- Throwing or releasing it
The visual scripting helps a lot to prototype fast without creating script files. Fortunately, I could previously test it on Unity as they did an equivalent job as Unreal so I could find quickly the nodes I needed.
In my opinion, blueprint nodes are the best part of Unreal but the worst part is the Actor hierarchy management. I prefer the simplicity of Unity's GameObject for this point.
For example, I created a basic enemy which becomes a ragdoll when it's hit by a thrown object. The most difficult part was changing the enemy blueprint into an Actor that can be grabbed by the player. Due to the differences between a simple mesh like a chair and a complex object like the ragdoll, I spent 2 days to make it work but I succeeded.
The complexity of grabbing/releasing in visual scripting
The level blockout
Comparison with the original game
- Unreal Engine 4:
- visual scripting (blueprints)
- player controller
- physics / collisions / ragdolls
- input system (keyboard/mouse and gamepad)
- UI (with dynamic switching depending on the controller)
- navigation mesh (for ennemies)
- layered blend per bone (for the arm of the character)
- audio management
- optimisations / balancing