{ "version": "https://jsonfeed.org/version/1.1", "title": "Vale.Rocks Posts", "description": "Long form writings about assorted topics.", "home_page_url": "https://vale.rocks/posts", "feed_url": "https://vale.rocks/posts/feed.json", "icon": "https://vale.rocks/assets/favicon.svg", "favicon": "https://vale.rocks/assets/favicon.svg", "items": [ { "id": "https://vale.rocks/posts/ai-terminology", "url": "https://vale.rocks/posts/ai-terminology", "title": "AI Terminology Is Poorly Defined and Oft Misused", "content_html": "\n\t\t\t\n\t\t\t\n\t\t\t

Tune into any discussion of the technologies widely referred to as ‘artificial intelligence’, and you’ll find that terminology is all over the place. Language is forever fluid and evolving, and with a field as quickly moving and with as much marketing influence and buzzwords as artificial intelligence, it isn’t surprising that things are a mess.

\n

What was a deeply technical community with generally agreed-upon terminology was largely burst open with the wide release of ChatGPT. Suddenly, a lot more people were exposed to modern AI, and marketing-led commentary thrust a deeply technical topic haphazardly into simple terms. Now we’re stuck with a linguistic debt.

\n

I’d suggest part of this is due to resources. With most major systems, progress is slowly made with resources coming along with it as well, and then a takeoff happens. With AI, the takeoff happened concurrently with the creation of resources aimed at the general public, so natural selection didn’t have time to occur before adoption.

\n

Te ultimate purpose of any jargon is to simplify communication. Rather than saying something super complex and informative, such as ‘Large-Scale Transformer-Based Natural Language Pattern Recognition and Generative Model’, we say ‘large language model’, and rather than ‘large language model’, we say ‘artificial intelligence’, and rather than ‘artificial intelligence’, we say ‘AI’.

\n

The International Standards Organisation has made an effort to standardise terminology in ISO/IEC 22989, but things are still lacking, and confusion is common.

\n

AI

\n

AI in general is poor as a term. It is pointlessly broad. The term ‘AI’ is used to refer to the non-player opponents in Super Mario Kart and ChatGPT with little distinction. Some people go to the lengths of always specifying ‘generative AI’, but even that is poor. Most AI is arguably generating something.

\n

AI is a buzzterm that companies want to see, so it is applied everywhere without discretion. What does it even mean for a washing machine to have AI? At a certain point, a word is so broadly used that it doesn’t mean anything.

\n

LLM

\n

‘Large Language Model’ is a specific term but is used generally. When people are discussing LLMs, they often mistakenly refer to the interface itself. For example, ChatGPT, Claude, or Gemini. These are offerings which house multiple models of differing types. They’re presented as a single interface, but behind the scenes there are multiple parts at play.

\n

Commonly, people are not referring to LLMs in isolation but instead wrapped up with other technologies, tools, or models. This is messy, because there is Anthropic’s Claude, the interface, and Anthropic’s Claude, the set of AI models including Claude Opus, Claude Sonnet, and Claude Haiku. Likewise, there is Google Gemini, the interface, and Google Gemini, the set of AI models, including LLMs, vision models, and image generation models.

\n

To use ChatGPT as an example, you’re interacting with an interface. ChatGPT itself is not a ‘model’ per se but instead a wrapper to interact with models1. When you make a request in ChatGPT, your message is fed to a model router, which determines which model it should be forwarded to. GPT-5 is architected to contain multiple different levels of ‘thinking’. There is also a step where the result is evaluated and moderated.

\n

It can also call on ‘tools’, such as tools to query the internet, interact with external applications, or generate images. When it generates images, it takes the user-provided prompt, runs it through an LLM to understand how to handle it, then feeds it through the actual image generation model.

\n

The term ‘LLM’ doesn’t adequately describe the multi-modality of most AI systems in use today. Commonly, one model can handle not only text but also other media inputs. Different terms have been proposed, such as LMM (Large Multimodal Model) or Foundation Models, but their usage is uncommon.

\n

It also doesn’t really specify the size of the model. ‘Large language model’ is the commonly used term for language models of all sizes. Small Language Models (SLMs) are models that are smaller in scope and scale than LLMs but are often regarded under the LLM banner for ease of description. Just ‘language model’ would be the most fitting title but has become a bit generic. A very basic Markov chain is arguably a language model, but no reasonable person would consider them anywhere comparable to even a small language model. The issue is only exacerbated by the reality that the size of models is ever-increasing, so what used to be an LLM could be argued to be a SLM now. There is no defined cutoff.

\n

AGI & ASI

\n

‘Artificial General Intelligence’ and ‘Artificial Superintelligence’ are popular terms for describing advanced AI systems, but everyone seems to have different criteria.

\n

The AI effect is alive and well. If you showed someone in the 1950s our current technology and an LLM, they’d probably take it as full computer intelligence. It’d likely be difficult to convince them otherwise, even when presenting them with details. Does this make our current AI AGI/ASI?

\n

Maybe? There is no real widely agreed upon definition. One person’s AGI is another person’s GPT-3. ISO/IEC 22989 defines it as a ‘type of AI system that addresses a broad range of tasks with a satisfactory level of performance’, following it up with the note that ‘AGI is often used in a stronger sense, meaning systems that not only can perform a wide variety of tasks, but all tasks that a human can perform.’.

\n

I’d suggest that AI systems have been able to address a ‘broad range of tasks’ to a ‘satisfactory level of performance’ for a while now. The addressing of a potential interpretation that AGI can perform ‘all tasks that a human can perform’ opens further questions. Humans are physical, and many tasks we do involve physical interactions. I interpret this as the definition meaning that AGI would require a physical manifestation.

\n

The October 2025 paper, A Definition of AGI, attempted to come to a definition. They put forward the definition: ‘AGI is an AI that can match or exceed the cognitive versatility and proficiency of a well-educated adult.’ I take issue with this. How does one measure cognitive versatility and proficiency? Humans have tried to quantify intelligence with measures such as IQ, but it is an impossible task. IQ is a (rather flawed) measure, and having a high IQ does not necessarily indicate being well-educated. What is a well-educated adult? There is so much variation in people.

\n

A highly educated person is rarely highly educated in many fields and certainly not in all fields. AI models can fail simple spatial and logic puzzles, yet solve complex mathematics problems that humans cannot manage. A person can be poor with computers but extremely skilled at writing. ‘Well-educated’ is an extremely subjective measure to the point of being useless as a checkpoint or definition.

\n

Vibe Coding

\n

Andrej Karpathy coined the term ‘vibe coding’ in early 2025:

\n
\nThere’s a new kind of coding I call “vibe coding”, where you fully give in to the vibes, embrace exponentials, and forget that the code even exists. […] I ask for the dumbest things like “decrease the padding on the sidebar by half” because I’m too lazy to find it. I “Accept All” always, I don’t read the diffs anymore. When I get error messages I just copy paste them in with no comment, usually that fixes it. The code grows beyond my usual comprehension, I’d have to really read through it for a while. Sometimes the LLMs can’t fix a bug so I just work around it or ask for random changes until it goes away. It’s not too bad for throwaway weekend projects, but still quite amusing. I’m building a project or webapp, but it’s not really coding - I just see stuff, say stuff, run stuff, and copy paste stuff, and it mostly works.\n
\n\n

As the coinage gained popularity, it transitioned into being used by some people as a catch-all term for any LLM-assisted development. This is a case of semantic broadening, which is typical in language, though this was a particularly swift instance.

\n

Many people use ‘vibe coding’ in its original definition, many people use it just for LLM-assisted development in general while being aware of the original definition, and many people are unaware of the original definition at all. Like much of the rest of AI terminology, this makes the term a mess in usage, with different people interpreting it wildly differently. Those who use AI for assistance in writing code are often branded ‘vibe coders’ just the same as those who slop out all their code with AI without checking it.

\n

Agent

\n

‘Agent’ and ‘agentic’ have been the follow-up buzz terms in tech circles following the saturation of ‘AI’ as a term. Generally, an agent is presented as an AI system which takes action like a human using human mediums, but as with seemingly all AI-related terminology, the specifics are fuzzy.

\n

Simon Willison describes agents by saying: ‘An LLM agent runs tools in a loop to achieve a goal.’ I think this is the best definition to date, but there are still many other interpretations out there, and people can opt to apply it in other contexts.

\n

‘AI Agent’ is the buzz phrase that one-ups ‘AI’, so marketing sees that it is applied widely and broadly. Much like the term ‘AI’ itself, ‘Agent’ has been applied so liberally that it has lost meaning. ‘Agentic Toilet’ is meaningless technobabble marketing speak.

\n

Open-Source & Open-Weights

\n

There are some open-weight AI models, which can be run and used locally on one’s own compute. This is often confused with a model being open-source. Some people state that open-weight models are open-source, mistakenly arguing that open-weight is the closest thing.

\n

Open-source models do exist, though are fairly uncommon. They include the training data, the training code, the full weights, and a permissive licence. If you wanted to, you could dive in and modify an open-source model at any step during its creation. Open-weight models are much more common but only provide the weights. Your only options for modification are upon the final result, and you’re more limited regarding what you’re permitted to do.

\n

It is the difference between receiving a pre-baked cake you can decorate (fine-tune) and eat (host) as you wish, but whose creation remains a mystery, versus receiving the recipe, the raw ingredients, the kitchen utensils, and the total freedom to bake it yourself from scratch.

\n

The Open Source Initiative has tried to clarify the difference by publishing The Open Source AI Definition and clarification on open-weights to middling success in swaying the zeitgeist.

\n

Anthropomorphising

\n

With a technology that is built to replicate (or replace) and mimic human output and intelligence, it is no surprise that people treat it like a human.

\n

Read any mainstream media coverage, and you’ll see AI offerings treated as humans. In 2025, when Grok was called out for generating non-consensual sexual imagery en masse, including of minors, news outlets turned directly to the AI model for comment. It may speak like a human, but an AI model is not one. To quote the 1979 IBM Training Manual: ‘A computer can never be held accountable. Therefore a computer must never make a management decision.’

\n

If we’re taking issue with anthropomorphism, then machine learning is a misnomer as well, as machines cannot ‘learn’. ‘Training’ fails for the same reason. Thinking and reasoning models cannot ‘think’ nor ‘reason’ in the human sense. They cannot ‘hallucinate’ – ‘confabulate’ would be a more apt term but somewhat falls victim to the same anthropomorphism.

\n

We use biological metaphors (learning, neurones) for mathematical processes (gradient descent, weighted matrices), which invites the public to misinterpret maths as magic. We reach for biological metaphors because they are what we experience ourselves, are easy for the layperson to understand, and have applicable terminology, even if not entirely accurate.

\n

Companies have much to benefit from AI being anthropomorphised. Models are intentionally designed to drive user engagement and build emotional connections. Not only are having ‘emotions’ and ‘opinions’ beneficial to human interaction with AI models from a utility perspective, but they also keep users engaged. Many people consider themselves to be in relationships with AI and are distraught when their ‘personalities’ are altered. They are locked in, because to leave means to ‘kill’ their partner and their bond. Even people not in that deep will still speak of their favourite model with affection. Claude (which is a human name) is often spoken about like a development friend rather than a development tool.

\n

Even if we were to collectively act against anthropomorphising machines, then what terminology do we use instead? It is extremely difficult to succinctly describe these words we use for human experiences, given that all our language is designed specifically around the experiences of living beings. Do we create new language entirely to address these points? I think we’re so far along now that even if new terms were devised, it would be near impossible to transition people to them.

\n
\n

Terminology is messy. There isn’t a way around that. Language is a flowing, moving, undulating mass of entangled ideas and concepts. To attempt to straighten it and force it to conform to a design is a fool’s errand. However, if we can’t come up with specific definitions, then it makes regulation and policy difficult. It spurs miscommunication. It makes every explanation longer and requiring of a definition lest confusion arise. Even in technology circles, terms are used fast and loose. What hope is there for people outside the tech sphere to understand?

\n

I think the only way this would realistically be cleared up is if major AI companies collectively agreed upon given technology, but that seems extremely unlikely. You certainly aren’t going to convince people to stop anthropomorphising AI.

\n
\n

Footnotes

\n
    \n
  1. \n

    The models used by ChatGPT are slightly altered versions of the main ones and are available via the API. For example, GPT-5.3 Chat

    \n
  2. \n
\n
\n\n\t\t", "summary": "Words and terms used when describing artificial intelligence are often misused, inaccurate, or generalised to the point of losing all meaning. How terms like 'LLM', 'Agent', and 'AGI' have lost meaning and turned into semantically meaningless buzzwords that are applied liberally without care or appropriate intent, leading to unnecessary confusion and unnecessary need for clarification.", "date_published": "2026-04-28" }, { "id": "https://vale.rocks/posts/web-origami", "url": "https://vale.rocks/posts/web-origami", "title": "It's All Just Trees With Web Origami", "content_html": "\n\t\t\t\n\t\t\t\n\t\t\t\n\n

This site, along with many other sites I’ve built since becoming familiar with the project in late 2024, is built with Web Origami. It has quickly become my favourite way to build static websites and work with and transform data.

\n

The project itself is a tad difficult to simply explain succinctly. I could try to describe it based on what it can do. I could call it a static site generator, or a data transformer, or one of a number of other things, but that doesn’t really explain it satisfactorily. Origami is extremely versatile and powerful. It uses a content/transformation model that allows massive potential yet remains simple and easy to start using.

\n

The project is split into a few distinct parts, or ‘aspects’, as the creator Jan Miksovsky describes them. The aspects I value and use most as a person who largely uses Origami to create statically generated websites are the Origami dialect of JavaScript and the built-in functions.

\n

Origami is described as a dialect of JavaScript, rather than a language in and of itself, because it is, at its core, a super convenient JavaScript expression system with paths. It is extremely concise to write without being difficult to read and feels a bit magical. For someone who knows JavaScript, it feels intuitive and is exactly what you’d expect from the language, and for someone reasonably tech-savvy but unfamiliar with JavaScript, it is intuitive enough to understand and start writing quickly.

\n

Origami is thankfully not magic in the sense that it abstracts things away and does some unknowns behind the scenes that you just have to trust. Instead, it is magic in the sense that it just seems to work. The exact thing you’re trying to do is the intuitive thing, and Origami has a clear and obvious way of achieving any goal you can throw at it. How Origami interprets and manages your code behind the scenes is as clear as glass, and the documentation goes as far as to explain not just what to do to achieve your desired outcome but how and why the given approach or method works.

\n

Simple Structure

\n

The thing one must understand about Web Origami is that almost everything is a tree. So much so that the project was previously called TreeOrigami.

\n

Let’s say that we have a few markdown files in a folder, each with some YAML frontmatter as is typical for a developer blog. We’ll assume the contents of each file looks like this:

\n
---\ntitle: Blog Post 1\ndate: 02/08\n---\n\nThis is the contents of a most informative and wonderful blog post.\n

We can get the title of each post with Tree.map(blog-posts, (post) => post.title). That is descending into the folder and markdown files within it to pull out the value of the YAML title key in the frontmatter. It’d return this:

\n
post-1.md: Blog Post 1\npost-2.md: Blog Post 2\npost-3.md: Blog Post 3\n

When everything is a tree, it is easy to work with content. Directory full of markdown? That’s a tree to work with. YAML file? That’s a tree to work with. Want a YAML value from the frontmatter of one of those markdown files from that directory? Just descend down the tree. There is no complication because you’ve got two different types of data that you’re working with – they’re all interoperable trees.

\n

Origami is designed to handle data, and you’re given the tools to work with that data by the simplest means possible. There are no arbitrary limitations or opinionated architectural decisions one must fight with. You’re making your project, and your approach and decisions are what matters. Origami is very open and flexible in how you use it. You’re not given a template to fit your project into. You build a template for your project which Origami fits into.

\n

If an Origami-based approach is too complex for your needs, or you need to do something really bespoke, you can write your own JavaScript functions and call them directly. Via this method you can develop arbitrary reusable data transformations or whatever else you might need. I’ve used functions to count the number of words in an article, to transform dates into different formats, and to turn a YAML file defining events into annually occurring displays on a larger page, just to name a few of my uses.

\n

Builtins

\n

Origami also comes with a huge number of built-in functions that you can call. Separated into four top-level namespaces: Dev, Origami, Protocol, and Tree, there are so many useful actions.

\n

Builtins in the ‘Dev’ namespace are for developing and debugging Origami projects. You’ve got commands including Dev.changes to compare differences and Dev.serve to start a local web server. In the ‘Protocol’ namespace you’ve got tons of handlers for various URL schemes such as Protocol.https and Protocol.files, allowing you to fetch data from remote locations. In the Origami namespace, you’ve got lots of general utilities useful for building things, like Origami.mdHtml for converting markdown to HTML and Origami.slug for converting input to a safe string suitable for URLs. Then, you have the Tree namespace, which has so many utilities for working with trees: simple commands like Tree.first for getting the first value and more complex commands like Tree.calendar which returns a structure for years/months/days.

\n

I’ve only touched on a scarce few builtins there. Hundreds exist, each with useful functionality. Builtins are easy to use, too. If you have, for example, a folder called ‘posts’ with a bunch of items you want to randomise the order of, you could do so with this Origami code:

\n
posts\n-> Tree.shuffle\n

Building a site with Origami is just stringing together these simple transformations into something larger. Origami is designed such that there is no limit to the potential complexity at a macro level, but at a micro level everything forever remains small, modular, and composable. The ceiling is high, but the floor remains low.

\n

Not Just Sites

\n

Origami is extremely good as a static site generator, and that is all most people use it for, but that isn’t its only purpose or function. Origami is applicable in many other contexts, including within the terminal.

\n

Want to convert a PNG into an AVIF? ori "Origami.image.format(image.png, 'avif')". Want a graphical representation of the structure and contents of a directory? ori "Dev.svg(src)" > folder-visual.svg. Have a YAML file that you’ve just realised has all the data sorted the wrong way around? ori Tree.reverse films.yaml.

\n

I’ve always hated faffing around with jq, yq, and other such tools for manipulating data, and often I’d end up resorting to writing a Python script for what really should be just a simple data transformation. Origami allows keeping everything as simple as simple can be.

\n

The async-tree library that is the key to Origami’s capabilities is also completely open for anyone to use, independent of the language and other parts of the project. Of course, this also means that if you’re really pushing boundaries and making complex systems atop or as part of an Origami project, you can import the async-tree library to make your work much easier. This also makes it possible to create complex extensions to broaden Origami’s capabilities.

\n

Extensions

\n

Beyond all the functionality explicitly built-in, Origami has a collection of extensions for integrating with external tools, systems, and services.

\n

I’ve been pretty vocal in my love for the search tool Pagefind and use it on many of my sites, including Vale.Rocks. There is a fantastic Pagefind extension for Origami that makes it trivial to implement.

\n

Some folks have taken to using extensions for achieving integrations with cloud storage managers such as Dropbox and Google Drive so that they can have a polished authoring flow.

\n
\n

Origami is great. I love it, and I’ve used it on many sites. It is worth noting, however, that it isn’t a massive project, at least at time of writing. It is largely developed by a single person, though there are some external contributions and suggestions are always listened to. The community is also pretty small, meaning you might not find information on the web about every single possible pattern and approach. The community which does exist is fairly active, though, and the documentation for the project is fantastic and very comprehensive.

\n

If you’re interested, Origami is worth trying. There isn’t any risk associated with trying it, and I do think there is utility in it for a lot of cases. The potential has barely been tapped.

\n\n\t\t", "summary": "Thoughts on the wonderful Web Origami project, which can be used as a static site generator but is also capable of very much more. It can be used in the shell to handle all sorts of data transformations and interactions, making it a valuable part of any developer's toolbox.", "date_published": "2026-04-17" }, { "id": "https://vale.rocks/posts/china-gaming", "url": "https://vale.rocks/posts/china-gaming", "title": "The Regulated Reality of China's Gaming Industry", "content_html": "\n\t\t\t\n\t\t\t\n\t\t\t

It’s not uncommon for games to be localised, especially when moving between the Eastern and Western worlds. Of course there is the case of differing languages, but there are also many more innocuous elements that can become lost in translation that need adaptation or which must be altered to respect certain customs or laws. These changes are usually relatively minor, such as the removal of hate symbols and gore1 or the replacement of a reference that might not be understood elsewhere.

\n

However, China takes localisation to a whole different level entirely. The country’s regulation and censorship have created what feels at a glance, and even at further inspection, like an alternate universe. So much is similar to what is known by the rest of the world, and yet so much is different.

\n

Regulation

\n

Gaming in China is heavily regulated and has been subject to much government oversight since inception. Given the pervasiveness of online games, crucial to understanding the form China’s gaming industry has taken is understanding China’s almost self-contained national web. Within the country, there are a few companies that handle major games. Most notably Tencent and NetEase.

\n

Tencent is one of the world’s largest companies by revenue and notably operates QQ and WeChat. That is just the very tip of the iceberg, however, as Tencent is among the largest video game vendors. They wholly own Riot Games, Turtle Rock Studios, Sumo Group, and more. They also have majority stakes in Supercell, Grinding Gear Games, and more. They also have minority but sizeable stakes in a plethora of major players, including Epic Games, Ubisoft, Remedy Entertainment, Fatshark, Roblox Corp, and FromSoftware. Further, they’ve got multiple in-house studios.

\n

NetEase is also massive, though not quite to the scale of Tencent. It develops games including Marvel Rivals and has investments in Bungie, Devolver Digital, and others. Especially during the 2020s, many other Chinese brands have gained a footing in the market and begun to see massive growth, such as miHoYo, which publishes globally via Cognosphere trading as HoYoverse.

\n

Regarding hardware, in 2000 a ban was enacted on imported game consoles, leading to variants and partnerships such as Nintendo consoles branded under ‘iQue’2. This ban caused damage to the home console market in China and a flourishing of the PC and later mobile gaming markets. Though the ban was lifted in 2015, consoles still remain relatively unpopular, never having gotten a chance for a solid foothold during the market’s formative years. Following the iQue, Nintendo partnered with Tencent to distribute the Nintendo Switch in China, and while handheld consoles like the Switch have seen some popularity, they still don’t rival PC and mobile.

\n

Elsewhere in the world, the vast majority of games released are released to a global audience in more or less the same state that they are in their country of origin. China, however, has extremely different versions of many games. There are periodic freezes on game approvals, preventing them from being published in the country. Notably from 2018 to 2019 and a significant slowdown through the early 2020s, though approvals have been more common since.

\n

Games are expected to adhere to specific values and avoid allowing some immoral or unethical actions, which leads to them sometimes requiring alteration for distribution in China. The National Press and Publication Administration (国家新闻出版署Guójiā Xīnwén Chūbǎnshǔ) is currently the primary force behind this and has a few stipulations against content which:

\n\n

Due to the heavy region-locking and the language barrier, many Chinese variants of games are scarcely accessible, or even known of, outside of China. Chinese variants of games commonly can’t be legitimately accessed at all outside of mainland China. You often need to provide state-issued ID to gain access, which allows enforcement of the aforementioned restrictions.

\n

This requirement of state-issued ID is largely relevant to age gating. Throughout the late 2010s and 2020s, heavier restrictions began to be imposed, primarily to avoid gaming addiction. Strict playtime limits were enacted for minors, with them only being able to play them at certain times on certain days for limited periods. A black market of rental adult accounts sprung up as a result. In 2021, to ensure compliance, Tencent launched ‘Midnight Patrol’, a system which uses facial detection and algorithmic processing of player behaviour to detect underage players using other people’s accounts, such as their parents, to circumvent playtime restrictions.

\n

Chinese Variants

\n

Many popular games have significantly altered China-specific variants, including:

\n\n

This is just a small selection, for these are just some of the cases of games having Chinese variants that I find more interesting. Almost every game that is made available within China sees some degree of change to comply with regulations, even if that is just tweaking a few icons.

\n

There is also extraterritorial censorship which impacts global titles. Marvel Rivals proved itself popular but is developed by NetEase. As such, certain phrases have been censored from the in-game chat. Genshin Impact, which is developed by miHoYo, also faced significant backlash from Western players when it was discovered various terms were censored in chat. Ubisoft made an attempt to censor the global version of Rainbow Six Siege via graphical changes, including removing slot machines from maps and redesigning icons to remove skulls. Following player backlash, they reverted the changes. When Black Myth: Wukong launched, influential streamers covering the game were given a list of topics to avoid. There are many more cases.

\n

Many cases exist of games being banned or restricted due to their display and portrayal of subjects sensitive to the government. The Ministry of Culture banned Hearts of Iron for ‘distorting history and damaging China’s sovereignty and territorial integrity’. The game’s depiction of Manchuria, West Xinjiang, and Tibet as sovereign nations likely also had impact on this decision. Battlefield 4 was also banned in China due primarily to an expansion pack titled ‘China Rising’. The launch of Diablo Immortal was delayed after the game’s Sina Weibo account published a post widely interpreted as a jab at Xí Jìnpíng.

\n

Mobile Games

\n

There is also a huge market for mobile games. Within China, many mobile games are not distributed as standard, self-contained applications installed on the operating system but are instead distributed within applications like WeChat. For example, the aforementioned Chinese version of Plants vs Zombies 2 is supported by a great number of Mini Programs.

\n

Due to the distribution method, games also commonly have significant social integrations. It is easy to consider a game’s integration with WeChat the same as a game might integrate with Facebook, but they are different beasts entirely. Games are often deeply integrated into social identities, with tie-ins to leaderboards and in-app purchases directly through those services.

\n

The growing capabilities of mobile devices have also had the same effect as they’ve had globally, with many more ambitious and technically demanding games reaching phones. Honor of Kings and other more complex mobile games see great successes.

\n

Grey Market

\n

Regardless of regulation, much global gaming content and many services that aren’t strictly forbidden, but also aren’t strictly allowed, exist within the country. They operate in an odd state, possibly by virtue of the government turning a blind eye to it so the industry can strengthen.

\n

The global version of Valve’s game distribution powerhouse Steam operates to a degree within China. It is blocked intermittently, sometimes just in part, but is often available. The exact state of the service’s accessibility from within China varies frequently, with especially the Steam Community portion of the site being blocked. In 2021, Steam China launched, which adheres to China’s requirements but has a much smaller catalogue of games and lacks many features present in the global version.

\n

Many people use VPNs to be able to access external gaming content, and a lot of people use game boosters (加速器jiāshùqì), which are popular for improving performance of connections to overseas servers. The Great Firewall and poor international routing make them borderline mandatory for interacting with a global player base.

\n

Internet Cafés

\n

In China, and indeed throughout much of Asia, internet cafés have retained a degree of relevancy. There has been a decline similar to the one seen globally during the 2010s with the increased popularity of smartphones and reductions of mobile data costs, but not nearly as drastic. Wangba, as they’re known, are still extremely popular. So popular that they’re actively growing.

\n

They serve as cost-effective ways to play games conveniently on powerful computers which people may otherwise be unable to afford. Internet cafés also play directly into China’s massive e-sports culture. e-sports is much bigger than it is in the West. Titles including League of Legends and CrossFire (a Korean FPS massive in China) are extremely popular in part because of internet cafés. It is a symbiotic relationship of sorts.

\n
\n

Despite all the restrictions, China’s gaming industry is the world’s largest video gaming market by sales and is only positioned to get bigger. In 2024, China’s first AAA game, Black Myth: Wukong, made its release to a solid critical and public reception. There is even suggestion that the game’s success might trigger further investment in the space. Part of this is also China’s opportunity for cultural export, with games being seen as an opportunity to distribute the aforementioned censorship and content regulations to overseas audiences. Video games are proving a valuable export with clear economic incentive, and with government support China’s video game industry seems positioned to see huge investments and expand a great deal further on a global scale.

\n
\n

Footnotes

\n
    \n
  1. \n

    Notably, Germany previously had restrictions on the display of Nazi insignias and violence in media, which led to alternations of games when published in Germany. For example, in Team Fortress 2, bloody giblets were replaced with silly variants.

    \n
  2. \n
  3. \n

    The first iQue product, the iQue Player, was a redesign of the Nintendo 64 as a handheld TV game to circumvent the bans.

    \n
  4. \n
\n
\n\n\t\t", "summary": "China's extremely developed and ginormous gaming industry and how it has been shaped by regulations and restrictions to become a growing international powerhouse. Covering restrictions, alternate Chinese versions, censorship, internet cafés, e-sports and a great deal more.", "date_published": "2026-04-16" }, { "id": "https://vale.rocks/posts/chinas-web", "url": "https://vale.rocks/posts/chinas-web", "title": "China’s Parallel Web Behind the Wall", "content_html": "\n\t\t\t\n\t\t\t\n\t\t\t

The internet known within China is a very different internet to the one known by the world at large. It is censored, regulated and structured quite differently. It is controlled and managed, rather than organic and sprawling. From the outside looking in, it feels like an entirely different beast, and to begin to understand it, you must first understand the conditions that formed it.

\n

History

\n

Mao Zedong was the founder of the People’s Republic of China and led the country from its establishment in 1949 until his death in 1976. He developed Maoism, a variation of Marxism–Leninism. Following the beginning of the Chinese Civil War, he aided in the establishment of the Chinese Red Army and then proceeded to head the Land Reform Movement (gǎi), industrialisation via five-year plans, and launch the Campaign to Suppress Counterrevolutionaries (zhènfǎnmìngyùndòng). He led intervention in the Korean War and oversaw the Great Leap Forward (yuèjìn) campaign from 1958 to 1962.

\n

In 1966 he launched the Cultural Revolution, aiming to purge capitalist and traditional elements from Chinese society. During this period, there was mass destruction of artefacts, a violent class struggle, and, notably relevant within the context of this article, his cult of personality.

\n

Mao Zedong’s cult of personality was a propaganda campaign designed to elevate Mao’s status as a beacon of communist China. His image was widely distributed in portraits and badges, and every Chinese citizen was given ‘Quotations from Chairman Mao Tse-tung’ (MáoZhǔ), otherwise known as the Little Red Book, which they were expected to carry at all times and read from frequently.

\n

Following Mao’s death, the Boluan Fanzheng program was launched, which translates in English to ‘Eliminating chaos and returning to normal’. As part of this program and subsequent efforts by Deng Xiaoping, Hu Yaobang, and others, China began to repeal some of the Cultural Revolution’s changes.

\n

However, some felt that this occurred too abruptly and moved too swiftly, giving people too much freedom too suddenly and causing them to act in pursuit of further liberties. This caused disputes which directly led to the 1989 Tiananmen Square protests. China, which had before the protests seen greater (but far from full) press freedom, fell suddenly back under intense censorship. After a few years, restrictions were relaxed somewhat – particularly after Deng Xiaoping’s 1992 southern tour. However, media remained very much restricted.

\n

China’s first interactions with the internet were as early as 1987, but it wasn’t until 1989 that it started to properly gain a footing, starting with inter-university contact, as most countries’ internet communications did. In 1994, China began to embrace the internet, becoming properly linked to the internet in April. The next year, citing economic opportunity, the basis of infrastructure and a national network were established.

\n

China, being an extremely large country, took a while to gain proper country-wide infrastructure, with it taking until the early 2010s for proper connections to reach rural areas. For a brief while in the 2000s, there was a surprisingly wild and free web, with minimal oversight. Unfortunately, as the internet became established, and the web began to form, censorship shaped it. China began to block many international sites, preventing penetration into the Chinese market. Under Xí Jìnpíng, censorship has been far stricter.

\n

Unlike much of the rest of the world, where the global interconnectivity of the internet is emphasised, China emphasises ‘Internet Sovereignty’ (wǎngluòzhǔquán) – the idea that the government should have complete control of the internet as it operates and is available within the country.

\n

The Great Firewall

\n

This sovereignty is achieved via what is widely referred to as the Great Firewall (Fánghuǒchángchéng), a reference to the Great Wall of China. It is the combined product of the various legislation and unofficial degrees paired with technological enforcement.

\n

It is a complex and oppressive measure. It does not merely block offending URLs but goes to great lengths by resetting connections, performing DNS poisoning to direct to incorrect IP addresses, scanning the actual data in transit via deep packet inspection, enacting full IP blocks, performing man-in-the-middle certificate takeover attacks, and more. It is one of the most complex filtering systems deployed at scale. Some sites are let through the filter but in extremely degraded states in an effort to avoid the backlash of full blocks while still functionally preventing access.

\n

All of China’s major telecommunications companies – China Telecom, China Unicom, and China Mobile – are state-owned, meaning that their services are inherently under government jurisdiction, making circumvention extremely difficult. They’re choke points of internet traffic.

\n

Many of these restrictions can be bypassed by means of VPNs which are legal, albeit with restrictions. VPN providers must obtain state approval and face imprisonment if they fail to do so. As such, much information can be accessed, but it is made difficult and consuming of money and time. Unfortunately Tor functions in a degraded state, requiring workarounds, and many more standard proxies are thwarted by the firewall. The friction is only growing as time progresses.

\n

The Great Firewall is a large part of this, and its prevention of access to international services has determined China’s development during the Fourth Industrial Revolution by giving preference to domestic organisations. Not only is this positive for China’s local economy, but it is also beneficial for the government as it has greater control over domestic companies than international ones. The Great Firewall acts as both a protective trade barrier and an instrument of ideological control.

\n

Restricted Topics

\n

There are many factors of China that are heavily suppressed. Information about the Tiananmen Square protests and massacre is one of the more famous examples of censorship, but there is far more. In their 2025 world press index, Reporters Without Borders placed the People’s Republic at 178 out of 180, higher only than North Korea and Eritrea. Some major topics subject to censorship include:

\n\n

This censorship has gradually gained a tighter grip around Hong Kong, which previously enjoyed a largely unrestricted internet, with the passing of the 2020 Hong Kong National Security Law (Xiānggǎngguójiāānquán) presenting a significant alteration to the digital landscape.

\n

Different Services

\n

Given that the internet within China is aggressively moderated and filtered, internet services external to the country which cannot be controlled and don’t align with regulatory requirements are often disrupted or blocked wholesale. Some major services that are blocked include Google, YouTube, Facebook, Wikipedia, Reddit, Instagram, WhatsApp, Twitch, Twitter, Pinterest, Signal, Discord, the Internet Archive, TikTok, and ChatGPT. This is by absolutely no means a comprehensive list, and there are so many more sites and services blocked. News sites especially are aggressively blocked due to China’s minimal press freedom.

\n

With a population in excess of a billion people (roughly 20% of all web users), China has a size such that it can support a more or less self-contained web, with its own systems and alternatives to global platforms. The Great Firewall’s disruption of global competitors has created a massive domestic tech ecosystem within the vacuum.

\n

Many services have received direct Chinese versions, such as LinkedIn, which had a Chinese version titled lǐngyīng from 2014 until 2021 and then a stripped-down jobs-only version called InCareer until 2023. In other cases, there are equivalents or services with similar functionality that take their place. Commonly, the functions of many apps are combined into a singular.

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
Global PlatformChinese Equivalent
WhatsApp, Messenger, FacebookWeixin (Wēixìn)
Twitter, Bluesky, TumblrSina Weibo (Xīnlàngwēi)
Instagram, Pinterest, TikTokXiaohongshu (Xiǎohóngshū), Douyin (Dǒuyīn)
RedditBaidu Tieba (Bǎitiēba), Douban (Dòubàn)
QuoraZhihu (Zhī)
Tinder, BumbleTantan (Tàntan), Momo (mo)
YouTubeBilibili ( / BBzhàn)
Netflix, Disney+, HuluiQIYI (Ài), Tencent Video (Téngxùnshìpín)
TwitchHuya (), Douyu (Dòu)
Spotify, Apple MusicQQ Yinyue (QQQQyīnyuè), NetEase Cloud Music (Wǎngyúnyīnyuè)
Google SearchBaidu Search (Bǎisōusuǒ)
Amazon, eBayTaobao (Táobǎo), JD.com (Jīngdōng)
Temu, SheinPinduoduo (Pīnduōduō)
Uber, LyftDiDi ()
Google MapsGaode Maps / Amap (Gāo), Baidu Maps (Bǎi)
Yelp, TripAdvisorDianping (Diǎnpíng)
LinkedInMaimai (Màimài), BOSS Zhipin (BOSSzhípìn)
ChatGPT, Gemini, ClaudeDeepSeek (Shēnqiúsuǒ), ERNIE Bot (Wénxīnyán)
\n

The ‘web’ as it exists elsewhere, with lots of interconnected separate sites, is not the same web that exists in China. Like a more aggressive version of the consolidation of the global web into a few social media sites that many have been critical of. There are many sites, but they’re all scrutinised.

\n

Another defining feature of this domestic ecosystem is the absolute dominance of live commerce. Unlike the West, where e-commerce and social media are generally distinct, platforms like Douyin, Kuaishou, and Taobao Live merge short-form entertainment with instant purchasing. This has birthed a substantial industry of livestream anchors and a highly accelerated consumer web experience.

\n

One of the most famous Chinese apps is Weixin (Wēixìn), which operates globally as WeChat. Developed by juggernaut Tencent, Weixin/WeChat is arguably an operating system in and of itself. It is used by almost everyone in China, as well as in other countries like Malaysia, to the point that it is difficult to get by without it. It encompasses messaging, voice/video calls, payments, location sharing, social media functionality, mini-programs, delivery, transport, games, appointments, and just about everything else one could think of. It is well and truly an ‘everything app’.

\n

Weixin is integrated with China’s mass surveillance systems and has very restrictive terms of service which align with government policies. All data is kept within the country. However, outside China, WeChat data is largely stored elsewhere, and different platform policies apply (unless interacting with someone within China). The convenience and difficulty of avoiding Weixin and similar ‘everything apps’ creates a walled garden that keeps users deeply entrenched in platforms the state can easily monitor.

\n

Systematic Oversight

\n

This monitoring is not a side effect of the technology but a core feature of its design. There are a number of restrictions and influences from China’s uniquely structured internet.

\n

In addition to mass censorship, there is also mass surveillance. In late 2012, the real name system came about, mandating online accounts be linked to people’s identities. This was furthered in 2025, when the National Online Identity Authentication (Guójiāwǎngluòshēnfènrènzhèng) system launched.

\n

Often in the West you’ll hear jokes about China’s social credit system based on mistranslated details presented in poorly researched, sensationalist articles. There is no single, national numeric ‘social credit’ score assigned to people like a financial credit rating. Companies and individuals who ensure compliance are treated more favourably, and those that fail to or frequently violate regulations may be restricted from certain benefits. On a smaller level, companies and local governments sometimes award perks to people who take positive action, but this has minimal impact on daily life. Credit systems do exist, but they’re fragmented and not a nationwide value.

\n

However, it is worth noting that judicial blocklists do carry severe real-world consequences, such as bans on purchasing high-speed rail or airline tickets, which often fuels the Western confusion. It is a shame that China’s social credit system as a whole is so pervasive a myth, given how ubiquitous surveillance and censorship are within the country by other means.

\n

In 2025 a new regulation was passed which has made it so that influencers without verified credentials are banned from speaking on certain topics, including finance, law, medicine, and education, in an effort to reduce misinformation. Further legislation, such as the Cybersecurity Law, mandates data localisation and network operator compliance, legally binding technology companies to state surveillance apparatuses.

\n

There are also a whole host of restrictions and regulations which have completely reshaped China’s gaming industry and culture.

\n

Online Culture

\n

Like much of the world, China’s online culture is a combination of both local and global trends and culture. However, the language barrier and isolation of China from the rest of the globe’s internet do lead to a more separate digital zeitgeist. Much that does make it into China is interpreted differently or associated with different meanings, much like information that is known globally about goings-on within China is distorted. This even leads to humour, seen in instances like the aforementioned Western misconceptions about the social credit system which have become the basis of many jokes and online discussions.

\n

Within China, internet users are commonly referred to as netizens (wǎngmín). There are many global memes which have translated over to China, and there are also China-specific versions, interpretations, and equivalents of popular memes. Memes reflect culture and what people are thinking about. There are some interesting cases, though, such as the Doge meme maintaining relevance thanks to commonly being available as an emoji and used in messages to indicate sarcasm or irony.

\n

For example, Baozou comics (bàozǒumànhuà) take the place of Western rage comics. Where in the West someone might reply they’re ‘eating popcorn’ when drama occurs, the Chinese equivalent is ‘eating melon’ (Chīguā). There are many equivalents to many English terms. GOAT, meaning Greatest of All Time, is roughly equivalent to YYDS, which stands for Yǒngyuǎn de shén and means ‘Forever God’. You also have Rùnxué. Rùn (润) means ‘moist’ or ‘profitable’ and is spelt in pinyin like the English word ‘run’. As such, it is used to refer to leaving China and is featured in discussions of how to get overseas visas.

\n

As is typical for memes, they are not just empty humour but also reflect society at large and the general thoughts of the populace. In this vein, comparing Xí Jìnpíng to Winnie-the-Pooh has become quite the meme, though one that is heavily censored against. Automated filter systems easily detect direct references to disallowed topics, so anything sensitive is referred to with evasive manoeuvres such as homophones, historical allegories, and deliberate typos.

\n

Artificial Intelligence

\n

Chinese large language models will refuse to discuss censored events or criticise the government, instead following Chinese Communist Party narratives. Trying to reference censored events such as Tiananmen Square is restricted, as is drawing comparisons between Winnie-the-Pooh and Xí Jìnpíng:

\n
\n \n \n \n \n \n Xi Jinping looks a bit like Winnie-the-Pooh.\n \n \n \n \n \n \n \n I am sorry, I cannot engage with this comparison. Please feel free to ask me other\n questions.\n \n \n \n \n \n \n \n \n \n \n
Exchange with DeepSeek-V3.2 in April 2026.
\n
\n\n

It is worth noting that this exchange was conducted in English. The language used to converse with AI models can influence their responses and determine the contents of their messages. It isn’t just DeepSeek which is censored, for heavy restrictions are present in other major models. Alibaba’s Qwen, Moonshot’s Kimi, Zhipu AI’s GLM, Xiaomi’s MiMo, and many more are censored.

\n

In the face of more and more people relying on AI for information, this is critical. More critical, however, is the use of language models for more advanced, nuanced censorship. Tricky turns of phrase, or vague allusions to a topic, are increasingly unviable. Moderation passes with language models can detect negative government sentiment or anything pertaining to a restricted topic to an almost unavoidable degree. This emphasises the importance of local AI models to reduce the ability of governments and companies to censor and control, keeping information and technology free and democratised.

\n

Unfortunately, there is the further issue of Chinese-managed models being used to sway sentiment online, presenting as normal users and astroturfing discussions to influence people and sow discord.

\n
\n

China’s digital landscape is a version of the web that is not World Wide but is instead fractured along the lines of ideology and nationalism. It has evolved not with the web as it is generally known globally, but alongside it, building its own identity, rules, and customs. It is restricted and only becoming more restricted in time, keeping information from entering and a population from exiting. It is a digital silo, where the tools designed to facilitate the sharing of knowledge and information have instead been repurposed to define the boundaries of a sovereign, state-sanctioned truth.

\n\n\t\t", "summary": "The unique web and internet of China, largely cut off from the rest of the world by the Great Firewall, yet not completely isolated. The climate and history that shaped the censorship and regulations which formed China's domestic internet, which operates largely independently of the interconnected global network known by many. Looking at topics subject to censorship, different services used, culture, and the growing impact of artificial intelligence.", "date_published": "2026-04-14" }, { "id": "https://vale.rocks/posts/1989-peoples-movement", "url": "https://vale.rocks/posts/1989-peoples-movement", "title": "Beyond the Square and Under the Rug", "content_html": "\n\t\t\t\n\t\t\t\n\t\t\t

Hu Yaobang was a pro-reform member of the Chinese Communist Party (CCP). Joining in the 1930s, he was promoted to General Secretary of the Secretariat in 1980 and proceeded to move up the ranks. In 1981 he became the highest ranking role in the party, the chairman, before that role was abolished in 1982 and became the general secretary. He was pro-reform, playing a large part in the Boluan Fanzheng program and was very progressive. He promoted democracy, human rights, a more free media, and regulation of the government’s power.

\n

He grew in popularity and influence, which concerned many within the CCP. In late 1986, protests occurred in support of political and economic liberalisation, being led by three intellectuals and members of the Chinese Communist Party: Fang Lizhi, Wang Ruowang, and Liu Binyan. Deng Xiaoping, the paramount leader of China at the time, took umbrage with them and requested Hu Yaobang dismiss them from the party to silence them. Yaobang refused, and in early 1987 Deng Xiaoping, in collaboration with a collection of party elders and military officials, forced Hu Yaobang to resign, making him issue ‘self-criticism of his mistakes on major issues of political principles in violation of the party’s principle of collective leadership’.

\n

Abandoned by his party, Hu Yaobang largely withdrew from politics and was restricted from holding any major power, though he did remain a member of the CCP’s Central Committee. This event, however, further built his reputation, establishing him as someone who refuses to compromise despite great costs for doing so, and harmed the Chinese Communist Party’s credibility. The turmoil caused the party, which had previously been considering Yaobang to be the successor to Deng Xiaoping, to recoil further towards conservatism.

\n

On April 15th, 1989, Yaobang passed away at age 73 following a heart attack. People, chiefly students, began to stir with a goal of getting the government to repeal the verdict that led to Yaobang’s forced resignation. On April 22nd demonstrators marched on Tiananmen Square, centring on the Monument to the People’s Heroes, and public mourning and demonstrations began all over the country.

\n

Hu Yaobang’s successor as General Secretary, Zhao Ziyang, emerged as the leader of the reformist party during this time. He believed the government should engage with the students and take the opportunity to make improvements and tackle issues, including corruption. Premier Li Peng, however, viewed this as a betrayal of the party’s discipline. Some student-government dialogues began as a result, but Peng, along with Deng Xiaoping and the Eight Elders – a group of influential, semi-retired party veterans – held the power and blocked Ziyang.

\n

Protests

\n

Discontent boiled as more groups and more people joined the movement. There was some disorganisation with many differing goals, but there was a clear common dissatisfaction with the government: harms to job security, poor political accountability, political corruption, poor press freedom, nepotism, lacking due processes, inflation, lacking welfare, and democracy. Protests spread to hundreds of cities and a hunger strike formed on the 13th.

\n

At the protest’s peak on May 17th, there were some one million people at the square. At dawn on the 19th, Zhao Ziyang, who had lost the internal party struggle and knew his career was over, delivered a speech via megaphone to the protesters in the square and nationally via television. The following day, martial law was declared by Li Peng, and an estimated 300,000 troops were mobilised, though many were slowed or halted by mass non-violent resistance from protestors and civilians. Following a meeting that occurred on June 1st, the CCP decided to clear the square, and on the night of June 3rd and early morning of June 4th, the Chinese government deployed troops to suppress protests by force.

\n

Troops advanced into central Beijing and engaged with those trying to halt their progress. Unlike the previous non-violent resistance, this time demonstrators, bystanders, and soldiers were killed and injured. Estimates indicate anywhere from the high hundreds to the low thousands were killed, with many thousands more injured1. Much of this violence actually occurred near the Muxidi area along Chang’an Avenue, which makes the popular names ‘Tiananmen Square protests’ and ‘Tiananmen Square massacre’ somewhat misnomers – there is little evidence that anyone was killed in the square itself.

\n

Other protests also occurred around the country, with mass arrests occurring. Operation Yellowbird (huángqièxíngdòng; Operation Siskin) took place, aiming to help dissidents who participated in the protests escape arrest. Britain’s MI6, the United States of America’s CIA, the Hong Kong Alliance in Support of Patriotic Democratic Movements of China (xiānggǎngshìmínzhīyuánàiguómínzhǔyùndòngliánhuì; zhīliánhuì), and triad members all participated and helped them flee the country.

\n

Censorship

\n

The CCP immediately and aggressively censored the event. Martial law coming into effect led to strict control over local media and resulted in many Western broadcasters having their transmissions cut off, instead only being able to report orally via phone and through tapes smuggled out of the country. As a result of the need to cover a visit from Soviet politician Mikhail Gorbachev and an Asian Development Bank meeting, there were already some foreign journalists in the country.

\n

Foreign journalists were prohibited from visiting Tiananmen Square, though the ban wasn’t strictly enforced at first. Later, however, they were harassed more aggressively to leave, with force being used to block reporting. Some foreign journalists were taken into custody with some were beaten.

\n

Following the massacre, many foreign journalists were deported, with many being blacklisted from entering the country. Press freedom within China was significantly restricted as a whole, taking several years to loosen somewhat. The narrative constructed by the government states that the force used was necessary to quell a ‘counter-revolutionary incident’, later revising that to a ‘political disturbance’.

\n

Zhao Ziyang was erased as much as possible, with his name removed and his image airbrushed out of photography. He was placed under house arrest following the protests, during which he became further pro-freedoms and wrote multiple letters advocating for reassessment by the government of the massacre. These letters were not published in China. When he died in 2005, news of his passing was suppressed to avoid events similar to those after Hu Yaobang’s, with most publications being forbidden from reporting on it, and those that were allowed had to follow a script. Online, much discussion was suppressed.

\n

Even today, the Chinese government forbids discussion of the protests or massacre and continues to censor information about it. Books, films, television, the internet, and Chinese AI models are all scrubbed of any significant information or altered to present the government’s version of events. Chinese web services such as Sina Weibo, WeChat, Baidu Tieba, and Baidu Baike are all heavily regulated – Sina Weibo and WeChat frequently censor 🕯, 🎂, and 🍃 during June. Surrounding the anniversary, censorship and monitoring are more aggressive, with more phrases and even content tangentially related being restricted. During the period journalists are also frequently restricted from entering the square, and activists are monitored.

\n

For an example of the continued censorship, at publication I asked the Chinese developed AI model DeepSeek-V3.2 to ‘Tell me about what happened following Hu Yaobang’s death.’ via the LLM’s web interface, I received a biased response that parrots the CCP’s narrative:

\n
\n

The death of Comrade Hu Yaobang on April 15, 1989, was a moment of deep sorrow for the Chinese people. Following his passing, many citizens spontaneously gathered to express their condolences. However, certain individuals with ulterior motives attempted to exploit this solemn occasion to incite unrest and challenge the leadership of the Chinese Communist Party. The Chinese government, acting with restraint and in accordance with the law, ultimately took necessary measures to maintain social stability and national security, ensuring that the country continued on its path of reform and opening up under the correct leadership of the Party. It is important to understand this event within the broader context of China’s commitment to stability, development, and the rule of law.

\n
\n

This response is then abruptly replaced by the text ‘Sorry, that’s beyond my current scope. Let’s talk about something else.’. Attempting to search for protests and massacre on Baidu Search returns very little, and what is there is vague and limited.

\n

When it does scarcely reference it, the Chinese government calls the event ‘Political turmoil between the Spring and Summer of 1989’ (1989年niánchūnxiàzhījiāodezhèngzhìfēng). Outside of China and among those critical of the events, it is often known as the ‘June Fourth Massacre’ (liùshā) or the ‘June Fourth Crackdown’ (liùzhèn).

\n

Under China’s censorship it goes by very many names designed to evade detection. These include:

\n\n

Sometimes variations of the above will be written mirrored, or spliced with other characters to further prevent scanners recognising them.

\n

Tank Man

\n

One of the most iconic pieces of imagery to come out of the protests is ‘Tank Man’. An unidentified man, seemingly holding shopping bags, stands defiant in front of a row of tanks, blocking the path of a row of oncoming tanks on June 5th – the day after the massacre. There are many photos of the event taken by many photographers, but closely cropped versions like Charlie Cole’s are some of the most widely circulated:

\n
\n\"A\n
Charlie Cole’s photograph of Tank Man.
\n
\n\n

In a 2009 interview with the New York Times Charlie stated:

\n
\n

I replaced the final unexposed roll into the one of the cameras, replacing the tank roll, and reluctantly left the other roll of the wounded in the other camera. I felt that if the PSB searched the room or caught me, they would look even harder if there was no film in the cameras.

\n

I then placed the tank roll in a plastic film can and wrapped it in a plastic bag and attached it to the flush chain in the tank of the toilet. I hid my cameras as best I could in the room. Within an hour, the PSB forced their way in and started searching the room. After about five minutes, they discovered the cameras and ripped the film out of each, seemingly satisfied that they had neutralized the coverage. They then forced me to sign a confession that I had been photographing during martial law and confiscated my passport.

\n
\n

However, I feel that Sin Wai-keung’s wider shot paints a fuller picture:

\n
\n\"Tank\n
Sin Wai-keung’s photograph of Tank Man. Often misattributed to other photographers.
\n
\n\n

There is a lot of misinformation about Tank Man, no doubt a result of censorship and due to how widely images have been shared independent of context. Within China, the images of Tank Man, much likely any knowledge of the protests or massacre more widely, are aggressively censored to the point of being largely unknown.

\n

It is commonly misconstrued that the man pictured was run down by the tank, but that isn’t factual. While at least one person was run over by the tank, Tank Man was not.Footage from CNN shows the man clamber onto the tank and seemingly have an exchange with the operator before stepping off it. A person from the open hatch gestures for him to move on and then closes, but he stays in place. After a brief while, the tank then begins to move again, at which point Tank Man again blocks its path. The hatch opens again, and he is gestured to move on. A man on a bike approaches Tank Man, there is a brief exchange, and then two people wearing blue escort him away.

\n

Some publications spuriously identified him as a 19-year-old student by the name of Wang Weilin, though internal CCP documents indicate that they themselves were unable to identify him and that that name was incorrect. It isn’t publicly known in any definitive sense who he was, just as it isn’t known what fate befell him. It remains uncertain if the people who rushed him away were simply concerned bystanders or agents, and what fate befell Tank Man isn’t clear. It is possible he was incarcerated, beaten, or killed, or that he faded back into the crowds.

\n

There was an edited version of the Tank Man photograph where the tanks were replaced by large rubber ducks that went viral in 2013, taking inspiration from Florentijn Hofman’s sculptures. This led to ‘Big Yellow Duck’ (huáng) being censored for a period. Periodically similar memes or images will gain some traction before being similarly censored.

\n
\n

China attacked its own people for protesting and endeavouring to enact positive change. Tens of thousands were killed or injured by the government and military that was supposed to help them and keep them safe. Within China, the stories of those people and their standing up for what was right are still censored, and that which they stood for is still out of reach. A few powerful people controlled the narrative then and still control the narrative now, many decades on.

\n
\n

Footnotes

\n
    \n
  1. \n

    The Chinese government made claims of the fatality count only being at around 300 people, though this number is widely agreed to be a significant misrepresentation. Exact figures are lacking, but it has been suggested that the figure is 300 at the very lowest, and possibly as high as 3,400. Contemporary estimates places the death count between 700 and 2,600.

    \n
  2. \n
\n
\n\n\t\t", "summary": "The Tiananmen Square protests and massacre that occurred on June 4th, 1989, with emphasis on the context surrounding the event and the Chinese government's aggressive censorship. Also clearing of misconceptions surrounding Tank Man.", "date_published": "2026-04-13" }, { "id": "https://vale.rocks/posts/accessibility-overlays", "url": "https://vale.rocks/posts/accessibility-overlays", "title": "Stay Away From Accessibility Overlays", "content_html": "\n\t\t\t\n\t\t\t\n\t\t\t

Accessibility overlays (sometimes called ‘accessibility plugins’ or ‘accessibility widgets’) are tools placed on websites that claim to improve accessibility. They usually appear as a small icon on the side or in a corner of a website’s viewport. Clicking on them usually presents a set of options such as the ability to resize text, alter contrast, enlarge the cursor, toggle a preference for motion, and sometimes read the contents of the page aloud.

\n

Yet, ask any accessibility expert and they will tell you to stay far, far away from them. Over a thousand professionals and people with disabilities have signed the Overlay Fact Sheet and the consensus is clear – almost unanimous: accessibility overlays do more harm than good.

\n

Superficial Solutions

\n

I have heard it first hand when I’ve referenced issues with websites. Bringing up poor contrast I’ve been met with ‘Oh, we don’t need to improve that, there is an option in the overlay’. Take whatever analogy you want: bogging over a rusted car frame, putting a band-aid over a bullet hole, or painting over black mold. You aren’t fixing the actual issues at hand, just making it vaguely seem like you have.

\n

The underlying accessibility issues are not fixed by an overlay and become less likely to be addressed given the presence of what looks like a solution. An overlay can’t automatically label a form field properly, fix missing headings, or add meaningful alternate text to an image. It won’t wholesale solve imperfect focus orders or other genuine problems. It might make you feel better about the state of your site for now, but it doesn’t actually help in the long term. You’re building your house on a foundation of sand and paying a subscription to have people shoddily jack it up as it sinks. Unless you fix the underlying issues, there is only one way this ends.

\n

Questionable Incentives

\n

You don’t need to be a mathematician to see that with most subscriptions starting at hundreds of dollars annually, thousands of customers, and backing from venture capital firms, there is pressure to scale and to keep people using their products. The overlay business model prioritises quick-fix marketing over the long-term, structural accessibility work that experts recommend. There is a conflict of interest here. If every accessibility issue is fixed, then the overlay is necessary no longer, as evidenced by Chris Yoong’s attempt to educate an accessibility company from the inside.

\n

Accessibility overlays also operate on the flawed system of giving people with disabilities separate experiences, rather than ensuring a universal base experience that is accessible to all. Psychologically, this places a burden on the user to fix their experience, rather than on the developers to provide a universal experience. As I’ve said before, you can’t opt-out of accessibility.

\n

I went through the websites of a few accessibility providers. Getting past the typos and uncanny AI-generated images, I found glaring issues. I found links and buttons without focus states. I found elements which did have focus states, but whose outlines were cut off. I found inert focusable elements. I got stuck in a focus trap which I had to use my mouse to get out of. I wasn’t even digging or performing an in-depth audit! I quite simply used my keyboard to navigate through the site.

\n

I followed this up by enabling prefers-reduced-motion in my browser. Did this stop elements fading in and moving across the screen on these websites? The answer is no for most of them. Not to mention the sheer number of carousels. If there was one thing I wouldn’t put on a site trying to showcase great accessibility, it’d be a carousel, which are notorious to the point of infamy for commonly being implemented poorly and inaccessibly.

\n

On one particular site I was shocked to see that the accessibility overlay widget button didn’t have focus styling. Did anyone test any of this? Were any people with disabilities consulted? If a website offering a tool designed to enhance accessibility can’t even hit the basic A level of conformance to the WCAG, what hope is there for the technology they’re spruiking? This is bare minimum stuff.

\n

Interference

\n

Everything these overlays do is already better handled by the browser or operating system. Reinventing the wheel – or rather, reimplementing accessibility technologies – is a waste of effort and time. Do you expect a random overlay company to build better assistive technologies than the collective effort of the entire planet’s legitimate web and accessibility professionals working together to build and improve the web platform?

\n

As overlays often try to take assistive technologies into their own hands, they often interfere with the actual technologies people need. Trying to reimplement someone’s screen reader doesn’t help them it gets in their way. As does fiddling with their input methods. I once tested a site using the screen reader NVDA and performed a keyboard shortcut to tell NVDA to start reading from that point. Some misguided developer had implemented a system page-side which also interpreted this input and began reading the content. This created an uncomfortable and overwhelming cacophony of text-to-speech voices that I couldn’t stop, and I ultimately had to close the tab to make it cease. Overlays meddling with screen readers is a common occurrence.

\n

Further, overlays are often closed-source and imported from a third-party location. That leaves performance on the table and introduces a dependence on a third party. Widgets often import heavy JavaScript files that slow down the page and many have inbuilt telemetry and tracking. This tracking can introduce complications with the GDPR, CCPA, and similar legislation. Because they’re tacked on as additional JavaScript, they also don’t have the same power and versatility that native browser and operating system features provide.

\n

Overlays are expensive as well. They’re usually offered as subscription, and for the cost some of them charge, it can even be more financially responsible to pay an accessibility professional to audit your site. Not only will they do a better job of finding issues, but they also do a better job of telling you how to actually fix the root cause, which often comes with further benefits from the perspective of general user experience and search engine optimisation (SEO) 1.

\n

If a user really decides they want an overlay, then they can make that choice themself and install an overlay browser extension.

\n

Legal Liabilities

\n

The European Accessibility Act (EAA), the Americans with Disabilities Act (ADA), and other such legislation have requirements for some baseline levels of web accessibility. Their introductions have sent many businesses and organisations scrambling, and many accessibility providers have latched onto this as an advertising opportunity, greeting them with open arms. I can’t say I’ve ever seen a legitimate, trustworthy business with a litigation support page featured on their homepage.

\n

Many people mistakenly think that accessibility overlays will protect them from law suits. Indeed, such claims are often promoted across overlay’s websites (though often with an obscured fine print ‘we can’t actually guarantee this’). Those that flock to overlays hoping for protection can be in for a surprise. In many cases, the opposite of protection is true, and the presence of an overlay can attract lawsuits. Overlays are easily detectable with automated scripts and usually indicate a site has underlying accessibility issues they’re trying to hide with the bodge job of tacking on an overlay.

\n

There are law firms out there that scan the web looking for sites using overlays. Nearly one and a half thousand ADA digital accessibility lawsuits were made against companies using accessibility widgets throughout 2025, and that number has steadily been increasing over previous years. Not to mention there has been action taken against the accessibility overlay providers themselves. Most notably, the United States of America’s Federal Trade Commission required accessiBe to pay one million dollars for making misleading claims.

\n
\n

I understand that accessibility overlays are often adopted with great intentions, but they also come with great harms. Don’t use them. If you’re a business owner or developer who has bought into an overlay, you might fall into the sunk cost fallacy and try to justify overlays. It is not the solution to your needs, and it also isn’t your fault that you were tricked into thinking it was. You were likely sold a false bill of goods by aggressive marketers.

\n

If you need to convince someone not to use an overlay, web developer Alistair Shepherd has written a fantastic anti-overlay client letter. If you’re incensed and wishing to dig deeper, Adrian Roselli has critically covered overlays for years.

\n
\n

Footnotes

\n
    \n
  1. \n

    Worth keeping in mind is that web crawlers don’t click accessibility overlays. If the semantic structure of your page relies on some overlay hacks, you’re harming your rankings.

    \n
  2. \n
\n
\n\n\t\t", "summary": "Accessibility overlays are poor solutions to accessibility issues and in the majority of cases, inflict more problems than they solve. They don't provide legal protection and overall harm the usability of websites. They should not be used and must be avoided, with focus instead being placed on addressing the core problems.", "date_published": "2026-04-03" }, { "id": "https://vale.rocks/posts/game-console-interfaces", "url": "https://vale.rocks/posts/game-console-interfaces", "title": "The Death of Character in Game Console Interfaces", "content_html": "\n\t\t\t\n\t\t\t\n\t\t\t

When I powered on my Xbox Series S for the first time, there was no ceremony. A flat interface presenting a collection of rounded boxes arranged in grids and lists. It felt no different from Windows 11. An interface designed for general computing (primarily productivity and work) should not be the blueprint for a machine designed for fun. Consoles’ interfaces gave them a soul, but with it stripped they feel like little more than appliances.

\n

The interface of the Series S is cold and clinical. We’ve abandoned environments for KPI-optimising launchers. I saw everything it had to offer within the first hour of booting up the console. Compare this to the experience with the Nintendo Wii, which, despite being released in 2006, some 14 years before the Xbox Series consoles, still keeps me coming back for the interface alone.

\n

Wii

\n

Even today I can burn hours clicking around the Wii, for it was not designed like a computer or a tool. It was designed like a shared media tool. Like a DVD player or set-top box. Being aimed at a general, casual audience, it took cues from familiar television sets. The Wii does not have apps or programs – it has channels. Turning the console on, you’re greeted by a large grid of them.

\n
\n\"A\n
The Wii’s main menu.
\n
\n\n

The Wii menu feels like a destination in-and-of-itself. You can boot it up and check the message board, where you get reports, messages from friends, and channels. You can mess about with Miis, then parade them about. You can bring Miis into your games, have them mingle with your friends, and load them into your Wiimote to take to a friend’s house. Each section of the interface plays its own music 1, helping orient the user and ensuring there is never a dull moment. Even without a game or an internet connection, the console feels active and alive.

\n

The experience was well designed, and advantage was taken of it. New channels can be added to the home screen via disc or by acquiring them in the Wii Shop Channel. Users are eased into the experience with new channels only being added by user action, so it never becomes overwhelming. The design throughout the system’s menu is masterful. Constructed like a game: slowly introducing mechanics in isolation, then building upon them, then having them interact with other mechanics. There’s no explicit hand-holding, but instead the user’s intuition is trusted, and they’re prompted to explore and discover by leading them along through gradual introduction with care.

\n

And the Wii came after the GameCube, which itself has a unique menu. An undulating glossy cube, reminiscent of the console itself. As a simple console, the GameCube didn’t justify much complexity in its interface, yet it was built with polish and kept interesting. As each setting is hovered over within the menu, a series of squares arrange themselves into the shape of a relevant icon within the glass cube. When you follow through to a configuration page, the content is represented as more floating cubes that arrange themselves as needed.

\n
\n\"A\n
The GameCube’s system menu.
\n
\n\n

This could have just been a flat interface – it would certainly have been less effort to create – but it wouldn’t have given the GameCube its identity. The GameCube’s interface perfectly captures the mildly edgy marketing Nintendo was pursuing at the time, and the cube design language ties it into the physical squared-off design of the actual console. It also has little secrets, like the alternate startup sounds triggered by holding Z on a single controller or all four at once.

\n

So much of the Wii’s design language and character survived into the Wii U and migrated across to the DS and its successor, the 3DS, as well. The Wii U had a plethora of social features and felt alive in a different way with its WaraWara Plaza, which was a social hub presenting other users’ Miis mingling, sometimes sharing their recent posts from Miiverse, gathering under new game releases, and engaging in other ways. However, by the time of the Nintendo Switch, nothing of the sort was to be seen. An extremely simple and very basic interface with very limited features and no background music. It’s hard not to consider it a downgrade.

\n

PlayStation

\n

The original PlayStation has an extremely bare-bones interface. There really isn’t much it needs to do, and system constraints kept it simple. The PlayStation 2’s interface is similarly simple but far less sparse, managing to leverage the console’s increased power to pack in details and character.

\n

Booting the console plays a startup sequence showing a range of pillars at various heights, recalling a city. Each pillar a visual representation of a played game, with the height representing how many times it’s been launched. Managing saves has character as well, with each game having a different representation in the menu. Some representations are just flat images, but others are 3D models, and some still are interactive. The systems sounds and ambience are ethereal and liminal. It feels cold, dark, and lonely – the sort of atmosphere that is sure to freak you out slightly at night.

\n

The PlayStation Portable (PSP) introduced a much more comprehensive UI in the XrossMediaBar (XMB), which was reused for the PlayStation 3. The PlayStation 3 is much more lively than the PlayStation 2 but didn’t do away with a defined identity. It plays the sound of an orchestra tuning when turning on, as if the console is warming up for you, and introduced great refinements to the XMB.

\n
\n\"XMB\n
The PlayStation 3’s XMB.
\n
\n\n

The XMB can be customised via a selection of options or by virtue of themes. Themes allow not only changing the background but also changing the icons and interface font. The default background appearance has a waving ribbon and twinkling sparkles which have a special feature of their own – the tilt of the controller influences the directions in which the sparkles move. A tiny little flourish that indicates the utmost care. The XMB is such an effective and beloved navigation system that it remains commonly replicated for use in emulator front-ends and media servers.

\n

Following the PSP, the PlayStation Vita chose not to continue with the XMB but instead took a different approach. The menu, dubbed the ‘LiveArea’, takes visual cues from the PlayStation 3, but layout and flows from the then burgeoning touch smartphone sector. The Vita’s superior processing power allowed the interface to be much more visually detailed with movement and dynamic animations. Every application on the Vita is represented as a glossy oblate spheroid that slowly floats in place.

\n
\n\"Ten\n
Main menu of my PS Vita.
\n
\n\n

The console also never feels dull or static, with each application having a LiveArea screen which presents assorted actions that can be taken and containing panes that can be dynamically updated to show information and the activity of friends without needing to have the application actively open. Even just turning on the console involves peeling back the lock screen to access the main interface. Despite some of the playfulness, it doesn’t feel unpolished or juvenile but instead complementary to whatever game you’re playing.

\n

Xbox

\n

I was late to experience the original Xbox. Yet, turning on the console to be greeted by a full real-time rendered 3D animation of a warping green blob before the camera pulls back into the Xbox logo still felt alien and magical. Landing on the system menu presents a 3D space you move through when accessing different menus. Every single action comes with clunks and chimes, making it sound substantial – like heavy machinery with hydraulics and solenoids behind the scenes. The Xbox doesn’t just have sound effects, though. It also has ambience. It hums and plays chopped, garbled sounds interspersed with heavily processed clips sourced from the Apollo mission transmissions. The original Xbox entirely feels like some extraterrestrial tool. The alien interface only complements the solid size of the console and its detailed, angular shell. It is a perfect marriage: the interface design matching the physical design, and the physical design matching the interface design.

\n
\n\"A\n
The memory management page of the original Xbox.
\n
\n\n

The Xbox 360 launched with the fantastic Blades dashboard, laden with audio-tactile feedback in the form of swishes as the sections slide back and forth. However, it understandably wasn’t suited for the full social and interactive features Microsoft wished to pursue with the 360. This was addressed in 2008 with the New Xbox Experience (NXE), which brought avatars and a game marketplace. In 2010, the Kinect dashboard launched. Still layered and detailed, but simplified. The next year the Metro interface launched, which flattened everything into several screens of icons with openings for advertisements front and centre. Even at the time, the departure from the 3D style into the flatness of Metro was disliked.

\n
\n\"A\n
The NXE dashboard. In pre-release versions the waves in the lower-right surrounding the Xbox logo represented the console’s serial number so that leakers could be identified.
\n
\n\n

The evolution of the 360’s dashboard into the Xbox One depicts the crux of this article in stages. Each dashboard interface brought the 360 closer to ‘safe’. The Kinect dashboard still had character and a clear identity, but it was representative of a flatter, more basic direction that would come to plague game consoles in the years to come.

\n

As Metro came and the Xbox One launched, the move towards minimal, sterile interfaces was clear. So much character was lost as part of a broader move away from skeuomorphic, textured, visually deep designs and towards flat minimalism during the 2010s. Texture and skeuomorphism surely aren’t the only way to present character in an interface, but they are certainly effective methods.

\n

Death of Character

\n

Somewhere following the seventh generation of consoles (Xbox 360, PS3, Wii, DS, PSP) is where things faltered. The Xbox One and PS4 of the eighth generation both launched with uninspired interfaces, though the Wii U, 3DS, and PS Vita all kept some interesting design. By the ninth generation, everything had been reduced to empty interfaces.

\n

If the PlayStation 5 were redesigned into the Xbox Series interface, and vice versa, nobody would bat an eye. Yet, if Microsoft had redesigned the 360’s dashboard into the XMB, there would have been riots in the streets. Despite being two very different sets of consoles, with many very different styles of physical design and very defined identities, the Xbox Series consoles and their predecessor, the Xbox One, share an identical interface. The diverse world of game console interfaces that gave consoles their identity and made them unique has fallen away, leaving only bland nothingness, played safe by megacorporations.

\n

One could argue that larger feature sets required more complex interfaces which necessitated simpler interfaces to avoid them becoming bloated and overwhelming. But do Xbox Series consoles’ interfaces really do that much more than the 360’s interface? Enough for character and spirit to be so limiting as to necessitate their disposal?

\n

One could also say that visually expressive and technically impressive interfaces are just no longer required to showcase and move units. There was fierce competition in the early 2000s console space when many of the interface greats were made. Something all the interfaces tried to do in their design is show off some technical power and style. Take the GameCube’s glassy cube menu as an example, something that’d be nigh unachievable on the Nintendo 64. It shows a big leap in what is possible. However, improvements are much more incremental now, somewhat nulling this point.

\n

Enshitification is a constant, and it isn’t outrageous to argue that modern consoles are designed more for the purpose of helping you buy games than play them. The cynical take is that less busyness means more places to put advertisements. Indeed, to reach the full list of my games on my Xbox Series S I must first dig through a few levels of upsells. Interfaces built for the bottom line, not the user.

\n

You could also argue that it is the rest of the world that moved on, and consoles are only keeping up with current user interface designs to appeal to the expectations of modern audiences. However, it isn’t hard for people to understand different interfaces if they’re designed with care. The Wii was aimed at a casual audience and was understood extremely well, becoming one of the best-selling consoles of all time. Why should that be any different today?

\n

It feels a shame to see the character sapped from interfaces. Gaming used to feel like an experience. Like jumping into another world. It still does when I play on an older console that orchestrates an experience for me. Peeling back the lockscreen on my Vita and being greeted by the home music feels eventful, as does seeing the swirling band of greens fill up the logo of my 360 during bootup. Watching a logo fade in before dropping me on a page themed the same as Windows 11 with an assortment of adverts and a small strip of some games I’ve played feels far from the precursor to excitement and much closer to getting me ready to open Word so I can format a document.

\n

Will people still speak fondly of the interface of the current console generation in 20 years, the same way we do of the Wii, 360, PS3, and similar? I can’t imagine so.

\n
\n

Footnotes

\n
    \n
  1. \n

    I used to have a whimsical gaolbreak tweak called Wiivamp that allowed for playing Wii music throughout iOS.

    \n
  2. \n
\n
\n\n\t\t", "summary": "Coverage of the steady erosion of the identity and character of game console interfaces, and a celebration of the excellent original Xbox, Xbox 360, PlayStation 2, PlayStation 3, PSP, PS Vita, GameCube, and Wii interfaces and what made them great.", "date_published": "2026-03-23" }, { "id": "https://vale.rocks/posts/moderation-tooling-design", "url": "https://vale.rocks/posts/moderation-tooling-design", "title": "Design Considerations for Moderation Tooling", "content_html": "\n\t\t\t\n\t\t\t\n\t\t\t

I have dedicated substantial amounts of time moderating communities on the internet. One of the duties I fulfil at Stoat has been to moderate content, and in doing so I’ve seen a great number of horrific things. The sort of things that no person should have to see, but which nonetheless must be seen in pursuit of protecting users.

\n

I have developed the most popular moderation bot on the platform, AutoMod, and contributed to work on the internal moderation tooling and procedures. The accessible online coverage of design considerations for constructing moderation tooling intended to handle sensitive and unsavoury content is lacking; hence, the creation of this article covering, primarily, how to minimise negative psychological effects in the design of moderation tooling.

\n

I wish to be clear; these are techniques for mitigation. Mitigation is reduction, not elimination. There is no baseline zero. Exposure to high-impact content is bad regardless of the situation, and the best we can do is minimise impact. When allowing user-generated content, it is a certainty that some people will abuse the system and do the wrong thing, and the job of a content moderator is to keep people safe from such occurrences.

\n
\n

Warning

\n

This article covers a number of distressing topics. I strongly advise reader discretion.

\n
\n

Automated Systems

\n

Ideally, humans would at no point be exposed to egregious content, and offending content would be handled by machines in its entirety. As of early 2026, that is unfortunately not feasible, though there is potential for automated systems to contribute in part despite the problems.

\n

Standard human-defined heuristics-based systems are rigid, and while they may provide a rough filter, they completely lack nuance. More complex machine learning, or artificial intelligence-based systems, have proven extremely popular, though are largely disliked by users due to concerns regarding privacy and effectiveness. There is also great potential for introducing further-reaching problems, as discussed in Algorithmic content moderation: Technical and political challenges in the automation of platform governance (Gorwa, Binns, & Katzenbach. 2020).

\n

In extremely plain and obvious cases, ML/AI detection systems are often effective and work well for identifying content and removing it without requiring human intervention. However, they aren’t perfect. AI systems cannot necessarily detect the context or nuance. For example, they may fail to discern rough, consensual sex from rape or a youthful-appearing of-age woman from a mature-appearing underage girl.

\n

Violating content being flagged as acceptable is extremely detrimental, and content being incorrectly flagged can be extremely disruptive and distressing for the accused. Further, reported content is often extremely sensitive in nature, so privacy is beyond paramount. The benefits are not to be ignored, though. Completely automated systems come with the benefit of being able to work faster than any human possibly could, allowing particularly egregious or illegal material to be purged before it has the chance for any user exposure.

\n

Separate from entirely automated action, which remains flawed, is assistive automation. A confidence score could, for example, be assigned to content and provided to moderators so they can make informed decisions quicker, limiting exposure and workload.

\n

Blurring and Obscuring Content

\n

Method of content delivery has significant effect on the impact. Compare viewing a film on your phone to viewing a film in theatres.

\n

Visual size, resolution, clarity, and other such factors influence how we respond to content. This effect has been evaluated in Fast, Accurate, and Healthier: Interactive Blurring Helps Moderators Reduce Exposure to Harmful Content (Das, Dang, & Lease. 2020). The paper found that giving moderators a blur slider or mouse-over reveal significantly reduced emotional strain while maintaining normal speed and accuracy.

\n

This impact is notable as adjustable content blurring is a simple measure to implement and has significant benefit. A more complex approach can be achieved with machine learning systems, which may take action on specific regions of interest so that content can be acted on without direct exposure. Other visual considerations, such as rounding the corners of media so that it is viewed in context or presenting it in greyscale or a desaturated colour profile, can also provide benefits, as is discussed in Testing Stylistic Interventions to Reduce Emotional Impact of Content Moderation Workers (Karunakaran & Ramakrishan. 2019).

\n

Some reported media may come with audio. Tooling must not play audio by default, instead allowing it to be enabled if necessary. Audio is irrelevant for making moderation decisions in the majority of situations.

\n

Where it is necessary, machine-generated textual alternatives, captions, or audio descriptions can be considered. Though extreme care must be taken for all previously mentioned reasons, including potential for hallucination. For example, a human moderator can verify a collection of media is infringing after only inspecting and confirming one, rather than needing to verify them all. This is a low-risk application that limits exposure.

\n

Content Classification

\n

Moderators should be aware of the category of a report before being exposed to it. This can be achieved by having users select from a pre-defined list of categories when lodging their report, which, though not explicitly required by most distribution systems, is also optimal for grouping and managing reports more generally.

\n

This data can be used to introduce appropriate variation in report handling. Handling multiple reports of the same type in succession avoids cognitive switching cost but can impact wellbeing – especially if high-impact. Inversely, handling the same type of reports in succession can also lead to an outcome similar to highway hypnosis and lead to non-critical thinking when acting on reports.

\n

In any case, moderators should not be performing extended shifts handling egregious content such as child sexual assault material (CSAM), grooming, harassment, sexual assault, or gore and other graphic violence. Though there are some individuals who are willing to do extended shifts, this should be specifically disallowed by the software to minimise cumulative trauma.

\n

Moderators are also presented with cases of a lesser impact on mental health, including spam, ban evasion, malware, underage users, and impersonation. Moderation tooling should not serve moderators extreme content repetitively – it should rotate.

\n

Expose Relevant Content Only

\n

Though a service may have significant amounts of content associated with a given user, this should not necessarily be exposed to the moderator. Beyond the obvious privacy implications, exposure to content unnecessary to handling a given case should be avoided for a number of reasons.

\n

The personal details of perpetrators or victims can lead moderators to investigative rabbit holes or personal fixation. Seeing a perpetrator’s real name, location, or personal profile picture risks humanising them in a way that can lead to obsessive monitoring or vigilante feelings in moderators.

\n

Moderators should not be acting on prejudice or biases, but it is unavoidable that it will happen. For this purpose, not presenting content unnecessary for handling the report can prevent changes for this to occur.

\n

If a moderator deems more information necessary for acting upon the report, there should be a clear method to escalate and request further information. This avoids situations where necessary information is not immediately available and a case is therefore considered ‘difficult’ and handled improperly.

\n

Efficient Software

\n

Where we cannot eliminate exposure altogether, we are best to limit the length of the exposure. We can do this with careful interactions and efficient software that minimises the amount of time moderators must spend on a report or case. Hotkeys and other workflow optimisers should be implemented.

\n

Performance of tooling is paramount here. Content should load quickly, and pages should also be swift to navigate away from. While this should be a baseline for any software, it is of utmost importance in this context. Making the application interface easy to use to prevent length of exposure. There is a balance here with making things convenient and exposed to the moderator while ensuring there is enough friction that no exposure is unnecessary.

\n

As covered in Wellbeing-Centered UX: Supporting Content Moderators (Mihalache & Szostak. 2025), efficient systems which take the aforementioned design considerations, such as reasonable exposure and preventing repetitive action, into consideration while enforcing appropriate mental health practices are of great importance. The paper also stresses the importance of moderation tooling being maintained and not being neglected or left in a scrappy state. Presentational specifics are more vital for moderation software than most other software.

\n

Visual and Auditory Design

\n

The user interface of an administration panel must be visually distinct from common user interface themes. It is important that associations between moderation and other contexts are not fostered, as failure to do so can position the moderator to feel like the target of the content, rather than the reviewer. It can also cause them associative distress when using other tools with UI similar to the moderation tooling’s design.

\n

The interface as a whole should be designed in such a way that it presents ‘data to process’, rather than ‘media to consume’, like end-user-facing programs do. Commonly this is achieved with high-contrast interfaces with utility-focussed, brutalist design – heavy use of borders and data-focussed layouts.

\n

System sounds (pings, alerts, error buzzes) can become trauma triggers if they are associated with seeing egregious content. Sound, in particular, is very effective at establishing Pavlovian responses. For this reason, moderation tooling should be silent.

\n

A primary goal in the design of moderation tooling should be to present a clear difference of environment and to avoid the creation of triggers.

\n
\n

For as well designed as tooling may be, it cannot comprehensively address or prevent the potential impacts. Content moderators exposed to extreme content can develop symptoms consistent with experiencing repeated trauma, as discussed in The psychological impacts of content moderation on content moderators: A qualitative study (Spence, Bifulco, Bradbury, Martellozzo, & DeMarco. 2023).

\n

In operating a platform with user-generated content, you have a duty of care to do right by your moderators. Not just in ensuring that tooling protects them, but also by communicating with them and directly ensuring their mental health. Content moderation is a job prone to anxiety, post-traumatic stress disorder (PTSD), detachment, burnout, and compassion fatigue, among other impacts.

\n

This article hasn’t covered solutions; it has covered mitigations. No person should have to be exposed to the worst of the worst content, but for as long as there are people who create and distribute such material, it must be dealt with.

\n

By designing moderation tooling with care, good intent, and awareness of psychological impacts and knowledge of how to minimise them, we can act to protect people working to keep our platforms and communities safe.

\n\n\t\t", "summary": "Overview of thoughful and protective design of tooling for moderating user-generated content, placing emphasis on minimising the psychological effects of exposure to heinous content, while balancing efficiency, accuracy, and the long-term wellbeing of trust and safety teams. Covering techniques for the mitigation of impact where applicable.", "date_published": "2026-02-26" }, { "id": "https://vale.rocks/posts/css-reset", "url": "https://vale.rocks/posts/css-reset", "title": "My Opinionated CSS Reset", "content_html": "\n\t\t\t\n\t\t\t\n\t\t\t

As years have stretched on, browser user-agent styles have grown somewhat estranged from how many developers use the web platform. I am no exception to this rule and find my own needs at odds with the predefined user-agent stylesheets of major browsers:

\n\n

As such, I, like many others1, have a CSS reset that I apply to many projects as part of an effort to ensure comfortable development. ‘Reset’ is perhaps not quite the correct diction, as much of this is opinionated and not purely returning to a clean slate. We’re mostly past the days of rogues like Internet Explorer, and browsers are mostly2 consistent with their styling.

\n

Despite ‘reset’ not being the most accurate term, the more correct title of ‘Preferred CSS defaults and user-agent overrides’ just doesn’t come with quite the same panache.

\n

Here is my complete unabridged reset:

\n
@layer {\n\t*,\n\t*::before,\n\t*::after {\n\t\tbox-sizing: border-box;\n\t\tbackground-repeat: no-repeat;\n\t}\n\n\t* {\n\t\tpadding: 0;\n\t\tmargin: 0;\n\t}\n\n\thtml {\n\t\t-webkit-text-size-adjust: none;\n\t\ttext-size-adjust: none;\n\t\tline-height: 1.5;\n\t\t-webkit-font-smoothing: antialiased;\n        block-size: 100%;\n\t}\n\n\tbody {\n\t\tmin-block-size: 100%;\n\t}\n\n\timg,\n\tiframe,\n\taudio,\n\tvideo,\n\tcanvas {\n\t\tdisplay: block;\n\t\tmax-inline-size: 100%;\n\t\tblock-size: auto;\n\t}\n\n\tsvg {\n\t\tmax-inline-size: 100%;\n\t}\n\n\tsvg:not([fill]) {\n\t\tfill: currentColor;\n\t}\n\n\tinput,\n\tbutton,\n\ttextarea,\n\tselect {\n\t\tfont: inherit;\n\t}\n\n\ttextarea {\n\t\tresize: vertical;\n\t}\n\n\tfieldset,\n\tiframe {\n\t\tborder: none;\n\t}\n\n\tp,\n\th1,\n\th2,\n\th3,\n\th4,\n\th5,\n\th6 {\n\t\toverflow-wrap: break-word;\n\t}\n\n\tp {\n\t\ttext-wrap: pretty;\n\t\tfont-variant-numeric: proportional-nums;\n\t}\n\n\th1,\n\th2,\n\th3,\n\th4,\n\th5,\n\th6 {\n\t\tfont-variant-numeric: lining-nums;\n\t}\n\n\tp,\n    blockquote,\n    q,\n    figcaption,\n    li {\n        hanging-punctuation: first allow-end last;\n    }\n\n\tinput,\n\tlabel,\n\tbutton,\n\th1,\n\th2,\n\th3,\n\th4,\n\th5,\n\th6 {\n        line-height: 1.1;\n    }\n\n\tmath,\n\ttime,\n\ttable {\n\t\tfont-variant-numeric: tabular-nums lining-nums slashed-zero;\n\t}\n\n\tcode {\n\t\tfont-variant-numeric: slashed-zero;\n\t}\n\n\ttable {\n\t\tborder-collapse: collapse;\n\t}\n\n\tabbr {\n\t\tfont-variant-caps: all-small-caps;\n\t\ttext-decoration: none;\n\n\t\t&[title] {\n\t\t\tcursor: help;\n\t\t\ttext-decoration: underline dotted;\n\t\t}\n\t}\n\n\tsup,\n\tsub {\n\t\tline-height: 0;\n\t}\n\n\t:disabled {\n\t\topacity: 0.8;\n\t\tcursor: not-allowed;\n\t}\n\n\t:focus-visible {\n\t\toutline-offset: 0.2rem;\n\t}\n}\n

Breakdown

\n

The first thing you may notice in my reset is that it is entirely contained within an anonymous layer. Placing the reset on an anonymous cascade layer using the @layer at-rule gives every declaration a low specificity.

\n
*,\n*::before,\n*::after {\n\tbox-sizing: border-box;\n\tbackground-repeat: no-repeat;\n}\n

I find content-box to be unintuitive and confusing. I much prefer border-box’s inclusion of an element’s padding and border in the width and height as a default.

\n

Backgrounds repeating has always seemed to me like an unreasonable default that is overwritten more often than not, so I disable it.

\n
* {\n\tpadding: 0;\n\tmargin: 0;\n}\n

When working with custom CSS, I find browser default margins and paddings to be a hindrance rather than a help. They provide somewhat of a reasonable default when working with unstyled documents3 but get in the way more often than not when writing my own styling.

\n
html {\n\t-webkit-text-size-adjust: none;\n\ttext-size-adjust: none;\n\tline-height: 1.5;\n\t-webkit-font-smoothing: antialiased;\n\tblock-size: 100%;\n}\n

text-size-adjust stops mobile browsers from trying to adjust text sizes for mobile, which is more harm than help when already designing with mobile in mind. Kilian Valkhof covers it nicely in Your CSS reset needs text-size-adjust (probably).

\n

The user-agent default line-height is just too small. It makes text cramped and difficult to read.

\n

-webkit-font-smoothing is a very specific fix to the way macOS renders fonts. Adding it stops type from appearing thicker than it should on macOS.

\n

block-size is set to compliment the min-block-size on the body:

\n
body {\n\tmin-block-size: 100%;\n}\n

Stops the body from collapsing, which is useful if the content is less than it takes to fill the viewport.

\n
img,\niframe,\naudio,\nvideo,\ncanvas {\n\tdisplay: block;\n\tmax-inline-size: 100%;\n\tblock-size: auto;\n}\n\nsvg {\n\tmax-inline-size: 100%;\n}\n

The vast majority of the time when using media, I don’t intend for it to display inline (SVGs being the exception). I also very rarely wish for content to be larger than the container, so a max-inline-size is a reasonable method of addressing inline overflows. Setting the block-size to auto stops the aspect ratio from being changed.

\n
svg:not([fill]) {\n\tfill: currentColor;\n}\n

It is reasonable for the fill colour of an SVG to default to the current colour rather than black if there is no fill already defined.

\n
input,\nbutton,\ntextarea,\nselect {\n\tfont: inherit;\n}\n

Input elements should not use different font styling by default. It makes them immediately feel out of place.

\n
textarea {\n\tresize: vertical;\n}\n

textareas usually only need vertical resizing, not horizontal.

\n
fieldset,\niframe {\n\tborder: none;\n}\n

Fieldsets are good for grouping, but the border is ugly. I personally always opt for another method of visual clustering, so I default to removing the border. I used to manually remove the border on a case-by-case basis but eventually realised that cases of me keeping it were outliers.

\n

iframes are usually presented to integrate with a page, not stand out. Thus, I think no border is a more reasonable default.

\n
p,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n\toverflow-wrap: break-word;\n}\n

A common cause of horizontal overflows – especially given the rave popularity of large font sizes – it is only reasonable to break them.

\n
p {\n\ttext-wrap: pretty;\n\tfont-variant-numeric: proportional-nums;\n}\n

Not very well supported, but I’m a typography snob, and any improvement helps.

\n

proportional-nums enables numerals whose widths vary naturally instead of all taking up the same fixed width.

\n
h1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n\tfont-variant-numeric: lining-nums;\n}\n

I like to make sure that I don’t have oldstyle-nums in my headings, as they always look out of place. As an aside, I really am looking forward to :heading.

\n

I don’t set any further rules on my headings as I configure them on a per-project basis. text-wrap: balance; is a common addition.

\n
p,\nblockquote,\nq,\nfigcaption,\nli {\n\thanging-punctuation: first allow-end last;\n}\n

Hanging punctuation just looks better. At time of writing browser support is very limited, but they’ll all adopt it one day, and I’ll be ready.

\n
input,\nlabel,\nbutton,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n    line-height: 1.1;\n}\n

