Nov 06 2009 -
Chatting with our Lead Programmer
|any of you know our lead programmer by his character name Akananto. When it is testing time, he is well-known by all testers. He is one of the CipSoft members answering questions and reporting back to you about the status of found and fixed bugs.
Often, players ask questions about the programmers of CipSoft, so we CMs have stolen Akananto's lunch break to have a little chat with him.
CMs: Akananto, can you tell us a bit about yourself? For how long have you been working for CipSoft, and what do you do?
Akananto: I have started working for CipSoft almost exactly five years ago, which makes me pretty much the "oldest" programmer working for CipSoft. During the first one and a half years, I programmed a new content editor for the content team to help them with their work. After this project I was trusted with the Tibia client and until now I am still responsible for its further development. As CipSoft grew more and more, team leader positions were introduced, and I became team leader of the programmers team. So since then I have to do quite a lot (and not so fun) organisational work next to my programming tasks. In addition, if anybody applies for a programmer position, I'm one of the two persons "on the other side of the table" in the job interview. That part of the job is probably the toughest, but it's very interesting, too.
CMs: So – since you are the team leader, would you care to introduce your team?
Akananto: Sure. We have 12 programmers here at CipSoft, plus Stephan, one of the Gods, who is also still doing some programming. In addition, we currently have one person in our team writing on a diploma thesis and two further interns.
Six of us work solely on Tibia. Stephan is working on the game server, two others are working on the Tibia Website and on internal tools for the customer support, for example. Another one works on the payment server and payment functions in general and one of them is working on the new Tibia Flash client. Then there is myself, still responsible for the current game client and the content editor, of course next to the team leader duties.
Three of our programmers work on TibiaME: one on the game server, one on the game clients, and one on the website. The content editor for TibiaME is actually the same one as for Tibia, since the game server technology of both projects is very similar and as I already stated, I am responsible for it.
Three other programmers work on our new project Fiction Fighters.
Finally, the remaining team member is our software tester who checks each and every client, server, website and tool to verify that everything is working as intended. On top of that, he's testing new content.
CMs: Uhm... ok, but who is programming new features then? Is that the one programming the game server?
Akananto: Not necessarily, it depends on where the features need to be implemented. Game server, game client or website. Usually it is a mixture of all three. Let's take the new war mode, for example. All that needed to be changed in the client were the icons. Most changes had to be made on the game server, and the entire "declaring war function" is situated on the website.
CMs: Ah, thank you very much for explaining this. And what are you all currently working on specifically? Can you tell us?
Akananto: Well, currently we have our hands still full with the autumn patch, but when this interview is published, we should have completed that. The autumn patch unfortunately sees some delay as we really crammed quite many features in it.
The payment server programmer had to make some big changes to the way payments get processed that are not connected to buying premium time, for example recovery keys and some new services that our players will soon be able to use.
The website programmers are finishing up their work to make the functionality of those autumn patch features and new payment features available for everybody via the website. In addition, they have just recently finished the business shop which opened up new opportunities for official resellers and their customers.
Both, the Tibia client and the content editor, did not require many changes for the autumn patch, however, I'm currently working on some radical changes in the editor, to make next year's upcoming features for Tibia and TibiaME possible - but shhhh, no spoiling!
CMs: Hmm, ok - no spoiling then... what a pity...
Then let's move on to the next topic. Many of our players are also interested in programming languages and they often ask what programming languages are used for Tibia. Could you reveal this, maybe in words that everybody understands?
Akananto: Ok, I'll try... Nearly all of the server side services are programmed in C++ and they run on Linux based servers. Good performance is a big issue with all our servers and regarding the speed, C++ is still one of the best.
For our websites, we use PHP being served by Apache webservers running on Linux based systems.
The current game client for Tibia is made with C++ too and runs both on Windows and on Linux. The experimental Flash client is written in ActionScript 3 and made with Flex SDK.
CMs: You said "experimental" Flash client - what's up with that? Are we making any progress?
Akananto: First of all, I want to state that nothing is set in stone yet and that the Tibia Flash client is still an internal experiment at CipSoft. We do see big chances and possibilities by providing a Tibia client based on Flash technology.
When we had that idea, we began several tests to see whether it would be possible from a technical point of view, and all turned out positive. So a programmer was hired who is now working full time on it. We can already see some progress on our internal test server. For example, the login works already, characters are set on the correct game worlds, and the world itself is already being displayed correctly: landscape, creatures, effects, speech bubbles and even some cool new stuff which the current Tibia does not have. Also the chat system works quite alright already.
However, movement and interaction is still severely limited – there is a lot more work ahead of us. We have also hit some unexpected problems with hotkeys and ingame context menus, but we are evaluating everything and we will try to find solutions for all problems. If we succeed, there will be a Flash client. If we don't, there won't. We are very dedicated to make the Tibia Flash client happen, in our minds it is a really great project, but it is too early to guarantee that we will really succeed.
CMs: Then we will keep our fingers crossed that everything will work out!
Let's get back to the present Tibia. The planning for a patch or an update – how does all this happen, what happens in your programmers team for an update?
Akananto: Let me best explain this with the current patch. After the introduction of the black skull, the new guild war system is the second part of the results of a series of internal discussions at CipSoft regarding PvP in Tibia. At the end of those discussions, the product managers of Tibia, Guido and Craban, gave us a list of changes and features. Usually the programmers have some questions regarding these features, so there is some back-and-forth between the product managers and the programmers until all details are set. After that, the programmers start programming and uploading new features and changes to our internal test servers so we can try out stuff as early as possible. After the so called "feature freeze" date, no new features must be created. Only existing ones are allowed to be fixed. Once the tester gives his "ok" about the new features to the product managers, they start preparing everything for the update on the public servers.
Of course one tester cannot find every possible bug, so usually there are semi-public test servers before an update. As soon as the players storm the test server, they will find most broken things there are.
CMs: So - do programmers play Tibia in order to be able to code new features?
Akananto: Some of us did for quite some time and actually joined CipSoft's secret guild, but currently their ingame activity declined again. As weird as it may sound, but for us, Tibia is our job and when we get home at the end of the day, we appreciate to get some distance from the job and let our mind think about other things. And well - I am personally very active on the test servers during testing time! It is fun to see what players do with new features, how they try to handle certain things or situations. And of course it is also suspenseful to find out if there is still a bug.
CMs: Sounds like you really enjoy being on the test servers!
We have a couple of more questions for you if you still have a bit of time, they are of a more general nature and concern important topics among Tibia players. For example, hacking. Some players claim that the Tibia client is not safe. What can you tell them as the responsible person for the Tibia client?
Akananto: The Tibia client is as safe (or as unsafe) as the computer it is being run on.
There is absolutely nothing the Tibia client can do when there are already viruses, trojans, keyloggers or cheat programmes on a computer. It is correct that some information within the Tibia client could be hidden a little bit more, but that would only make the bad guys search a little bit more, they would definitely find it anyway. Fact is that all information required to play the game must be within the client, and somebody with bad intentions will find it, no matter how hidden it is.
The best advice to avoid hacking is to play Tibia only on a computer you have complete trust in. A computer that is free of any malevolent programmes. As long as you play Tibia from a "clean" computer, the network connection between client and server is completely safe. We put a lot of effort into the encryption of the network connection and we use technology which is publicly available and proven to be secure, so that your password and your character and your chat with others is safe from interception.
CMs: Some players say that if you update your antivirus software regularly, you won't get hacked. Is that correct?
Akananto: Actually, no. Of course you need to update your antivirus software, but it won't help you against keyloggers in external programmes for Tibia, for example. Antivirus software secures your computer against well-known and widespread viruses. A keylogger in an external XP counter, for example, or a cheattool is not a well-known and widespread virus, it was created only for other Tibia players, with the purpose to steal their account information. An antivirus software would not help in such a case. Most likely it wouldn't even notice it.
CMs: Thanks for clarifying this, Akananto. That is a common misconception.
Another topic Tibia players sometimes blame the programmers for are lags, kicks and freezes. What can you say about that accusation?
Akananto: There are usually three different kinds of "lags":
There is client lag, when the client needs too much time to process information and the frame rate drops drastically. In Tibia this might happen if you enter a room with several hundred creatures in it for the first time. The client then needs to load all the creature graphics into the graphic card, and that simply takes time.
Then there is server lag. This happens when the game server needs too much time to process information. I remember one incident, when somebody pushed a bag with his entire guild hall interior of around 80,000 items from the depot back to his guild hall after an automatic house cleaning. The server lagged for a couple of seconds for each time the bag was pushed. We fixed this issue already, so it does not happen anymore. If there will ever be a new situation similar to this, we will find a way to solve it as well. There is a log file created by the game server especially for server side lag where all incidents of this kind get recorded, so we will notice quickly if there is any lag that could be avoided.
The last and unfortunately most common form of lag is the network lag. Programmers have no influence on this. Let me explain: It happens, when the network traffic between the game client and the game server takes too long. All the little network packets have to travel a very long way between your computer and our game server. They have to go around the world, through several networks actually, and several providers. And everywhere on that way there can be delays. The players have control over a very short part of that connection, exactly from their PC to their internet service provider. And CipSoft has control over a very short part of that connection as well, from the game server to CipSoft's internet service providers.
CMs: Alright. So you are saying that you only have influence on some lag situations, and that unfortunately, you programmers cannot do anything against the most common lag.
Well, we do not have any further questions at store, so we will let you move on. Thank you for giving us so much of your time, and for sacrificing your lunch break!
Akananto: No problem, my pleasure!
We hope that you enjoyed this little interview with Akananto as much as we did and that it provided some answers for questions that you had.
Have fun in Tibia and enjoy the features that our programmers have created for you!
Your Community Managers