Tuesday 20 January 2015

Week 16: Change of Plans

Containers in the ground?

Plans do not always work out as intended and so did we encounter a slight problem with our original idea. Last week I introduced to you the new project that we are currently working on in groups of 4. Our original idea was to create our container city level underground inside a cave, however we quickly found out that this wouldn't be possible. The reason for that is that the brief states that the level has to be made out of containers, so while it technically would be possible to create our level the way we intended to, the style in which we planned on doing it just didn't work. We wanted our walls to be made out of bricks and/or stone, but why would anyone create stone walls inside a container?

So we decided to change our plans and while we are still keeping our level indoors, it is now located above the ground. After all, having containers buried in the ground or inside a cave just doesn't seem like a good idea either. We got rid of the whole crystal cave idea and our temple idea has been a lot more simplified. We will basically just keep to containers for the design of our level, but have some Aztec symbols spray painted onto the walls. The idea behind that is that after the apocalypse happened, a bunch of people brought back the original beliefs of the Aztecs and built themselves a base out of containers. The player will break into the base and has to get into the elevator which will lead him into the treasure room to steal the Aztec treasure. All of our other level elements are still in place (such as the key and the generator).

Getting some work done!

Unfortunately I didn't have much time to concentrate on concepts during this week. Instead I took on the task of creating the modular components that will make up most of the level. For that I started by taking our level floor plan and dividing the walls into panels. To do this I first thought about different sections and the different panels that I would need and sketched them on a paper. I then measured out the level and created another floor plan, showing all the component parts in their right places. I also drafted out my component sketches to make the whole thing a bit neater:
Modular Component Floor Plan
I then went into 3DS Max to create all of the required components. It was important at this stage, that the components had a seamless texture, so that I could put them together in any sort of way, without having seams all over the place. At the same time it was very important that the measurements were all correct, so I changed the units in 3DS Max to feet and fractional inches and changed the grid to show 1 inch at the time. I then used snapping to make sure all of the components would fit together perfectly. I also created a high poly version of the 10ft wall and baked it down into a normal map.

I was messing around quite a bit with the normal map and the low poly model until I had a decent looking wall and then used the same normal map on the rest of the components:
Modular Components with normal map.
Testing out the wall component in UE4.
I tested the wall in UE4 and created an instanced material that allows me to change the colours of the wall and border pattern very quickly and easily. After that I started assembling the level itself using my floor plan as a guide.

Once all the walls were in place we soon decided to do another change to the level. We wanted the area with the security room to be completely dark, so we thought that instead of having electrical lights, we could give the place some flame torches instead. The area with the security room would then have flame torches that had gone out and the player would have to go down to the locked generator room to pick up a flashlight. This meant, that the generator was only powering the elevator and we decided that it would be stupid to have it so far away, so I quickly redesigned the layout a bit to better suit our idea:
Modified floor plan.
Extending the stairs to go down 2 floors instead of 1.
Placing the generator directly under the elevator.

Scripting and Level Assembly

As you can see in the second screenshot, I also decided to get started with the blueprints we need for our level. I first created some simple torches, using particles for the flame and just a simple placeholder mesh, which I will change out later. The turned out pretty well and didn't take me much time to get ready. I then also created a blueprint for a door, complete with sounds and opening animation, as well as a variable which will check whether you have the key or not. I was going to do some work on the HUD to create the blueprint for the key, however I got asked to instead focus on creating assets so I went back into 3DS Max and created some very simple models for the ceiling and floor of the map.

I then completed assembling the level and placed torches all around the map to light it up. We then encountered a small problem with the player mesh getting lit up by the directional light, which we would need to create an outside area right at the start (with the entrance leading into the container complex). I solved this issue by creating a trigger around the indoor part of the level, which upon entering will turn off the directional light, leaving the torches to be the only light within the level. While I also scripted for the light to be turned back on when going back outside, we decided that once the player would enter the containers, we would look them inside by closing the door behind them.

Unfortunately after getting to this stage I was having some troubles with getting my level to run smoothly on the PCs that I was working on, which was most likely just because the PCs themselves were quite slow. (Our level itself is just made out of modular components, each having round about 150-200 tris and sharing a 512 texture sheet for the normal map, so I doubt the level itself is too resource demanding.)

Hopefully though I will get the level to run a bit smoother on a different PC and I will aim to get some screenshots up of the level as it currently is soon. Until then, stay tuned~

No comments:

Post a Comment