Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

blog: blogpost summarizing achievements of revival milestone 3 #246

Merged
merged 4 commits into from
Jul 14, 2024

Conversation

jdrueckert
Copy link
Member

@jdrueckert jdrueckert commented Jun 26, 2024

TODO before merge

  • create and use cover

### TODO before merge

- create and use cover
@jdrueckert jdrueckert self-assigned this Jun 26, 2024
posttype: blog
title: "Exploring Revival Milestone 3 - Upgrades, Fixes and Improvements Left, Right and Center"
cover: "./cover.jpg"
description: "Exploring Terasology Revival Milestone 3: Our continued focus on performance and quality was supported by various fixes left and right. We’re celebrating our achievements and planning our path ahead. We’re nearing the gameplay content work phase: Almost Ready!"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We’re nearing the gameplay content work phase

This is technically accurate but maybe a bit too much "project manager style" for an outreach blog post. I am not sure about the best way to word this but I think we should avoid the term "work phase" where possible. It implies two things that I'm not sure we intend:

  1. That we see this as "work". Well, it is work, in the literal sense. One of the things I've found common with discussing hobby-based projects is that you care more about the goal than the means. It is "work" to get there but what we're doing is building a game, not generic "work" as-if it's just any old job. Maybe it's just for me that "work" has connotations of the standard 9-5 day job though.
  2. The work "phase" has a defined end point. We have aspirations (that I hope we can meet) but are not committed to a fixed time span.

Maybe something like the following might be better?

Suggested change
description: "Exploring Terasology Revival Milestone 3: Our continued focus on performance and quality was supported by various fixes left and right. We’re celebrating our achievements and planning our path ahead. We’re nearing the gameplay content work phase: Almost Ready!"
description: "Exploring Terasology Revival Milestone 3: Our continued focus on performance and quality was supported by various fixes left and right. We’re celebrating our achievements and planning our path ahead. We’re laying the foundations for new and improved gameplay: Almost Ready!"

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What I was going for was rather "content work" than "work phase", but I wasn't happy with that wording either. I like "laying foundations" 🙂


_Exploring Terasology Revival Milestone 3: Our continued focus on performance and quality was supported by various fixes left and right.
We’re celebrating our achievements and planning our path ahead.
We’re nearing the gameplay content work phase: Almost Ready!_
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See my comment above about the wording of this particular line.


