In light of recent news (original wording on archive) of the game's multiplayer update being canceled and overall uncertainty about the game's future, I look back at the game, the announcement, and how did this even happen.
For legal reasons, this post only relies on publicly available information.
If you've already read the linked post, you might have noticed that it starts with gracefully throwing the entire development team under the bus on premise that situation was out of control - despite of, you know, being in charge of it all.
Let's take a look at that for a bit:
Peculiarly, these two statements are a paragraph apart in the post:
I personally haven't been working on Forager since the Appreciation Update and to be honest, it really shows. All the updates we had after that, except maybe for the Combat Update, were very poorly made.
I am not a good programmer so I stepped back and let other individuals work on Forager [...]Gabe (lazyeye) was originally hired specifically to help with game's bugs and performance struggles, and many of the early development decisions would haunt it for years to come, so it's hard to tell as to what the implication supposed to be.
Realistically, the game should have been seen a substantial rewrite shortly before or after the initial release as game development is not, in fact, a game of "reverse Jenga", and you cannot just keep piling features without maintenance until your game collapses under its own weight.
- Grind & balance
HopFrog has previously said that he's handling the game's design so I cannot tell who's fault this is supposed to be.
Similarly, concerns about art would seem like something that could have been rectified sooner than after a few years, though also - if the original art style was preferred, perhaps it would have been better not to cut ties with Gaziter (who did majority of game's art up until public release).
Edit: Added Gaziter's explanation to the Update section.
The post does not miss an opportunity to take a jab at the game's modding support
[...], mods would break the game and introduce a host of new bugs, [...]Ultimately, modding functionality never got the developer attention that it needed, but the overall mindset of letting players do whatever they want (even use things like networking functions) had cost the game some stability since, yes, people will use whatever you give them. And break the game.
When answering questions on Discord later, HopFrog said (screencap) that he takes all responsibility (edit: this had been reiterated in the updated announcement), but still this reads unusually. At least no one's getting hate tweets this time - as far as I can tell.
A thing that set Forager apart of basically any other game of its scale is how few people worked on the programming parts of it - despite the ever-growing scope and issues.
Evan Hemsley was the game's first hired programmer.
Since (similarly, in constrast to most other games) HopFrog would never announce arrivals/departures of team members, it is not known when exactly Evan started working on the game, but it was likely pre-2019.
Evan did additional programming and initial console ports - a rather thankless job, considering that the game was still in development and was undergoing optimization passes around the same time.
We can only assume that there had been some sort of disagreement between Evan and HopFrog since Even stopped working on the game mid-2019 and was later removed from credits.
Gabe/lazyeye was the second programmer to be hired.
Similarly, exact date of Gabe starting to work on the game is not known, but it had been sometime in early January 2019.
Gabe was initially helping with optimization and bugfixes, and was promoted to lead programmer role after HopFrog stepped away from programming.
Gabe moved on to work on other projects in Spring 2020.
I was the third programmer to be hired.
I wrote the scripting language that was used for the game's modding system and the backend that was used for the game's multiplayer, also assisting in debugging anything related to the two and occasionally helping with optimization.
It was a great time! Watching people use the available tools in new and unexpected ways is perhaps my favorite thing about working on modding systems.
My involvement ended abruptly in August-September 2020.
Nommiin was the last programmer to be hired. This is the only hire that has an actual date since it was posted about on Nommiin's personal Twitter.
Nommiin was originally working as an assistant programmer aiding with modding support and bugfixes, and was implicitly promoted to lead programmer after Gabe's departure.
According to player observations on the game's official Discord server, Nommiin suddenly lost "developer" roles on Discord on March 1 (amid what seemed to be a regular batch of bugfixes), removed mentions of Forager from the Twitter bio the next day, and by March 29 has found a new job at Innersloth.
All in all: Although the game was, by all means, on its last leg for a good half of a year, HopFrog did not hire any new programmers to assist with delivering the multiplayer update faster or increasing the game's stability to a viable point.
In comparison, both Rivals of Aether and Voidigo have a total of 7 team members involved with programming in some way - either actively or being available to step in if something goes wrong.
Although the announcement explains the reasoning to a degree, some gaps remain in the story:
- In the announcement, HopFrog said that he made a decision to cancel the update due to low quality and after investigating the options.
When answering questions on Discord, he instead said (screencap) that everyone quit.
We can confidently say that the latter wouldn't be entirely true given my case, but also it is unclear whether Nommiin was aware of their impending departure (as the last batch of bugfixes would never make it to the players).
- If everyone did quit, it is unclear why HopFrog did not ask BlitWorks (industry professionals that did the game's mobile ports) or me (for having worked on the game's code/netcode earlier) to help or at least audit the codebase.
- It is unclear why the announcement had only been posted on Discord and Patreon - given that it had not been posted to Steam nor Twitter, many players won't even know that the multiplayer update had been canceled until they specifically search for info - perhaps weeks or months later.
Given the NDA-driven nature of the industry, it's hard to tell what really happened and why.
As someone with an entire career revolving around fixing and retrofitting years-old codebases to do things they were never expected to do, I strongly believe that it's rare for a game to be truly unsalvageable - yes, it may set back the development a few months, but such things happen when you ignore an issue until it gets that bad.
The concept of a partial or complete rewrite of the game in same or different engine while the original codebase receives minor updates also isn't new, allowing to maintain momentum and not lose active players in process.
But, of course, it is also a matter of short-term vs long-term planning.
What and how can be done with the game is an interesting question given the circumstances.
Some things are easy to fix - for example, game not opening URLs right can be fixed with an extension I made last year, and game running at <60fps on >60hz screens can be fixed with an another extension.
Some things aren't - for example, any issues related to savefile corruption or modding support are going to be harder to fix after cutting ties with everyone that knew how the code works.
Some things are particularly tricky - for example, to keep the console versions up to date, the game will soon need to move to a newer GameMaker version, which is a massive task to undertake.
As for multiplayer, well, that's it - if the work started from local multiplayer, the game could still be played over internet using Parsec, Remote Play Together, or a tool I made. But it was not, so it cannot be, and at most someone might make a slightly more advanced version of topherlicious' PenPal mod.
Quite fortunately, none of this is my personal subject of worry.
First, I'm happy to inform that if you are making a game and reading this worries you, you are somewhat unlikely to run into the same issues - Forager was a statistical outlier in both of its successes and failures.
Still, there are some things that you can do to avoid issues discussed in this post:
- When deciding to develop a jam game into a larger project, consider taking a bit of time to reflect on what you are doing and what can be done better - for example, it can be highly beneficial to set code up in such way that adding new content does not involve duplicating code across different files.
Consider planning for features that you will/may need ahead of the time - ideally, go over the possibilities as soon as you have funding / are confident that the game will not be shelved.
For example, local multiplayer can be perfectly fine to do if you've kept it in mind when designing the game, but a nightmare if you've only started looking into it close or after release - from game design to UI to balancing.
If you are in position to do so, try to make sure that no essential parts of the game (with small/average-sized games this is usually programming) rely on a single person.
For example, if 100% of your code is being written by a single contractor, and they have an emergency situation, decide to pursue other work, or just seemingly pop out of existence one day, the project can be suddenly in grave danger.
Even if the person that can "fill in" is not familiar with entirety of the code, that is still better than scrapping in search for a replacement hire.
I mention this time to time but always have written contracts!
A good contract should cover everyone's responsibilities, payment terms (how much, when, and how), and termination conditions (when someone can leave and preceding steps).
- If you are outsourcing work that produces binary executables (e.g. DLLs or external tools for the game), try to also agree on terms for source code access - you may need changes a few years down the road (e.g. because of OSX x86->x64 migration, SDK requirement changes, or bugs found), and over years I've had multiple projects where I had to rewrite something from scratch because the original author could not be reached or did not keep the source code for that long.
Big tragedies often come from series of small issues that were neglected for long enough, and it is really unfortunate to see the game end up like this.
As to whether anyone had learned anything from this, time will show.
For now, the game's audience seems accepting enough and even enthusiastic about
potential future games from the developer. I think we all can aspire to have fans this loyal.
I have originally tried to maintain a neutral point view in this post on assumption of good faith, but discussion on Twitter has revealed even more issues:
The reason why there's seemingly little discourse about multiplayer update on Steam discussions is that anyone mentioning the announcement in bad light gets banned - except for a few select users (?). Mentioning this post will also get you banned. Complaints about posts being removed go back to Apr 5.
Edit: According to developer's "Code of Conduct", complaining about anything is a bannable offense, which is vague enough to leave a lot up to moderators, resulting in some complaints (1, 2) about moderators playing favorites or acting unpredictably. It is hard to verify these allegations since no audit information was being published and neither were notes about moderator arrivals/departures.
Edit 2: As far as I can tell, as of Apr 15 posts are no longer being removed - perhaps as this damage control strategy had proven uneffective.
HopFrog has cut off all forms of contact except for:
- Gaziter (the game's original artist)
was faced with a choice of leaving
or working on the game for
under"a little bit above :^)" minimum wage after the public release (despite the game already selling thousands of copies and was generating a stable revenue stream via Patreon).
- Poor treatment did not stop on collaborators either - Shy (one of the early community moderators) reported having been booted from Discord for "mental issues" after she openly came out as trans.
It seems increasingly more apparent that whatever this is had been going on for years, and the game had only miraculously survived this long thanks to kindness and patience of collaborators - the same people that are now being blamed for it all.
Although the volume of replies to my Twitter thread remains quite high (to the point that it's hard to respond to everyone), people have been also pointing out new things that are publicly known but not covered here:
- HopFrog updated the Patreon announcement to reiterate that he takes the responsibility for the game's failures, and softened some of the wording.
Some of the developers are credited, but not quite right - e.g. Topher is only credited for sound design, although he'd also done all other kinds of odd jobs - from bulding the game's API documentation site to official mods (and tutorials for making them) to even filling out cards on the game's Trello.
(this is consistent with my experience being that you would only be credited if you pestered HopFrog about it over a period of time)
- Although the announcement of multiplayer update cancellation was not posted on Steam as of yet, related announcements ("Forager Multiplayer Preview", "Forager is 40% off in preparation for multiplayer") have been quietly removed (current, archive).
- In what can be considered comedy gold, HopFrog was originally
going to give a talk
at GDC 2020 about "constructing a (big!) hit - Forager - as a solo dev".
(which, I believe, has never happened due to COVID-19)