Category Archives: Dev Log – Gameplay

Working on GUI, Loot, sound effects and a Loincloth

This week I worked on the GUI and loot, I made an inventory screen with a rudimentary paper doll of the character to figure out how this would handle. I also wanted to be able to find items in the game world and move them from and to the inventory.

Talking to one of my NPCs

I decided I wanted to make all items take up one square both for simplicity, but also because playing the “move and rotate to fit all items” game was not interesting to me. I don’t want to waste time trying to figure out how many items I can carry via a grid placement puzzle.

Making an ARPG is already complicated, why complicate things I have no interest in, right?

Moving objects from a chest to the inventory

I adjusted my paper doll slots a bit as well

Well..

I was already using two Canvases in Unity to handle the GUI in one (Overlay mode) and Hit point display, mob/NPC name display with the other (World Space Canvas), so I wanted items to be in the 3d world, but I really didn’t have an interest in scattering everything on the ground regardless of the item. So I decided to make a 3D UI element that would carry the items found in a chest or corpse for example. Now all I had to do was to use my inventory code to move things around, right?

Well no, you have to be able to Raycast on both Canvases, sort through the results and have shared space for the object if you want this to be seamless and not having to create/destroy objects all the time. I made it work, you can seamlessly move items from one type of a container to another and it’s smooth and works regardless of resolution.

So my script handles raycasting on both Canvases, sorting through the results using Lists, recognizing the item type (using Tags) and what to do with it based on that.

I added a model for the Portals, I got this off the Asset Store along with a few others which you can find here: Elements of the Environment

Going through a portal

I also added sounds for the portal and item pick-up and placement, as well as the chest and such. They are all currently placeholders, but the game becomes 50% more satisfying.

This all led me to update the Quest log window a bit as well as the main UI bar.

Sweet GUI updates on the Quest log

Then I decided to make my main character match my Script more, removed the clothing and left him with a loincloth, which I also reflected in the paper-doll.
Finally I made the loincloth into actual cloth in the game itself.

Loincloths

NPC: Scrolling dialog and audio

What do we see here:

As I mentioned this in the previous ‘Gameplay’ blog-post: I would be creating scrolling dialog triggered by clicking on a character’s name, as well as audio triggering for NPCs based on proximity. So that is what I implemented.

You setup a character by adding a name and a portrait which is automatically sent to the dialog box. You also setup ‘lines’ which are cycled when you go near the character.

What’s next?

I will be adding clicking on the NPC to trigger the same behavior, but also adding more options, like ‘Trade’, which will bring up the ‘Merchant’ and ‘Inventory’ windows.

Also loading dialogs from files and according to language to be ready for ‘localization’.

Working on area transitions, health and experience


What do we see here:

I have created items that when entered you are transported to another location on the map. You set a spawn target location and the name of the target location and the system takes care of the rest.

I also added some experience levels, though I need to adjust it a bit. I will be adding effects and stat points, which will bring us to the skill tree.

Finally I added a health potion box, which you walk through to use, which will push me to move onto the inventory.

You can also probably see an NPC hanging out down and to the left of the starting location, he is also aware of you and I am working on dialog boxes and such.

What’s next?

As mentioned above a bunch of stuff, but also monsters, monster sounds, giblets and gore.

First Gameplay Test

What do we see here:
Click around to move, click on enemies to attack and deal damage. Enemies can attack you and deal damages as well.

What do we do now:
At this point I wanted a decoupled camera, so you could fly around, but in the next iteration I will make the camera follow you, as it seems less confusing and you need your other hand to use potions, abilities etc.

Isometric setup test, combining 2D background and 3D characters/items

What do we see here:
I had this idea that I could easily combine 2D background with 3D characters and still use Unity’s NavMesh and NavMesh Agent without issue. So I built a quick prototype in which I was not going to use tiles, but a background that is distorted in order to render correctly through an orthographic camera at a 45 degree angle.

I wanted it to match up with the 3D items not just approximately, but as exactly as possible.

I brought in my trusty Nazi guinea-pig, my trusty biped and checkers.

So you see that 2 squares on the checker are 1 meter in 3dsmax and the box on the ground is 1 meter in Unity, but the background although a 2D images is rendered at a 45 degree angle.

I figure with this system I can make RPGs or even Turn Based Strategy games like Commandos.