SMP on Stracciatella

June 27, 2009

So maybe v1.13 isn’t quite dead after all. There is some discussion going on about SMP which is short for Stable Modding Platform. While 1.13 features everything anyone has ever come up with (including the kitchen sink) SMP is supposed to be a more serious attempt to make JA2 moddable.

Although the idea of developing a SMP has been around for quite a while now, it hasn’t really kicked off yet. But at least there is some activity in the public forums and I hope the same is true for the private ones. One thing that caught my attention is the plan to use the Stracciatella project as a foundation to base SMP upon.

Compared to v1.13, Stracciatella has evolved in parallel but largely unnoticed. The average Joe might have never heard of it because it doesn’t feature any fancy modifications like 1.13. Quite contrary, it preserves the vanilla game-play and brings cross-platform support and tons of bug fixes and code refactoring. This makes Stracciatella a perfect starting point for SMP.

Because seriously — where else would you begin with SMP? V1.13 is totally screwed up. Because it sucks so much, there is a demand for another stable modding platform in the first place. Which leaves Vanilla JA2 and Stracciatella of which the latter performs considerably well. Because it is portable. Has fixed lots of bugs. Uses SDL. Replaced those weird assembly blitters. Etc. etc.

The only thing to take into account is Visual Studio’s lack of support for C99 which could give our Windows developers a hard time with Stracciatella. But don’t let that stop you. Frankly, I don’t see SMP getting started anytime soon but I really wish people start caring. Please, take it seriously this time and don’t turn it into v1.13 – 2.0.


v1.13 is dead, or isn’t it?

November 23, 2008

Where is the progress? Is there any progress? Little things have changed since the last major release in April. Sure, there is the usual fixing a bug here, tweaking something there. But apart from that both the forums and the repository log aren’t featuring any serious improvements to be in the pipeline.

The discussion about a milestone is now called “Stable Modding Platform” and there even is a dedicated official forum in the 1.13 section over at Bear’s Pit. “Finally”, one might think, but if you take a deeper look you’ll notice how vacant it is. Some half-baked ideas, a call out to all the programmers to join, that’s it. The feature request forum however is busy as always…

“We don’t have enough coders”, they say. “And those who are still active do what they like to do – not what should be done”, they say. Seems that by definition things that should be done never actually get done if anything is done at all. “We can’t force the coders to do anything. We are thankful that they spend their precious spare time contributing something at all”, they say.

They are right. Of course they can’t force anyone into anything. Of course the coders prefer feeding sweeties to the community instead of investing less glorious code into the long run. This describes pretty much how additions find their way into 1.13. Make something the community can see – let it be a bloated new inventory or some hilarious description boxes, anything will do – and they’ll love it. Love you.

You know what? The community sucks.

The community successfully prevents any real improvements. That’s how they got educated. There has never been a leader who drives 1.13 into one particular direction. A decider who separates reasonable ideas from all the bullshit. A visionary who knows the value of a moddable platform. There were people who constantly voiced their opinion. Who didn’t remain mute about the evolution of 1.13. But they were unheard over all the yelling by the masses which demanded that 1.13 produces yet another pointless feature. This is how we got to what we have today.

Because no one was inspirational enough to make the community accept less glittering advancements. If that had been the case I’m sure there would have been coders who’d have enjoyed implementing those things in question.

I tend to doubt that the 1.13 project can regain the fire of the early days before it lost all its potential at some point. Maybe it’s okay to call 1.13 officially failed.


Is it a Mod or a Platform?

February 3, 2008

When people new to 1.13 join the JA2 forums and write something about the “1.13 mod” it doesn’t take too long for the other users to correct them about 1.13 not being a mod but a platform for other mods to be based on. While this was true back in the days when the project started, as times passes 1.13 turns more and more into a mod itself. Let’s face it: The goal is not making the game moddable any more but simply squeezing in every little pseudo-feature you can think of. This isn’t bad by definition either – just don’t call it a platform when it’s not.

It was okay when they focused on externalizing hard-coded data from the executable. When they made it XML and got rid of stupid game limitations. But for quite a while now they lost sight of continuing that primary goal. Instead, they put in items over items, weapons over weapons. Things that should be left for future mods on 1.13 one could think. Another example is the “New Inventory” add-on. Regardless of whether you like it or not, how does this add to making the game a platform? If I made a mod, I couldn’t care less about the inventory system if it didn’t improve moddability.

The essential key-area to concentrate on should be externalizing data again to legitimate the use of the term “platform”. There are still way to many things begging for XMLification. Think of prof.dat, the animation system, NPC scripting and all those things that would add real value to the game if a modder was able to pick them.

There is one promising addition though. Someone added some LUA libraries to the code, for game scripting obviously. Unfortunately though there is a total lack of making use of them so far. Scripting support however (real scripting support for that matter) could turn things totally around. This would not only be a huge addition to the game when it comes to modding options but also allow people to work on meaningful features since other popular features could be developed separately via scripts. Curios about what coming next.

To draw a conclusion, there’s one thing to say: Keep externalizing. I know it’s hard. I know everyone contributing does it for fun, for the community and for free. So they do whatever they like and not necessarily what should be done. Of course, they got my respect and my gratitude nonetheless. But please, don’t be silly and insist on 1.13 being a platform.