I also work on other projects from time to time, mostly under other aliases.
I like learning about and writing cryptography-related software, new systems utilities, etc, and also enjoy a bit of video and music editing, playing musical instruments (sometimes live in front of an audience like a jackass 🤪), activism, writing articles, trying out new software, etc.
I’m also an avid consumer of twitch memes and youtube debates.
My tiny OT community for Open Tibia game developers :)
The purpose of this community is first and foremost to have a place where OT developers can chat, chill and have a good time without constant bickering and fighting.
Secondly to serve as a democratic forum and platform for open discussion, critique, ideas and suggestions, and to help the OT community out wherever we can and is reasonable i.e. by hosting this wiki where everything related to Open Tibia (software, projects, people, communities and histories) can be documented, and trying to create a centralized directive to host links to alternative OT communities (which OTLand strictly prohibits despite not actually having any public rule against it), OT lists, software alternatives, etc.
You can find the rest of the community links on the right side of this blog.
Due to a general lack of user activity and interest I started this blog to blog about some of the OT stuff I’m working on instead.
Behind the scenes
Hi, I’m source😎. I started, run and maintain OpenTibia.dev on my own. I also work on my own OT projects and decided to make this blog as a means to publicize changes and updates to all my Open tibia related projects.
For the past year and a half I’ve been working on an otclient version with all the original 7.x client details, mechanics and bug fixes to make the client function as smoothly and accurately as the original tibia client. Did about half of the fixes myself and spent about $1k on the rest.
Full original client interface and mechanics except for the Help function, main Options interface, and lighting (heavily reworked, but not perfected).
Tons of bugs fixed.
Tons of unique mechanical fixes not fixed by other big boy clients including Medivia.
Attention to detail. Fine tuning of mechanics to work exactly like the original.
Enhanced logging system and other dev functionality.
Mainly minor fixes, reworking lighting, 1 movement bug I’ve been postponing forever, and lofty future ideas like Medivia’s sound system. Once in a while I also add some new cool random features and hotkeys 😎.
Classic OTClient vs Medivia Client
Tons of assets and their own custom sprites all encrypted
Nice informational widgets to get you started as a new player
In-game donation store
Classic OTClient Advantages
Full classic interface with every detail working as intended
Builtin cam player/recorder that should support every Tibia version >7.6
2 medium* bug fixes that Medivia hasn’t fixed (*fairly significant to gameplay)
At least 9 minor* bug fixes that Medivia hasn’t fixed (*inconvenient)
In addition there’s at least 5-8 more missing things that technically doesn’t count as bugs such as missing hotkeys and other functionality that may or may not have been intended
Working on sound system and encrypted assets, basic functionality already seems to be working just a couple of hours in
To Medivia’s credit, they have fixed more minor bugs than any other competitor’s client I’ve looked at and are still a class A competitor and long-term innovator of proprietary Open Tibia development.
My most interesting fully solo OT project so far. The server runs on pixie dust and haters’ tears. Download link
Core basic features
Tiny codebase (<10% of TFS’s sources).
Simple and elegant system design, far less source files (30 to TFS’s 163), ASCII file formats for all server data, elegant solutions to reduce unnecessary complexity.
Multicore map loading (took about 1 day to add including bug fixes).
Linux, Windows and probably Mac compatible (untested).
10 seconds compilation time on Linux (single core, full rebuild), 14 seconds on Windows (3 seconds without optimization and multicore disabled).
Builtin login server & more.
/save accountid (saves player data in memory to accountid x)
/reset (kicks and resets player data in current account)
/speed number (0 is max)
/flags number (set player flags)
/dump x,y,z (dump map data on tile x,y,z in console)
/taint (defunct: marks tiles explored with persistent “taint” effect, was used to explore a weird persistent “silently drop connection” bug that’s since disappeared)
Pre git (2020)
Not much documentation to go on here as I didn’t use git or anything until 2021. There’s been tons of bugs, bug fixes and rewrites. Server has been fully rewritten 3 times in the early stages to improve core design. Server version 1 had a lot of game mechanics working such as moving items, stacking items, use item -> replaces items such as torch, vials, etc, some EQ and containers mechanics, but this server version had tons of core issues so to speak. Version 4 has great core design, but less game mechanics.
Some pre-git changes/fixes documented in text files:
Fixed /a 1 (player should walk, not teleport, this short distance).
Old memory leak fixed (design issue, fully replaced).
/save slotid command saves copy of character to slot n.
A few others from memory:
Added (and later perfected) loading of monsters, spawning and random walking.
Game loop frequency can be adjusted in config and changed ingame with /gamefrequency command.
Players and monsters can no longer walk through walls and other non-traversable objects.
Instruments works because music rocks :)
Post git (Dec 30th 2020)
Multicore map loading – reduces map loading time by 300% when using 4 cores (Dec 30th 2020).
Maximally optimized map loading – 2x speed from last commit + 2x with -O1 (Jan 2nd 2021).
Fixed bug: random ~1% loss of tiles caused by unreliable C function (Jan 2nd 2021).
Fixed bug: ~5% chance of segfaulting during map load after introducing multicore map loading – only 1 known segfault bug left in server which is an easy fix (Jan 3rd 2021).