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

Unity3D client?

You would like Unity3D client?

  • Yes

    Votes: 57 93.4%
  • Nope

    Votes: 4 6.6%

  • Total voters
    61
  • Poll closed .
even if it was able to read tfs npc structure that would be great but i think he could save a lot of time simplyfying Single player client
 
Singleplayer part of client probably will be, after finishing "MMO" version. Because that is require additional fork from trunk netty ver. For singleplayer there is many awesome ideas, like Ingame Cutscene Engine, and other features. In this case, i can just replace networking part with trampoline functions and add "Semi-TFS"-like engine inside without networking. For saves we can using simple Binary Serializer (in C# you can serialize whole classes as objects via Newtonsoft.JSON, ProtobufNET data proto contracts, NHibernate and etc.), NPC and other stuff from server, will be same, but technically them will have a simplified implementation (for one player and etc.), due to singleplayer architecture (for example, we actually dont need a near 40% checks(if's) inside "server" code because we have a just one player).

Finally: Convert already done (Client and Server) MMO game to singleplayer, (by various ways) much more easy instead of converting singleplayer game to multiplayer architecture.
 
I was wondering if anyone did this yet, looks awesome.

I understand this is just a client project but, since it's Unity3D, would you also be able to make a 3D version of tibia? Looking like the game Magicka. I can imagine it being real time instead of turn based, being able to turn 360 degrees instead of just North, East, South and West, etc. Would be cool to see Tibia in a different light like that.
 
I was wondering if anyone did this yet, looks awesome.

I understand this is just a client project but, since it's Unity3D, would you also be able to make a 3D version of tibia? Looking like the game Magicka. I can imagine it being real time instead of turn based, being able to turn 360 degrees instead of just North, East, South and West, etc. Would be cool to see Tibia in a different light like that.
I can do a 3D MMO games on it also. But in Tibia case... Who will gimme 3D *.FBX models for it? :D
Okay textures, and "walls" + buildings. Items is non hard... but how about this?
latest

wyrm_ss.jpg
If re-creating sceletons, rats, deers, wolfs, various spiders, "dragon-like" creatures is not hard so much, but how about Tibia specific creatures?

Tibia content amount + so many unique creatures gives the last nail to Tibia3D idea coffin.
Just due to impossible to rework all content to 3D due to various factors. Plus if you are hire payed 3D artists... More simple in this case create your own (with your own creatures, and graphic aspects) game "Hardly inspired from Tibia", "Created by Tibia Fans" etc.

3D version can be coded "easy"(in compare), but as you may know, 80% of gamedev is not abot coding GameClient & GameServer. 80% of development time - is working on content.
 
I can do a 3D MMO games on it also. But in Tibia case... Who will gimme 3D *.FBX models for it? :D
Okay textures, and "walls" + buildings. Items is non hard... but how about this?
latest

wyrm_ss.jpg
If re-creating sceletons, rats, deers, wolfs, various spiders, "dragon-like" creatures is not hard so much, but how about Tibia specific creatures?

Tibia content amount + so many unique creatures gives the last nail to Tibia3D idea coffin.
Just due to impossible to rework all content to 3D due to various factors. Plus if you are hire payed 3D artists... More simple in this case create your own (with your own creatures, and graphic aspects) game "Hardly inspired from Tibia", "Created by Tibia Fans" etc.

3D version can be coded "easy"(in compare), but as you may know, 80% of gamedev is not abot coding GameClient & GameServer. 80% of development time - is working on content.

Yes you're right, that would be a lot of work since you can't use Cipsoft assets, you would need to make your own. I guess for that kind of project, it would be best just to do a demo of what the game could be, displaying the gameplay and a small world to test it out in with low quality assets or even placeholders. For a full project, it would be best just to make a tibia-inspired 3D game rather than a tibia rework, I agree with you there, it would be too much work to use something copyrighted and risk Cipsoft finding out and ruining it.

This game here made by a Unity3D Game developer shows a little of what the game world could look like:


He shows the gameplay at 8:41, he also has the source code in the description.

Of course the gameplay would be more tibia style, rather than diablo style like he has. I understand what you mean though, the unique tibia stuff would be a pain to make, it would be like reinventing the wheel.
 
Working on outfits!
-----------------------------
Directions(NSWE)
- 100%
Addons
- 100%
Monster Outfits(looktype)
- works!
Mount - 100%
Player Outfit color - In progress...
~~~~~~~~~~~~~~~~~~~~~~~

Some screens (players)
2Fjlmld.png

9VXAeuy.png

QTRdsxr.png

(Yeah them currently handle messages from chat on this, i will code UI elements after finishing more important parts of code).
XgKrE2k.png
~~~~~~~~~~~~~~~~~~~~~~~
 
Whoo!!!!!! Cant wait to try this looks promising =)
 
