Land Navigation (Old Project)
Land Navigation is a project that I was asked to be on by the then chair of the Game Design department at SCAD, Luis Cataldi. He had the idea to make a land navigation training simulation for compass navigation that CEMA (Chatham Emergency Management Agency) could use to train people in search and rescue. Luis wanted us to make this as an educational game with photo real art and as close to real life as possible.
Since none of the people on the team had any idea how to use a compass to find something in the woods we all went out with a great guy who worked for CEMA to teach us how to do it so that we could more accurately re-create the experience for the training simulation. There is no real way to express how hard it is to use a compass in the woods with little to no experience. I was the programmer and game designer so it was my job to come up with everything we could do to make the game feel like actually being in the woods. My first real task was to create a compass that worked like a real compass.
For our purposes the player needed to use three aspects of a compass. The needle, the bevel, and the direction of travel arrow. The direction of travel arrow is obviously the easiest, its an arrow, that points in the direction you plan on traveling. For early testing I used one of UDK's steel I beams and attached it to the player, hey it got the job done. Later when the modeler made me a compass, it had the arrow built into the texture. The needle was also very easy. I took another I beam and had it always point to a cube that was very, very far off and called that cube "north". The bevel was a little more tricky, but only because of how Unreal deals with rotation numbers. (terrible art incoming)
Basically instead of taking an object and drawing a circle around it and numbering the circle from 0 - 360 it starts at 0 and right rotations are positive to 180 and left rotations are negative to -180. This took me a while to figure out but some simple math makes this an easy problem to overcome. So all of this was to make sure that I could rotate the bevel. The bevel is the numbered part around the needle. Without the bevel navigation with the compass is impossible, as the bevel tells you what your heading is. The last thing I had to get working was to make sure that the compass is connected to the player, but that the rotation of the compass needle and bevel are independent of the player. This allows the player to rotate freely, but the bevel and needle stay where they should be.
After getting the compass working correctly the next thing that had to work was a method for the player to judge distance. In real life you judge distance through paces. A pace is the distance you travel every 2 steps at a normal speed. For each person this distance is different, but for the game I picked a fixed distance, though to be honest I could have put in a system where the player picked their pace speed. But it seemed silly. Keeping track of paces is harder than you think in the woods so they created pace beads. Pace beads are essentially an abacus on a string with 2 sections. One section represents every pace and the other section is every 10 paces. Paces are made up of two parts; Foot Steps and Pace Beads.
This is basically making the game play a footstep sound after the player has traveled a certain distance. It would also change the sound played based on the material the player stepped on. The next part was pace beads. This was drawing the beads on the screen and making them move when the player hit Q, and reset when you hit R. I also made the SCAD logo flash orange when the player took 2 steps for a little more feedback.
Well now that the player has the tools to navigate correctly they need something to navigate to. In the training we received for this project we had to find green metal posts with a yellow sign on them. They were very hard to find and so we made sure that the posts I had in game were also hard to find. I also made a few paths the player could follow through the game. I scattered posts throughout the woods and gave the player a navigation sheet.
When the player hits the M key they got this menu, which told them how to go through each path. As you can see this is a practice path. Practice paths had a few features to help build confidence.
You can see here that if the player got lost they could turn on the help which would lead them to the marker. This is a wildly frustrating experience at first so I agave them the tools to learn as opposed to just making it hard. I also designed the paths to be much easier on practice. Then there is test mode, where the player tests how good they really are. For instance look at the difference in the navigation screen.
Basically I tell the player where to start and give them a heading, and nothing else. If they are good then they can find the next marker and then they get a new heading. I was not entirely evil here I gave them the ability to check if they were at the correct marker. Am I not kind? For the test in real life people are given a sheet that looks like that one and they roam the woods to see what posts they find. They then mark which posts they found and estimated distance between them then call in when they get to the last post to see if they got to the correct one. Which is what I tried to emulate here.
This was my first major UE4 project and I really enjoyed getting the markers to work the way I did. I created a blueprint that was on each marker and had that blueprint able to see which path it was on. I then made it so that anyone could make their own course just by dragging a new marker into the game and setting it up.
This was in the properties for each marker. The boxes linked into everything else in game so this was all anyone had to do.
Then they passed their info to the HUD for display purposes.
Now one of the coolest parts of UE4 is the redone HUD stuff. It is so much better than UDK it is not even funny.
Above is a picture of most of the HUD. I had it doing a lot of stuff with a lot of flow control. The first thing I needed was a button so the player could get started. I created a button function so I only had to do it once.
This became one node in the HUD blueprint. It let me change what I needed to and set it up very easily. After that I needed to design the menu flow. So the player could navigate the start menu and choose test or practice.
All of that so they could get through this:
If you watch the beginning of the video you can see the whole thing. After buttons I also had to get the help feature to to track the correct marker and display it's distance from the player dynamically if they were looking at it.
I then gave the player the ability to hit M and pull up the menu.
This was one of my favorite projects to work on to date because it is something that is completely different from regular game design. I was not nearly as concerned about making the game fun as I was with conveying the proper way to navigate. In game design we are taught to keep players in the flow zone, which is the balance between boredom and tension. In this game the balance is a little different. I want the player to learn which means they need to be able to make mistakes, but I do not want them to be so frustrated that they get mad and tune out the lesson. I really enjoy making educational games, and I would really like to make more.
If you want to try your hand at navigation download it here. Unzip it and navigate to \LandNavPost_final_v02\LandNavUE4\Binaries\Win64\