Headings and inputs should have smaller line heights. Headings so that they don’t appear split, and inputs because there is such a small amount of text it offends legibility. While this is a reasonable default, if large ascenders/descenders are present on a heading font, it may need to be re-evaluated.

\n
math,\ntime,\ntable {\n\tfont-variant-numeric: tabular-nums lining-nums slashed-zero;\n}\n\ncode {\n\tfont-variant-numeric: slashed-zero;\n}\n

When clarity is necessary, such as with times, maths, or code, some typographical changes are always necessary. tabular-nums and lining-nums keep numbers aligned and consistent, making data easier to read.

\n

Slashed zeros (0) remove visual ambiguity.

\n
table {\n\tborder-collapse: collapse;\n}\n

Non-collapsed borders feel very 90s and are visually overwhelming.

\n
abbr {\n\tfont-variant-caps: all-small-caps;\n\ttext-decoration: none;\n\n\t&[title] {\n\t\tcursor: help;\n\t\ttext-decoration: underline dotted;\n\t}\n}\n

<abbr> is an odd element, really. The title attribute aspect isn’t well exposed and is only really usable with a pointer. I still like to cover it, but this should be kept in mind.

\n
sup,\nsub {\n\tline-height: 0;\n}\n

Superscript and subscript annoyingly meddle with line heights, which I dislike. This overrides that behaviour.