Nice job!! What do you think about adding weather system?
Yeah, that is possible. In our case "weather system" is just a part of ATGE system.

Advanced Tibia Graphics Extender (ATGE) - is a complex system for extend tibia sprite based graphics on various ways (Particles + Lights & Shadows (shadowmaps) + Shaders + Post-processing, etc.)
For example campfire or tourch, they will not just "provide lights and be self-animated", there will be additional particles on it. Same for spells & projectiles, i.e. powerbolt projectile, will spread some sparks-like trail while him fly & hit target (also all of this behavior will be configurable for each group of ThingType. ) I will just code few examples for each system for each thingtype. But globally, you should configure it self (for all projectiles when needed, for all items/creatures/effects/"weather system"/etc.)
 
You should already lose all Tibia-related elements, find more people and start advertising this project as "independent MMO project, inspired by Tibia, but made with more modern approach" or something like this. This is very niche forum of out-dated and almost dead MMORPG and You'll not get that much of work-encouraging attention, so You're gonna drop this in year or two. Completely tibia-free project will allow You do go on Patreon or Kickstarter without worry about some nasty german lawyers knocking to your door with copyright infringement papers.
Wasteland 2 pulled it off, so it is possible to make relatively decent "isometric" 3D game and sell it.
 
Alright, So i read through the thread up to now. Am i to understand @Fenrisus is making a Custom client made from Unity, that could potentially replace the OTClient, And upon its completion, will be released to the OTland Community for free/Cost to use for our own servers?


(If this is true - i could definitely get behind this.)
 
@Fenrisus I have read this entire thread.. The only question I have is: If you finish and release this new client, will people be able to bot using it?
 
Alright, So i read through the thread up to now. Am i to understand @Fenrisus is making a Custom client made from Unity, that could potentially replace the OTClient, And upon its completion, will be released to the OTland Community for free/Cost to use for our own servers?


(If this is true - i could definitely get behind this.)

Yeah that is. The client will be opensource exept a few parts of it, i.e. framework.
For users (not expirienced coders, etc.):
For example, Dat& Sprite Unity3D processor. You dont need to know how them do that actually, or care about change something here. You just have a LoadSprite(string filename) & LoadData(string filename) functions. And you dont wanna change code inside those functions. Same with network manager or other systems. It's similar, to compare TFS. Everyone do the LUA scripts for server, right? But you did you see someone, who change LUA manager (or whole library) itself? Did you change internal LUA stuff? Nope. Everyone will do mainly gameplay changes. Literally if compare to OTClient, just imagine - same client on Unity3D, with closed-source framework, where you are able to use that framework whatever you want, but just cant change internal framework structure itself (you actually dont need todo this).
Little more explain: Map draw code. You may use it as you want, via API of DrawCreature, DrawTile and etc. + also special "drawcalls" (used for create HPBars and etc.) Structure is: MapDrawCode----->Framework internal API--------->Unity3D prefabs/renderer/internal calls. You dont need in this case, change how exactly framework interact with Unity3D (the Framework do mainly only that internal things. All gameplay-related things is opensource.)

Framework itself: The framework part of client code is just internal thing for cross-API for Unity3D. Them connects client code to Unity3D API and make usage of Unity3D in this case much simple than without it. For example on Unity3D you dont have a direct full access to Renderer Unity3D internal class.
Instead of something like :
Code:
            GL.Enable(EnableCap.Texture2D);
            GL.EnableClientState(ArrayCap.TextureCoordArray);
            GL.BindBuffer(BufferTarget.ArrayBuffer, tcboId);
            GL.TexCoordPointer(2, TexCoordPointerType.Float, 2 * sizeof(float), 0);
            GL.BufferData(BufferTarget.ArrayBuffer, (IntPtr)(texVertices.Length * 2 * sizeof(float)), texVertices, BufferUsageHint.DynamicDraw);
            //Color Buffer
            GL.BindBuffer(BufferTarget.ArrayBuffer, foreColorId);
            GL.ColorPointer(3, ColorPointerType.Float, 3 * sizeof(float), 0);
            GL.BufferData(BufferTarget.ArrayBuffer, (IntPtr)(colorVertices.Length * 3 * sizeof(float)), colorVertices, BufferUsageHint.DynamicDraw);
            //Draw
            GL.DrawElements(BeginMode.Triangles, Width * Height * 6, DrawElementsType.UnsignedInt, 0);

            //Clean Up
            GL.Disable(EnableCap.Texture2D);
            GL.DisableClientState(ArrayCap.VertexArray);
            GL.DisableClientState(ArrayCap.TextureCoordArray);
            GL.DisableClientState(ArrayCap.IndexArray);
            GL.DisableClientState(ArrayCap.ColorArray);
            GL.BindBuffer(BufferTarget.ArrayBuffer, 0);
            GL.BindBuffer(BufferTarget.ElementArrayBuffer, 0);

            window.SwapBuffers();

On Unity3D you are doing something like that:

Code:
GameObject go = new GameObject();
SpriteRenderer renderer = go.AddComponent<SpriteRenderer>();

renderer.sprite = Resources.Load("Sprites/Player", typeof(Sprite)) as Sprite;
.
.
.blahblahblah
.
.
public void CreateObject(string prefabName) {
   GameObject newObject =
     GameObject.Instantiate(Resources.Load(prefabName)) as GameObject;
}
I.E. Unity3D does not provide direct access to OpenGL/DirectX API drawcall functions, it's already part of
GameObject inside Unity3D.
My framework interacts with Unity3D on same way, but provides easy to understand API, much more simple than Unity3D has, and allow users to do a modifications without advanced Unity3D knownlege.

Little additional note: Also framework is part of code, isnt a client itself, just a lib with API, but currently i should keep them private, not just because users dont need to change them actually, it's also due to some legacy therms. On this framework, i am using a payed content from Unity3D AssetStore, and some payed ThridParty code (Hello Telerik Software!) And due to EULA/TOS of Telerik and other ThridParty software authors, i cant provide source code for this products. Only a binary distribution.
For advanced developers & who understands what i am talking about:
Just look on this lib as on OTClient Lua5.1.dll library or LibGLES or boost. For working with that, you dont need actually change or know how it works inside, you just using them and dont care about how them works internally.

@Fenrisus I have read this entire thread.. The only question I have is: If you finish and release this new client, will people be able to bot using it?

Did you find a bot for unreleased Unity3D client already? :D After some time (alot of time) well, possible someone may develop it for Unity3D. Main bot developers (Hello BlackD Tools, TibiaAuto and etc.) not interested on OTClient or future Unity3D client as long, as they will be OT client. If alot of peoples (more than or equals to 50%) will play with it on RL Tibia - they will do. Otherwise - simple waste of time to develop bots dedicated for OTServer. Official CipSoft - over9000 profitable ;)
 
Last edited:
Creatures movement done! Working on outfit animations and player outfit colors (the last 2 things for fully completed creature implementation task).
z3FaSeW.gif

LXADEPH.gif


Creatures moves! And know their direction! Now i will work on walking animations! (Test with TFS also, it's actually working with server).


(PS. i noticed about lamp and tourch, and some other artifacts, for example light system is just not enabled on this gifs (for more clean debug output & dev things), that is just from editor view)
 

@Fenrisus I have read this entire thread.. The only question I have is: If you finish and release this new client, will people be able to bot using it?
Click to expand...
Did you find a bot for unreleased Unity3D client already? :D After some time (alot of time) well, possible someone may develop it for Unity3D. Main bot developers (Hello BlackD Tools, TibiaAuto and etc.) not interested on OTClient or future Unity3D client as long, as they will be OT client. If alot of peoples (more than or equals to 50%) will play with it on RL Tibia - they will do. Otherwise - simple waste of time to develop bots dedicated for OTServer. Official CipSoft - over9000 profitable ;)

awesome man I really hope one day we have a good client that people DO NOT use bots on... your work is looking great!!!
 
Back
Top