Hello everyone, I’m having a crack at something ambitious for such as implementing the old Rush Hour board games from our childhoods into Unreal Engine 4.
Currently the premise is simply you are a character playing in Isometric third person view and you must walk up to each car to move them in their grids.
Breaking this down here’s what I am trying to accomplish.
-A Car will move only on one axis depending on which way it is facing. Either it’ll be placed so that it’s facing in the X direction or the Y Direction but never the Z direction because, hey, let’s not be silly.
- The streets that the cars will be placed on will have planes/squares of the grid and we’ll consider these 1 unit (They’re a metre wide as they’re long). To keep things simple, the puzzles will be on a grid of 8 by 8 tarmac planes.
- The car will be move to the centre of these planes/squares on this 8 by 8 grid like a chess piece.
- This car will check if it can move in the assigned orientated direction along it’s X or Y direction and if it can move then it will. However if something is blocking it’s path then it will not move forward in that direction, it can only instead move backwards.
- The cars won’t move as if they’re being teleported to each square plane but instead, using floats, be able to be on roughly three planes/squares because the player hasn’t moved the car enough along it’s pre-assigned path. The cars will be roughly 1 square wide by 2 squares long.
- The player is controlling a third person character and must walk up to each car individually and then hold a button, shall we say F, and then depending on how much the player holds F and presses W the car will move on it’s pre-assigned route. The character must follow the car essentially for some sense of immersion.
What me and my friend have tried already is assigning each plane a tag such as “grid1_1, grid1_2, grid1_3” etc. In the world BP we’ve broken down the tags so that the game checks for which grid the car is on with the “grid1x" part of the tag and then it also checks for which square/plane the car is on as well with the "gridx1” part of the tag. Once BP has the information it checks whether they player has the F button pressed and the car will move to it’s next grid. We know that this system works as we’re printing out the Vector co-ordinates of both the co-ordinates the car is starting on and the the co-ordinates of the plane the car /should/ be moving to. We have also made sure that they grid array knows that the car has moved by updating it’s current grid1_1 X,Y,Z co-ordinates to grid1_2 X,Y,Z coordinates. However we’re struggling to get the car to move with all this logic place. We’re not sure if after 7 hours of working through this problem that we can’t seem to see the flaw in our logic. A helping hand would be great.
Here is a look at the blueprints now: http://i.imgur.com/CW3PNGt.png