Engine v1.0.0 / Alpha RC 1 ! And a Terasology panel at BetterThanMinecon

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
We have our first release candidate for engine release v1.0.0 / game ALPHA! :D

Which is almost certainly going to get disqualified in the coming days - there's a fair bit more stuff to do than just bump the version and change a few game labels. I've rebuilt all the modules (some had to get their Core dependency bumped to cover v1.0.0) and done very basic smoke testing of the game but it is 3 am and we really should do more extensive testing this time around than me just fooling around for a few minutes.

Still need to update some documentation as well, which is next. I've also finished a first round of infrastructure upgrades so we're now on the latest Jenkins, Artifactory, Gradle, plugins, etc.

In the meantime I wanted to get this RC1 out so we can start testing it and breaking it (most likely). I'd like to consider us in a soft code freeze of sorts until we formally release v1.0.0 / Alpha - keep from merging anything risking stability without enough reward (mainly engine, but I'd like to keep the modules stable too for a bit)

Tomorrow, Sunday, really more like just less than 12 hours from this post (7-30 PM UTC), I'm doing a modding panel on Terasology at BetterThanMinecon 2016 - a little pseudo-convention inside Minecraft hosted by Asie and a pile of other MC modders. I attended the inaugural joke-turned-into-a-con back in July/August-ish and briefly spoke on an IDE topic, this time I thought I'd do something proper :)

If anybody is around I encourage you to check the link above and hop in to check out the con - there are 100+ mods mixed together with booths all over the place along with occasional panel talks. Plus a pile of the actual modders behind them to help with demos and questions. And help me out with my panel! I need a note taker and some good ideas and suggestions :)

Got too late tonight to prepare further but I have an initial outline and hope to prepare some fancy slides in advance, gasp. Slideshow at a panel at a modding convention inside Minecraft with the topic being modding in another MC-like. Wee!
 
Last edited:

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Much fun was had earlier today for the last few hours of BTM16. We might have some new names appearing around here :)

The talk I did should end up in a dedicated Youtube segment sometime over the next few days. In the meantime anybody curious can check this Twitch stream starting at the linked time. If you then keep following it after you can catch the rather surprising final ending of the event! My talk probably won't be super interesting to anybody already well-aware of Terasology, but it got a fair amount of questions and is probably our first sort of public awareness event.

BTM's "convention center" on the other hand is crazy impressive, especially considering how fast it was built (especially the surprise at the end which was built at the end). There is a bunch of screenies at: http://imgur.com/a/GmIkK and a map at http://i.imgur.com/WtyGZAR.png - lots of congratulations to asie and the crew for pulling it off!

The next BTM is likely to be sometime this July, and is working out great for modders to advertise their stuff (and fix bugs during the event!) - and we should start doing something similar now that we're practically in alpha. There is even potential to do some interesting coordination with the next BTM :)

I've previously written up a concept for automated testing and a neat sort of showcase / credits world we can eventually put together and ship with the game. But that's all techie. We eventually should do these showcase worlds with builds manually. Especially now. I'll try to set something up later, maybe in three months or so. Practice!

In the meantime a few new issues were reported by new arrivals: Launcher not working on Linux, Preview not working for Cities, and a NPE in TTA. I'll be sorting through the v1.0.0 changelog and outstanding issues over the coming days while working on docs so we can see what fixes we can apply on top of RC1.
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
RC 2 is available in Jenkins.

It won't be the last though as we did find something worthy delaying over: a camera decoupling system by @Josharias. In short this separates the camera location from a model's feet + some offset allowing for such things as models that turn their head as their eyes/vision ("gaze" in the system) moves around. That leads to some other related features as well. Being that it was about ready and it would be a pity to release v1.0.0 only to break it days/weeks later needing a v2.0.0 we'll wait a little bit until it is fully hooked up and stable :)

In the meantime (and included in RC2) we also added controller support, although it is still rough. Might also stabilize a bit more with the added time.

I switched the label tracking from being all about Blockers to instead being marked as API and took the label off some issues confirmed as not impacting the modding API. Of the remaining 9 we have 3 closed, 3 likely non-issues, the camera one, a package clarification thing I'll complete right before final testing, and a package review I'll call complete with the former note finished.

The link above goes directly to RC2 while I'll merge the first round for the camera thing next (assuming no major issues) meaning latest develop will include it soon. Here are some camera preview videos:



 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Another update - documentation!

I've done a first big round of overhaul primarily of our main wiki: https://github.com/MovingBlocks/Terasology/wiki

