• 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 own learning / development thread.

Skadarn

Member
Joined
Feb 6, 2012
Messages
55
Reaction score
23
Hi everyone!

In a few days I will get my answer if I get accepted into a 2-year program to change my professional life. During these 2 years, I am going to learn how to code and as a side project to practice I will be making an OT. This thread is mostly just for me to keep as a diary, to try and hold myself accountable and after 2 years hopefully have a development thread that shows my journey from a clean start with zero knowledge to a finished product and knowledge to go with it! I will update as I go, might be several updates in a day and then nothing for a week so don't expect too much!

I have zero previous experience in this area and I have legit no idea what I'm doing right now haha even if I am not admitted I will apply again and keep learning through this project in the meantime.

With some help from some seniors here on the forum I managed to learn how to compile for the first time two weeks ago, and then I learned a little bit about GIT and GitHub. I also did some manual mapping to have a base to work from. So far, thank you to everyone who has already answered my PMs and accepted friend requests on Discord. I really appreciate all the help and patience it must have taken to answer some of my questions. 🫣

So as a first post, I think I will just write down what my plans are, where I am at right now, and what I think my next step is. I will do a lot of trial and error; things will not be optimized, but I will learn as I go!


My plans:

  • To learn as I go in a trial-and-error style and not stress it, use this project to practice what I'm learning.
  • To create a Tibia server based on my vision of how a server should be, which I will go into more detail about further down the line.
  • Hopefully, as I learn and develop more skills, I can cross over to Codina's BlackTek since I find that project interesting.

Where I'm at:

  • I just compiled TFS 1.4.2 and Mehah's version of OT Client, set up a server database and created a base map of Thais to start from. I'm going to work from the 10.98 protocol.
  • I'm trying to learn how to distinguish the code in OTClient by reading it line by line, making small adjustments, booting the client to see what happens, and then repeating it.
  • Setting up a GitHub profile to work from to more safely make adjustments to the client and server through branches and be able to track what I'm doing and backtrack if something goes wrong.
  • Keep grinding away at online courses and libraries about C++ and Lua.

