Help with character movement for 1st person dungeon crawler

What would be the best way to go about making 1st person tile movement in Eye of the Beholder/Legend of Grimrock style? I can find tutorials on almost all other aspects of “making an rpg” such as creating an inventory system, classes, combat mechanics etc… but always with modern free movement in mind. I can’t find anything on restricted grid based movement in 1st person mode so you can move left, right, forward backward only with left and right rotation.

Update, added a pic of the blueprint I have so far. I am sure that this is a terrible solution and it doesn’t work really at all except move the character forward and backward and diagonally and the rotate goes into the floor and then stops the player from moving.

I would recommend using Waypoints and the Navigation system for AI Bots. I believe this would provide the greatest flexibility without reinventing the entire wheel. I intend to use this method for a semi-automatic Rail System in my own game. Check out Peter Newton’s Tutorials for insight on the Waypoints and AI Navigation.

There are many ways you could go about setting up the waypoints in the level by either placing them manually in the level or spawning dynamic using an algorithm to calculation adjacent location spacing.

1 Like

I really like TechLord’s idea using ai…

but if you wanted to roll your own:

  1. Store the four possible camera orientations for N,S,E,W
  2. Use a grid to store the maze and determine cell accessibility
  3. e,g When moving forward, look up cell in forward direction and see if you can access it
  4. if yes then interpolate position to cell location
  5. if you rotate left or right, change orientation appropriately

Thanks guys, I’ll check out these tutorials you recommended. Waypoints and Navmesh sounds like what I need.

I like OptimisticMonkey’s roll-your own system. I considered rolling my own using A Depth-First Search Algorithm to calculate adjacent distance and direction to interpolate between cell locations on demand when movement is required. However, after factoring Dynamic Obstacles, I realized the UE4 AI Nav System would support adding logic to avoid and respond to obstacles Monster/Trap/Doors, negotiate moving platforms, and other conditions. UE4’s AI Nav System automatic handles traversing complex goal points within single Move To BP Node.

Things can be made simple using the SimpleMoveToActor or SimpleMoveToLocation BP Nodes:

&stc=1

1 Like

Thanks for the help guys. Sounds like there are many ways to go about this and I just have to decide which one is optimal for what I’m trying to do. The example is very helpful Techlord, I’m a visual learner so seeing how it works is the best way for me to get it. :slight_smile: