• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

My 3D game project, a bit similar to Tibia!

Paszq

Intermediate OT User
Joined
Feb 13, 2018
Messages
53
Reaction score
103
Hello everyone,

I am not sure if that's the right place to post it, but I've seen this topic and it seems everyone was OK with it :)

For the last 1.5 year I've been working on a little personal project, heavily inspired by games I liked and wanted to see them mixed. I called it Arpago.

Project's origins

You might have heard about a game called Tibia :) I've played it a lot for over 4 years starting in 2004, and reached over level 220 in 2008 which was a lot back then. I haven't played since 2009 so I base my experience on that time period. I really liked its world design, mysteries, risk, and overall atmosphere - the cities and hunting places were really nicely interconnected, and unless you googled (which wasn't as easy back then and could give 0 results), you never knew what was in the next hole you jumped into. I also hosted an OT around 2008 for a few months, with self-made map, and had about 30 players online (it wasn't a lot, but it wasn't the worst either back then). I spent many hours creating the map, quests, custom Lua scripts, and I can't even explain how much Remere's Map editor changed (you didn't have to manually build borders of pathways and coasts sprite by sprite, which was revolutionary for me and many others.)

Other major inspirations were Egoboo - a roguelike from early 2000s, which I used as a reference regarding combat dynamics, "kind-of" visual style, and perspective. Dungeon Siege - hack'n'slash / RPG from 2002 - it was my go-to inspiration regarding magic, class design, balance, as well as its dedicated huge multiplayer map was a good example of world design. Other mostly minor inspirations probably were Gothic 1 & 2 (settlement design, Khorinis is top class city) and Dark Souls games (trying to create a lot interconnectivity in the world, using a kind of savepoint system, still deciding on death penalty).

I am working on it in my free time, and have spent over 1500 hours on its development. I have fun doing it, I don't treat it like a second job and I take long breaks occassionally.

What it is

Ok, so to the main topic. The game is called Arpago, what is also the name of archipelago the game takes place in. It is action RPG-lite / dungeon crawler with semi-open world divided into zones. It is set in a cartoony fantasy world, features 3 playable races and 5 character classes (for now). It has working combat, inventory, spells, quests, map, NPCs, enemies, dialogue, interface, and rough local multiplayer, so the only things left to do regarding major features are finishing local multi and online support.

Videos

Fighting a Cyclops:


Woods and cemetery area gameplay:


Exploring town:


Gifs

Quest/dialogue system:

Arpago - NPC Quest System - Create, Discover and Share GIFs on Gfycat

Visiting post office:

Post office - Arpago - Create, Discover and Share GIFs on Gfycat

Armor sets up close:

New armor sets - Arpago - Create, Discover and Share GIFs on Gfycat

Farmlands view:

Farmlands view in Arpago - Create, Discover and Share GIFs on Gfycat

Mock-up of Annihilator Quest :D

Tried doing something familiar, while also checking the mechanics of AI


Disclaimer

Just in case - I've had an account here since at least 2007, but lost access to the email, so I made a new one today. I've got a Twitter and a Website with devblog, if linking these isn't allowed please let me know and I'll edit them out. If I made a thread in a wrong place, please move it - I thought it might interest people around the forums!

If you are interested in the project, please let me know! Any ideas, any criticism, any suggestions are welcome!
 
seems so nice in terms of game mechanics, i love that anihilator quest, good luck with project
 
seems so nice in terms of game mechanics, i love that anihilator quest, good luck with project