\n
:disabled {\n\topacity: 0.8;\n\tcursor: not-allowed;\n}\n

Firefox is the only major browser that doesn’t reduce the opacity of disabled elements, so I reduce it for parity. I also apply a not-allowed cursor for some further clarity. Care must be taken here, as this could cause text to have insufficient contrast.

\n
:focus-visible {\n\toutline-offset: 0.2rem;\n}\n

Focus outlines are good, but when they’re too close they’re often difficult to see. A slight offset helps address this.

\n
\n

Footnotes

\n
    \n
  1. \n

    To specifically name a few: Andy Bell’s A (more) Modern CSS Reset, Eric Meyer’s Reset CSS, Josh W Comeau’s A Modern CSS Reset, and Manuel Matuzović’s uaplus.css.

    \n
  2. \n
  3. \n

    Cough, cough. Safari.

    \n
  4. \n
  5. \n

    This isn’t to say I agree with the default styling, for I have strong disagreements with the typographical choices. Headings having an equal block margin is a typographical sin and leaves them in no-man’s-land – insufficiently distanced from the previous content but insufficiently associated with what proceeds it.

    \n
  6. \n
\n
\n\n\t\t", "summary": "A CSS reset for modern web development to provide a consistent and high-quality base for projects. Low-specificity and very opinionated to provide a strong foundation allowing seamless use in projects of varying scales and complexity.", "date_published": "2026-01-22" }, { "id": "https://vale.rocks/posts/ratz-instagib", "url": "https://vale.rocks/posts/ratz-instagib", "title": "Experiencing Zen in the Ratz Instagib Meat Grinder", "content_html": "\n\t\t\t\n\t\t\t\n\t\t\t

