Thursday, 26 May 2016

FMP Post Mortem

For my Final Major Project, I set out to create an interactive and playable 3D barn interior in a partially stylised, hand-painted style - similar to that of the game Life is Strange. I stated that the packaged game should run at a minimum of 30fps on lab computers, and granted myself a budget of 80,000 tris and 5x 2048 texture sheet sets.
I decided on this as a project simply because I love old barns and rustic things, and the idea of making a whole environment of wood and clutter sounded very appealing. As this was a 20 week project, I wanted to enjoy what I was making. I decide to make the environment small, perhaps even smaller than my style matrix projects, in order to ensure I’d be able to add a very high level of finish and detail to everything.

Before starting the project, I came up with a schedule for the 20 weeks. I allowed myself as much time as I felt I would need for each separate section of the project, but was sure to leave 2 weeks at the end as contingency time or time to polish my work. Realistically, I knew I would be spending some of the last 2 weeks working on stretch goals as well, provided I was able to stay on track. I decided to divide my work up into sections so that I could easily cut out chunks of my project if need be, such as the tractor, exterior or technical elements.

I began by gathering a lot of reference to use and concepting my environment for the first week. I didn’t feel I needed any longer to concept, especially as I wasn’t planning on being marked on any of it, but I needed enough to give me the feel for my level and a direction to go in, as well as a basic layout. I also needed to gather as much reference for the objects I wanted to make to save me having to find things and waste time later on.

After that, the process was very much a straightforward one for me and not any different to building any environment I’d made previously. First, I built and textured the barn structure before populating it with assets. Next, I made the tractor. Afterwards, I moved onto the exterior – this was originally intended to only be viewable through the windows and gaps in the barn, but I had enough time to make it fully playable as well. Once all of the assets and things were done, it was a simple case of adding the lighting and implementing the technical elements, such as the ladder and interactive object system.

 Overall, I am happy with my final project outcome and believe that I was able to not only meet my goals, but exceed them. My finished project is a fully playable exterior and interior, with interactivity, sound, and menu systems - it also meets and exceeds the minimum fps goal of 30fps when running on lab computers.

 In terms of what went well with the project, a big part came down to being able to stay organised and on schedule the whole way through. I managed to stay on track with my schedule, and exceed it towards the end of project which allowed me to make more than I’d set out to do initially, ensuring I met all my goals completely and that my work was polished to a good level.
I feel my level is impressive and I am pleased with the atmosphere and narrative I was able to convey with my environment and lighting, as well as the amount of detail I was able to add to every aspect of the interior.
The hand-painted style I chose to use turned out to be very successful overall, and – when combined with the limited colour palate - also added well to the feel of the project.
I’m also personally proud of the interactive object system I built, as it is the most elaborate Blueprint system I’ve built from scratch.

 Regarding things that didn’t go so well with my project, I believe I was lucky enough to not suffer any major disasters and not have to cut any planned work out. The most annoying problems I encountered were bugs produced as a result of having to use an inferior engine version of UE4 (4.8.3), such as the “maps need lighting rebuilt” error caused randomly by using the foliage tool. This bug in particular really slowed down my work flow and cost me a quite a few days of work, minimum, as I had to keep basically remaking my lighting from scratch each time. Luckily, I had already planned a week for lighting so despite it slowing me down, it didn’t compromise my schedule at all.

 There are a number of areas I believe I could improve for my project. The area I am least happy with, broadly speaking, is the exterior. I personally feel the exterior lacks the same level of detail as the interior, which makes sense and perhaps isn’t even a problem – it does mean the exterior and interior contrast more.
Next, I’m not very pleased with how the trees turned out – I’m not exactly sure what would make them better but perhaps the addition of a few more smaller branches would have helped.
Lastly, I wish I’d had more time before hand-in to improve the menu/UI system, although this isn’t important at all as I didn’t even originally plan to make menus. Improvements for this would include adding slight animation, more quality settings (e.g. shadow and texture quality), allowing key bindings to be changed, and most importantly making sure the menus are automatically centred to the middle of the screen.

To conclude, I believe my final major project was undoubtable a success. I feel I improved significantly since style matrix and learnt a lot, deepening my knowledge of UE4 especially. I met and exceeded my project goals, as well as keeping to my schedule, and am extremely happy with the amount and quality of work I was able to produce over the past 20 weeks. 

FMP Week 20 - I finished

23/05/16 - 27/05/16

I built lighting on production and packaged the game ready for hand in this week. I also tested the frame rate a little. I played my level on standalone mode on epic settings, using an Alienware computer in labs. Running the game as a packaged version will either be the same or faster.

The level seems to run between 40-50fps, peaking just above 60 at some points.

Here are some pretty screenshots of my level to bulk out this post more:

Tuesday, 24 May 2016

FMP Week 19 - Adding Menus and Sound

16/05/16 - 20/05/16

This week I added menus and sound - amazing!

The main menu looks like this:

Here you can change the quality settings:

This displays the controls, but you can't change the key bindings:

I added a credits page for the sounds I used:

Annnnd the ingame pause menu looks like this:

The main menu graph is pretty straightforward, mostly.

When the main menu is constructed, full screen is toggled on. Unfortunately, there doesn't seem to be a simple command to set the game to full screen and keep it there without also specifying the resolution, so if the player were to exit the game back to the main menu it would toggle full screen again, making it windowed. To solve this, after the game is toggled to full screen the first time, the max  screen res values are set and stored.

Using those values, we construct a string to use as a command to set the game to full screen with max res.

Everything else is mostly just setting things visible or invisible.

The settings menu uses console commands to change the quality settings.

In order for the menu to work properly with a gamepad, we need to do a few things. Firstly, we make this:

What this does it change the colour of any button that being focused on, making it easy to see which options are being selected without using a mouse.

Next, we need to set the focus on different buttons, depending on what menus are open. Setting the focus looks like this:

These notes are added whenever we need to open a new set of menus and stuff. The delay is used as a work around for a bug in 4.8 so focus can actually be set.