Unreal Engine can be absolutely daunting at times. Each update brings with it a whole collection of new and improved features that all work beautifully together. The team obviously do a fantastic job.
I can’t begin to imagine what it must be like being on the Quality Assurance (QA) team for Unreal Engine. According to the QA team at my day job, the size of our system is difficult enough to keep up with, but looking at the release notes for version 4.15 of Unreal Engine would probably make them cry. It’s simply terrifying. Granted, they’ll have a huge number of engineers and QA working on it, but that doesn’t make it any less impressive.
About 99% of the stuff in the most recent update, version 4.15, means absolutely nothing to me at the moment, but I’m looking forward to changing that. 1 step at a time is the way forward. As a code based software developer at heart, I’m particularly interested in the compile time optimisation improvements they’ve mentioned. I think I’ll start there.
You can check out the full release notes yourself on their blog to see what I mean.
One of the key features of my game will be making use of light to survive in the world. There will be times when the flash light on the gun is required, but there will be other times when it will be best to turn it off. Also, at a later stage I intend to introduce a battery concept for the flashlight, and it will be required to turn it off to save battery power.
For now, I just want the ability to turn the flashlight on or off. To do this I am taking advantage of the Toggle Visibility function in Unreal Blueprints. My flash light is simply a Spot Light component on my weapon. To be able to toggle the flashlight from the my Character blueprint, I need to create a custom event in my weapon blueprint. This event simply fires Toggle Visibility on the flashlight component.
To use this from my character blueprint requires me to call this event on the Weapon component based on some user input. Firstly I need to set up some user input in the project settings from the Edit > Project Settings main menu bar in Unreal Engine. Then select the Input section and add a new Action Mapping. I called the Action Mapping FlashLight, and added the “F” key on the keyboard as a trigger.
Finally, in the Character Blueprint, I had to call my custom event when the input was fired, using the following blueprint:
All done. Now, whenever the player hits the “F” key on the keyboard, the flash light will toggle on and off. Next step is to add a battery, and that will be the focus of my next post.
I’ve always loved computer games, and been fascinated at how they are created. It was probably one of the main things that sparked my interest in computers. As time went on, I drifted away from games and more generically into software development, and by the time I reached university, the idea of become a games developer had slipped away from me. Then I graduated and started work as a software developer and I have loved pretty much every moment of it for the past 12 years.
However, I have found myself wanting to tinker with making some games projects more and more recently, so decided to take a stab at using Unreal Engine. My plan is to work with a good balance of Blueprints and C++. I’m a little limited in my C++ experience at the moment, but I’ve spent almost a decade writing code in C# so I’m not overly concerned about picking it up at a reasonable pace.
After some general playing around and reading some of the documentation, I set out to make my first actual “game”. I’ve decided to take a stab at making a twin stick shooter style game, and the friendly chaps at Epic even had a starter tutorial to get me going. I’ve worked through the tutorial, tweaking some things as I went to suit my needs (such as making it full night time and giving my character a flash light and adding mouse look support) and I’m pretty pleased with the outcome. It’s a great video series, easy to follow and helped me make sense of a good chunk of things that would have taken a lot longer if I was just tinkering on my own.
My next step is to play around with artificial intelligence (AI) behaviour trees for the bad guys so I can develop the map from the basic square arena created in the tutorial.