Many pages were culled with no survivors, not even the children were spared. Oh the humanity. My condolences to the families, and to any contributors whose work was affected in the massacre. Some pages that faced the axe didn't really have any problems themselves, they might even have been useful, they were just out of place since comparable pages didn't exist for many similar topics, yet writing them all up would make the wiki way too bloated.

We went from 73 pages to 34 and there is more to go. Idea is much as with the engine itself - tear everything out that could go into a module, or in this case alternatively in an appropriate library repo instead. We shouldn't necessarily dig deep into how assets work in the engine wiki - that's a better job for gestalt-asset's repo/wiki. Behavior trees, pathfinding, old crafting system etc - all exiled to an appropriate alternative repo/wiki. Plenty of links and Google results are now broken, but this is the time to do it before officially going v1.0.0 with the engine.

Another great option here is to do more tutorial repos like TutorialWorldGeneration. I consider that really the gold standard for how to do it - kudos again to @Josharias for starting it and @msteiger for adding in. We should do that for more topics like registering a new asset type, creating and importing a creature model from Blender, and so on. Much better than just having a random few pages in the engine wiki. The Sample repo could also use a few more basics. And a bunch of simple tutorials could probably live in the same place. Best part: Eventually we can involve automated testing to make sure the tutorials are up to date, or their tests will break.

The engine should just be about the engine, and really most of that is getting extracted too (mainly Gestalt). Other than that we should do some general intro and link everywhere. That's the main bit left - overhauling some of the central pages, cutting them down in size, and making better detail pages elsewhere. Or ideally use third party guides since we shouldn't really need to explain how to use Markdown or the finer details of Git, there are great guides on GitHub for both of those.

Other topics included stuff that's global to our organization entirely, like coding conventions, how to do unit testing / JavaDoc, and so on. Those don't really have a home at present, but I'm thinking they should, somewhere they can be referenced in brief from other repos. This counts for some plain repo files like the CONTRIBUTING file (now also available in the engine repo) as well - that could easily bloat yet duplicate many other versions from other repos. Instead we should have a really brief one that links to a central location.

In the end the engine wiki will probably be pretty minimal. It'll also be easy to maintain rather than a mess of different topics at different levels of quality and completeness.

I also merged in a code of conduct - thanks to @MaloJaffre for pushing it along after I mentioned it as an idea in the past. I don't think there's anything particularly controversial in it, pretty much all is common sense / political correctness we just want to cover so it has been said somewhere. If anybody disagrees or has issues with it please let me know :) I made a new abuse@terasology.org forward to make complaints but don't really expect we'll ever get any. For now it just points to me and does a quick auto-respond. Let me know if anybody else wants a forward from there too, just in case.

I'm still planning for the automated documentation types (JavaDoc, Modding API, etc) and thinking about where to best put it all. Am thinking a gh-pages branch per repo to hold generated doc per release on top of a very thin foundation. I tested the size impact on a repo from repeatedly dumps of automated documentation (even images!) and it is surprisingly small. Second I might try an Iota sort of comprehensive index repo to browse documentation from many different places in one clean structure + the general pages like code conventions that don't go in a single functional repo.

Edit: Oh, I made a copy of the old wiki in a new repo: https://github.com/MovingBlocks/TempDoc - just in case. Also to see how pushing a wiki repo to a normal repo would work.
 
Last edited:

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Annnd finally another RC - although I am sure I use that term wrong just because it is shinier than "milestone" at this point :)

I've tested http://jenkins.terasology.org/job/DistroOmega/389/artifact/distros/omega/build/distributions/TerasologyOmega.zip after merging most remaining stuff and then some myself on top. Not thoroughly tested and there's a crash bug in TTA likely related to inventory code we should sort out soon'ish. But there have been a huge amount of engine changes to give the v1.0.0 foundation some more longevity and flexibility before we lock it down.

Maybe most interestingly is @Josharias' new gameplay template that works without Core at all, even after having extracted out health, inventory, etc.

Video:


Screenie of "listBlocks" which I thought was telling (and two of the blocks are in the gameplay template!)

Terasology___Alpha_2016-02-21_23-12-12.png

Minimalism representin!

The really good news is that I'm unaware of any additional pending code or effort we need to wait on (there's one tiny PR and a bug or two that'll probably get fixed over the next few days). So we're back to when we can start serious testing and the moment everything looks clear we can officially go v1.0.0. Everything else is optional at this point, though plenty of those would still be nice to have, like some more tutorials (1, 2, 3)

If no additional blocker type issues are encountered I imagine we'll release next weekend or the weekend after that.

Edit: Oh, and we need a video for the clearly most fun improvement: MOAR EXPLOSIONS! (with optimized physics!)
 
Last edited:
Top