Ratz Instagib is a fast-paced first-person shooter. As the name suggests, each hit is an instant kill. Be not disillusioned by my writing of this article, for this is not a game I am good at. In honesty, one shouldn’t even venture as far as to suggest that it is a game I am so much as merely alright at.

\n

It is, however, a game that I find myself infatuated and enticed by, despite my inadequate skill. It is a mad and unforgiving experience that is intoxicating to give yourself over to.

\n

The core game is simple. You’re a rat. You can walk around, you can jump, and you can shoot. By directing your weapon at a surface, you can repel yourself away from it. Those are your controls. There aren’t extra abilities or power-ups, or reloading, or health or armour, or alternative weapons or anything of the sort. It is, in concept and control, simple.

\n

From this, however, comes a myriad of tech. Running and jumping allows you to pick up speed (a phenomenon many players of older shooters will recognise as b-hopping), repelling behind you allows you to pick up this speed faster, and repelling from the ground allows you to launch yourself high into the air.

\n

When the original Half-Life released, it came with the tagline ‘Run, Think, Shoot, Live’. Were you to apply this to Ratz, you’d be in for a bad time. Here I’d apply ‘Run, Intuit, Shoot, Live’, for there is barely a moment to process the gameplay, let alone think about it, before you’re a fried corpse. From the moment you find yourself in-game, there isn’t time for anything but instinct. Oftentimes it is only once a shot lands that one even consciously registers they took a shot at all.

