The Discworld
Vladyslav Kupriienko, Stanislav Bondarenko, Mahir Gulzar
The project is implemented with Unreal Engine 4
Final build: https://drive.google.com/open?id=13Q6_KoF1ltgUUK_4n8STjCb2Yhsi8239
NB! During the gameplay Press 'R' to reset and 'Q' to quit the game.. Enjoy!
Link to the project: https://github.com/MahirGulzar/CG_Project_Fall_2018
It's the first time for all of us to use Unreal Engine. So some time was spent to actually learn what is UE4, what is there and how to create stuff in it.
Vision of the game: Classic RPG with spells and basic combat system (melee weapons), where you should complete some quests. Quest means that player should find some artifacts/items, speak to someone, go somewhere, kill mobs, etc. The game will have some enemies to fight, some NPCs (non player characters) to take tasks from them.
Initial progress
- learning basic UE4 stuff - Editor layout, Level creation and Blueprints
- switching between first and third person view
- adding Main menu with Play, Options and Exit buttons
- spell prototype (fireball with explosion effect and sound)
Coach Meeting Summary
We shared our progress and discussed some of the issues which we faced with Jaanus
Progress
- Basic NPC system with interaction
- Basic interaction dialogues
- Player character setup for 3rd person and 1st person
- Level terrain.
Problems pointed out
- UI has click through problem in main menu.
- Suggestions to work with NPC (Enemy) and player damage system.
- Suggestions to work with behaviour tree.
- Suggestions for level design.
- Suggestions to Stanislav to do extra efforts.
Final Description
To launch the project, you need Unreal Engine (for now). Later milestones will include stand-alone versions of the game. Launching the project with UE4 is as simple as cloning the repo and launching the .uproject file inside it.
NPCs
We have NPCs that wander around and speak when you interact with them. They are also an essential part of the questing system (WIP).
Player
Our protagonist is a barbarian-like ragged warrior, that can also create fire with his bare hands! He wields a mighty glowing sword, which he uses to chop down his enemies to pieces.
Even though the player is built on top of standard ThirdPersonCharacter, our game provides first-person view as well! You can change it with a mouse wheel. First-person mode also has a crosshair to help aim the fireballs.
*Record Scratch* *Freeze Frame* Yup, that's me. You're probably wondering how I ended up in this situation…
The fireball (RMB) takes more time to cast (around 2 seconds), but deals more damage and can be used from far away. Sword slashes are quick but not that deadly though. Player's current health is displayed in the lower left corner of the screen.
Enemies
You are already familiar from the Dire Bear from the last picture. His favorite thing is to chase down and eat "brave" little adventurers like you. There is also a goblin, who lurks around and is looking for easy prey. Don't become one...
Enemies use Unreal Engine's Behavior Trees and Perception. They wander around until they see a player. When they do, they start chasing him trying to hit.
Don't judge the book by its cover. This guy is hell of a runner
Damage system
Well, now that you're acquainted with your arsenal, time to put it to use! Both player and enemies can take and deal damage. The amount depends on weapon/enemy type. This was implemented with the Unreal Engine built-in damage system. Enemy's health is displayed on health bar over its head.
Controls
- Mouse wheel Up - third-person view
- Mouse wheel Down - first-person view
- Left mouse button - Melee sword attack
- Right mouse button - cast a Fireball
- E - interact (with NPCs and signs)
Combat & Damage System (Demo video)
Conclusions
Instead of working with a tool which one of us was already experienced with (Unity) we preferred something new to learn. We learned quite a lot of stuff: Blueprints, animations related stuff (blend spaces, animation state machine, animation blueprints), behavior trees and blackboard, terrains, -- in short, the whole pipeline of setting up a basic TPS or FPS game. Although we still lack a lot of stuff in our project, we believe that the results which we have achieved are pleasant enough.
Things that we could have done better or added include level design, quests and game story, working menus, UI dialogues and interaction with environment (with NPCs or objects).
Personally, I plan on working further on this project, possibly with some friends that are eager to learn UE4 too. - Vlad
Contributions
Mahir Gulzar - main menu, enemies & NPCs, behavior trees, level design, interaction dialogues
Vlad Kupriienko - fireball spell, protagonist animation blueprints, player damage system, UI widgets, interaction dialogues
References and assets
- As a reference project and the source of some assets (menu, fire effects and particles, protagonist's sword) we used the Action RPG
- Goblin model and animations are taken from Mixamo Animation Pack
https://www.unrealengine.com/marketplace/mixamo-animation-pack
- Bear was taken from Infinity Blade: Adversaries pack
https://www.unrealengine.com/marketplace/infinity-blade-enemies
- Protagonist is from Infinity Blade: Warriors pack
https://www.unrealengine.com/marketplace/content/4f493fb65fbf4558ae330d1cc69b24a7