SamuKata
magmaguy
magmaguy

patreon


EternalTD and FreeMinecraftModels are finally here. Devlog.

Hello everyone,

To say that EternalTD took longer to do the first release for would be the understatement of the year.

I originally believed it was going to take me a month to do the first release, and it ultimately took three. Now, if all you care about is the final result, you can skip to the end of this post where I will talk about what comes next. However, having spent three very intense months working on this, I want to expand why exactly this release kept getting pushed back.

The ETD+FMM adventure:

The original concept of ETD was not necessarily simple, but it was significantly simpler than how it ultimately turned out to be. Originally, I was not going to make models, and I was not particularly planning to make my own pathfinding solution for it.

PaperMC has a pathfinding API, and for the entirety of the alpha, that's what I relied on to make the plugin.

However, I quickly came to the conclusion that releasing this plugin as either a paper-specific plugin or having to rely on teleports instead of movement was not going to fly if I wanted to make the plugin even a little bit appealing.

Unfortunately for me, the only way to do pathfinding in Minecraft without either relying on PaperMC's API (thus making it a PaperMC plugin) or another API would be to implement my own NMS solution.

Now, fortunately, I had recently made a similar pathfinding solution for EliteMobs leashes, so adding pathfinding ended up taking a bit of time, but certainly not as long as if I had to implement that from scratch. It took quite a bit of work to try to wrangle the entities into not doing weird things, as horses were still stopping to graze, allays were still charging forward, ghasts were still just floating off... the list goes on, but we got there in the end, and the solution ironically ends up being significantly more efficient for it.

Then, we have the second titan: FreeMinecraftModels. This is a nearly mythical plugin, something that was in the highest patreon goals for essentially as long as I've had goals on patreon. I don't think I need to explain to you how game-changing it is to be able to have custom models of your own design in your server. I use them for towers, and for tutorial arrows as of the release, but I will be making model packs for dungeons, for spawns, for christmas and for summer, for spooky places and for candyland; I really believe that seeing custom models in-game significantly changes the nature of the game, and the ability to easily create and manage them is invaluable to any server.

So, around the time I was finishing the original scope of ETD, I decided to do a quick side quest and make a whole other plugin.

I don't regret doing it, and I can't particularly claim that it was easier or harder than I had originally imagined; however, as someone who had never really looked at resource packs too closely before, a great deal of time was spent understanding how they work, their limitations and implementing workarounds, as well as having to guess certain values minecraft has hardcoded in.

FMM is now released as an open-source plugin, and the only real content for it is in EternalTD. It currently mostly acts as library or API for ETD, making it easy for other developers to use in their own plugins.

However, that is not where the story of FMM ends, it is only the beginning. I envision a plugin that can do both what ModelEngine and ItemsAdder do, albeit a more restrained way. I plan to make EliteMobs use FreeMinecraftModels instead of ModelEngine, because when I release free content with models I do understand that some people can't afford the model viewer when that costs $18. I want people to be able to place down their decorations as they would with armor stands, as well as remove them, and have them persist correctly in the world. I envision it to be easy to use, easy to develop for, easy to maintain and easy to expand upon. And, as always, I will be providing both free and premium premade content for it, though admins and content creators will be more than welcome to make their own.

Right now, though, it's a really cool thing that gives EternalTD a completely different feel.

So, that's cool, I made a sort of ModelEngine lite. That's it, right?

Wrong. It's nice to have a model viewer, but the next step was adding 72 models to the plugin.

Now, bear with me as I take you behind the scenes and we do a little math.

The cheapest model I've ever been able to negotiate with modelers cost me $25 (it wasn't good). The most expensive, the final Primis boss which should be getting released in the coming days, cost $90.

Now, I knew ahead of time that I needed 72 models. The $30 model was, honestly, not great. So, assuming that to get a decent model I would have to pay an average of $50, that's $50 x 72 = $3600. That's, to put it mildly, a bit too much for a type of plugin that has, to the best of my knowledge, never been made before, or at least hasn't become popular enough that I heard of it. And also, more models will be needed as we move forward.

Now, someone offered to do free models. It's been about a month and I have still not received those models. I say this not to shame that person specifically - this is the norm. Even when I pay modelers above their asking price, they tend to just not deliver, or 24h delivery schedules turn into 3 weeks, and that's not a risk I wanted to take over 72 models.

So, instead, I had to not so much learn modelling but rather get better at it. My issue is less with the tools themselves, and more that I am, to be perfectly honest, a terrible graphical designer. But, with enough iteration work, enough time sunk into it, enough feedback from the Nightbreak staff and community and enough coffee, I believe that the two or three weeks I spend making models were not a complete waste of time.

Which, at the end of the day, left me with two challenges: ease of installation and player guides.

I believe that the style I have developed over the years for installing content is relatively simple. EM and BS users know how much I like my imports folder, and I try to make installation possible with as few clicks as possible.

Now, ETD is similarly complex to EliteMobs when it comes to installing content. There's the hub, which is a world which goes in the worlds folder of your server. There's 15 maps, which go in the worlds folder of ETD. There's waves and levels, which also go in their corresponding folders in ETD. Then there's FMM files, which go in the FMM directory, which are then further processed by that plugin. Finally, there's the resource pack, which in a style similar to EliteMobs I provide an official version of to make installation easier.

And, obviously, it has to work reliably on every operating system and server software I want compatibility for.

And that takes us to the last point, player guides. There's many ways I could have done this - a github wiki, a custom website, a video, some text on the spigot page, maybe some messages on normal waves.

Instead, I decided to make a full-on tutorial system, in a custom map, with custom assets and code, guiding players through the very basics of ETD. This may seem like overkill to some, but this is actually the result of extensive testing. Players not used to this style of tower defense game, or indeed tower defense games at all, were spotted playing a single game, failing to do anything in it and abandoning ship.

Few people like the idea of a tutorial, but one was more than justified here. The new player experience with the tutorial has significantly higher rates of engagement versus just throwing them into matches.

And, of course, every system, every rebalance, every tweak and every addition require copious amounts of testing.

I want at this point to specifically credit and thank Frostcone, Dali_ and Max for their help in constructing the experience as you see it. Many of the map layouts, many of the wave designs and virtually every build have been handled by them, and they deserve recognition for the great work they've done here. Testing was also only really made possible with their help, and their feedback has shaped the balance of the game to be in a place we are satisfied with.

There were, of course, other things that took time - complicated bugs, having to go through several iterations of some systems, and more, but I believe that I have gone over the biggest time sinks of this project.

What's next?

I'm leaving for France on the 4th, so I'm thinking about relaxing at the beach, have a few drinks, relax...

Just kidding! I'm taking my laptop, I'm only staying 2 days and I'll be working the whole time.

In the immediate future, I plan to update every plugin I have developed officially to 1.20.1. For the most part, this will come with minor tweaks and fixes, addressing things people have reported over the last couple of months. I expect BetterStructures and EliteMobs will have updates tomorrow. I already have a number of fixes ready to go.

Beyond that, I will be releasing the content we've slowly been building up, that being:

- Primis 1.0
- Oasis - adventure update 1
- The Cave update (becomes free)
- The Mines dungeon (continuation of the story dungeons)

There's a lot more we are preparing, and I will reveal those when I have a better idea of how close they are to being ready for release.

I will be trying to make videos on ETD and FMM soon, going over how to install them, how to use them and even some videos just about their development over the coming weeks.

I hope you enjoy the plugin, it really was a lot of work to make and I think it's a lot of fun to play.

If you want to try it out, you can do so at eternaltd.matecraft.org


Happy defending,

- MagmaGuy


More Creators