Forager in retrospect

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.

Blame

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:

  • Quality
    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.
  • Art
    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.

  • Modding
    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.

Team effort

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.

The gaps

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.

Salvaging

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.

The future

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.

The lessons

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.

Conclusion

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. Hold up,

Update 1 (Apr 13, 2021)

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:

    • email (unclear whether non-refund emails are currently being answered)
    • Steam (where voicing your concerns gets you banned, yes)
    • Discord (where you are either banned or your concerns are quietly ignored while answering other questions - e.g. A-B-C (screencap))
  • Gaziter (the game's original artist) reported 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.

Update 2 (Apr 14, 2021)

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 (October edit: and likely never will be), 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 (archive) at GDC 2020 about "constructing a (big!) hit - Forager - as a solo dev".
    (which, I believe, has never happened due to COVID-19)

Related posts:

10 thoughts on “Forager in retrospect

  1. Thanks for putting together a great summary!

    I do want to dispute one point.
    I don’t think it’s fair to position Shy being removed from the mod team as due to ‘coming out as trans’ as that paints a narrative that implies Shy being trans had anything to do with their removal from the mod team.

    The mod team has other trans individuals, and I can validate that the anxiety/mental issues referenced in their dismissal was not because of/or due to being trans and had extended long before their removal from the team.

    • Another person raised a similar concern under Shy’s reply on Twitter, but with no official response there’s no way to tell what was the real issue – since moderator arrivals/departures were never announced, it is hard to even tell whether someone ever was a moderator (perhaps the real reward for devoting your time was the privilege to moderate the community)

  2. Regular from the Forager discord here, I know this might be a bit late but someone was recently just talking about it again so I thought I’d take some time to investiage it a bit further and not just read this post and the patreon post. But of course I still had to read this. I just have something to say about the discord real quick. Yeah I’ve talked bad in the discord too but it’s already widely known the mods have a bias anyone that’s over lvl 40 gets protected from bans or even warnings. The only way I could see myself getting banned is spamming intensivly or just posting innappropriate stuff. It is really sad to see a great game go down in such great failure. I do think hop is a great person since I’ve talked to him for a bit sometimes and he seemed pretty nice but yeah overnight success as a solo dev that just developed games since it was fun to a “celebrity” with tens of thousands of people wanting your game. It’s honestly scary what these kinds of exposure can do to someone. The code itself yeah it needs a rewrite or it’s lost. Though I do not think the game has any future at this point since hop has stopped working on it. He siad he would get back but that seems very unlikely to me. These days the only few annoucement we can see are lost nova which isn’t even hop’s game and he doesn’t even work on it. I hope that game is gonna turn out well and not gonna burn down like our lost friend did.
    Sorry if my english and grammar weren’t the best. English isn’t my first language and I overall suck at grammar.

  3. Just swinging by to send my support your way, Yal. It’s sad to see this play out the way it did.

    To anyone else that reads this:
    If I ever reach a point that I need assistance with modding or networking related work (Or anything else, really)… hands down, I will be running to Yal with an offer first. Take that as you will (I’m just a random internet person to most of you) but he’s a good guy and I would personally trust him with work offers (I am VERY confident he could get it done and done right).

  4. Seeing the multiplayer was hiddenly canceled (possibly to bait in more buys in hopes to scam people to buy in hopes they’ll play it with a friend but won’t play alone) was enough for me to be confused and upset. It seemed almost done! But I guess it wasn’t..but them halfassing the game and management then trying to under pay and getting rid of someone because they’re trans and calling it “mental issues” was enough to enrage me!! The game looks very nice, my boyfriend enjoys playing it, and he was hoping he could play it with me of which I was too! I refuse to own it now…I won’t support such scum. Transphobic and poor business work is disgraceful. I’m glad you had fun working on the game, such a shame the game put hard work on was trashed so hard by it’s creator who did a lot of lying and covering up.

  5. I think this is full of conjecture, accusations and rhetoric that border on libel and is editorialising the truth for the sake of a good story in every aspect. HopFrog fooled no-one, it’s just that your egos and avarice got in the way and none of you contractors did your homework, and all of you sound like you deserve more simply because he made some money and this is entirely a bad faith plea. I don’t trust it one iota.

    • Hello! Are you the person from Steam comments?

      I can understand the skepticism – this is one of the weirder things I’ve seen in my half a decade working on games professionally, let alone on a high-profile project.

      I’ll go over points raised here and on Steam:

      1. I have tried to limit speculation to minimum and it is marked accordingly (“it is unclear”).
      Information is sourced to best possible extent from public announcements, which is why almost every paragraph has a source link.
      Missing sources are primarily programmer arrival/departure dates – e.g. due to HopFrog having deactivated his Twitter account (which was used for announcements), the only public (non-datamining) record of Evan Hemsley’s work on the game is now this Discord message of HopFrog mentioning him as “other Evan”.

      2. I highly doubt that anyone was expecting equity – it is extremely uncommon even in indie games;
      Gaziter’s complaint was most likely in regards of being offered a “slightly above minimum wage” rather than an industry average/their regular rate despite the studio being able to afford it at that point.
      Personally I had been paid in full and don’t have any specific complaints on the money itself.
      Since none of other team members posted anything about their compensation, it is not possible to draw any actual conclusions from these two data points.

      3. Although some of the events are suspicious (see “gaps”), I have not called anyone a liar – only stated the lack of clarity on the subject.

      4. My post is intended to be informative – I do not call for anyone’s pitchforks (or any specific action for that matter), only outline the possible reasons of how things could have gotten this bad (beyond the announcement’s original “everything was low-quality”) and provide notes for any prospective developers looking to avoid similar situations in general.

      Given the original wording of the announcement, plenty people (1, 2, 3, 4…) made their own judgement of the situation, and some even predicted the situation in advance (as promises of multiplayer had been vanishing from the game’s Steam page and Discord server during March).

      Let me know if you have further questions!

  6. If nothing else, this is shameful. As a full time student and hobby game developer, I would be ecstatic for the opportunity to hire on extra help, to have even small revenue stream, and/or to build a loyal fan base. Hell, to launch a game would nothing short of a small miracle in itself. The “solo dev” behind forager has seemingly let his ego get the better of him.

Leave a Reply to PoshIndie Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.