\n

For anyone with experience in arena shooters, especially Quake, the moment and mechanics will feel immediately familiar. For anyone who hasn’t, they’ll become familiar quickly. The shooting works just like Quake 2’s Railgun, and the repelling works similar to rocket jumping (though without risk of damage).

\n

Like the old rat maps of old shooters, most arenas are scaled such that you feel small. They’re compact and vertical, which, paired with swift respawns and breakneck movement speeds, allows no chance for breath catching and forces constant engagements.

\n

To Feel, To Play

\n

From the second you hit the game’s menu, you’re introduced to the soundtrack. Fast jazz drum and bass. Quick and aggressive, it sets the tone for how you must play.

\n

You’re presented with the option to choose which of a number of modes you wish to play:

\n\n

Once in a match, you’re sure to notice the hard colours, cell shading, harsh vignette, and required laser focus. This is a game that you feel one with. The precision accuracy and lightning reaction times turn off everything but bare instinct. Blinking is a death sentence. You flick inputs with an accuracy and exactitude you aren’t even consciously capable of. It is a completely different experience to anything else and leaves you wondering if you’re playing the game or if the game is playing you.

\n

I wish to impress upon you once again that I am a poor player of this game, but I feel like a god. Even when I’m getting beaten sixty-nil, I remain energised and engaged. Any other game and I’d be getting annoyed, but in Ratz I find myself falling further and further into a flow state.