Thanks! A little confession - the idea behind mechanics has probably a lot of potential (I didn't invent anything particularly new), but the balance of it all still has to be tweaked heavily and I am working on it. Things like animations speed, the point of impact, the audiovisual "oomph" effect when fighting, particles, interface feedback, abilities' cooldowns and costs, their speed and length.... there are a LOT of things to consider and work out, but I will keep playing it myself until I feel that it's just right. It is easier for me, as I am basically making a game that I want to play.
 
I love it!

I love this kind of visual style. I would definitely play it
 
Awesome! Keep updating us here also.

Thank you! I definitely will post updates here as well. People here are always so friendly :D

Here's the progress I made today regarding splitscreen mode:


Still needs a lot of UI fixes, and I need to script separate controls for each player, but damn it went easier than I expected. I thought I'd spend a week figuring it out, but it took like 4 hours.

Also, finished animating, texturing, and scripting an all-time favourite enemy of every Rookgaard fan :D.... a RAT!
 
Really nice! Could you please share us some technical information? (I mean which language you used, if you are using some framework, etc)
 
Really nice! Could you please share us some technical information? (I mean which language you used, if you are using some framework, etc)

Thanks, sure!

I am using Unity 5.3 - it was the newest version when I started the project and I always encounter a ton of problems when migrating to a newer version. Regarding the language, I am using... UnityScript. I know it's not even supported in new versions, but I had prior experience with JavaScript and it seemed easier to me - especially that I started working with Unity around 2014, and JS use wasn't discouraged. Still - it works and that's the most important I guess.

Regarding 3rd party Unity assets that I am using - I already spend a lot of time learning stuff as I progress, so learning to code shaders seemed like too much to me (I tried though) - Shader Forge offers visual editing which makes me worry more about the logic than the notation. Vertex Painter Pro makes it possible to paint vertices in Unity (to make stuff like terrain with many textures blended, or change plane's height map)

I create all assets myself, except music and some sounds. I build 3D models and animate them in Blender, all 2D graphics (textures for the models, sprites for UI, particles) in Gimp, and all audio editing (the game still has just some basic sounds, need to fill the gaps) in Audacity.

The budget is currently around 70$, but it could easily be skipped and not much would be lost - the only things I spent money on were Shader Forge (40$), Vertex Painter Pro (20$), and web domain + hosting for devblog (less than 10$ for 2 years).
 
Not sure if posting right below last post is allowed or looked down upon in the forums - sorry in advance if that's the case.

Split-screen mode is 99% complete - I had to make major modifications to UI.

Stuff like health bars above enemies are actual gameworld objects, not typical interface elements:

VcL3S0X.png


So if we had 2 players in game, each had a different view, they would see the bar from another angle - it was unreadable. So I modified enemies components - instead of attached health bar, they only have a "mount point" for the bar, and when enemy is created (it happens when someone gets close to their spawn location), they detect how many players are in-game and spawn as many instances of health bar, each visible only through the camera of 1 player.

Another issue was interface, which had also to be dynamic and change itself when more players join the game. I created "empty" points of reference in the UI, which checks at the start of the game the number of players and moves stuff towards their reference accordingly. That one I will admit is very hacky and I am not sure if there will be need for more than 2 local players... I sure would love to, but who plays such games with more than 1 other person locally? It still is an option and wouldn't take long to implement, but for now I skip it - 2 local players support is the target for that moment.

These 2 paragraphs above are something that I planned to spend easily over a week on.... and I got it done in 3 days, like 10 hours total. For the first time I made something that just seems to work without killing my braincells for days.

Also, the enemy AI needs to take into the account multiple player and players' summons entities, which wasn't a simple thing. Fortunately, I planned multiplayer for a long time, so while coding the AI, I implemented special aggro mechanics, which work amazingly well! This is a very interesting topic for me, and I am really proud of it - I am probably going to write a short article which will consist of more details, but for now:

Each enemy has 4 states: "chase", "wander", "runaway", "dead". The default one is "wander" - it means that the monster will keep walking around the spawnpoint, pausing here and there. State "chase" means that it goes after a player. State "runaway" is what "chase" changes into, if the monster is below set amount of health - it is configured on per-monster basis and can be added effect of randomness (ex. if health < 20%, then it has a 10% chance to trigger "runaway" every 0.5 second). And I guess "dead" is pretty clear :)

While enemy is chasing, it has 2 lists of attackers, and 3 values for every attacker. List 1 is "Targets seen" which has list of all targets the enemy can see right at this moment. List 2 is "Targets remembered", which consists of every target the monster has seen or was damaged by, and hasn't forgotten yet. To the values...
1. Aggro points - every player gets 100 aggro points for every 1 second they stay in enemy's field of view - maximum is 500 and 50 is lost every second outside of field of view. So after being seen for 2 seconds, you need to stay hidden for 4 to be forgotten. 10 points is added to an attacker's balance for each attack regardless of damage.
2. Mad points - they are added to attacker's balance when they attack - the formula for Mad Points added = 1000 * damageTotal / (attacker's level)^2 ...the point of that is that if 2 players are attacking a strong enemy, while one player is level 10 and the other is level 30, the enemy is more likely to chase the weaker guy if they deal similar damage. It might be worth the experience, but it will make hunting dangerous stuff with a strong friend much riskier. The maximum balance is 1000, and 20 points are lost per second. And Mad Points are maximized almost instantly for player/summon if he blocks the way to the target.
3. Focus points - it's a sum of Aggro Points and Mad Points. It's used to decide who the creature should focus, and that's it.

Here's a part of configuration of enemy-specific information regarding the AI:
QhV6ie7.png


