State of TTT

If you're reading this, you probably came from TTT's BukkitDev page, in which case I owe you a serious apology, as I've been far behind on my promises for the plugin. Very, very far behind.

Basically, I bit off more than I could chew. In (I believe) March of 2014, I started a project called MGLib. The goal of this project was to move all the generic minigame systems found in TTT to their own framework so I could update the core engine (the stuff that deals with timers and rollbacks and such) separately from the main plugin (the stuff that deals with karma and traitors and such), as well as make it easier for me to make more minigame plugins. Unfortunately, I failed in both of these goals. I found that keeping functionality separate and maintaining two separate plugins made it even more difficult to develop, and subsequently release schedules suffered. Furthermore, I have yet to release another minigame utilizing MGLib.

The other half of the issue was that a year ago, I had absolutely no experience in API design, and as such had no clue what I was doing when designing the framework. This became more and more clear as I attempted to move toward a new release candidate for MGLib, as I discovered huge weaknesses in the API which I couldn't change without completely breaking backward compatibility. Additionally, the future of the API was limited by my past mistakes, and this was an enormous burden on me as development continued.

Eventually, in April of this year, I made the decision to scrap MGLib entirely and start a new framework called Flint. I stated that I wanted to aim to "complete the API before June, and have a fully working implementation...sometime during the summer." This was naïve. Not only was this an unrealistic timeframe for me to ensure quality and that I wouldn't make the same mistakes I did with MGLib, but I started the project at a very unfortunate time. I barely had time to breathe between the months of May and June, what with APs, SATs, some other acronyms, prom, and just normal schoolwork, let alone do API design.

The point of telling you all this is that TTT's future is currently resting on Flint. As much as I'd like to hack away at traitor testers, I can't do that while the plugin's foundation is a deprecated, outdated, and poorly-designed framework. I'm still aiming to have Flint's API complete very soon and at least the Bukkit implementation finished before the end of summer (which technically gives me until late September), and after that I'll work on TTT again. Most likely, it'll be a couple months before you see a major update, but it's on the way. I promise.

On a sidenote, if you want to track the progress of Flint and TTT, I'll put some links to their milestones on Github below so that you can check back on them once in a while.

tl;dr: I screwed up last year and thought I could make working on TTT easier but I actually made it harder. I'm trying again now that I have more experience to make it easier but it's going to take some time.

Github milestones:

Posted by Max Roncace on July 12, 2015

Log in or register to post a comment!

No comments to display!