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.