These last few months have seen drastic changes across pretty much all aspects of my life — family, relationships, social, housing, work — and as such have also been somewhat of a nadir in terms of work on pkmn. Work on hobby projects necessarily takes a backseat in the face of numerous major life events, and while I was able to keep most of the lights on over this period (with help), several corners were cut:

This should all improve in time, though the Zig issues plaguing the engine are particularly disappointing — between the compiler crashing on the engine’s codebase and the large performance regressions introduced recently the engine is starting to be worrisomely blocked on Zig’s tumultous development. It’s hard to question Zig’s priorities given pkmn’s development follows a similar philosophy, though to unblock the engine I might need to trialing bounty-based donations in addition to or opposed to recurring ones.

Scarcity of resources necessitates prioritization — with less free time more focus is required to be able to continue advancing the pkmn project. Historically, prioritization is based on:

  1. the natural ordering of dependencies
  2. the most impactful/desirable projects
  3. the most interesting problems based on my mood and energy

Based on this, in the near future, maintenance (including resolving the issues listed above) remains the top priority, with remaining time to be spent publishing blog posts and on establishing the pkmn.ai leaderboard. Setting up a controlled environment for comparison across various versions of agents is probably the simplest way to advance the competitive Pokémon AI field at this moment, and several community members have offered to help make this a reality. Laying out the design and articulating the requirements for this in enough detail to allow for multiple contributors to get involved will be the main focus of my work next month.

This period of reduced activity has also led me to consider ways of reducing pkmn’s bus factor. Developers who might be interested in helping to maintain some of the existing mature pkmn projects should reach out — while I have no plans of leaving, I am uncomfortable with the fact that many developers and projects depend on things so tied to the availability and whims of a single person.