Finished RPG single level


I’ve always wanted to build video games for a career, however, as a musician, it was always as a composer writing music for them. After having a hard time finding teams to work with, I decided to learn to program. After making it past the tank portion of the UE4 course, I decided to build a game to compose music for. I spent the last year working on my doctoral applications, in composition, which included building an RPG and writing the music for it. I had chronicled my progress in the FINISH it course (First Attempt at an RPG), as I was taking that course to try and keep motivated.

Almost everything was done in C++ with components, the exceptions are pretty much limited to the UI. At the time, I had not had any experience with tools like blackboard and ai perception so the AI were programmed just using the AI controller.

Here is the gameplay video I made complete with music.

Here is the link for the game demo. Controls are not listed in a game menu at the moment, however they are basic wasd movement with mouse click for attack and selecting. Equipping an item requires a click and dropping items requires a click and drag off the window into the world.

Known bugs:

  1. After the boss, there is a mine key. If another item is picked up after picking up the key, or another item is equipped after pickup up the key, for some reason the mine shaft door won’t open. If, however, you pick it up last, the door opens just fine.

  2. Sometimes the Innkeeper does not register the quest is completed, however, if you go into the shop screen and back to talking to the innkeeper as in my video, he will complete the quest.

I hope you enjoy!


Great Work! How did you make the dialogue with the inn keeper? Also C++?

Thanks, I’m glad you liked it! There wasn’t really a need to make the dialogue in C++, although you easily could. For me it was easier to look at the tree to know where each part fit in with BP. Basically, you make an int variable for the dialogue and for string variables (dialogue text, response 1, response 2, and response 3). Then set each text variable to be what you want for each part of the dialogue. For example: the introduction had dialogue set to 0. if (dialogue == 0) { dialogue text = Hello! }. Then you set the responses to change the dialogue. I did this on clicked in the UI BP. Basically, if the dialogue = 0, response 1 would set dialogue to 1, response would set it to 2, and response 3 to 3. Then, because response 3 for me was always a good bye, if dialogue was equal to 3, 6, 9, or 12, it went to the goodbye dialogue. This was the reason I chose just to use BP, its just stringing up a bunch of if statements lol.

1 Like

You have done an amazing work! Especially with the music,I like it.:+1:

1 Like

Thanks, I’m glad you liked the music!

Privacy & Terms