Alright, I know that might not have been too interesting to everyone, so here is a new gameplay video from the co-op part. I had to play alone using Keyboard/Mouse for player on the left, and Gamepad for the right guy. If someone can't or doesn't want to watch 7 minutes of video - a ranger and a warrior walk around the woods, kill some Scorpions and Skeletons on the mountain, the ranger finds a chest with a super cool magic hat in it, equips it, they explore further, kill some very randomly placed Ghoul, Rat, Dragonfly, Zombie, some Wolves and few other things... and finally they encounter a Cyclops - a much stronger creature for players around level 30. They fight, and the bravest warrior who thought that his face is a shield runs out of Health Potions and dies. The ranger finishes the job killing the beast!


Thanks!
 
Will there be modifications later to keep the classic "Hi ... Trade..." NPC/player interaction?

I feel like this won't feel the same way as Tibia, ie:
- Rope/Shovel
- instant-word-spells & runes
etc...

Hoping you would implement most/all the systems tibia has.
 
Looks awesome

Thanks!

Will there be modifications later to keep the classic "Hi ... Trade..." NPC/player interaction?

I feel like this won't feel the same way as Tibia, ie:
- Rope/Shovel
- instant-word-spells & runes
etc...

Hoping you would implement most/all the systems tibia has.

Hey, thanks for suggestions! It's not my intention to recreate classic Tibia - I am just reimagining some of the ideas I really liked (some of them originate from Tibia) with different graphics and more modern and rather action-oriented approach. I guess we can all agree that Tibia's combat wasn't the most dynamic thing even back in the day - you just walked in circles around a spawn while having a monster targeted or casting one spell over and over.

Conversations with NPCs will be based on system similar to classic CRPG games - you've got a list of possible dialogue choices and you choose from them. As much as I liked it in Tibia, in case of my project it wouldn't bring anything really valuable to the game, wouldn't be easy to implement, would require a complete redesign of some systems, and most important of all - the game has to be completely playable using a gamepad. Written messages and chat is not something that feels good while using a controller.

Usable tools like rope, shovel, and some more will be present in the game, although changed a bit - haven't implemented or decided the exact details. But it will be required to carry certain tools with you in your backpack to access certain areas or finish some quests. For now I implemented Key System, which is basically identical to Tibia (or real life :D) - you find or buy a key, carry it with you, find a door, and try to open them using the key. If the key matches the door, they open :D

Spell system is different than in Tibia. You need to carry Spell Scrolls with yourself, just as you carry runes in Tibia, but they won't run out. You assign a Scroll item to a hotkey, pressing it will cost predefined amount of health/mana/stamina, and as long as your class is able to cast it, the spell/ability effect happens. Here you can see a video which shows a Mage fighting Cyclops by casting a lot of spells:


So once again, it's not an OT, and I am not recreating Tibia 1:1. It's just my take on some of the mechanics and a lot of familiar features. One of my main sources of inspiration is Egoboo - a small roguelike game from 1999.

Hope that solves anything that might have been unclear :D
 
A little content update...

A bunch of new enemies has joined Arpago's bestiary :)

A possessed Skull is a being summoned by dark magic and generally lurks in deep dungeons, tombs, abandoned ruins, and cemetaries. It poses a larger threat to ranged characters, as it has a very strong, screen-sized area of effect slow, as well as firebolt spell which deals a lot of damage to unarmored targets and slows even further.

paOWk6T.png


Witch has made Deep Swamp her home, and awaits the arrival of anyone who dares to enter her domain. She might cast a poison bomb on any place around her, which deals damage to everyone who walks into it. Her poison bolts are fast moving missiles, which cause damage over time to the target. She might try to confuse you or finish you off with her Spider summons, just to make situation even more embarassing.

jFtNKEo.png


Skull idle animation - GIF

Witch - GIF

Getting killed by a Witch and her summoned Spider! - GIF

A new Deep Swamp area, and encountering a new enemy there... a Slime! - GIF

First multiplayer test.... just experimenting for now, still reading up on possible solutions, testing approaches and so on - GIF

I have done a little touching up and minor fixes to the Southern Woods area, here's a panorama of it!

DWVEWfqWkAEBWnM.jpg


Currently I am working on expanding the bestiary a little bit and setting up the Deep Swamp area. I have some stuff ready (trees, ground textures and models, plants, Dragonfly, Scorpion, Witch and Slime enemies), some ideas (moving lightsources like fireflies to create the mood; maybe a Mud Beast enemy or Earth Elemental; an immobilte enemy type like a hostile plant; fog all over the place), and it's progressing pretty well! Will post an update when I have a little more to show.

Thanks
 
Last edited:
Its look so goooood ! :D It reminds me beautiful times, when I played games at my Playstation 1 :D Keep Goin' on your game :)
 
