Focus: Unreal Engine is a series of posts where I'll share my experience and discoveries working with Epic's free Unreal Engine 4 for video game creation. There will be no set time for the series to end, but I will have a goal: the creation of a playable game level for Halloween in October 2019. I will share the level with everyone for learning and for fun!
Now that I've laid out what I want to create in the Dark Ride, I've got to start creating the 5 levels that the ride will travel through. This part of the workflow is called Level Design.
I quickly realized after research that there will be game memory problems if I put all of my scenes on one level. I have to divide the ride into various levels (maps) and then stream them when they are needed. To be more precise; when you leave one level Unreal loads in the new level and removes the level you came from. This allows for better use of memory in the game and makes for a smoother game experience. Nothing is worse in-game than “lag” due to overtaxing the memory in Unreal.
Unreal (and the wider community) covers level streaming very well, so it's not a problem to set up. Although I did change the number of levels I'll be streaming in order to use them better.
I already have the main level, “Haunted House”, which I purchased from the Unreal Marketplace. Now I need to layout the track for the ride car as it moves into the house, up two floors to the attic, and out through a huge spider tunnel to the basement.
As I mentioned previously, the track blueprint I'm using is not currently supported by the creator, so I'm on my own. There is a 10 second lag between moving the track from one spot (spline point) to another. You can imagine how tedious this is. However, with patience, I was able to lay the track down to the front door of the house.
Next, I created hallways on the first floor, stairs to the second floor and a small spider tunnel to the attic where most of the spiders will be. I pulled most of the hallway walls floors from a cheap set I purchased called “Abandonded Hotel”. Initially, the placement of the various meshes to create the hallway was slow, but once I got the hang of it I was able to create the first and second-floor design in a day or so. Moving the track through various curves in the hallways was difficult and has taken me most of this week to do.
At this point, my research into dark ride history and design helped out a lot. In the picture above you can see the ride flow for the first floor on the left and the ride flow for the second floor on the right.
Lastly, I worked on the attic and the spider tunnel that leads out and down to the basement. Once I got the track to the lip of the tunnel location, I switched to Blender to create the mesh.
My first time working with the new Blender 2.8 is a revelation. It is so easy to work with. I found several tutorials that used vertices to create a spline shape and then fill out the spline with tunnel geometry. This took about an hour. Size issues from Blender to Unreal caused me to re-do the tunnel several times until I got just the right size.
Struggles with Unreal
If we fast forward, I am presently through the basement, up the cave and out to the surface where I'll start working on the haunted cemetery. This is the last level to create before I join the end of the ride track with the beginning.
I did encounter several issues during level design. One is the problem of finding all of a particular level's assets to move to a streaming level. More plainly, you create a new streaming level them move all of that levels assets there. With hundreds of assets now (strangely all of the folders open and display their contents when you open that level). It is very hard to get all of the components of a level. At least I can't figure out how to do it. More research on my part is needed.
I also don't understand how lighting is affected when you move one level to another. I'll report on what I learn in the next article