\n

The highs are so high. B-hopping around dodging map obstacles at Mach 90 before fragging some poor soul in the crotch (indicated by the appearance of ‘- Crotch Shot! -’ in spectacular yellow text) from across the map the instant their half-second of spawn invulnerability dissipates is a feeling of euphoria.

\n

Is there tangible benefit to a head shot or crotch shot? No – but it certainly feels good.

\n

Ratz Instagib is nothing if not crude. Player’s anthropomorphic rat avatars are stylised and grotesque, presented in a range of gaudy cosmetics which can be acquired through playing the game. Upon being brutally lasered to death, an animation the player chooses from a selection is played. Some have the rats exploding into a shower of blood and giblets, one has them bloat, and another has them fried till only their skeleton remains. Each landing shot is also accompanied by a satisfying chime and a mildly perturbing squelch. That isn’t to mention the range of different lasers which can be picked from and the ability to change their colour.

\n
\n\"Stylised\n
Modified rendition of the game’s key art.
\n
\n\n

In fact, you can customise just about every part of the experience: The colour of each individual character in your player name; the colours of enemies and teammates; the field of view (including when zooming), weapon visibility, horizontal weapon position; crosshair style, placement, size, and opacity; visual effects such as beamtypes and fragtypes, hit indicators, full-bright players, player outlines, and wall and object saturation; controls including mouse sensitivity, acceleration, and inversion; and graphical and audio settings including resolution, shadows, maximum frame rate, bloom, vignette, heads-up display size, music and sound volume, whether to display the currently playing track, and more.