I haven't written an update in over a month, as I was pretty busy with development :)

First of all, I started working with a sound designer / composer - Adam, who takes care of the audio part of the game - a complete redesign and a lot of additions had to happen in order to implement that, and so far so good I'd say. We're working really closely, discussing also other stuff regarding the game, and we've put a target to release a demo (no date though!). We will focus on a "vertical slice" of the game - the tutorial and the first hours of the game. It will probably take place on a separate island with limited complexity and relative "safety". The inspirations for that would be White Orchard zone from Witcher 3, or a little isle you might remember from when you've started playing Tibia few years ago :)

The interface

As the first impression can only be one, interface had to be completely redesigned to look slick and be intuitive. As an image says more than a thousand words, here's how character details screen in-game looks:

ADJqoXp.png


And a gif!
ak6DryK.gif


The compact mode, which is visible at the start is the panel present all the time. It consists of your current health (red bar), stamina (green bar), mana (blue bar), character level, and set of main hotkeys (configurable, but default would be numbers 1-5, Q, R, E, F, C). As you probably don't need more details while you are walking around or fighting, I think this is just right amount of information to keep the screen clean.

The extended mode consists of much more info - right below the hotkey/resources bar which moves to the top, there's a second set of hotkeys - by pressing a modifier you switch hotkeys to the other set, so you can have more stuff available during combat. On the left from the second set of hotkeys you can see current experience and progress bar.

On the left side you probably recognize the backpack, which doesn't look much different - but it has a little more functionality. The options available after clicking the item are "smart" - only possible actions show up, so you don't need to scroll through useless stuff (ex. weapons only have Equip / Set Hotkey / Throw Away; food and potions have Consume / Set Hotkey / Throw Away, etc). It also supports drag and drop, but I'll talk about it more in one of other paragraphs :)

In the center you can see your character and his name, and the camera automatically zooms-in when you open character sheet.

The panel with item details is now located at the right side, and it has a few additions. First of all, the items can now be limited to certain classes (crossbows to ranger, swords to warrior, maces to warrior and battlemage, staves to summoner and battlemage, and so on) - configurable per-item. I don't want to be too restrictive in that regard, but that will certainly make the balancing a bit easier later on. The highlighted (coloured) icons tell you which of 5 classes can use selected item. Second addition is the description panel - each item will have a description, and I'll try to make them mostly unique.

Right under the item information there's Attributes panel - these are you character stats, and most are pretty self-explanatory I guess. But the logic behind them isn't so let me describe. There are 3 main stats - Strength, Agility, Wisdom. Each class has different importance of each stat - Warrior needs a lot of strength, and a bit of agility; Battlemage needs Int, but makes use of Str; Summoner is an Int class, and so on. Next attribute - Speed grows with your level and Agility, and is influenced by equipped items, active spells and debuffs. Armor relies mainly on equipped gear and buffs - better items might affect negatively your Speed most of the time. Resistances are affected by your current stats, class, items, and level - they were fine-tuned yet for obvious reasons, but Int will be useful for those seeking resistance against elements, Agi would cause stuns to be shorter, and Str should help you resist slowing effects.

Below the character itself, you can see your equipment in use. It has changed not only visually. I've decideded that assigning "main weapons" to the right hand and "secondary items" to the left hand would be most beneficial - it saves a lot of time when animating characters, simplifies logic behind the attacks, and makes it easier for user to familiarize himself with interface and controls. All in all, it was removing feature bloat, as it added next to nothing, except unnecessary complexity. Clicking the item here removes it and puts it in the backpack.

At the bottom-left, there's something entirely new - a Spellbook. I have completely redesigned spell system, as it was hardly intuitive, was difficult to operate, and required you to carry spell scrolls with you all the time, what would result in very low backpack space for most classes. After you loot or buy a spell, it appears as a scroll in your backpack - you can sell it, throw it away, or LEARN the spell. Learning the spell adds it to your Spellbook, as long as your class is eligible and you haven't learned the spell already. From Spellbook you can assign the spells to hotkeys, and they cannot be removed.

You might have noticed i the video, there are 4 tabs at the bottom of it - also a completely new feature, which I'll quickly cover:

EQUIPMENT - it's the screen I just described in great detail above :)

TALENT TREE - it's a very early concept, which we haven't yet decided on - the current idea is that Str/Agi/Int progression based on successful attacks and spells will be removed, and it will all be integrated into talent tree. It will make balance easier, the characters will be much more unique, specializations will be possible, and I really like decision making after leveling up. We've got some mock-ups of talent trees, and as you might have noticed even some early icons, but it's too early to talk details - we don't plan on including anything besides very basic version of it in the demo.

