Game Councilor

30

Game councilor: part 1 / 3

Recently Keyser resigned as Game Councilor and last week I was approved by the board to take over. Some of you may know me as a map maker, for making trailers, for trying to improve the performance of the game or adjusting or adding in new features. I will focus my attention on the last two - and I hope we can do this together.

About us: the community

We're a self sustaining community with various contributors as our backbone. There are numerous ways one can contribute: By creating graphics for the news team, by being a personal trainer to help players out, by being a moderator to protect the community from itself - this list continues on and on. I want to take this opportunity to highlight two of them: taking part in productive discussions and testing the game or client.

Discussions

Discussions are a corner point of a thriving community. The development of the game should be no exception for these discussions. A recent example is the adjustment to the mass extractor capping feature that started with a discussion on the forums. This is the type of interaction that we should have with the community. In order to facilitate this further we're expanding our use of our Discord channel:

  • A new channel '#game-updates' under 'Technical' where all updates to the develop branch / release branch are posted
  • A new channel '#game-features' under 'Technical' where where all updates that can benefit from discussions are posted, including sub threads for each update to discuss the update with the community
  • A new channel '#game-general' under 'Technical' where you can talk about (technical) game improvements in general

You will require the @Tester role that you can select in the #role-selection channel in order to respond to and discuss features. The same role will be used to ping when new features arise. The role is shared with client testers and announcements.

I hope with this change we can accommodate a more community-engaged game development, in particular the idea is that:

  • The forums can be used to initiate a discussion on features / improvements
  • Discord can be used to discuss features / improvements on an informal level with fellow community members and the game developers
  • Github can be used to discuss features / improvements on a technical level with fellow game developers
  • Zulip can be used to discuss features / improvements on a technical level with fellow developers of other branches, such as the client or server developers

We're going to use next week to set up the Discord channels.

These discussions should involve bug fixes, feature suggestions and performance improvements. Balance discussions have their own councilor and their own forum sections.

Testers

People that test the client or game have a direct impact to the overall experience of the community. Their work is appreciated - I'd like to use this section to highlight @WhenDayBreaks, @Emperor_Penguin, @GenevaConvention , @Tagada, @Snagglefox and everyone else who has discussed issues with me in the past that they experienced with the game.

There is a new patch coming set to release on the 26th of November. You can find the changelog on Github. Meanwhile we're trying to create a stable version of the client with various changes including an auto debugger and improvements to team matchmaking. I am asking everyone reading this to contribute - not by writing code, not by creating graphics and not by making content or managing content.

Instead contribute by giving yourself to the @Tester role on Discord, by installing the pre release / alpha client and by hosting games on the game type FAF Develop. Then report back your findings - even when they are positive and stable. You can do so in #testing-faf and #game-general on Discord respectively.

Final note

The intention was to write more about my ideas as a councilor - but time is short. I'll be writing about other changes that I intent to make in the near future including a mentorship for community members that are willing to learn about and work with the game repository for an extended time. But for now - let us enjoy this game together and report back the bugs.

A work of art is never finished, merely abandoned

2

After a discussion with Ftx and other people the channels under the Technical section are updated name-wise:

(new)                     -> client-development: webhook for commits of the client repository
faf-testing-announcements -> client-announcements: shoutouts / highlights of particular commits / features
faf-testing               -> client-testing: general testing topic

game-updates  -> game-development: webhook for commits of the fa / coop repository
game-features -> game-announcements: shoutouts / highlights of particular commits / features + threads
game-general  -> game-testing: general testing topic

client-prerelease-testing -> due for deletion as it overlaps with client-testing

With the web hooks any push to the repository is posted on Discord. This already prevented us from making a change that was apparently not required (lobby presets work for some people, but not for all). Thanks to @WhenDayBreaks and @Deribus for contacting us about that.

A work of art is never finished, merely abandoned

21

Game councilor: part 2 / 3

With the patches 3728 / 3729 / 3730 / 3731 behind us I think it is an ideal moment to look back and evaluate. I can't do this alone - I hope to receive your feedback in order to finalize the evaluation. Feel free to add anything in a separate post down below. Remind yourself to be constructive before posting.

Evaluation

A few things I've noted during the first few months of being game councilor.

Communication

Releasing two large updates at once is always a mistake.

As an example, the developers patch was supposed to release on the 26th of November. This was known in advance by two months as I've communicated this on the news, through the introduced dev Discord channels, through the milestones on Github* and anyone that asked me about it.

I found out one week in advance by asking the balance team that they intended to launch on the same day - even though I have been asking for weeks in advance (as early as October) what their launch date was going to be. Petric and I discussed it and they had to release now in order to make it valid for LoTS and I decided to postpone the developers patch to the 20th of December, right after LoTS. Reasoning: launching two major events at once is a mistake because they have not interacted together yet and if something goes wrong you do not know its source. And surely something did go wrong where the adjacency bug allowed for quite novel gameplay.

As another example, the developers patch was supposed to release on the 20th of December. This was known in advance by one month as I've communicated this on the forums, on the news, through the introduced dev Discord channels, through the milestones on Github* and anyone that asked me about it.

Out of nowhere 4v4 TMM was launched the Sunday evening before the patch and here I was thinking: should I launch the developers patch the day after, as I said I would? I decided to go through with it because there are new tournaments taking place early next year such as the Rainbow Cup. I need to make sure that the patch is stable for AIs and if it is not that AI devs would have sufficient time to communicate with us what was going wrong. Alas - things did go wrong as the disconnection window received an update but the default settings of the auto lobby (read: ladder) didn't get the same update. This issue wouldn't be critical as for the 1v1 and 2v2 queue the amount of connectivity issues are limited. But for the novel 4v4 queue connectivity issues are a lot more present and therefore people playing on Monday were experiencing a whole new type of ever-present disconnection window in the left top corner of their screen.