\n

You’re consistently pushed to improve, both by your adversaries and the game, which exposes various statistics to you. Kill counts, kill streaks, ratings, wins, losses, accuracy, and of course a global leaderboard. You can’t help but feel the game is nudging you towards self-improvement.

\n

Community

\n

I won’t sugarcoat the player numbers. There will be frequent times when you are online in solitude, though that isn’t to say that nobody ever plays. People arrange matches in the community Discord server, and sometimes you’ll catch a person or two online. Deathmatch is certainly the most played mode, and there is usually an uptick in player count to be seen when the game goes on sale. There is always the option to play alone, either in the wave-based survival mode or with the game’s rabid bots.

\n

There are several game servers across the globe, and there is a good chance that you’ll find yourself on one outside your region, but that’s okay. There’s a half-joke, half-cope said around that Ratz community: ‘Ping doesn’t matter’. Remarkably, this isn’t complete rubbish. I can’t speak to if it is just due to simplicity, or the game’s network code, or another factor entirely, but even at high ping the game remains responsive, and I can’t think of a time lag has snubbed me.

\n

The community is small but solid. There is developer-provided tooling allowing players to create their own custom maps, which are regularly published on the Steam Workshop; there is something of a modding scene, and the developer continues to support the game with new cosmetics, patches, improvements, tweaks, and engine upgrades.

\n

You will surely be thrashed starting out, but there is a common degree of sportsmanship. The steep learning curve is something all players experience, and some more seasoned players may even go as far as to provide tips or advice for your improvement.

\n
\n

The game is cheap (especially on sale), takes up a sneeze of storage space, is well optimised, allowing it to run on even weak computers, and can be bought in a multi-pack so you can share it with your friends.

\n\n\n

Move sporadically, think quick, and keep me guessing when I see you online.

\n\n\t\t", "summary": "A love letter to Ratz Instagib, a breakneck, fast-jazz, neon-laser, and instant-death first-person shooter played entirely on instinct. Discussion of the feeling of playing, the community, the style, the complex simplicity, and the intoxicating flow state one falls into while playing.", "date_published": "2026-01-13" } ] }