🎉 In total, we merged [27 engine PRs](https://github.com/MovingBlocks/Terasology/pulls?page=1&q=is%3Apr+sort%3Aupdated-desc+is%3Amerged+merged%3A2023-11-20..2024-06-16), [78 module PRs](https://github.com/search?q=+org%3Aterasology+is%3Apr+merged%3A2023-11-20..2024-06-16+&type=pullrequests&p=1), and [20 PRs](https://github.com/search?q=-repo%3Amovingblocks%2Fterasology+org%3Amovingblocks+is%3Apr+merged%3A2023-11-20..2024-06-16+&type=pullrequests&p=3) on libraries and side projects such as gestalt, the launcher, or the module site.

After the migration to Java 17 as part of our last milestone, in this milestone we spent time resolving issues arising from this migration 🐛
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
After the migration to Java 17 as part of our last milestone, in this milestone we spent time resolving issues arising from this migration 🐛
After the migration to Java 17 as part of our last milestone, in this milestone we spent time resolving issues arising from the migration 🐛

The double-use of "this" makes for a confusing context while reading. I prefer "the migration" in this case.


Thanks to various new contributors as well as our core revival team, we merged many many fixes this milestone 💪
They removed client and server bugs, in-game content and graphics bugs as well as vulnerable web dependencies and broken documentation links 🐞
Thank you to _@Khaled-Dridi_ and _@Imitater967_ for their fixes for the windows fullscren bug and no longer working visual effects and command line arguments 👏
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Thank you to _@Khaled-Dridi_ and _@Imitater967_ for their fixes for the windows fullscren bug and no longer working visual effects and command line arguments 👏
Thank you to _@Khaled-Dridi_ and _@Imitater967_ for their fixes for the fullscreen bug on Windows and no longer working visual effects and command line arguments 👏

Windowed Fullscreen (a borderless window occupying the entire screen) and fullscreen on Windows are two different things. Maybe this would make it clearer that the fullscreen bug was Windows-only?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

absolutely! I think that was one of the last things I added in and my brain was a bit blank by then 😅 good catch!

Next to these bigger efforts, a lot of smaller discussions and activities happened across our GitHub repositories and Discord channels.
_@BSA_ and _@Niruandaleth_ met once per week virtually to discuss milestone progress, agree on strategic questions, and collaborate on blockers and reviews 📅
Over the course of our third revival milestone, _@Cervator_ provided guidance for new community members and revivers alike, sharing his knowledge of the project history and in particular its infrastructure ⌨
Revival milestone contributor already for the previous milestone, _@soloturn_, considerably contributed to this milestone as well by updating dependencies, facilitating migrations to Kotlin, and streamlining PR workflows by addressing issues flagged by PMD 🤓
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Revival milestone contributor already for the previous milestone, _@soloturn_, considerably contributed to this milestone as well by updating dependencies, facilitating migrations to Kotlin, and streamlining PR workflows by addressing issues flagged by PMD 🤓
Returning from our previous milestone, _@soloturn_ again contributed considerably to this milestone by updating dependencies, facilitating migrations to Kotlin and streamlining PR workflows by addressing issues flagged by PMD 🤓

I prefer this wording personally but it essentially means the same thing.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again a phrase I wasn't happy with, so thanks for improving it 👍

Over the course of our third revival milestone, _@Cervator_ provided guidance for new community members and revivers alike, sharing his knowledge of the project history and in particular its infrastructure ⌨
Revival milestone contributor already for the previous milestone, _@soloturn_, considerably contributed to this milestone as well by updating dependencies, facilitating migrations to Kotlin, and streamlining PR workflows by addressing issues flagged by PMD 🤓
Recently joined contributors _@spookynutz_ and _@manumafe98_ authored various moduleland PRs refactoring components and test annotations, thus achieving a more consistent use of ECS and our module testing framework 💪
Long-time contributor _@engiValk_ visited the project to fix the water super jump bug reported by @SomethingSomethingV2, improving gameplay consistency 🔨
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here it seems that @SomethingSomethingV2 is not italicised, whilst the other mentioned names are. Should all contributor names be formatted the same, or are there particular rules as to when to do this?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, you're absolutely right, it should be italicised like the others, I just forgot to do that in that spot.


### 🛠 Infrastructure & Stability Enhancements

Led by @BenjaminAmos (BSA), we will be migrating to gestalt 8. This involves upgrading dependencies to gestalt 8.0.0-SNAPSHOT and transitioning from nui-gestalt7 to nui-gestalt.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Led by @BenjaminAmos (BSA), we will be migrating to gestalt 8. This involves upgrading dependencies to gestalt 8.0.0-SNAPSHOT and transitioning from nui-gestalt7 to nui-gestalt.
Led by @BenjaminAmos (BSA), we will be migrating to the latest iteration of our gestalt library (gestalt 8). This involves upgrading dependencies to gestalt 8.0.0-SNAPSHOT and transitioning from nui-gestalt7 to nui-gestalt.

I would recommend a bit more context about gestalt, although that's a bit tricky since, as it's name quite accurately describes, it is a collection of bits which make more sense when combined together. As a minimum, I think it's worth mentioning that this is an iterative improvement on our self-built library, rather than some fancy new miracle framework.

I am not too sure that the fine technical details of this migration belong in a blog post. It would be better if we had a GitHub issue tracking the effort that you could then to link to in the blog post if people are interested in more information.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Totally fair to add more context. With the last bit removed based on your comment below, I think the level of technical details is acceptable.


Led by @BenjaminAmos (BSA), we will be migrating to gestalt 8. This involves upgrading dependencies to gestalt 8.0.0-SNAPSHOT and transitioning from nui-gestalt7 to nui-gestalt.
Annotating all relevant annotations and base classes with @Index and @IndexInherited respectively ensures efficient class discovery.
Additionally, replacing deprecated API references with org.terasology.context.annotation.API standardizes our codebase for future enhancements. 🛠️
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Technically we never deprecated the old @API annotation. Gestalt 8 just moves it into a different package.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed 👍


@BenjaminAmos (BSA) and @jdrueckert (Niruandaleth) continue to investigate performance bottlenecks, particularly focusing on chunk generation and loading stuttering identified in CoreGameplay.
This initiative aims to deliver smoother gameplay experiences across various hardware configurations.
Planned efforts include refactoring code in the top ten critical performance areas as documented in [Terasology#5150]() for optimization potential.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Planned efforts include refactoring code in the top ten critical performance areas as documented in [Terasology#5150]() for optimization potential.
Planned efforts include refactoring code in the top ten critical performance areas as documented in [Terasology#5150](https://github.com/MovingBlocks/Terasology/issues/5150) for optimization potential.

I think you forgot to include the link here.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

indeed I did


### ⚙ Quality Assurance and Engine Refactorings

Like before, if time permits, @jdrueckert (Niruandaleth) aims to continue with quality improvements and code refactorings.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Like before, if time permits, @jdrueckert (Niruandaleth) aims to continue with quality improvements and code refactorings.
As before, @jdrueckert (Niruandaleth) aims to continue with quality improvements and code refactorings.

We are not constraining this to a fixed timescale, so time permitting is a slightly misleading thing to say here. What I understand this to mean is that this is not a requirement for finishing our milestone. Using some tentative language may be enough to bring that across more clearly but I am not sure on this one.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I couldn't really think of how to phased that more tentatively... Skal argued that "to aim for something" already is relatively "weak", though, for instance compared to "to strive for something"

Copy link

@jdrueckert jdrueckert merged commit 874da78 into master Jul 14, 2024
7 checks passed
@jdrueckert jdrueckert deleted the blog/revival-milestone-3 branch July 14, 2024 10:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants