Dev Log #4: NPCs, Dragons, Audio, Effects and Demo!
NPCs:
As I mentioned in a previous dev log, I added a base for both NPCs and a sample dialogue system. I continued forward with making my NPCs using the already built-in character customization. So far, I settled with the main NPCs of the game, which consist of the Blacksmith, who will give the player their weapon; The Alchemist, who will provide the player health potions when they need them; the Townleader, who helps push the story forward; and started to add in some of the next major characters of the game. As much as I would like to add more customization for the NPCs, I am running out of time and need to scrap that idea.
AI and Dragons:
With the main conflict of the game being about dragons, my game surely had a lack of them. As such, I started working on the first one. In Unreal, they use a system called behavior trees to guide AI logic. I haven't worked with these much before, so once again, there was a learning curve. I knew I had to keep it simple to start; the dragon has 3 states. In each state, the dragon can make different actions. Each action is guided by information passed to the behavior tree. The system currently is very simple but it works. Because of this, the fight is very easy and not much of a challenge. While I do have plans to add more difficulty, I don't have plans on reworking the entire AI. For the next 3 dragons, I have plans on making their fights more engaging. But for now, the game has at least something to fight.
Audio:
Audio is another topic that I have never attempted in my time with game development. Regardless, I knew I needed to start thinking about audio. Unreal 5 came out with MetaSounds, because the system is the new thing on the block I thought it would be best to learn how the new system worked. I spent some time in the Lyra Shooter Game to guide my learning. After that, I decided to start work on implementing my sounds. I split the audio of the game into 3 distinct categories:
- Music
- Ambience
- Sound Effects
Music: I found an RPG pack here on itch that somewhat fit the overall vibe of the game. I split the tracks into ambient, combat, and menu music. In Unreal, I created a system that would handle music; when the player would enter a fight, the music would fade out into combat and vice versa. The menu music would obviously play some hand-picked tracks, but the ambient music randomly plays from a list of 8.
Ambience: This was one of the tougher things to implement. Having good ambient sounds can make or break immersion. The first thing I did was set up an ambient player like I did with the music. When the player leaves different zones of the map, different ambient sounds will play. I also added a spline for the river and ocean, where the audio player would follow the player as they walk parallel to the spline, making it seem like the audio is consistently coming from that source. Both the music and ambient audio systems feel rushed, and there are still changes to be made.
Sound Effects: Like the ambient audio, sound effects can make or break immersion. One of the first things I did was make dynamic audio for footsteps. Depending on the material of the ground, a different sound will play. I also added swinging sounds for the sword and other general sounds. The melee hit also is dynamic; when the player hits something that is made of flesh, you'll hear a different sound than the standard hit. I also added sound effects for the dragon. Audio is just one of those things that is hard for me to wrap my head around. Nothing sounds perfect for me, but I think I did well all things considered.
Effects:
Visual effects in Unreal are difficult. I haven't delved too much into it. I got some of the basics, but visual effects are just something I know I'll never get right. Unreal uses a "newer" system called Niagara. I haven't explored much of the tool. So for this project at least, I'll be strictly working with assets from the marketplace and working with those to fit them into the game. Most of the effects I added were for the dragon fight. UI: I spent some time reworking my UI and adding some style to it. There isn't much to say here other than UI is a pain to work with.
Demo:
The reason this dev log took so long is that I wanted to at least create a demo to release. I wanted to do so before Thanksgiving. Unfortunately, I had to rush a few things, and there are some features missing that should be in the demo. But for now, I have released what I have. So please check it out!
Final Thoughts:
This project is meant to be a portfolio piece. Nothing here is too complex, and the scope of the game is very small; this is intentional. I wanted to make something that could at least show myself off, and I wanted to do so in a relatively short amount of time. I'm proud of what I have accomplished in the past 50 days, but I know the job's not done. There is still a good portion left to do, and I am working hard on meeting my deadline of New Years. For now though, I'm moving on and taking what I have already built and expanding it to finish the game.
Files
Get The Dragons of Old
The Dragons of Old
Personal project in UE5
Status | In development |
Author | JGrob |
Genre | Adventure |
More posts
- Dev Log #3: Player Mechanics & World ChangesNov 03, 2023
- Dev Log #2: Characters and Player CustomizationOct 23, 2023
- Dev Log #1: Initial Creation and LandscapesOct 12, 2023