I just wanted to give this quick update in the event that anyone does not follow me on Twitter. I’ll recap the last 2 weeks or so and give a little more info on what’s going on, since I’m not limited to a word count!
I’ve been trying to participate in the weekly #ScreenshotSaturday hashtag for Unreal Engine projects, as Saturday / Sunday is where I get to do most of my work.
The first of my posts about a week ago was related to the issue with the HUD, as I seemed to have an issue with the weapons not fully reloading onto the player and UI during game save / load. These were fixed fairly easily.
I don’t think the Wardens office has been shown before. Although it is mainly stock assets at the moment, I hope you enjoy the little preview. I’m still unsure how to take a lot of these areas to the next level. I don’t want to spend all of my time polishing individual rooms and I also need to start making some modular pieces for the maps too – which is easier to do when you can start to spot patterns in the existing source maps.
As an example – If you hadn’t noticed, all the ‘Security Checkpoints’ in Underhell seem to be roughly the same, but there are some that are on slightly different angles than others and some slightly larger than others. This is because the Source engine used brushes for all the models. It’s most likely that the build of Source engine used for Underhell did not support level instancing either, so it would have been very tricky to maintain all areas which contained these rooms without having some deviation. Now that I am working in UE4, I can simply make all the pieces from meshes and fit them together.
This is what I need to use for the time being to help build out levels, iron out any issues and make some variations on them so that I can use these block meshes as a base for me (or someone else) to go in, detail it a bit more and create some textures that can apply across the surfaces. You could even use Blueprint (UE4 visual scripting language) to allow you to simply place down an object, say ‘BP_SecurityOffice’ and have a bunch of options available to you. These options will pre-configure the room for you. This would allow you to drop down one of these rooms and instantly configure the amount of windows, doors, signs etc. This is where someone could have a lot of fun with making these types of things very easy and designer friendly so that more and more areas can be created quickly. Of course, this is just an idea at the moment.
Next up was a screenshot I shared of the Offices area from one of the later maps. I created this area a long time ago because I needed to ensure that all the areas from level 0 upwards will fit the level layout, meaning that all doors to the core will actually lead to one another. I wasn’t able to use it for a long time because I had issues with the level loading system that I had implemented. If I attempted to unload a level which contained NPC’s – the game was crashing and I struggled to find the bug for a long time, until now! I had worked around it so far by just never unloading a level that contained NPCs – but obviously you can’t do this forever! I was so excited to get this bug fixed because it opened up a whole lot more opportunity!
The next Screenshot Saturday update came yesterday
I continued to fix issues with the loading and unloading system, the biggest issue was that I was stumped for a long time as to why the game never continued to load / unload levels….the answer was so SIMPLE!
Basically, I had PAUSED the entire game (as you would expect from a PAUSE MENU) and then I was telling the game to start unloading the current scene and then go back to the title screen I was baffled to see that nothing was happening….
The problem was so simple, THE GAME WAS PAUSED – THEREFORE THE LOADING WAS ALSO PAUSED.
Oh dear, I felt like an idiot when I realised that! Oh well, lesson learned!
I have continued to work on the level loading/unloading system as I need to ensure that it is capable of many different loading types. I’ve tried to drive a lot of the logic with data, this means that I can easily change the loading behaviour, loading screen etc to fit. I’ve also done away with a lot of nasty hardcoded Level arrays in the process, bringing everything together in a neat and tidy ‘Transition’ table. This stuff just makes me happy. I know it sounds boring but seriously it’s great stuff.
So this has basically been my last 2 weeks, lots of saving, loading, unloading. I’m pleased with how it’s turned out as It fills me with greater confidence that I’m building something stable and reliable. I keep mentioning a lot about how ‘it feels more like a game’ and this is true.
My background is software / tools development, I have created many things to do a specific task. It always takes the same route and the end result is the same. The project started out feeling…hmm how can I say it best…almost like a set of commands. You Start here – you go here – this will happen and then the demo will end. This caught me out a lot in the beginning because everything felt ‘chained’ together and it quickly became a problem. Game development has expanded my horizon and helped me to see how everything does not have to be a set list of instructions to carry out. This has been an evolving process over my journey but this is why I feel so much more confident about the game more recently. It’s much more flexible, reactive and capable of returning, saving and loading at various states. I’m not sure if this is making much sense to anyone…oh well. These kind of lessons have to be learnt I guess.
I will be working on adding more of these improvements in the demo and continuing to iron out all the nasty bugs. They will be done as quickly as I can get to them, I don’t want to see this demo pushed back any further but unfortunately life & work has left me with very little free time these days. I’ll keep trying my best.
Thank you all and be excellent to each other.