AREA MAP - minimap was present in the previous versions, but Area Map is new. It's a zoomed out version of the minimap, and both of them were heavily modified. The biggest change is "fog of war" feature - at the start, the map is hidden and you need to uncover it by exploring:

gIO2uNT.gif


QUEST JOURNAL - a list of active and completed quests with details regarding it's points of interest, current stage, and a short description.

And regarding general control changes - entire UI supports drag'n'drop, mouse controls, gamepad mode and it works flawlessly from what we've tested. You can drag items from backpack to hotkey bar, you can swap hotkeys by dragging one hotkey onto another, a little icon of the item appears as your mouse cursor when you are dragging something, you can equip items by dragging them onto the gear panel, the correct gear slot is highlighted whenever you pick up something equippable, you can assign spells to hotkeys by dragging them into a hotkey slot, when you use gamepad and choose "Set Hotkey" option after clicking on an item or a spell, you are moved to hotkey bar and you can assign it just as you would with a mouse, and so on. Here you can see drag'n'drop in action:

Arpago on Twitter

The tutorial

Players new to the game will require just a little handholding and short explanation of the controls, so a real tutorial should help with that. It consists of onscreen text tips, control prompts, as well as highlighting important stuff. It opens doors when the player has completed certain actions (ex. walked a bit, equipped a weapon, killed an enemy, looted a chest, etc.). It is visually pleasing, a short video of the first moments in game (you can also see the minimap location and tracked quest in the corner)

fvjP8SW.gif


The main part of the tutorial shouldn't take more than 3-4 minutes, and the initial dungeon/cave will take additional 10 minutes tops, after which you'll have the option to discover what the hell happened to you and why you are here.

Feedback / visual changes

Health bars of the enemy are completely different (well, except the font used), and integrate better with overall aesthetic

AJlLWY0.gif


Locked doors and unlocking doors have now a nice particle effect, it's slightly faster and looks satisfying :)

t4jPsB7.gif


I also added first spritesheet-based animation, and it's the particle effect of bloodsplat. I really like it and I am going to use it more often in future!

eTL9smc.gif


Lightmap implementation - due to major performance issues in open areas with a lot of light sources, another solution was required for lighting design. Lightmap is much easier on the performance than full-dynamic shadows (which made my GTX 1060 cry, and it should never happen). Baking light takes damn long, and isn't as easy to setup, but the effects are much better. On the image below, there are no dynamic lights at all! As Unity allows for "Mixed lighting" mode, the characters and other dynamic objects still cast shadows correctly, but it's a crazy difference of 200+ shadows on 200+ objects previously compared to 10-20 dynamic shadows on 10-20 objects currently. And it looks better!

Jf03xTE.png


I am also updating player character animations right now, and there are over 20 new ones - let me show just one that I think looks cool at that stage :) Stomp ability, which will slow/stun enemies around:

Arpago on Twitter


Improved camera work when speaking with an NPC:

Arpago on Twitter

Sound


I haven't included any audio samples on purpose - even though I've been working with sound designed Adam for over a month already (we are using Unity Collab, which is great and cheap (10€ a month and suits our needs perfectly), he had issues with his PC, and due to a bug in Unity sounds implementation still needs some tweaking. He's already composed some background pieces (which are awesome), as well as various sounds (doors opening, rat squeaking, on-hits, torch, and many more) - we will show it off whenever we've got actual slice of gameplay fully prepared in terms of audio :)

We've also figured out the best solution for different footstep sounds on different floor types, and it's already scripted and tested :)

New items

New consumables - a broccoli, a carrot, and cheese!

Arpago on Twitter

Some new melee weapons - Mace of the Light, Broad Sword, Curved Sword, Savage Axe

Arpago on Twitter

New monsters

Zombie, the making of!

DXPIKdnW0AIcr3-.png


Slime

Arpago on Twitter

A Goblin! Damn these repulsive creatures!

Arpago on Twitter

Ghoul, the making of!

DVtwU-HXkAEXpAw.jpg:large


If anyone's interested, I've also prepared sketches (like the ones in making of pictures) for 8 new monsters which aren't modelled yet.

Summary

So our aim is to complete content for the demo - animations, finishing sound implementation, and mapping is left to do.

Ok, I guess that's it. The post got longer and longer as I kept writing, I didn't plan on making it so huge, but I guess it's OK for 1.5 month of progress.

Thanks for reading, if anyone wants to say anything regarding the project (technical questions, design questions, ideas, criticism, ANYTHING) - I will be happy to answer :D
 
Back
Top