I started my 3D journey with Godot and was thoroughly impressed. I even created a simple proof of concept using Godot. However, I ultimately decided to switch to Unreal Engine. This post is about what I managed to build with Unreal Engine, in a very short period of time. Yes, I rely on several assets that I bought but nevertheless, it should still give you an idea of just how powerful Unreal Engine is, and hopefully, how easy it is as well.
If you stick around, you'll find out how I made this:
If you don't want to read about how I got there, you can grab the demo right now and try it out for yourself!
Download Demo Now - 4.3 Gb
Currently there is only a Windows Version available. If you would like to try it out on another platform, leave a comment below and I'll see if I can make it happen! In the meantime, give it a bash on Windows!
So what am I building?
The concept isn't unique but the general idea was to build a large open world where the character has crash landed their spaceship and is meant to find a way to survive and get off the planet. If you think that sounds like something you've heard of before, then you are correct. There are several top-notch games with the exact same storyline. Here are the first three that come to mind:
- Osiris: New Dawn (it has gotten bad reviews as of late, and I don't know why, because the game looks amazing)
- Stranded: Alien Dawn
I'm not quite sure if I'll ever build something as impressive as those but let's dive into what I've got so far...
I initially spent a lot of time shaping the world and just finding my way around Unreal. This tutorial taught me 75% of what I know at the moment. It is 8 hours long but I highly recommend it if you want a crash course in Unreal. By the end of it, you will likely be able to build a world like I did in the screenshot above. In fact, to truly understand the magnitude of the initial screenshot and the world that was built, perhaps this screenshot will give you some perspective:
The red block is the only part you currently see in the game. And getting from one side to the other is not quick. And keeping in mind, you are only seeing about 25% of the entire map in this screenshot, it should be abundantly clear that there really is a lot of space to add new things.
If you look at the first screenshot in detail, you'll notice that there is in fact, quite a bit of detail and things going on. To mention a few:
- A spaceship that has crashed with fire effects.
- Flowing water with sound effects if you run through it.
- A variety of trees and other flora.
- A big alien monster in the distance.
- A mountainous backdrop.
- A parachute dropping your stash of ammo and guns.
- A character that you can control and use to explore the world.
Dare I say, these form the basics of a simple open world map! But that's not all. Let's look at what else the game can do...
Making a Character for a Third Person Shooter
I initially wanted to use a specific character and even went so far as to implement the character:
The character was meant to have a robotic buddy that would help him with various things in his efforts to survive the planet.
After implementing these characters and starting to look at weapons and movement etc, I quickly realized that configuring them can be very tricky if you defer from the default behavior that Unreal Engine provides. That is why I looked at several Third Person Shooter kits and ultimately settled on this one.
This meant starting over, sort of. I had to create a new project based on the Shooter Kit and then import what I did before into this new project. Luckily it wasn't too difficult but it means I still have to swop out the base model with my cool space suit model at a later stage. So currently I'm still stuck with this guy:
However, this guy can do many great things. Unfortunately, not due to any skills of my own. The Third Person Shooter Kit I purchased gave me a lot out of the box:
- Melee weapons system
- Melee AI combat behavior
- Melee attacks system
- Enemy presets - civilian, knife stabber, suicider, shotgunner, melee
- AI spawner
- Buddy AI behavior
- Cover system
- Human AI (hostile and friendly)
- First person aiming
- Advanced weapon system
- Impact system
- Surveillance camera
- Hit reaction system
- Stationary and flying turrets
- Items system
- A fantastic Discord channel where you can get super fast support, see what others are building with the Kit and get even more support from the rest of the community.
- And many many many more features. (Seriously!)
I mean, just the "Buddy AI Behavior" feature would take several weeks, if not months, to create. So honestly, money well spent in my opinion. However, depending on what type of game you are making, there might be other kits that fit your idea better. For example, if you are specifically building a Survival Game, then this might be a better fit.
If there is anything you take away from this post, let it be this: buying a starter kit will save you months if not years of time, and will provide you with something to learn from. There is no better way to learn something than by having a really good example in front of you. This kit offers exactly that. And if it is not quite what you want, I highly recommend looking for other options on the Unreal Marketplace and using that as a starting point.
I see these kits the same way I see things like Bootstrap or even Laravel. It acts as a framework that stops you from reinventing the wheel. Unless you are a game studio with big bucks, you are unlikely to have more success than working with professional code that hundreds of others are also vetting every day.
The kit I am using isn't ideal for things like monsters or aliens. It's great for Zombies and has lots of preset for Zombie AI. I, however, wanted a world where there are a variety of different aliens, some friendly, most not.
I have not gotten around to that at all. For now, there is very minimal "human" NPCs that you can shoot and kill but it doesn't quite fit in with my what I want to build.
I was hoping that somehow there is a loophole that will allow me to add the music from the movie Interstellar. Unfortunately, that would be copyright infringement and therefore I have looked at other ways of adding music.
I haven't added it yet, but I think I found the perfect song on Audio Jungle. I'll update this post once I've incorporated it!
Final Thoughts on Unreal Engine
If you are new to Unreal Engine, please keep this in mind:
- Building a large world is the easy part. In fact, for me, it's the best part. I can sit for hours and just populate and tweak a world. It's honestly a lot of fun!
- Unlike Godot, where I had a very difficult time to get basic controllers working, with Unreal Engine this is essentially built-in. So, creating a character and getting them to move around is only a few clicks and you are good to go.
- If you intend to get into Unreal Engine, it will probably be a good idea to learn 3D Modelling and therefore Blender. Even if you won't be creating your own models, you will have to learn how to work with whichever models you choose to use. Learning 3D Modelling or even just how to work with existing models can be very frustrating.
- Adding multiplayer capabilities is another ballgame altogether and not something I'd easily get involved with unless there is a huge team to back me. I mean, Fortnite, for example, has a highly customized multiplayer layer that they need to be able to do what they do. Even with all of Unreal Engine's amazing features, Multiplayer will probably remain difficult for a long time. Especially if you want to fight off cheaters, which is another can of worms altogether.