As I predicted in the first part the stock Unreal first person project was indeed a good place to start, although the gun that automatically adds has had to go through the rather cheating method of just telling it not to render then disabling the ability to shoot. I went with the C++ version for reasons of… Well I like C++ and figure I can always add more blueprints later.
It does however give that overly motion-blurring Unreal look out of the box, which is OK for now but I’ll no doubt want to fiddle with it before long as it’ll drive me mad.
The other tasks were also pretty simple. Creating the dungeon was a case of moving around the starting map a bit to give a starting end ending doorway in the first part, but it’s going to need to be better than that very quickly. It also killed the lighting when I added a ceiling so I then add to struggle to get lighting working right.
Attaching a spotlight onto the player seems to be a good start, and dotting point lights around has made things kind of work as long as they’re not too close as that gives performance warnings.
Then I hit play and the editor crashed. Save early. Save often .
OK, forgetting nice lights for now I ditched the point lights and deselected Cast Shadows on the Skylight. It doesn’t look too bad for now, in fact it looks sort of like this.
Looking at our requirements for the last post we’re doing quite well:
Have a 1st person walk around example in Unreal. I suspect the default 1st person project will be more than good enough. Create a dungeon. This can just be some walls, a floor and ceiling.
- Interact with a door.
- Menu/Game/Win screens.
The main menu seemed like a good place to hit next, so I created a new level called MainMenu and then created a WidgetBlueprint with the same name. It took me a little while to figure out how to add the widget to the screen, which was a case of opening the MainMenu level blueprint and then adding this to the blueprint.
That turned out to be a lot easier than I thought.
Getting the buttons to do things was easy too as there’s an Events section in the properties for each button you create and pushing the plus button will create one for you. Then it’s just a case of doing something like this:
At this point I was somewhat suspicious as to how easy it’s all been.
Lastly I just need to add the win screen, which is triggered if you walk into the white doorway you saw earlier. There’s a box collider object that when placed inside the doorway can have an event fire on the level blueprint that I tell it to switch to the WinScreen scene. That just has a button to return to the main menu and… there’s no cursor on that screen so you can’t push the button.
Making the cursor come back requires you to add some more to the blueprint, but this time the option you want is hidden and so the “Context Sensitive” checkbox on the context menu that lets you select the nodes to create needs to be unchecked before each menu is modified to look like this:
With that I have a working game. It’s the worse game ever, but it works. Time to add more things.
1 Use Unity? ↩︎
1 Use Unity?