Weekly Devlog 5 : Polish and UI


WELCOME TO WEEKLY DEVLOG OF EXILE'S ADVENTURE. 

It’s the fifth episode of this series and the first thing i would introduce to you is POLISH AND UI

Why did I choose this for implementing?

As of the latest build, Exile's Adventure is almost playable although some features are still missing. Therefore, this week, I spend more time on UI development than just developing gameplay like before, specifically the dialogue system along with the quest system have been added ( also have a prototype of crafting system )

How was this created ?

Since there are quite a few new features added this week, I will introduce them one by one.  

Note 1  : All the stuffs have been added this week is difficult to explain in this section so I won't go into too much detail. If you are interested, leave a comment so I can explain in more detail there.

Note 2 : All the stuff this week were created by using spriresheet of ermizidis.stan from OpenGameArt.org. This is super wonderful UI sprite and you can find it here: https://opengameart.org/content/simple-rpg-gui 

UI sprite sheet 

First, let's talk about the dialogue system. The first thing I did was create a dialogue box. It was so easy since the spritesheet offers me many things that can combine to make a good ones so I don't spend a lot of time here and then I ending up with something like this.

Dialogue box

After finishing the dialogue box, I moved on to coding some scripts to make it work. Having said that, the dialogue system is really a complicated thing, especially when I have to create dialogues with multiple choices for respond. At first, I had the idea that I would create a dialogue tree, which is very common in many other RPG games and can solve the problem of dialogue very easily. However, as soon as I started working on it, I realized the difficulty was very high, and it was absolutely not something I could do (at least for now) so I switched to a simpler idea: using arrays to generate corresponding conversations. This solution is really good, and it works exactly as i expected. Its only drawback is that the size of the conversation cannot be too large, because that can lead to a lot of errors in the subsequent dialogue. However, this is not too much of a problem for Exile's Adventure, because the game also doesn't need too much dialogue between characters. Therefore, I end up with using this solution as the main dialogue system of my game. If you want to see how it works in the game then please go to the next section.

Let's turn to the quest system. For the quest system, I had to create 2 things first, a quest box and a list of accepted quests. And just like the dialogue, I still used the spritesheet above to create consistency in the visuals. They will look like this in the game.

Quest system

After that, after that, I moved on the coding part again. Coding the quest system is much easier than the dialogue ones.  For the best explanation, I've assigned each NPC a separate quest. They will automatically get information from the assigned quest to put the information into the quest box (everything needed like the key, the name of the quest, and the quest's information) so that when the user play close to it, a quest box will appear for the player to accept or deny. When the player makes his choice, the quest box will automatically disappear and it will be up to the player's choice to decide whether it will reappear or not. If the player chooses to agree, all quest information will be transferred from the quest box to the quest list and the quest box for that quest will not appear again to avoid duplication. If the player chooses to deny, the player can return to that NPC to receive that quest at any time later. I will provide a gif to show how it works in the next section.

How does this work ? 

There will not be too much to say here because their operation is already obvious and familiar to most people who have played the genre. Both the dialogue system and the quest system are NPC-based, i.e when you get close to a certain NPC, if that NPC has a quest or a conversation for you, the corresponding box will appear. and you won't be able to move until the talk is over or you've made a choice.  I think that's all I need to say so I'll show you how it works in game with the gifs below. ( include a prototype crafting system )


Dialogue system

Quest system

Prototype crafting system

Feedback and Improvement 

In the tutorial time of KIT109 of UTAS, i had received a feedback about the polish and UI through some testers, who are my classmates  : 

Andrew : " Crafting is good, bit confusing as to what you're crafting, but the distinction is alright, but maybe you want to overlay the UI with something else to show a workbench in the background like minecraft's system . The dialogue is good but always walking into the blacksmith to accidentally trigger his lines is a bit annoying, but I know he won't be in that spot. "

I agree with him that the visuals of the crafting system are still not really clear right now, you won't know which 2 items you are combining.  However, the crafting system is still in development, so I will definitely improve that in the near future. Regarding the dialogue, what he said is true. It will be very annoying if player have to talk with the NPC each time they are near, so maybe I will add something like a button  so only when the player press that, the dialog will appear.

Coming to improvement part of this week, one thing I immediately realized is  now the quest system still doesn't have any rewards. I am thinking of creating a new room with random items in the floor so that when the player finds the key and returns the quest, they will be teleported to this room to get more new items for themselves. All of them will be completed by me as soon as possible, because the submission deadline for this project is coming very close (about 2 weeks away). There will be a devlog summarizing what I've improved at that time so stay tuned for it.

Files

Build v0.5.zip Play in browser
May 11, 2021

Get Exile's Adventure

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.