• 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!

OTU - OpenTibiaUnity - A new TibiaClient based on Unity3D engine

It's nice to see that OTs still generate such coder interest. What a lovely looking project.
 
It's been a long while, the update is now available for review in GitHub (under v2-pipleine-patch2).
You can also get the latest preview client by using cloud builds.

You can find them in the discord channel or in (Open) Tibia discord channel by PrinceMorrii.com

Here you are the latest builds as of writing this post to various platforms:
windows x86: Device Detection (https://developer.cloud.unity3d.com/share/share.html?shareId=-1hPeD6mhS)
windows x64: Device Detection (https://developer.cloud.unity3d.com/share/share.html?shareId=WkJA246m3S)
linux x64: Device Detection (https://developer.cloud.unity3d.com/share/share.html?shareId=-y52kLTX3H)
Mac: Device Detection (https://developer.cloud.unity3d.com/share/share.html?shareId=WJSiLOpX2S)

Sincerely,
Slavi
 
Oh no, android version of OTs?

Translation library TODO priority changes
Diff:
- Portuguese
- Polish
+ Mandarin
+ Korean
+ Malay
+ Japanese

Better make a Sun Wukong quest, and start stealing ideas from Helbreathe ....anybody got a golfing script? 😇 Gonna need a Chibi Maruko-chan NPC sprite... and a K-pop-stan getting backstage quest, and a Ssuzlun-debate NPC you can argue with... Maybe some dated references like Hard Gay? 🤔
 
the quality changing option is so cool!!! there are a lot to chose from, bellow only three examples:

ultra:
2020-04-12 02_44_17-OTU-Client.png


medium (very nostalgic for me, loved it):
2020-04-12 02_46_42-OTU-Client.png

low:
2020-04-12 02_45_16-OTU-Client.png


and a bug if I may report @Slavi Dodo , when the classic control is disabled, no context menu appear anymore, I thought at first that it wasn't coded, but if I press ctrl+mouse click it appear, so hence my report


nice job tho!
 
So I see it a little hot on OTLand nowadays and people are comparing the performance of several clients wondering how performance can be achieved.

It all comes to the limitations you put on the target hardware. Since this project is now based on Unity 2019.3:
It supports minimum of OpenGL 3.2 core profile - D3D11

Okay, but how to actually achieve performance in drawing the worldmap?
  1. Static objects
    Every frame the client has to cache up the whole render graph in order to draw tiles/houses/objects and so on. So we could statically store these in a separate texture and just use them as a base background for what to come next.
    This clearly applies only to static assets that has no animations, this will apply as the index of the fore background grows (aka stackpos).

    Ever wondered how they draw that amount of things in a single screen in games like GTA?
    This is called static batching and it basically caches all background that has no animations and can be batched in single draw call, moreover we wouldn't need to care about them really.
    To get even more performance, there is a technique called frame graph and is being used in Frostbite engine (by EA) used in the famous series Battle Field.

    Let's call those Fronzen Scene Elements. Keep in mind, this is not very detailed and static batching just as we know it is not the holy grace to solve all issues. The map is dynamically generated by the server and hence we'd need to recalculate these when the player moves and so on.
  2. Animated objects
    Similar approach is called dynamic batching and is used to render animated objects in the scene and objects that are more likely to move all the time such as characters.
  3. Lighting
    Lighting can be stored in a texture as long as the map doesn't change, or to be more specific unless a new element is added to the map that has anything to do with light, then lighting texture shouldn't be changed.
  4. Perform less when moving in a direction
    When the main player moves in a specific direction where the map is expanded in that direction, unless the map changes in response to ground objects (such as showing a higher floor and so on), then we can just displace the old static texture and apply the new changes to it so we don't really have to recalculate the whole texture again.
Another thing I'd like to talk about is comparing OT-Unity to OTClient!
I've done this project as a hobby and to try new rendering techniques in 2D in a game engine such as unity. It's not a competition at which a client wins. I'm not here to argue whether OTC/OTU is better. Both serves well and OTC has been there for so long that OTU will even try to replace it. I use OTClient as a reference in a lot of code details by the way.

The only major benefit of using OTU over OTC is that it would support several platforms with a click of a button!

Sincerely,
Slavi
 
I haven't actually tested on Mac. @Stellow Add me on discord so we can actually check if everything works the same on Mac as on windows/linux

slavi#6064
 
I'm very impressed slavi. Thank you for your work on this. This could very well be the game changer many of us have been waiting on. :)

I only found one discord link here, and it is expired. Is there still a discord for this project?

I cant seem to find your patreon either? (I'm probably just blind and a bit dumb) :D

Looking really forward to digging into this later this week. This thing really makes me want to start developing again, I love Unity.

What kind of state is it in at the moment? Usable with all main functionality? Or still a major WIP?
 
Great project, great accomplishments. Really intereested in using this client.

I just have one problem so far while trying to log on to my server.
I get to the character list no problem. apperances loads up. But then comes connecting to the game server, and this is where I fail.
This is my message "Could not connect to the game server. Please try again later.".

I have ports 7171, 7172 open, even if it's not neccesary for local.
I have tried using 127.0.0.1 and 192.168.1.50 (my static).
Normal Tibia 10.98 client with ip changer connects just fine.
Tried with converted 10.98 apperances, aswell as 10.98 with custom sprites.
Tried with the ones on your google drive, but they're the wrong file type.

I am using TFS 1.3
 
Back
Top