C++ Third-person survival game sample covering common gameplay and networking concepts for games in Unreal Engine 4.
This series focuses on the C++ game development aspect of Unreal Engine 4. The goal is to introduce a variety of concepts written in C++. The project will help you to get you more comfortable using C++ for your own projects by using practical examples instead of relying on just theory. You may even use this project as a kickstart for your own project instead of having to start from scratch.
It’s important to note that this series is not a step-by-step tutorial. Instead each two weeks a new section is published, with all source and assets and associated documentation to explain concepts and the “why” behind some of the code. You can leave questions & feedback on the official forum thread.
Last updated for (See GitHub ReadMe)
“The game is a third person survival game focusing on familiar mechanics from games in this genre.
You’ll have to find a weapon to defend yourself. Food and ammunition are spread throughout the level and so you are constantly on the search for resources. Enemies may be anywhere, making too much noise while scavenging to survive will attract attention. The environment will have interactive objects to help your defense. The game will support coop play with a buddy. Survive as many days/nights as possible.
You will end up with a basic third person game, fully networked and a small environment with interactive objects that you may use as a base for your own survival game.”
At this time the project is at Section 4 of 6. Here is a brief overview of what has been added with each section:
Section 1 – Character Setup
Sets up the third-person character movement with animation, object interaction, simple hunger system, all with networking support. (view docs)
Section 2 – Weapons, Death & Inventory
Adds weapon support for the character, a flashlight, UT-style inventory with on-character visual representation of the carried items and deals with damage, death and respawns for players. (view docs)
Section 3 – Zombie AI
AI “Zombie” enemy to our game using PawnSensing and Behavior Tree. (view docs)
Section 4 – Time of Day
A dynamic time of day, advanced player spawning and a basic game loop. (view docs)
Section 5 – Networking
Introduces the ability to carry around objects like barriers and introduces you to Unreal Engine 4 game networking. (view docs)
Section 6 – Polish & Review
The final section in the series focuses on bug fixing and a bit of polish to the existing features. This section is compatible with the 4.8 release. (view docs)