Long story short: communicating what is going to happen is key. It is frustrating for everyone involved when that doesn't happen. I've kept this to the impact on me - but the same applies to the News Team that got flanked by the last news on Sunday evening while the news set to release on Monday was essentially already finished and they were supposed to go on holiday-mode.

  • Note that I'm talking about milestone 3726 that was set to the 26th of November, got moved back (to the 20th of december). The name of the milestone didn't change as 3728 (the actual patch) was already taken by another milestone.

Stability of releases

In my opinion there are three type of releases:

  • (1) A stable release, no issues and no consecutive hotfixes required
  • (2) A release with minor issues, a consecutive hotfix is not immediately required but it is coming
  • (3) A release that is clearly broken

For all obvious reasons I aim for (1), but in practice I typically end up like (2). Even big budget companies like Ubisoft with their Game patch 13 for Anno 1800 introduces quite an amount of bugs and end up like (2) instead of (1). In my personal opinion a release like (2) is decent. However, we've also had releases like (3) in the past where the game is immediate and clearly broken - even though the issue may have been reported by a user.

Community interaction

One thing I am happy about is the amount of community interaction with the game repository. In particular having a separate channels and threads in Discord has helped a lot. There has also been more interest for the community in general. As an example, @GAS introduced the hover queue feature useful for casting and @Eternal made the UI for it.

Approach based on evaluation

A few things to change during the last few months as game councilor.

Playtest before release

To prevent a release like (3) I will refuse to release any large code base change that has not at least been played five times by the members of the team responsible. These play tests should be on various (popular) maps, including Dual Gap, Setons, the map generator and two of their own choice. The reason is simple: if something is at odds then players that often play those maps will notice. And since the people responsible for the patch are in-game playing they can immediate ponder on what changes may have done this.

I've been doing this myself for the large 3728 developers patch. As some of you can confirm - some nasty game breaking bugs were found and the wider population never got to know about them. All in all I think the 3728 developers patch was a (2) - one with only minor issues.

Better communication

In the near future I hope to finish the new readme for the game repository that is a bit more up to date. The current readme has not aged properly. As a few examples:

  • I'd like to update the content of the current readme with more relevant information
  • I'd like to introduce a Russian translation of the readme

I've been informing modders for the past few months to always test on the FAF Develop game type. I am going to re-iterate this in a more wider notion: if you want your mods to remain compatible with FAF then you ought to play them on the FAF Develop game type when we're asking you to do so in the news. There is a role in this for both the maintainers and users of a mod:

  • As a maintainer I recommend you to always test on FAF Develop and report back the stability
  • As a user, especially when the mod is unmaintained, I recommend you to play on FAF Develop when we ask you through the news and report back the stability

Informing us of the stability is not only relevant when things break. It is also relevant when things appear to be fine. That makes it easier for us to find the cause when things do break one week later. You can inform us on the official Discord server in the #game-bug-reporting channel.

As a quick example, this issue could've been prevented if someone would play BlackOps on FAF Develop when it was in the news. It was an easy fix - just a few lines.

Note that this doesn't mean that I'll suddenly fix your (ui) mods. Things that are broken right now will likely remain broken until the maintainer takes action.

Focus

With all of that said I'd like to look at what we have coming for next year.

Graphics


A 5x5 Evergreen / Tropical themed map


A 10x10 Desert themed map

Together with @CaptainKlutz we're looking into upgrading the graphics of (future) maps. I've been able to adjust the shader and embed additional information. With that we can use more advanced software such as a light mapper and have actual shadows, indirect lighting and direct lighting on our terrain. The results so far as astonishing in my opinion - and we have barely touched the surface. We could introduce biome-specific shaders with biome-specific properties.

I am actively looking for more people to participate on this journey. In particular:

  • If you have an interest in PBR
  • If you have an interest writing shaders
  • If you have an interest in graphics in general

then you are most welcome to help tinker on or implement what the possibilities are.

The current process on this can be found in this pull request.

Documentation and accessibility

As I mentioned before - I hope to improve the documentation about the repository and the game in general (for modders). I hope to revive the climate for modders / contributors to the game repository one step at a time.

Performance

And of course - the sole reason I became Game Councilor: I hope to be able to improve the performance of the game. There are still significant opportunities - it just takes time to implement them all.

I am actively looking for more people to participate on this journey. In particular:

  • If you have an interest in coding
  • If you have an interest in understanding how code ticks
  • If you want to make players feel bad because they have less APM during the late game

then you are most welcome to help tinker on orimplement these type of issues.

Overview

With all of that said - there are exciting times ahead of us. And I hope to share these with you - whether that is through playing the game, discussion issues and / or implementing features or fixes - we'll be doing it together.

A work of art is never finished, merely abandoned

4

Hello Jip, once again a big thank you for your work and efforts to improve the game. I'm very excited about the shadder I mentioned. Unfortunately, I can't help because I don't really know how to program. And work more with trial and error ^^ with my maps and mods.

4

hey, old time player, new FAF'er here, just wanted to say i appreciate everything you guys are doing, breathing new life into this classic

0

@jip said in Game Councilor:

A 10x10 Desert themed map

god that's gorgeous. 😱