My next step:

  • Get GitHub up and running so I can work without having to make manual back ups every time I do something (I'm paranoid to fuck everything up).
  • I'm then going to slowly start to strip the client of what I do not need, going line by line to not break anything. Booting after every change.
  • Once the client is in a state that I feel comfortable with, I will start looking at the server files and start tweaking the server to my liking.

So that's about it for my first post, if anyone read everything, thank you for taking your time and see you in a bit! :)
 
So I got GitHub up and running, made my first commit, a change to the UI of the client.

1719105596277.png
(sorry to Mehah's main getting all my commits before I realised that I had to change to my fork. 🫣)

Had to google a bunch on how to revert commits, accidently pulled like 300?+ changes into my repository.. I don't know why they showed up in the VSC source control or how I even commited all of them when I tried to only commit the UI changes, but they are gone now at least and I think my repository is fine! haha
Post automatically merged:

feels pretty normal to me

View attachment 85645
I actually like using discord for these type of things as well ^^ easy-to-use and keep track of everything.
 
Last edited:
I'm going through this: Introduction | Lua Guide (https://docs.otland.net/lua-guide/fundamentals-1/fundamentals-introduction) just to grasp the lua lanuage a little bit better.
I was confused about the "nil" value until I read this so +1 to my knowledge skill I guess! Nice and easy to follow :)


I'm continuing trying to remove things (right now the purse) I do not want from the UI.
I can remove the purse from the UI without complications by just removing the line here:

1719160846521.png
But this will leave a bunch of code regarding the purse in other files though. I think that's a bad idea so I will try and get everything!

However when I do remove the code in the other files, my inventory breaks.. 🤷‍♂️ Well I guess I'm going down this rabbit hole then to try and fix the inventory, wish me luck!
 
Managed to eventually solve the error codes which I got from removing all the Purse related code with the help from this thread: OTClient - Lua Error (https://otland.net/threads/lua-error.260263/post-2517458)

What I don't know is why the fix works.. I can see which lines are edited but I can't really understand why the changes works.

On the bright side - I keep stripping the client slowly but surely and getting faster at it as well.

So far:
Purse is gone. ✅
Spell Cooldown window is gone. ✅
Music / Sound is gone. ✅

Next:
Gonna try my best to remove the cooldown bars above chat.
Get Cap back to the inventory window.
Get rid of the circles.
Lock/anchor the panels to the columns.

Thought maybe it would be good to have a before picture somewhere in this thead to see how far I've come:
1719358804419.png

The map is just hastily put together, small part of Thais center exists.. figuring out mapping, sprites and such will be a journey for another time. Once the client is all set I can start looking into that.
 
Been a while since I updated this thread now -

I got on the waiting list for the program, we'll see if I get in. Either way I'm currently doing courses through microsoft learn (FreeCodeCamp) and CS50X. I felt that I was not able to read the code good enough so I think if I take one step back, go over the basic courses, then I will be able to progress at a faster rate going forward.

Been doing some mapping while learning, started out with Thais and doing a remodel of it.1720096021969.png
Gonna touch up and fix the area just east of DP, looks weird and out of place. I also need to fill the north east of temple with shops / a few houses. Temple will be remodelled as well. Just a few hours spent here, trying to get a feel for it.

I want to keep the familiarity of the city, but also make it custom. We'll see how it goes! ^^

If anyone know where to get a classic sprite pack for 10.98 client, please point me in the right direction!
 
I've had some real life issues lately so have not been too active with learning code and developing this ot.
What I have been able to do is start mapping outside of Thais a little bit.

So I'm using resources from the RL map and remaking them into something new. You should still recognize yourself though when you walk the road outside of Thais for example. Still learning and redoing pieces all the time, still thinking a bit too much in squares ^^
1721046132077.png1721046210665.png1721046389281.png

Also making a whole new maze of lost souls with my own twist on it - we'll see how it turns out! :)

Currently on place 7 on the reserve list for the program that I applied to, hoping for the best! 1 month until program starts so still time for people to drop off.
 
I got in to the program, yey! starting 26th - until then I'm off from work and continuing to work on the map and client.

So far this is what I've got map-wise:

1724075681096.webp


Gonna start mapping south and south west of Thais soon, going to expand the town a little to the left to create the elfs refuge camp and the "mage guild" (the dwarfs are held up in a small mountain, not yet finished, in the north east part of Thais - thinking of relocating them soon) I'm using resources from another RL map to keep the stuff that in my opinion makes thais recognizable and mapping the rest by hand, learning as I go.
 
So you decided to make ots to learn coding but you're mapping instead, reconsider your to-do plan. dont be stuck with "i will learn coding on the program so i will do everything else on my ots and not try to learn by myself". Mapping is the most time consuming thing you can do rn that does not teach you how to code 🐤 you should completly ignore it and place it at the complete end of your to-do
 
So you decided to make ots to learn coding but you're mapping instead, reconsider your to-do plan. dont be stuck with "i will learn coding on the program so i will do everything else on my ots and not try to learn by myself". Mapping is the most time consuming thing you can do rn that does not teach you how to code 🐤 you should completly ignore it and place it at the complete end of your to-do
You are 100% correct - the latest updates have been on mapping since freecodecamp achievments isnt really fun to share here on Otland haha. I try to at least do a minimum of one course every day and then repeating it once to make it stick.

Since school is starting in a week, all I can do right now is slowly chip away at the coding courses online, started with Hello World! the 28th of June and worked my way up to now be processing array data through foreach / if else structures, so some progress have been made. Sadly I can only read the code in the client somewhat but I have no idea how to edit the code in the client except for very small things. Even the basics are still a guessing game for me so jumping into the deep end of editing the client without a more basic understanding of what I'm reading feels counterproductive IMO.

I do appreciate the input though and I will make sure to not get stuck doing more mapping than coding going forward, it 100% could end up happening so thank you for the reminder.
 
Back
Top