Here is the final demo video displaying our progress we made during the semester.
Magic is a major part of this game so I decided to do some experimentation with the UE4 cascade particle systems. Below awesome images of different spells that I was able to build by following tutorials and playing around with the particle tool.
Landscape and foliage is something I’ve been very excited about since the start of tis project. I’ve been very interested in building a world with trees and grasses and flowers and trying to emulate nature. Now originally we were going to come up with all the textures , materials and meshes ourselves but we ran across this pack called Landscape Auto Material that made the process much faster and easier. The pack allows the developer to drag and drop materials and textures and they programmatically modify terrain materials and textures. The pack also came with trees, bushes, and rocks to add some small details to the terrain. Below I will put some terrains we have been working on for our level.
We have finally incorporated one of the most important aspects to this game and that is base building. We considered building the whole system from scratch but decided against it when we came across a building pack for just $20. We purchased it and incorporated it into our project and it seems to be working great. It includes support for foundations, walls, doors, door frames, ceilings, and stairs.
It has built in functionality for rotation so that allows us to place the objects however we like. It also comes with resource usage functionality that makes it so that you use resources when you place new structures.
We have started to build the level by using the topology painting tool. We have discussed the best way to set up bounds to prevent having to make a procedural generated world and the best conclusion we came up with was creating an island to keep people inside the world bounds. We set out a large piece of land and have been painting landscapes, mountains, and hills to best emulate a fantasy island.
I have added functionality for a storage chest to allow players to store items from their inventory in the chest to use later. It is almost a replication of the Inventory bluprint but rather than linked to the main character it is linked to the object that represents the chest.
This is a key feature that is important in any type of game with inventory functionality.
I have implemented a system so that when you pick up an object or add anything to your inventory, a notification is displayed with the quantity, name and image of the item collected. This is all dynamic so this works for any item created and will display correctly in any situation.
There are parameters that let me modify the speed and animation of the notification to best fit my style and needs.
Below are a couple of the dozens of node trees I have created to implement a pick-up, inventory, and health system
Inventory functionality so far includes:
- Pick up object on collide
- Different types of items (consumable, quest, readable)
- Drag and drop items in inventory
- Drop single or multiple items
- Action menu on right click
- Use items on double click
- Non-stackable and stackable items
- Pick up item notification
- Split stack with shift + drag
- Combine stacks of similar item
- Open and close inventory with “I” key
- Close inventory with close box
- Health Bar
Unreal Engine allows you to create game mechanics in two primary ways, either c++ or Blueprint. For my project I will be using Blueprints, a powerful node based visual programming interface.Blueprints don not run quite as fast as straight c++ code but the difference is negligible. I have decided to use Blueprints because after having watched countless hours of tutorials on c++ I was unable to get a grasp on it. Also, there is a lot more documentation and community support for the Blueprint coding system making it easier to debug and learn.
Here is an explanation of Unreal’s Blueprint visual programming:
Here is the youtube tutorial I am following to get started with Unreal Engine and my video game.
I am following this tutorial because I feel like it will give me a broad range of skills within Unreal Engine that I will then later be able to use to implement new game functionality.