Hey everyone. This will be my first project log for Melia, where I'll tell you about changes and updates to the project semi-regularly. While you can also follow our progress on Discord and GitHub, it's easy to miss something there, and commits are also very technical. The project logs will not go into that much detail, I'll just tell you a little bit about what's been going on. Since this is Melia's first project log, and it's been 6 years since its original inception, let me give you a quick rundown of what Melia is and where we're at.
Intro
Melia is a server emulator for ToS, which means that users can use it to set up their own servers. Me and one other developer started working on it during the international closed beta, but when we actually started playing after release, we were disappointed by the game. Unfortunately, disappointment is a real motivation killer, and Melia stopped receiving meaningful updates just a few months into its life.
At this point I was already the only developer left, and over the next months and years I started focusing more on other projects as well, and without updates, the server eventually became incompatible with the latest clients, which made it difficult for anyone to revive the project. That's until 2021, when Akinue started working on updating Melia. Over several weeks he managed to make the server compatible with the latest client again, which would not only open up development for others to work on the project as well, but his work also motivated me to help out a little. A little turned into a little more, and now I've somehow been working on the project for several weeks again myself.
Status
Right now, Melia can't really be called "playable" yet. You can create characters, log in, dress up, talk to NPCs, even kill monsters and level up, but it's all still at a testing and prototyping stage. Over the past couple weeks we've made some good progress though. We've implemented basic skill and buff systems, revised several core systems, which will be important for the future development, and even managed to do a few things I previously thought impossible. And right now, I'm working on AIs.
Traditionally, AIs can be a little difficult to write. The two big approaches are state machines and behavior trees, but both can be unwieldy, especially for newbies, and they're usually not easily extensible, because all actions the AI can take must be pre-defined in the application's core. We chose a slightly different approach, where you write AIs with simple Lua code.
function idle()
wait(5000)
emoticon("I_emo_exclamation")
wander(50, 100)
end
2021-10-13_18-57-40.mp4
With this approach, we're hoping to make AIs more approachable, while also keeping them flexible, because with a scripting language at your fingertips, you have more options to extend and customize AIs. Adding AIs will be big, since having monsters walk around and do combat with players will have a huge effect on making the server feel more alive and playable.
Meanwhile, the iToS client was updated two days ago, and there was a small change to the opcodes. Whenever the ops change, we need to update the server and our packet logging tools, namely Zemyna, for them to be compatible with the client again. To keep using the latest version of Melia, just update your client to the latest official version. To keep logging packets, update your Zemyna_Ops.txt, by using the latest one from GitHub.
I think this is all for our first project log. I don't know whether I'll post logs on a weekly basis yet, but as long as there are updates to talk about, I'll post something from time to time. Until then! Oh, and welcome to all new and old users^^