Posts in Gaming (20 found)
Playtank 2 days ago

Designing Good Rules

This is the second part of two in a short series on how to design Your Next Systemic Game , and this time, we’ll dive into designing rules . A few years ago, I was demonstrating a system to a friend. Look here, you can do this, and when you activate these things, see what happens! It got some excitement, with the synergies involved, and sparked a great comment: “So it’s more like designing board game rules than a computer game?” Yes! Yes it is! Just like board game rules, a systemic design needs to be clearer and more easily communicated than even the real world is. Self-consistent, as Tom Leonard once wrote . But it’s also not. In a board game, players need to understand and internalise all of the rules before they can explore the game’s strategies, and the state-space is clearly restricted by the physical components of the game. In a digital game, much of the interaction can be left for the player to discover and can become obfuscated by complexity itself. Learning how to apply the rules is a process of discovery for the player. Before we can design rules, we need to know what they are applying to. Modern games rely heavily on content . Objects built for specific purposes. A gun. An enemy. A level. You expand your game by adding more of them, or making new types of things that you can then add more of. How a certain piece of content behaves is usually very specific, and even if new content can add new behavior, there is rarely any interconnection. Systems works differently. If you have the concept of something being flammable in your game, every piece of content in your simulation needs to be adapted to this rule in one way or another. Even objects that are not flammable will usually provide some kind of response, like having the flame fizzle out against it or begin to glow menacingly red and generate a heat haze. What this means is that you can add more systems and all of the objects you already have will then “just work” based on how you tell them to interact with these systems. You can create a lot more variety this way, by relying on robust interconnected systems, and not having to produce things because the players get bored. Look at the Building a Systemic Gun post (one of the most viewed on this blog) for a more practical example of the difference this makes. There are three key elements to designing rules for emergent effect: “Combine simple behaviors to give the impression that the monsters are working together,” writes Derek Yu about his game Spelunky . ” This not only creates challenging situations, but it also makes the world feel more like a living, breathing ecosystem. Wherever possible, I tried to add monsters that attack you from new directions, so that when they were paired with existing monsters the attacks would feel coordinated. ” (Emphasis mine.) That’s it: have new enemies attack from different directions. A rule that is never communicated to the player, but serves to inform the game’s development and make them feel coordinated. A simple rule that, when combined with more simple rules, generates an emergent experience. This is the holy trinity of rules design. They get some more attention in a previous post on designing systemic games . At a high level: Permissions are what you can do. Restrictions are exceptions to permissions. Conditions provide the framework for the other two. The following could be the rules set up for a simple fire propagation system. Each rule here is simple, but it doesn’t have the raw simplicity of “new enemies attack from new directions.” A gestalt is “an organised whole that is perceived as more than the sum of its parts.” Consider a character class in Dungeons & Dragons or the specific role you may have in a hero shooter such as Overwatch . You’re the healer, or the glass cannon, or the damage dealer. These are variations of gestalts. You can rely on gestalts used in other games, or you can come up with your own. What you want is to provide rules for each gestalt that separates it from others and encourage players to actively switch between gestalts as they play in order to keep the game fresh. When we say that something can be internalised, it means that it can be made part of someone’s immediate understanding of the world. Gravity and darkness are two examples of things we have all internalised. You know that things fall if you drop them, and you know that you can’t see anything when it’s dark. If you drop something, you’ll instinctively react to try and catch it. If it gets dark, you squint. Something intuitive can then be defined as something quickly or easily internalised . Game rules are harder to internalise, because we must first describe the game world. But there are some key terms you can consider. Borrowed from Michael Sellers’ excellent book Advanced Game Design A Systems Approach , and elsewhere. For easier adaptation, focus on comprehension, elegance, and notion. “[P]resenting the game in such a way that players can build a mental model of it.” Michael Sellers This one is easy, because you’ve already prepared your Model in the previous post (right?!). Players must understand what they are interacting with. They must be introduced to the rules and be able to decipher the rules. A game with rules that are contradictory or generate too much information in a short time can end up frustrating instead. We may insist on tutorials or intro sections. On illustrative feature videos. But when it comes down to it, the best way to make our players understand the game they’re playing is by letting them play it. Only when you’ve interacted using a rule a number of times will you understand the rule. “Creating a diverse space for players to explore based on only a few rules.” Michael Sellers One reason platformers have such wide appeal is that they are extremely simple to internalise. You need to learn how to jump, and many of the other interactions will follow from there. You usually need very few rules and most of them will make sense simply because of that internalised concept of gravity that was mentioned before. This is also why many shooters will have visible projectiles and simple rules tied to them, like touching a projectile killing you or dealing damage. Similarly, the best way you can achieve elegance is by building your entire game around a single verb. Jump. Shoot. Drive. Then you can let the other elements click in place based on what comes out of that verb. “We have these broken notions of physics and when a video game takes those broken notions of physics and gives them life in a virtual world it doesn’t bother us.” Jamie Fristrom Not only doesn’t it bother us when our childhood ideas of physics are proven right by a game, against realistic fact, it often entertains us and feels just as natural as reality. A notion is an idea or whim, something that just comes to us naturally. It’s taking the description of a phenomenon not from its published scientific lore but from a science book from the kids’ section in the library. When we intuitively understand how our momentum is retained through Portal ‘s portals, this is notion at its best. Because there are no such portals in the real world, and there’s really nothing to say that we’d retain our momentum through them if there were. Notion means that things make more sense than they do in real life. If the Spelunky snake attacks a certain way the first time you encounter it, then it has to work like that in the future as well. If not, the system becomes too unpredictable to internalise. Consistency is important, but it doesn’t mean that everything has to behave the same all the time. It’s the outcome of interactions that need to be consistent, not necessarily the full output of a scenario. “Game systems should have predictable outputs for given inputs.” Michael Sellers In Thief , if I get spotted by a guard, they will first become suspicious before they are alerted. This gives me some time to react. How much time depends on lighting and circumstances, but you can quickly learn how this system behaves and play on its predictability. Staying behind guards is better than to risk it, for example. One reason many games don’t involve physics simulations in direct interaction, unless it’s done for fun, is because of its inherent lack of predictability. You want your Rocket League ball to bounce the same, so you can improve your skill at taking shots. A stated rule should always behave the same. A system should always provide the same outputs from the same inputs. “[R]ules and content should function the same in all areas of your game.” Michael Sellers Many games start from very clear rules but make seemingly arbitrary exceptions. You can shoot and kill characters, but if you shoot and kill this particular character it’s game over or checkpoint reload. Or they are immune to the damage. This is inconsistent and will make it harder to internalise the systems involved. It’s also bad for the sense of immersion. If a player has internalised a tool they can use, it should always behave as expected. Perhaps they have a grappling hook that can let them climb to new vertical locations. But then in the new level, the hook bounces off an invisible wall as the player finds an interesting balcony to reach. Maybe the level designer felt that it would make the level too easy, or there’s a story beat that introduces this balcony. But if you want to be serious with your rules, this lack of coherence is always a bad thing. “Enabling the system to be used within multiple contexts or to have new parts added within it.” Michael Sellers Once you have your consistent rules in place, you can start experimenting. A guard in Thief that is blind but reacts faster to sound would combine well with metallic floors causing lots of noise to make an interesting scenario. The more you think of this variability early on, the better. Remember the five areas of maximising iteration : Authoring, Transitioning, Tweaking, Testing, and Updating. “[C]reate game systems such that content can be reused in new ways or created procedurally” Michael Sellers Once you have your simple, intuitive, and coherent rules in place, you can extend them. You can use this to change or even to make make rules, both through your game itself and by providing tools for players to do so on their own. With your systems and rules in place, you can easily let other systems alter their outcomes. Have your spawning system spawn more enemies of a specific type or no enemies at all of another type. Or make it turn entire systems on or off to vary the gameplay. Some of these things can be represented as systems in their own right, such as weather that decreases your sight or makes all rock surfaces slippery. Other things can be expressed through the game’s UI or story. If you push this even further, and modularise your systems more, you can let your systems make the rules. This becomes possible for any system that has sufficient variation in its inputs and outputs. In the board game The Awful Green Things From outer Space , there are various weapons that you can use and various effects that those weapons can cause. As you run around on the ship in the game, you can pick weapons up. But you don’t know what effect they’ll have. Only once you hit an awful green thing with it will you draw a chit that determines what the effect actually is. They may be very vulnerable against the weapon, or you may cause them to split into more awful green things. Mutators, modifiers, custom game modes. Players have always been fond of mixing things up. What’s important about these changes is that they will always use the same pool of common content and then change the rules in one way or another. Like setting up a custom game in Civilization . Back when Xbox Live launched with Halo 2 , the community that formed invented many new ways to play. One of the ones I remember was the “zombie” game mode, where you’d arm one side (the humans) with shotguns and then have one player play a zombie using an energy sword. If a human was killed by a zombie, they’d switch to the energy sword on respawn and now become part of the zombie team. The interesting part of this was that it was an entirely verbal agreement, but still worked. Later Halo games introduced the Forge, where these kinds of variations could be created as customisations and be shared across the community. Of course, with PC gaming, there’s always been modding, and modding can push things much farther than what something like Forge can do. But modding is beyond the scope of this post. Back in the Game Balancing Guide , you find Dax Gazaway’s classification for players’ openness to learning new rules. If your game is too different from other games, there will be a segment of gamers that won’t like it or may not even touch it. Games are interactive. Players will understand something that they play much faster and much more intuitively than they will understand something they watch . The connection between button press and feedback will make more synapses fire than just watching through a video. Because of this, it’s always better to let the player do what they are expected to do than it is to tell them how it’s done. On the very first screen of Super Mario Bros. , you’re not told that you have to jump. Rather, if you don’t jump you die and have to start over. Always aim to let the player play before you show them something. Sometimes you can’t rely on interactive gameplay for one reason or another, and you still have information you need to convey to the player. Mandatory information is generally the domain of linear games. Cutscenes and staged sequences are the tools used in those cases. Passive observation techniques . If you can, avoid using dialogue or written text. This is where film and television are good inspirations, because they try to minimise how much characters talk and how much is shown. Use the minimum amount of exposition or narration, and have the player discover things in their own time. Avoid forcing their hand. Always aim to show and not tell , and rely on words only if you really have to or don’t have time to find a better solution. As a way to parcel out information, you can refer to the inverted pyramid in journalism. Always get the most important element of a rule across first. Ideally, by letting the player experience it first-hand. A rule is made simple by clear boundaries. “Move one square” may sound simple enough, but can you move diagonally? Can you move into a square where there’s already another object occupying the same space? Can you move into the blue square, or only the white one? This is where your rules collide with reality and where you will need to really consider what you are making your rules for . Where effects originate from (their sources) and which things are affected by them. What you will quickly notice is that rules can easily overlap multiple systems. If instead of saying “wood burns,” you’d say “flammable materials burn,” we can’t know what the rule means without first internalising which things are flammable. Saying “wood burns” means that the player can look into the environment of the game, identify something as wood, and then understand that it burns. Wood being flammable in this case, becomes a perceived affordance once internalised. The following is effectively a glossary of the terms used in this post. You can combine it with the previous post and you’ll have a sort of manual on how to go about making a systemic game. Send me an e-mail at [email protected] when I can play it! Design simple systems . Provide intuitive rules . Apply these rules consistently . Permissions: Wood burns. Books burn. Fire spreads. Restrictions: Water douse flames. Storms douse flames. Magicwood won’t burn. Conditions: Burning things break over time. Design simple systems . Permissions , Restrictions , and Conditions are your three main rule frameworks. Gestalts can be used as communicable collections of rules and invitations to expand player play styles. Provide intuitive rules . Comprehension means understanding how a rule works. Elegance is about making wide use of narrow elements. Notion argues that you should lean into what players already expect, even against common sense. Apply these rules consistently . Predictability means that you get the same outputs from the same inputs. Coherence makes sure that your game works the same under all circumstances. Variability is a strength of consistency, because it lets you mix things up. Extensibility can mean systems or players changing or even making up the rules. Communicating rules includes some considerations: Play, Don’t Show : games are interactive first and foremost. Lean into it. Show, Don’t Tell : words are the least effective channel you can use; don’t use them if you don’t have to (or want to). The Inverted Pyramid is a handy journalistic tool that you can use to parcel out information. Boundaries need to be set, so that players understand where a rule begins and ends. Perceived Affordances are intuitive visual elements that aid the communication of your interactions (and therefore rules).

0 views

Strategy Guide For Kingdom: Two Crowns

Kingdom: Two Crowns is the third, and definitive, installment in a game series, released in 2018 by Raw Fury and now available on Android and iOS, among other platforms. The gist is that you play a monarch in medieval Europe, with the option to co-op with a friend, and build your kingdom from the ground up. Hire villagers and employ them as archers, builders, farmers, knights, and others, then expand continuously to upgrade your kingdom and move to other islands. The catch is that there is a monster called the Greed, which manifests at night as these little purple guys who want to break down your defenses and steal your gold and crown. If you lose your crown, you “die.” Death in the game is not too bad; sent back to Island One with no money, you can simply work your way back to your island you were on before and keep most progress. Additionally, it can be beneficial to die, as that also resets the difficulty counter. As each day passes, the Greed gets, well, greedier. More of them spawn, they’re harder to defeat, and in late stages more powerful versions appear, such as the Breeder, which spawns more little Greeds and takes a long while to kill. When you die, the global day count resets by 100, meaning you get to keep a lot of progress and things are easier for a while. There are multiple skins of the game available to choose from. This guide focuses on the base game, or Europe. Different skins have different variations in where things are located and how they work. Since the difficulty has not ramped up yet in the start, it’s best to focus on unlocking technologies and expanding to other islands rather than maxing out on upgrades for defenses. Which ages you’ve unlocked determines what you’re able to build and accomplish: In  Wooden Age , all things buildable are wood, and only wood. This age is particularly limiting in buildings and upgrades, and while passable in defense this age notable lacks any way to retaliate against the  Greed . While the Kingdom may be capable of holding against the Greed, these will adapt, urging the Kingdom to advance into the Stone Age. Notable wooden purchases available in  New Lands  and  Two Crowns : — Kingdom Wiki - Technology You will start out here, and the best way to progress is to focus on 1. Basic walls and archer tower defenses, and 2. income, so you can head to Island Two as soon as possible. Why go to Island Two? On the first island, there are great things to unlock, but you will not have progressed enough yet to unlock them. For example, the griffin needs gems to unlock (only on Island Two and onwards), as well as the Ballista Hermit and the Archery statue. The boat is much easier to get up and running on Island Two, so it makes sense to leave as soon as you are able. This also gives you an easier start on the second island because your Global Day Count, which affects difficulty, will be lower when you arrive because less days have passed. Income can be achieved in a few ways. The first main one is archers, who hunt animals and defend the kingdom from the Greed. Next, you can hire farmers, the vendor of which requires a sector with a wooden back wall (expanding to have more upgraded walls further out makes more sectors of the kingdom). Farmers remain one of the most lucrative sources of income in the game, being able to harvest crops every day and foraging plants in the winter. It is best to ensure there is a wall in front of a farm before building a farm so that the Greed don't simply walk up and attack your farmers, though. Something I've noticed is that building archer towers out into the fields where wildlife are can be an efficient way to make archers hunt more. Instead of wandering around as much, an archer in a tower will shoot any animals that come near. Staggering them out into hunt-able areas leads to more animals shot. Clearing the trees to let grass grow, leading to more rabbit burrows, is also advisable. Additionally, obtaining the Stag Mount on Island Two allows you to attract deer to your hunters to shoot. For workers, It may be good to avoid expanding into recruitment camps until you need to, as at all stages in the game it's good to maximize workers. Destroying all trees between your base and the campsite will get rid of it. If you find an open area past the camps that allows wall construction, you can extend the kingdom past the camps and chop down all trees except the two immediately flanking the camp. — Kingdom Wiki - Starting, surviving, & winning And another tip from the same guide concerning efficiently using your mount: Remember, if you completely run your horse dry of stamina, it'll take longer before you can run again. It's a good idea to stop running & walk as soon as the horse starts puffing, to maximize speed. If you stop the horse in a grassy area, the horse will eat some grass and fully recover within a second or two. Another notable source of income only available on the first two islands is the Merchant. He walks to the middle of the Kingdom, near the Town Center, and pays you eight coins. In return, you pay him back one coin, and he will return the next day with a new shipment. With a net gain of seven coins, this can be a reliable source of coins in the starting islands. Concerning the Town Center: when you upgrade to the highest wood tier, you unlock the banker, which can remain incredibly useful, as he can deposit coins for you and accrue interest on them. Interest earnings are daily and depend on the number of coins stored. If a total of only one or two coins have been deposited, there will be no interest, and that amount won't change with time. If at least three, up to one hundred coins are stored, the Banker increases the funds by seven percent (rounded up) per day. When more than one hundred coins are stored, the interest rate becomes a solid eight coins per day. Technically speaking, once this condition is met, every five days the Monarch can refill their coin purse completely. This will work every five days indefinitely by utilizing the earnings from interest alone. — Kingdom Wiki - Banker Once you leave to Island Two, you can unlock Stone Age. Stone Age  is the first obtainable technology. It's a defining moment in the fight against the Greed, as with squires, the Kingdom may now assault portals, and upon their ruins build powerful teleporters. Notable stone purchases: — Kingdom Wiki - Technology As mentioned, Stone Age is required for what is in my opinion the meat of the game. Once you start destroying portals, you can deal with less Greed and expand more, eventually being able to eliminate the Greed from a given island once you reach Iron Age. You can also hire Pikemen once you have a stone walled sector, which are incredible subjects that can fish to produce income (including during the winter) and effectively defend the kingdom from the Greed at the walls. Once the Town Center has been upgraded to Stone, you can pay for four shields on it, which act as sort of "job vendors," where unemployed subjects can be hired as Squad Leaders at the Town Center. Once someone has picked up a shield, it is replaced with a banner of the same colors, and you will know they've been employed. When a Squad Leader/Knight dies, you will see a ripped banner, which you can pay to replace with a shield in order to make a new Squad Leader. This leader brings a squad of archers to the end of the kingdom walls, ready to be ordered to attack and destroy a Greed portal. While it is common for the squad leaders to be defeated and have to be re-employed while attacking a portal, damage to the portal is permanent, so you can keep trying until it is fully demolished. To get stronger leaders, you can upgrade them to a Knight, which requires a forge. To get a forge, you need the town center last tier, the iron keep; additionally, it requires a large enough empty space protected by an iron wall, that is, with an iron back wall. For this you need Iron Technology, found on the Fourth Island. Also on the Second Island is three gem chests, meaning you can start collecting gems to use on new mounts, statues, and Hermits. 1 The Stag mount, Scythe Statue, Dog, and Stable Hermit are also on the island. I recommend getting any statue when you can, as it gives a blessing that applies across all islands, until a monarch loses their crown, after which you can pay a coin fee to reactivate the statue. For example, the blessing the Scythe Statue gives is increasing the number of supported farm plots. Once you have worked on the Second Island enough to want to unlock Iron Age, head to the Third Island. The boat will take a bit more time to build now, and something to consider is expanding the Kingdom walls past the boat remnants while your builders work on it. If you purchase new parts but they have not been built yet, Greed can steal your parts. Also, if you're wondering how to not crash your boat every time you go to an island, you do need to destroy the dock portal of a given island in order to build a Lighthouse. This structure will ensure the boat will not be destroyed when you land on an island containing a Lighthouse. You can then upgrade the Lighthouses to prevent it from decaying like the rest of the island when you are gone from it for too long. The Third Island is not too exciting, although there are some important considerations on it. There's another mount, more gems, the Builder Statue (increases maximum wall HP), and the Bakery Hermit. The Bakery Hermit allows high tier archer towers to be upgraded into bakeries for six coins; the bakery is an unmanned structure that produces treats designed to lure vagrants out of their camps. This makes recruiting them easier, especially on larger islands. You don't want to put a bakery out in the wilderness though, since Greed can steal the treats. Hermits can also be brought with you to new islands, so the Bakery Hermit is probably most useful on Islands Four and Five. Island Four has the Iron Mine, to bring you into the Iron Age. It also has offensive mounts, such as the Bear and Lizard, and the Warrior hermit, which can turn high tier archer towers into a Warrior Tower. This tower allows you to recruit additional squad leaders by paying for more shields. The  Iron Age  brings the best weapons and defences the Kingdom has ever seen. To gain access to iron Monarchs must locate and construct the  iron mine . Reaching iron will gradually shift the Kingdom's strategy from defense to offense. Notable things made possible through iron: — Kingdom Wiki - Technology The benefits of Iron Age (the final technology) are much stronger fortifications, forges to turn squad leaders into knights, and the Bomb, which is the final step to eliminate the Greed from a given island. Once enough portals are destroyed to reach the cave, you can launch the ultimate attack against the Greed hive. The steps you need to ideally take are: In late game, focus on upgrading everything to iron and destroying portals, as well as making catapults and fire barrels to defend yourself. Rinse and repeat on all your islands, and you're golden. Subscribe via email or RSS Hermits are potential subjects who know how to build useful, specialized structures in the Kingdom. ↩ I would ensure you have a mount with considerable speed/stamina for this. Even the default horse will do. ↩ boat  – the way off the island bank  – a place for storing spare coins. Shield  – the equipment for squires Catapult  – an area-effect weapon Teleporter  – to travel long distances or spy from afar Pikes  Europe Iron wall  – the strongest type of wall Forge  – where swords turn squires into knights Bomb  – the ultimate anti-greed weapon. Hire as many squad leaders and supporting archers as possible, upgrading to knights where possible. Purchase a bomb March to the portal at the crack of dawn with the squads and builders pushing the bomb Pay coins to the builders and bomb to initiate entering the portal (remember that both members in a co-op game need to enter the portal) Fight your way through the Greed hordes inside until you reach the center of the hive Pay coins to ignite the bomb Run as fast as you can to the exit, as you have 15-30 seconds to escape with your crown intact. 2 Hermits are potential subjects who know how to build useful, specialized structures in the Kingdom. ↩ I would ensure you have a mount with considerable speed/stamina for this. Even the default horse will do. ↩

0 views
Ruslan Osipov 1 weeks ago

Looking back at 2025

2025 was a crazy year - a good kind of crazy for once. My daughter was born, and she’s pretty cool. Adjusting to life with an infant wasn’t easy, but we took on the challenge gladly - we lost our firstborn, and we’re grateful for every inconvenience or a sleepless night. But yeah, life won’t ever be the same. I took a lot of time off work to be with my kiddo, which was great for my mental health. This is the longest I haven’t worked in my adult life, and believe it or not - not working is nice, and I’m hoping I’ve been trying to keep this optimistically detached attitude as I got back to work throughout the year - with mixed success, but it’s nice to know what the north star feels like. The space to not work opened up room for other things. I got pulled into writing - a lot more than before. This year I published far north of 100,000 words across this and my gaming blog - publishing weekly across both outlets. That’s a thick novel worth of words, and while not everything I wrote was great, I enjoyed having to come up with new topics, having to get my thoughts out on paper, and getting to experiment with various voices as a writer. 4 of my articles got boosted on Medium this year (which I thought was pretty cool), and I had some incredible conversations with folks in email and comment chains. I especially enjoyed jotting down decades worth of unfinished thoughts about games - gaming is a hobby I deeply enjoy. We’ve done a few international trips - namely to Japan and Vietnam, and enjoyed both. Traveling with an infant was fun and weird, and I’m excited for even more travel next year. I also got to enjoy building different relationships with my parents and my in-laws, since we now primarily engage with them from the lens of having a kid. It’s fun, it’s frustrating, it’s novel. All of this - alongside many conversations with family and friends - really brought on a philosophical shift. More appreciation for the impermanence of things. Life won’t be simpler than it is today, things will only get more complicated. And that’s fine. I get to appreciate the way life was before, and I get to enjoy the way life is now. More complicated, more messy, much more full of life.

0 views
JSLegendDev 1 weeks ago

Learn Phaser 4 by Building a Sonic Themed Infinite Runner Game in JavaScript

Phaser is the most popular JavaScript/TypeScript framework for making 2D games. It is performant and popular games like Vampire Survivors and Pokérogue were made with it. Because it’s a web-native framework, games built with it are lightweight and generally load and run better on the web than web exports produced by major game engines. For this reason, if you’re a web developer looking to make 2D web games, Phaser is a great addition to your toolbelt. To make the process of learning Phaser easier, I have released a course that takes you through the process of building a Sonic themed infinite runner game with Phaser 4 and JavaScript. You can purchase the course here : h ttps://www.patreon.com/posts/learn-phaser-4-147473030 . Total length of the course is 1h 43min. More details regarding content and prerequisites are included in the link. That said, you can freely play the game being built in the course as well as have access to the final source code. Original Phaser game live demo : https://jslegend.itch.io/sonic-ring-run-phaser-4 Demo of the version built in the course : https://jslegend.itch.io/sonic-runner-tutorial-build Final source code : https://github.com/JSLegendDev/sonic-runner-phaser-tutorial Phaser is the most popular JavaScript/TypeScript framework for making 2D games. It is performant and popular games like Vampire Survivors and Pokérogue were made with it. Because it’s a web-native framework, games built with it are lightweight and generally load and run better on the web than web exports produced by major game engines. For this reason, if you’re a web developer looking to make 2D web games, Phaser is a great addition to your toolbelt. To make the process of learning Phaser easier, I have released a course that takes you through the process of building a Sonic themed infinite runner game with Phaser 4 and JavaScript. You can purchase the course here : h ttps://www.patreon.com/posts/learn-phaser-4-147473030 . Total length of the course is 1h 43min. More details regarding content and prerequisites are included in the link. That said, you can freely play the game being built in the course as well as have access to the final source code. Original Phaser game live demo : https://jslegend.itch.io/sonic-ring-run-phaser-4 Demo of the version built in the course : https://jslegend.itch.io/sonic-runner-tutorial-build Final source code : https://github.com/JSLegendDev/sonic-runner-phaser-tutorial

0 views

Prolog Basics Explained with Pokémon

The project that inspired this post is a little silly—I am about to describe the mechanics of a children’s video game in great detail—but this particular problem is what finally made Prolog click for me, an epiphany I’ve been hunting for ever since reading Bruce Tate’s “Seven Languages in Seven Weeks.” This exercise has taught me a lot about the kinds of interfaces I’m trying to build in somewhat more practical domains . For certain kinds of relationships, logic programming is by far the most concise and expressive programming system I’ve ever used. To understand why, let’s talk about Pokémon. Pokémon is a video game series/multimedia franchise/lifestyle brand set in a world where humans live alongside a menagerie of colorful animal characters. “Pokémon” is both the name of the franchise and the generic term for the animal characters themselves, which all have their own individual species names. There are over a thousand distinct species of Pokémon, from Bulbasaur ( #1 ) to Pecharunt ( #1025 ). There are all sorts of Pokémon games now, but the main series has always been about catching and battling them. During a battle, your team of six Pokémon faces off against another team. Each Pokémon is equipped with four moves that it can choose to (usually) do damage to their opponent. You need to reduce the HP (Hit Points) of all your opponent’s Pokémon to zero before they are able to do so to you. Each Pokémon has unique traits that affects how it battles. They have a set of base stats, a large pool of possible moves, a handful of abilities, and a typing. As you will see in a moment, the immense number of combinations here is the motivation for trying to track this with software. Typing is especially important. Moves have a type, like Fire or Rock, and Pokémon can have up to two types. A move with a type that is Super Effective against the opposing Pokémon will do double damage; a move that is Not Very Effective will do half damage. It’s a little more intuitive with examples. The Fire-type move Flamethrower will do 2x to Grass-type Pokémon, because Grass is weak to Fire, but the Water-type move Surf will only do ½ damage to them, because Grass resists Water. Type modifiers can stack. Scizor is a Bug/Steel type, and both Bug and Steel are weak to Fire, so Fire moves will do 4x damage to Scizor. Electric is weak to Water, but Ground is immune, so if you use an Electric type move against Water/Ground Swampert , you’ll do zero damage, since 0×2 is still 0. Naturally, there is a chart to help you keep track. Those are effectively the mechanics of the Pokémon video games as I understood them when I was 8. Click moves to do damage, try to click moves with good type matchups. These games are for children and, at the surface level, they’re not very hard. Before I explain how wonky the Pokémon mechanics can get under the hood, I first need to explain how logic programming works. Pokémon is a great fit for logic programming because Pokémon battles are essentially an extremely intricate rules engine. Let’s start by creating a file with a bunch of facts. In Prolog, we declare “predicates.” Predicates define relationships: is a , is a , and so on. We refer to this predicate as , because the name of the predicate is and it has one argument. These facts are loaded into an interactive prompt called the “top-level.” You query the top-level by typing a statement into the prompt; Prolog tries to find all the ways to make that statement true. When there’s more than one possible solution, the top-level displays the first solution and then awaits user input. You can then have it display one more solution, all the solutions, or stop entirely. In this first example, we type and hit Enter. The top-level replies Squirtle is, in fact, a Pokémon. Not all things are Pokémon. Let’s add Pokémon types in there, as the predicate . Recall that some Pokémon have just one type while others have two. In the latter case, that’s modeled with two facts. Bulbasaur is a Grass type, and Bulbasaur is a Poison type; both are true. The paradigm is similar to a One-To-Many relation in a SQL database. Interactively, we can confirm whether Squirtle is a water type. Can we state that Squirtle is a Grass type? No, because Squirtle is a Water type. Suppose we didn’t know what type Squirtle was. We can ask! In Prolog, names that start with an upper-case letter are variables. Prolog tries to “unify” the predicate with all possible matches for the variable. There’s only one way to make this particular predicate true though: has to be , because Squirtle’s only type is Water. For Pokémon with two types, the predicate unifies twice. Semantically, that leading semicolon on the third line means “or.” is true when or when . Any of the terms can be be a variable, which means we can ask questions in any direction. What are all the Grass types? Just make the first argument the variable, and set the second argument to . I cut it off, but the prompt would happily would list all 164 of them. Commas can be used to list multiple predicates—Prolog will unify the variables such that all of them are true. Listing all the Water/Ice types is just a matter of asking what Pokémon exist that unify with both the Water and Ice types. Even though is a variable, in the context of the query, both instances of it have to be the same (just like in algebra). The query only unifies for values of where both those predicates hold. For instance, the Water/Ice type Dewgong is a solution because our program contains the following two facts: Therefore, subbing in for the variable satisfies the query. Squirtle, by contrast, is just a Water type: exists, but not . The query requires both to unify, so is not a possible value for . Pokémon have lots of data that you can play around with. Iron Bundle is a strong Water/Ice-type Pokémon with high Special Attack. How high exactly? With Special Attack that high, we want to make use of strong Special moves. What Special moves does Iron Bundle know? Freeze-Dry is a particularly good Special move. Here’s a query for all Ice-type Pokémon with Special Attack greater than 120 that learn Freeze-Dry . One last concept before we move on: Rules. Rules have a head and a body, and they unify if the body is true. A move is considered a damaging move if it’s either a Physical Move or a Special Move. The predicate defines all the moves that do direct damage. This will unify with any moves that do direct damage. Nothing I’ve shown so far is, logically speaking, very ambitious—just “and” and “or” statements about various facts. It’s essentially a glorified lookup table. Still, take a moment to appreciate how much nicer it is to query this database than a plausible alternative, like SQL. For the facts we’ve seen so far, I would probably set up SQL tables like this: Then query it like so: For comparison, here’s the equivalent Prolog query again: I’m not ripping on SQL—I love SQL—but that’s the best declarative query language most people interact with. It’s amazing to me how much simpler and more flexible the Prolog version is. The SQL query would become unmanageably complex if we continued to add clauses, while the Prolog query remains easy to read and edit (once you get the hang of how variables work). With the basics established, here’s some context on the project I’m working on. Pokémon battles have an outrageous number of number of mechanics that all interact in complex and probabilistic ways. Part of the appeal of these games is the futile attempt to keep them all in your head better than your opponent, using that information to out-predict and out-maneuver their plans. It’s a sort of like very silly Poker. The challenge, if you want to build software for this game, is to model all that complexity without losing your mind. Prolog is stunningly good at this, for two main reasons: To illustrate that, here’s how I implemented priority moves for my Pokémon draft league. Pokémon draft is pretty much what it sounds like. Pokémon are given a point value based on how good they are, each player is given a certain amount of points to spend, and you draft until every player has spent their points. Your team ends up with about 8-11 Pokémon and each week you go head to head against another person in the league. My friend and WMI collaborator Morry invited me to his a couple years ago and I’ve been hooked on the format ever since. The games are 6v6, so a big part of the battle is preparing for all the possible combinations of six your opponent could bring, and putting together six of your own that can handle all of them. Naturally, you can only build teams with the Pokémon you drafted. I just made that predicate my name: . What Pokémon do I have that learn Freeze-Dry ? None. Rats. One very important type of move is priority moves. Earlier I mentioned that the Speed stat controls which Pokémon moves first. Some nuance: the Pokémon that used the move with the highest priority goes first, and if they both selected a move of the same priority, then the one with the higher Speed goes first. Most moves have a priority of zero. Ah, but not all! Accelerock has a priority of 1. A Pokémon that uses Accelerock will move before any Pokémon that uses a move with priority 0 (or less), even if the latter Pokémon has a higher Speed stat. I define a predicate that unifies with a Pokémon, the priority move it learns, and what priority that move is. A simple query that asks “what priority moves does my team learn” returns a lot of answers. Although this is technically correct (the best kind), most of these answers are not actually useful. Helping Hand and Ally Switch have very high priority, but they only have a purpose in Double Battles, which isn’t the format I’m playing. To fix this, I define all the Double Battle moves and exclude them. I’m going to exclude the move Bide too, which is functionally useless. The predicate means “true if this goal fails”, and means “these two terms are different.” We get the following results: Much better, but there’s a handful of moves in there that go first because they protect the user from damage or status, like Detect . That’s not really what I mean by priority move—I’m interested in moves that will surprise my opponent with damage or an adverse side effect, like Quick Attack and Sucker Punch . With those rules in place, we arrive at a very useful answer! It’s even more useful to look up what priority moves my opponent for the week has. At this point, I showed the program to Morry and he hit me with a challenge. Pokémon with the Prankster ability get an additional +1 priority on their status moves. Could the rule be extended to note that? I happen to have one such Pokémon on my team. This took me 3 minutes, using Prolog’s if/then construct, . Now the same query includes all of Tornadus’ status moves, with their increased priority. At the top, I said that this experience had taught me about the kinds of interfaces I want to build. One of those lessons is fairly obvious: Prolog can be a little clunky, but it’s an elegant language for expressing and querying relations like the ones described here. That has implications if you, like me, are interested in the judicious use of declarative DSLs for programming. The other lesson is what kinds of tools work for non -programmers. I’m not the first person to think “it would be nice to know what priority moves my opponent’s team has.” The Pokémon community has resources like this, built in the best programming interface of all time: the humble spreadsheet. I use a copy of “Techno’s Prep Doc” , which is one of those spectacularly-advanced Google Sheets you come across in the wild sometimes. You put in the teams and it generates tons of useful information about the matchup. It has a great interface, support for a variety of formats, scannable visuals, and even auto-complete. I was curious about the formula for finding priority moves. It’s gnarly. With a little bit of clicking around, I was basically able to figure out what this does. There’s a “Backend” sheet that lists all the moves. It’s effectively a hard-coded version of my Prolog query. The lookup formula does some filtering, VLOOKUP-ing, and kinda-metaprogramming (INDIRECT returns a cell reference ) to find all the Pokémon on your team that are in that Backend list, and display them. There are a number of reasons that I, personally, would prefer to work on a version of this database implemented in Prolog instead of one implemented with spreadsheet VLOOKUPs. I plan to build webapps with this that do things the existing suite of Pokémon tooling can’t. (If I can ever get scryer-prolog to compile to WASM , that is.) Furthermore, the Prolog paradigm is clearly more extensible. The spreadsheet backend is a hard-coded list of notable moves; my database can look up any move. I still can’t really believe this query, which finds all the Special moves that Tornadus learns which are super-effective against any member of Justin’s team. Nothing like that exists in any tool that I know of—it’s the kind of thing I normally try to figure out by endlessly switching tabs. With the grammar established by my program, I put this together in like 30 seconds. I’m not interested in how structured programming is more extensible than spreadsheets, though. I already know why I don’t do all my programming in spreadsheets. A question I find very important is: What is it about this particular problem, and the kinds of people who were motivated to solve it, where the most well-maintained solution available is a spreadsheet? I believe there are a great many problems like that in the world, and a lot of improvements on that programming paradigm yet to be properly realized. Thanks to Morry Kolman for reading a draft of this blog . Some moves miss a certain percentage of the time, doing no damage. Some moves raise or lower a Pokémon's stats. Pokémon can hold items that have various effects. Damage calculations aren't constant; moves do normally-distributed damage within the calculated range. Pokémon can get frozen, burned, paralyzed, poisoned, or fall asleep; these all have various adverse effects. There are a variety of field effects (like weather, terrain, Trick Room) which alter move damage, turn order, and other things. Pokémon each have an ability that has various effects i.e Levitate makes you immune to ground moves, Drizzle turns the weather to Rain when the Pokemon switches in, Sheer Force disables a move's side effects but multiplies its damage by 1.3x. Players have points they (invisibly) allocate to each Pokémon before the game, to boost chosen stats. Depending on they built the team, each Pokemon might do more damage or take hits better than you were expecting. The challenge, if you want to build software for this game, is to model all that complexity without losing your mind. Prolog is stunningly good at this, for two main reasons: Take a look at the damage calculator to get an idea of what I mean. The query model excels at describing ad-hoc combinations. The data model is perfectly suited to layering rules in a consistent way. I joined the draft league in Season 3, lost in finals, then won Seasons 4 and 5. We just started Season 6. If you want it, you can have the crown . There are a number of coders in this draft league and I have gotten precisely zero of them to try out my Prolog program. That’s kind of the point though! It needs to be a website… The Prolog implementation I’m using is Scryer Prolog , a modern Prolog implementation that emphasizes standards and formal correctness. The creator, Markus Triska, has a terrific online book, “The Power of Prolog,” and accompanying YouTube channel that has soundtracked my breakfast for weeks. Scryer Prolog is also designed to encourage more constructs that preserve logical completeness and monotonicity , which means I’m not really supposed to use the or predicates. I couldn’t really figure out how to express what I wanted with the replacements offered, though. Happy to edit if anyone wants to help. Also, on Markus’ website : “My goal is to provide programs that work as intended, reliably and conveniently, with zero surprises. Programs that you can run for multiple decades without any issues such as crashes, resource leaks or other unexpected behaviour.” This guy and I have some similar interests! I did some fun metaprogrogramming to get all the data into Prolog predicates using the Pokémon Showdown NodeJS API. Yes, putting the accent on the “e” everywhere but the code blocks was very annoying.

0 views
Brain Baking 1 weeks ago

2025 In Board Games

This post is the board game counterpart of the previous 2025 In Video Games end of year note. There hasn’t been a Board Game Shelf Analysis post in 2025 for some reason so I can’t point you to recent photos of my collection. Because of two very young kids our board game time has been reduced to almost nothing, but nonetheless, I/we’ve managed to squeeze in about 150 plays. That’s even better than last year! Here’s a collage of all board games I played in 2025 along with the amount of plays on the bottom right of each cover, ranked from most played to least: Board game plays in the last year: 150 plays. A few side notes. For some weird reason, the play count is not accurate. For example, BGG records I’ve played Regicide four times, which is correct. Still, the BG Stats app refuses to print out a nice yearly overview with accurate numbers. Also, note that most games that are heavily played (on the top) are short games . That’s for a very good reason! Mage Knight, a notoriously long-winded one, was played exactly once to see how stuff works. I guess that means there’s a lot of room for more joyful gaming and I don’t need to spend more money to reap those benefits! Since getting together becomes more difficult with a crying toddler and baby, squeezing in quick solo (card) games became the norm: Kingdom Legacy (10 plays), Reforest (9), Conservas (8) are all examples of those that can be played on the coach. Yet I’m still proud that we played some more heavy hitters like SETI (5) and… wait… Great Western Trail (2)? Ok fine, SETI is the only bigger game that appeared once in a while. Compared to 2024 , the “one-off” plays weren’t that dramatic. It still fills one third of the above image but we replayed more games than we did test new ones and that’s a good thing. the H-index for 2025 was 5, which I could have gamed by playing one more round of French Quarter. Here’s the BGG Plays tool graph: Visualizing plays logged on BoardGameGeek including a 10x10 challenge highlight. The tail end isn’t as long as in 2024 and I managed to colour in almost all die in the 10x10 challenge rectangle! If you watch closely you’ll see that most of these die are one-sided meaning a solo play session. Games like Conservas and Kingdom Legacy are very quick and quite casual which plays (ha!) in their favour of returning to the table (or couch) the next evening. There haven’t been any big campaign games like last year’s Gloomhaven: Jaws of the Lion—thank god for that. Dorfromantik Sakura that I picked up in SPIEL Essen this year is strictly speaking campaign-based but very light to the touch and we enjoy it quite a lot. We’re very close to unlocking box 3 and it’s possible to start multiple campaigns for other friend groups. As was the case last year, 6/159 or 3.7% of the plays were three-player or higher sessions. That’s marginally better than last year’s 2%. I’ve come to accept that buying games that are only great with three or more will never end up in our shelf as they’ll barely see the daylight. Hopefully a friend reading this will buy Cosmic Encounter and invite me over. So which of these plays were new plays—or to put it differently: which of the games are my “new” 2025 GOTY games? I’ll once again split this between games I played but don’t own: And the games we enjoyed the most and also own: The jury is still out on Mage Knight (will probably love this), Great Western Trail, Terraforming Mars: Ares Expedition and all the other low play ones. We like Sky Team a lot but if you play it too often or play multiple sessions in rapid succession it can become boring. It’s very clear for me: SETI is my GOTY. It feels weird not to own it but it would be silly to buy it as one of my regular co-players owns it. Games I didn’t care for and will probably be looking to sell: Click A Tree (first play was disappointing), Cascadia: Rolling Hills (a mediocre roll-and-write), Let’s Go! To Japan (not mine but it didn’t click for me even though the art is great), Ora et Labora (an old friend that became a big long slog), and Conservas (it’s very good but once you finish the campaign and know how it works it’s dull). It seems that we did buy quite a few roll and write games : Dinosaur Island is very cool, Rajas of the Ganges is good but not great, and I had high hopes for French Quarter as the designer is the one who invented previous year’s GOTY Three Sisters. For me, I don’t think any other roll and write will ever beat that game. I’m looking forward to receiving the wonderfully weird Dark Venture skirmish game, unwrapping Spirit Island and Earthborne Rangers, and buying The Fate of the Fellowship! Related topics: / boardgames / lists / yearnote / By Wouter Groeneveld on 3 January 2026.  Reply via email . 💖 SETI: Search for Extraterrestrial Intelligence —clearly the Euro game of the year, what a banger. A must play. 💖 The Lord of the Rings: The Fellowship of the Ring Trick Taking Game —what can I say, I love trick taking games . 💖 The Castles of Burgundy: Special Edition —a classic in a gigantic box that plays itself. It was the first time this year I played a proper Burgundy game. 💖 Dorfromantik Sakura —We have yet to discover most of what the game has to offer and already like it a lot. 💖 Reforest —Last year I nominated Forest Shuffle but perhaps I even like this nature-themed card placement game more.

0 views
Grumpy Gamer 1 weeks ago

Making New IP

This one hits a little too close to home. Like Tim Cain, I am done with making other people rich off my IP. I enjoying making small games like Death By Scrolling and I’m going to keep making games and having fun. You may like the games, you may not, but I’m making what I want. I’m not rich but I can pay for food and rent and make what I want. People often ask about a TWP2. TWP cost around $1.1M to make. $600k came from Kickstarter backers and $500k came from private investors I found later. Kickstarter for digital games is all but dead. I could not raise the money to make TWP2 on Kickstarter today. I couldn’t even raise the full amount back then. I have spoken to publishers and they have been willing to fund TWP2, but they get rich and I get very little and have to do most of the work. I am done with that. From now on I’m going to make the small games I want and have fun doing it. I’ve been in the games industry for 40+ years. I think I’ve earned that. MicroProse is publishing DBS, but unlike other publishers they offered an very fair deal. Also, unlike a game like TWP2, there wasn’t a lot of upfront money and that probably helps.

0 views
Brain Baking 2 weeks ago

2025 In Video Games

It’s that time of the year—the time to publish the yearly notes summarizing playtime statistics and providing a personal opinion on recent and vintage Game Of The Year (GOTY) contestants. In 2023 , Pizza Tower and Tactics Ogre: Reborn were examples of superb recent games that even made it to the Top 100 List , while DUSK and Plants vs. Zombies scored high in the vintage list (both also on the Top 100). In 2024 , Skald and the Paper Mario remake were the great ones, but the most memorable experience was no doubt playing Ultima Underworld for the first time together for the DOS Game Club. For 2025, the amount of games recorded on my retro gaming site remains the same as the previous year—27—but this year I also started occasionally reviewing board games that I replay at least ten times. Here’s this year’s collage of the games I (re)played this year in chronological order: A collage of the 2025 GOTY contestants. I have yet to write a review for Shotgun King so let’s keep that one out. It’s a small indie roguelike that’s fun but doesn’t have a lot to offer. Also, since this post is called 2025 in Video Games , let’s ignore the board games for now and keep that for a future post where I summarise my Board Game Geek statistics. Some more useless stats, based on user input from How Long To Beat (HLTB): Last year, about 50% of my gaming time took place on the Switch. That’s dropped to 40%. Or has it? Remove the six board games and you’ve got 52% so nope, I’m still primarily a Nintendo (handheld) gamer. I have a bunch of cartridges waiting to be played and I believe even a few cases still in shrink wrap (yeah I know), so for the coming year, that’s not likely to change either. I don’t need a Switch 2 just yet. For more details on those divisions by platform, I again reused last year’s script to generate a graph summarizing the platforms and calculates an average score (rated on 5, see about the rating system ) for each platform: A bar chart of (average) scores per platform. Most mediocre plays game from platforms where I was hunting down card games for my feature write-up on card games back in September. Filtering all games that are scored as either great (4/5) or amazing (5/5), we end with the following lists, where I further cherry-picked the best of the best: The Recent GOTY list: Couch “recent” cough . Yeah, again—I know. What can I say, I’m a retro gamer, and the “new games” I play are usually repurposed old ones, go figure. This seems to be especially apparent this year. Those Nightdive Studios boomer shooter remakes are beyond awesome, you’ve got to try them! The Vintage GOTY list: I found 2024 to be a meagre year for me when it comes to “the great ones”—because I don’t play many of those within the year of release. I have the same feeling for this year, looking back at the play log. There are many great games I highly enjoyed such as Wonder Boy with the awesome art and music and ability to switch back and forth between retro and remastered version, or Hoyle Card Games , the PC classic that’s hard to beat when it comes to trumping the trump. I love Celeste and Castlevania Dominus Collection but those were replays of games I know by heart, so I’m ruling them out. We’ve got to draw the line somewhere. And then there’s Inscryption . What a game. No, what an experience that was! I was on the edge of my seat almost every single in-game minute. I played it in January (read my thoughts but beware of the spoilers) and didn’t encounter a game that challenged my expectations that much ever since. There’s no need for a debate or a voting round: Inscryption is my “Game of the Other Year”. It’s in the Top100 . As for the GOTY of 2025-ish; that’s got to be one of the Nightdive remakes. Both Blood: Refreshed Supply and the Outlaws remaster have been released recently and I haven’t yet had the change to touch either of them. If I had, I think Blood might have been the winner as that’s the only Build Engine game I never truly played back in the nineties. Screw it. DOOM + DOOM II is my GOTY. Just the music alone: And that’s from the new Legacy of Rust expansion. I’ll leave the discovery of Andrew Hulshult’s DOOM riffs up to you. Obviously, DOOM + DOOM II (2024) kicked out and replaced DOOM (1993) in the Top100. Cheers to 2026. My hopes are high for opening that shrink wrap. Related topics: / games / goty / lists / yearnote / By Wouter Groeneveld on 30 December 2025.  Reply via email . total #games: 27 total hours: 175.8 average hours: 6.51 average a day: 0.5 longest game: 28.0 hours; ‘Castlevania Dominus Collection’ shortest game: 0.0 hours; Hoyle Card Games 2002 Divison by platform: Platform: pc (5/27) Platform: ds (3/27) Platform: boardgames (6/27) Platform: gameboycolor (1/27) Platform: switch (11/27) Platform: snes (1/27) 💖 Guncho (pc; 2024) 💖 Shogun Showdown (switch; 2023) 💖 Rise Of The Triad: Ludicrous Edition (switch; 2023) 💖 Prince of Persia: The Lost Crown (switch; 2024) 💖 DOOM + DOOM II (pc; 2024) 💖 Castlevania Dominus Collection (switch; 2024) 💖 Hoyle Card Games 2002 (pc; 2002) 💖 Wonder Boy: The Dragon’s Trap (switch; 2017) 💖 Tangle Tower (switch; 2019) 💖 Celeste (switch; 2018) 💖 Inscryption (switch; 2021)

0 views
ava's blog 2 weeks ago

enjoying media and fandom

I enjoy media without actively participating in fandom. I prefer that over witnessing fandom drama or being influenced by the current consensus these spaces hold. Fandom is not without its use or effect on me, but I enjoy the more passive, indirect parts of it more. I like being able to research in a wiki someone made, or reading an elaborate fan theory, a guide, or long effort post about a small detail or episode, or the fact that there is so much fanfiction to choose from and fanart to admire. I prefer seeing a strangers’ work vs. talking to them directly. What I have never enjoyed are the ways fandoms operate on microblogging services and Discord servers, so I don’t participate. They are just not designed to discuss media well, because you’ll join as a new member and bring stuff up, and the seasoned veterans go “ugh we discussed that like 4 times last month I’m kinda over it”. I also don’t want to talk about these things all day long directly to strangers, or make it my personality, but I also don’t see why I should discuss other things with a stranger just because we enjoy the same game or show. I enjoy more elaborate ideas on media over being fed small crumbs via short messages by just anyone. In general, prefer to talk with the people I know and like about the media. With them, I even enjoy short messages of liveblogging the experience. My wife and I are the kind of people who will pause multiple times in an episode to discuss what just happened and talk about our little theories, at least for shows like Severance or Pluribus. The discussions we had about Pluribus so far on the Gazette’s Discord servers have also been amazing. I think largely staying away from fandom has saved me from losing my enjoyment of certain games or shows, whether due to not associating difficult people with it or just not burning out on it. Whenever I do peek into spaces where a game or show is discussed, they hone in on negative aspects I haven’t even noticed or that didn’t bother me, and I don’t like how that can change my perception negatively. I’ve also gotten the impression that the loudest fandom people tend to be the most unstable and exhausting, and I don’t want that around me. The few times I tried, I just never felt free enough to discuss what I wanted to discuss because there are always “leaders” in the space who have the final verdict on a character or episode, and going against that is not as accepted. Sometimes those leaders are simply the most vulnerable in the group, who have built up an intense emotional reliance and connection to the story or character, who will interpret any mild criticism as an attack on themselves and so everyone is used to tiptoeing around it. I feel a little sorry for people who continue to get burnt in fandoms and keep seeking new spaces just to have to flee from another bully, but I also think some underestimate how much just not participating in fandom like this could help them enjoy media again. It initially might feel unusual or lonely, but I think it’s worth exploring why you might feel like enjoying media without talking about it publicly feels cheap or like it didn’t happen. It’s worth experiencing media without a performative aspect of it, and weaning your brain off of the dramatic, edgy, and highly emotional fandom discussions. In my experience, it often seems to negatively alter the way you talk about the things you love. Reply via email Published 30 Dec, 2025

0 views
Ruslan Osipov 2 weeks ago

Home is where my stuff is

When I was in my 20s, decluttering was easy. I didn’t have a lot of stuff. I came to the US with a single suitcase, and I mostly kept my stuff contained to that suitcase for years. It was nice - every time I’d move when renting rooms (which was often), I’d go through all my stuff, put it back in the suitcase, and be back on the move. My mom lived through the dissolution of the Soviet Union, which instilled a scarcity mindset - something I naturally inherited. You don’t own too many things, you take care of what you own, you don’t throw stuff away. Stuff was hard to come by, so you respected it. The irony is that this mindset both prevents accumulation and makes decluttering harder. You don’t buy frivolously, but you also don’t discard easily. Every object earned its place. I slowly started accumulating stuff. First, it was the computer. My love of both tech and games is no secret, so I upgraded from a tiny netbook into a full-blown gaming PC. It wasn’t anything to write home about, but it was big enough that it would no longer fit in my suitcase. There was a monitor too, so two things that I had to have. It was the first time I needed help moving - and my last landlord was nice enough to help - a suitcase, a PC tower, and a monitor. I still didn’t have too much stuff, and a dedicated PC really was a great investment for a gaming enthusiast like me. I got a bicycle too, but that was really a transportation method, and while it was yet another thing - it made me healthier and opened up the city around me. Clutter escalated once I rented an entire place to myself. All of a sudden I needed furniture, moving up from prefurnished rooms. At first I lived in a tiny studio which didn’t even have a functional kitchen. A bed, a clothes rack, and a desk for my computer. The studio was cramped and utilitarian, but I remember a specific kind of peace. Everything I owned was visible from the bed. No hidden boxes, no “I should really go through that” guilt. I could see all my stuff. I didn’t realize at the time that this was a temporary state - not a lifestyle I’d chosen, but a constraint I’d graduate out of. Minimalism is easy when the life is not yet complicated. I won’t bore you with every place I lived in throughout my life, so let’s fast forward a decade. My wife, child, and I live in our house in San Diego, and have a lot more stuff now. Naturally, all the furniture, clothes for three, kitchen stuff (I love to cook), so many different things. There’s all the home improvement stuff - hey, gotta keep the paints, the brushes, the hammers and the drills. Need all of that to take care of the house we own. I have many more interests these days too - from miniature painting to, as of recently, 3D printing . All of the hobbies take up valuable space. I had a director, Luke, who was complaining about business travel - and me, being a young tech professional, could not relate. He would say “Home is where my stuff is. I like my stuff.” And now that I have more stuff - ugh, I get it. I go through annual decluttering, Konmari exercises (“does this bring me joy?”). But it’s hard, because buying stuff is really easy. A few clicks and tomorrow (or sometimes even today) there’s a box on your porch. Look, just last week I talked about a phone keyboard I bought. The friction is gone. The decision to acquire takes seconds; the decision to discard takes emotional labor. Here’s what I’ve realized: every object I own is a fossil. A little sediment left by a past version of myself. The gaming PC wasn’t clutter - it was proof that I’d made it, that I could afford something nice for once, that I wasn’t just surviving anymore. The drill isn’t clutter - it’s homeowner-me, a version of myself that 20-something-year-old me with his suitcase couldn’t have imagined. The 3D printer is current-me’s curiosity, an exploration of a hobby. The miniature paints are the version of me that finally has time for hobbies just for the sake of having hobbies. This is why decluttering is so hard. It’s not really about tidiness. It’s about deciding which past selves get to stay. That drawer with random cables? That’s “I might need this someday” me - the Soviet scarcity mindset my mom handed down. The programming books I’ll never open again? That’s a young programmer me from a decade ago. The fancy kitchen gadgets I used twice? That’s “I’m going to become someone who makes pasta from scratch” me. Aspirational me. He didn’t pan out, but he tried. Some of these versions of myself are still relevant. Some aren’t. The hard part isn’t identifying which is which - it’s accepting that letting go of the object means letting go of that version of me. Admitting that I’m not that person anymore. Or that I never became the person I bought that thing for. I don’t think the goal is to minimize anymore. I’ve read the minimalism blogs, I’ve seen the photos of people with one bag and a laptop living their best life in Lisbon. Good for them, I lived that life before - hell, I lived out of my car for a year . But I have a partner, a kid, a house, and more varied interests. All of which come with stuff. I want to be intentional about which identities I’m holding onto and why. Some sediment is just dirt - clear it out, make space, breathe easier. But some sediment is bedrock (I’m not a geologist, I don’t know rocks). The one suitcase life isn’t coming back, and that’s okay. I’m in a different stage of my life: I look back at my “simple life” with longing, but I enjoy my life today even more - or maybe just differently. I certainly enjoy it in the way important to me today. So now when I declutter, I try to ask a different question. Not “does this bring me joy?” but “which version of me needed this, and do I still want to carry him forward?” Sometimes the answer is yes. The drill stays. The 3D printer stays. The gaming PC - upgraded many times now - stays. And sometimes the answer is: that guy did his best, but I’m someone else now. Thanks for getting me here. Into the donate pile you go. It doesn’t make decluttering easy. But it helps me make peace with the mess. The suitcase me is not coming back, and that’s probably for the best - he didn’t really have much of a life yet. I’ve got more stuff now. I’ve got more me now. I’ll figure out what stays. It’s been 10 years since I first wrote about my experience with minimalism . Reading through it now - many of the story beats are similar, but the perspective changed. Funny how that works…

0 views
matduggan.com 2 weeks ago

The Year of the 3D Printed Miniature (And Other Lies We Tell Ourselves)

One amusing thing about following tech news is how often the tech community makes a bold prediction or assertion, only to ultimately be completely wrong. This isn't amusing in a "ha ha, we all make mistakes" kind of way. It's amusing in the way that watching someone confidently stride into a glass door is amusing. You feel bad, but also, they really should have seen that coming. Be it VR headsets that would definitely replace reality by 2018, or self-driving cars in every driveway "within five years" (a prediction that has been made every five years since 2012), we have a remarkable talent for making assumptions about what consumers will like and value without having spent a single goddamn minute listening to those same consumers. It's like a restaurant critic reviewing a steakhouse based entirely on the menu font. So when a friend asked me what I thought about "insert new revolutionary technology that will change everything" this week, my brain immediately jumped to "it'll be like 3D printers and Warhammer." This comparison made sense in the moment, as we were currently playing a game of Warhammer 40,000, surrounded by tiny plastic soldiers and the faint musk of regret. But I think, after considering it later, it might make sense for more people as well—a useful exercise in tech enthusiasm versus real user wants and needs. Or, put another way: a cautionary tale about people who have never touched grass telling grass-touchers how grass will work in the future. One long-held belief among tech bros has been the absolute confidence that 3D printers would, at some point, disrupt . Exactly what they would disrupt wasn't 100% clear. Disruption, in Silicon Valley parlance, is less a specific outcome and more a vibe—a feeling that something old and profitable will soon be replaced by something new and unprofitable that will somehow make everyone rich. A common example trotted out was one of my favorite hobbies: tabletop wargaming. More specifically, the titan of the industry, Warhammer 40,000. Every time a new 3D printer startup graced the front page of Hacker News, this proclamation would echo from the comments section like a prophecy from a very boring oracle: "This will destroy Games Workshop." Reader, it has not destroyed Games Workshop. Games Workshop is doing fine. Games Workshop will be selling overpriced plastic crack to emotionally vulnerable adults long after the sun has consumed the Earth. For those who had friends in high school—and I'm not being glib here, this is a genuine demographic distinction—40k is a game where two or more players invest roughly $1,000 to build an army of small plastic figures. You then trim excess plastic with a craft knife (cutting yourself at least twice, this is mandatory), prime them, paint them over the course of several months, and then carefully transport them to an LGS (local game shop) in foam-lined cases that cost more than some people's luggage. Another fellow dork will then play you on a game board roughly the size of a door, covered in fake terrain that someone spent 40 hours making to look like a bombed-out cathedral. You will both have rulebooks with you containing as many pages as the Bible and roughly as open to interpretation. Wars have been started over less contentious texts. To put 40k in some sort of nerd hierarchy, imagine a game shop. At the ground level of this imaginary shop are Magic: The Gathering and Pokémon TCG games. Yes, these things are nerdy, but it's not that deep into the swamp. It's more of a gentle wade. You start with Pokémon at age 10, burn your first Tool CD at 14, and then sell your binder of 'mons to fund your Magic habit. This is the natural order of things. Deeper into the depths, maybe only playing at night like creatures who have evolved beyond the need for vitamin D, are your TTRPGs (tabletop RPGs). The titan of the industry is Dungeons & Dragons, but there is always some new hotness nipping at its heels, designed by someone who thought D&D wasn't quite complicated enough. TTRPGs are cheap to attempt to disrupt—you basically need "a book"—so there are always people trying. These are the folks with thick binders, sacks of fancy dice made from materials that should not be made into dice, and opinions about "narrative agency." Near the bottom, almost always in the literal basement of said shop, are the wargame community. We are the Morlocks of this particular H.G. Wells situation. I, like a lot of people, discovered 40k at a dark time in my life. My college girlfriend had cheated on me, and I had decided to have a complete mental breakdown over this failed relationship that was doomed well before this event. The cheating was less a cause and more a symptom, like finding mold on bread that was already stale. Honestly, in retrospect, hard to blame her. I was being difficult. I was the kind of difficult where your friends start sentences with "Look, I love you, but..." Late at night, I happened to be driving my lime green Ford Probe past my local game shop. The Ford Probe, for those unfamiliar, was a car designed by someone who had heard of cars but had never actually seen one. It was the automotive equivalent of a transitional fossil. I loved it the way you love something that confirms your worst suspicions about yourself. There, through the shop window, I saw people hauling some of the strangest items out of their trunks. Half-destroyed buildings. Thousands of tiny little figures. Giant robots the size of a small cat with skulls for heads. One man was carrying what appeared to be a ruined spaceship made entirely of foam and spite. I pulled over immediately. The owner, who knew me from playing Magic, seemed neither surprised nor pleased to see me. This was his default state. Running a game shop for 20 years will do that to a person. "They're in the basement," he said, in the mostly dark game shop, the way someone might say "the body's in the basement" in a very different kind of establishment. I descended the rickety wooden stairs to a large basement lit by three naked bulbs hanging from cords. The aesthetic was "serial killer's workspace" meets "your uncle's unfinished renovation project." It was perfect. Before me were maybe a dozen tables littered with plastic. Some armies had many bug-like things, chitinous and horrible. Others featured little skeletons or robots. There were tape measures everywhere and people throwing literal handfuls of small six-sided dice at the table with the intensity of gamblers who had nothing left to lose. Arguments broke out over millimeters. Someone was consulting a rulebook with the desperation of a lawyer looking for a loophole. I was hooked immediately. 40k is the monster of wargaming specifically because of a few genius decisions by Games Workshop, the creators—a British company that has somehow figured out how to print money by selling plastic and lore about a fascist theocracy in space. It's a remarkable business model. Since the beginning of the game, 40k casual games have allowed proxies. Proxies are stand-ins for specific units that you need for an army but don't have. Why don't you have them? Excellent question. Let me tell you about Games Workshop's relationship with its customers. Games Workshop has always played a lot of games with inventory. Often releases will have limited supply, or there are weird games with not fulfilling the entire order that a game shop might make. Even when they switched from metal to plastic miniatures, the issues persisted. This has been the source of conspiracy theories since the very beginning—whispers of artificial scarcity, of deliberate shortages designed to create FOMO among people who were already deeply susceptible to FOMO because they collect tiny plastic soldiers. Whether the conspiracy theories are true is almost beside the point. The feeling of scarcity is real, and feelings, as any therapist will tell you, are valid. Even the stupid ones. So players had proxies. Anything from a Coke can to another unit entirely. Basically, if it had the same size base and roughly the same height, most people would consider it allowable. "This empty Red Bull can is my Dreadnought." Sure. Fine. We've all been there. This is where I first started to see 3D-printed miniatures enter the scene. Similar to most early tech products, the first FDM 3D-printed miniatures I saw were horrible. The thick, rough edges and visible layer lines were not really comparable to the professional product, even from arm's length. They looked like someone had described a Space Marine to a printer that was also drunk. But they were totally usable as a proxy and better than a Coke can. The bar, as they say, was low. But the technology continued to get better and cheaper and, as predicted by tech people, I started to notice more and more interest in 3D printing among people at the game stores. When I first encountered a resin 3D-printed army at the table, I'll admit I was intrigued. This person had basically fabricated $3,000 worth of hard-to-get miniatures out of thin air and spite. This was supposed to be the big jumping-off point. The inflection moment. There were a lot of discussions at the table about how soon we wouldn't even have game shops with inventory! They'd be banks of 3D printers that we would all effortlessly use to make all the minis we wanted! The future was here, and it smelled like resin fumes! Printing a bunch of miniatures off a resin 3D printer quickly proved to have a lot of cracks in this utopian plan. Even a normal-sized mini took hours to print. That wouldn't be so bad, except these printers couldn't just live anywhere in your apartment. They're not like a Keurig. You can't just put them on your kitchen counter and forget about them. When I was invited to watch someone print off minis with a resin 3D printer, it reminded me a lot of the meth labs in my home state of Ohio. And I don't mean that as hyperbole. I mean there were chemicals, ventilation hoods, rubber gloves, and a general atmosphere of "if something goes wrong here, it's going to go very wrong." The guy giving me the tour had safety goggles pushed up on his forehead. He was wearing an apron. At one point, he said the phrase "you really don't want to get this on your skin" with the casual tone of someone who had definitely gotten it on his skin. In practice, the effort to get the STL files, add supports, wash off the models with isopropyl alcohol, remove supports without snapping off tiny arms, and finally cure the mini in UV lights was exponentially more effort than I'm willing to invest. And I say this as someone who has painted individual eyeballs on figures smaller than my thumb. I have a high tolerance for tedious bullshit. This exceeded it. Before I start, I first want to say I don't dislike the 3D printing community. I think it's great they're supporting smaller artists. I love that they found a hobby inside of a hobby, like those Russian nesting dolls but for people who were already too deep into something. I will gladly play against their proxy armies any day of the week. But people outside of the hobby proclaiming that this is the "future" are a classic example of how they don't understand why we're doing the activity in the first place. It's like watching someone who has never cooked explain how meal replacement shakes will eliminate restaurants. You're not wrong that it's technically more efficient. You're just missing the entire point of the experience. The reason why Games Workshop continues to have a great year after year—despite prices that would make a luxury goods executive blush, despite inventory issues, despite a rulebook that changes often enough to require a subscription service—is because of this fundamental misunderstanding. Players invest a lot of time and energy into an army. You paint them. You decorate the plastic bases with fake grass and tiny skulls. You learn their specific rules and how to use them. You develop opinions about which units are "good" and which are "trash" and you will defend these opinions with the fervor of a religious convert. Despite the eternal complaints about the availability of inventory, the practical reality is that most people can only keep a pipeline of one or maybe two armies going at once. The bottleneck isn't acquiring plastic. The bottleneck is everything else . So let's do the math on this. You buy a resin 3D printer. All the supplies. You get a spot in your house where you can safely operate it—which means either a garage, a well-ventilated spare room, or a relationship-ending negotiation with whoever you live with. You find or buy all the STLs you need. Let's say they all have supports in the files, so you just need to print them off. Best-case scenario. Let's say we break even around 50-75 infantry and a few larger models. This is over the raw cost of materials, but we need to factor in the space in your house it takes up, plus there's a learning curve with figuring out how to do it. You also need to invest a lot of time getting these files for printing and finding the good ones. For the sake of keeping this simple, let's just assume the actual printing process goes awesome. No failed prints. No supports that fuse to the model. No discovering that your file was corrupted after six hours of printing. Fantasy land. Here's the thing: getting the raw plastic minis is not the time-consuming part. First, you need to paint them. I take about two hours to paint each model, and I'm far from the best painter out there. I'm solidly in the "looks good from three feet away" category, which is also how I'd describe my general appearance. Vehicles take longer because they're bigger—maybe 10-20 hours for one of those. We're talking somewhere in the ballpark of 150 hours to paint everything that you need to paint for a standard army. Now don't get me wrong, I love painting. But I'm a 38-year-old with a child and a full-time job. Finding 150 hours for anything that isn't work, childcare, or sleep requires the kind of calendar Tetris that would make a project manager weep. It is a massive investment of time to get an army on the table, even if you remove the financial element of buying the minis entirely. Frankly, the money I pay to Games Workshop is the easiest part of the entire process. Often the box will be lovingly stacked on top of other sealed mini boxes—a pile of shame, we call it—until I can start the process of even hoping to catch up. I have boxes I bought during the Obama administration. They're still sealed. They judge me. But okay, let's say we get them all painted. What's next? Next comes "learn how the army works." There is a ton of flexibility to each army in 40k and how they work and operate. It takes a bit of research and time to figure out what they all do, which is something you are 100% expected to know cover to cover when you show up to play. It's not my job to know what your army can and cannot do. If you show up not knowing your own rules, you will be eaten alive, and you will deserve it. So what I saw with the 3D printing crowd felt a lot like the "Year of the Linux Desktop" crowd. Every year they would proclaim that soon we'd all get on board with their vision. They would print off an incredibly impressive army with all the hard-to-find minis that were sold once at a convention in 1997. They'd get the army "painted" to some definition of painted—and I'm using those quotation marks with malice—get on the table, and then play effectively that one army the same as the rest of us. The printer didn't give them more time. It didn't give them more skill. It just gave them more unpainted plastic, which, brother, I have plenty of already. For those in the 3D printing crowd who weren't big into playing, just painting, part of the point is showing off your incredible work to everyone else. Except nobody wants to see a 3D-printed forgery of an official model. It's like showing up to a car show with a kit car that looks like a Ferrari. Sure, it's impressive in its own way, but it's not really a Ferrari, and everyone knows it, and now we're all standing around pretending we don't know it, and it's uncomfortable for everyone. Once someone figured out one of your minis was 3D printed, shops generally wouldn't feature it in their display cases. So there was no reason for people who were going to put in 10+ hours per model to skip paying for the official real models. If you're going to invest that much time, you want the real thing. You want the little Games Workshop logo on the base. You want to be able to say "yes, I paid $60 for this single figure" with the quiet dignity of someone who has made peace with their choices. "Well then the shops can just sell the STLs and do the printing there!" This shows me you haven't spent a lot of time in these shops. Game shops need to carry a ton of inventory all the time, and a lot of their sales are impulse purchases. I see a mini I wouldn't typically be interested in, but it's done and ready, and I'm weak, and now I own it. That's the business model. They also operate on relatively thin margins—these aren't Apple Stores, they're labors of love run by people who got into this because they loved games and are now slowly being crushed by commercial rent and distributor minimums. It's just not feasible for them to print minis on demand and have enough staff to keep an eye on all the printing. Plus, tabletop wargaming isn't their major revenue generator anyway—it's card games like Pokémon and Magic. The wargamers in the basement are a bonus, not the main attraction. We're the weird cousins who show up to Thanksgiving and everyone tolerates us because we're family. At the end of the day, the 3D printing proclamation that it would disrupt my hobby ended up being a whole lot of nothing. A series of reasonable mistakes were made by people enthusiastic about the technology, resulting in the current situation where every year is the year that all of this will get disrupted. Any day now. Just you wait. They looked at the price of miniatures and saw inefficiency. They looked at the scarcity and saw opportunity. What they didn't see was that the price and the scarcity were almost beside the point. The hobby isn't about acquiring plastic. The hobby is about what you do with the plastic after you acquire it. The hobby is about the 150 hours of painting. The hobby is about the arguments over rules interpretations. The hobby is about descending into a basement lit by three naked bulbs and finding your people. You can't 3D print that. So the next time someone tells you that some new technology is going to "disrupt" something you love, ask yourself: do they actually understand why people love it? Do they understand the irrational, inefficient, deeply human reasons people engage with this thing? Or are they just looking at a spreadsheet and seeing numbers that don't make sense to them? Because if it's the latter, you can probably ignore them. They'll be wrong. They're almost always wrong. In the meantime, you can find me in the basement, losing match after match, surrounded by tiny plastic soldiers I've spent hundreds of hours painting, playing a game that makes no sense to anyone who hasn't given themselves over to it completely. It's not efficient. It's not optimized. It's not disrupting anything. The game looks more complicated to play than it is. Especially now, in the 10th edition, the core rules don't take long to learn. However, there is a lot of depth to the individual options available to each army that take a while to master. So it hits that sweet spot of being fast to onboard someone onto while still providing frightening amounts of depth if you're the kind of person who finds "frightening amounts of depth" appealing rather than exhausting. I am that kind of person. This explains a lot about my life. The community is incredible. When I moved from Chicago to Denmark, it took me less than three days to find a local 40k game. Same thing when I moved from Michigan to Chicago. The age and popularity of the game means it is a built-in community that follows you basically around the world. Few other properties have this kind of stickiness. It's like being a Deadhead, except instead of following a band, you're following a shared delusion that tiny plastic men matter. They do matter. Shut up. Cool miniatures. They look nice. They're fun to paint and put together. They're complicated without being too annoying. This is the part that 3D printers are supposed to help with.

0 views

What to do with a VIC-20?

A family member was nice enough to get me a Commodore VIC-20 for Christmas! I grew up writing BASIC on an Atari 400 (despite being born 12 years after the release), but have always want to get my hands on a Commodore. The system needs a bit of work before I can use it though. First thing is a power supply, which shockingly seem to be $80+. I also need a video cable, but I think my Sega Genesis one will work (it fits at least). The "0" key is missing on the keyboard, so I think I'll need a new stem and keycap. I should probably buy a recap kit as well. Finally, I'll need something to load up software. Kung-Fu Flash or SD2IEC seem like good choices. Eventually I'd also like to get it online and connect to a BBS, but one step at a time! I'd love to find a way to write a blog post from it as well! For the Commodore enthuaists out there, let me know any hardware/software suggestions or thoughts on what I can do once I get the system up and running!

0 views
Xe Iaso 3 weeks ago

Arcane Cheese with Doomtrain Extreme

Spoiler Warning If you want to go through the Final Fantasy 14 duty Hell on Rails (Extreme) blind, don't read this guide as it spoils how to easily solve one of the mechanics in it. If you don't play Final Fantasy 14, most of the words in this article are going to make no sense to you and I will make no attempt to explain them. Just know that most of the words I am saying do have meaning even though they aren't in The Bible. In phase 4 of Hell on Rails (Extreme), the boss will cast Arcane Revelation, which makes the arena look something like this: There will be a very large circle of bad moving around the arena. One tank and one healer will be marked with an untelegraphed AoE attack that MUST be soaked by at least one other player (or two for healers). Doomtrain will move the circle of bad anywhere from 1-3 times and leave only a small area of the arena safe. Normally you're supposed to solve it something like this: Instead of normal light party groups, break up into two groups: melee and casters. This will allow the melees to keep as much uptime as the mechanics allow, but also let the casters get uptime at a distance. Solving this is pretty easy with practice. However as a caster this is kinda annoying because when the North side is safe, you have to fall down off the ledge and the only way to get back is by going around the long way with the janky teleporters that are annoying to hit on purpose but very easy to hit on accident. There is an easier way: you just stand in the upper corners so your melees can greed uptime and just soak all of the bad: This looks a lot easier but is actually very technically complicated for nearly every class. My example solve for this includes the following party members: The light party assignment is as follows: Arcane Revelation can perform up to three hits. In each of the hits you need to mitigate the damage heavily or you will wipe. I've found the most consistent results doing this: First hit: WAR casts Shake it Off , Reprisal , and Rampart ; WHM casts Plenary Indulgence and Medica III ; SGE casts Kerachole and Eukrasian Prognosis II ; SAM (and RPR) casts Bloodbath and mostly focuses on DPSing as much as possible to heal from the massive damage you will be taking throughout this mechanic; DNC casts Shield Samba . After the hit: heal as much as you can to offset the hit you took. If you're lucky you didn't take much. If you're not: you took a lot. Dancer's Curing Waltz can help here. Second hit: GNB casts Heart of Light , Reprisal , and Rampart ; SGE casts Holos and Eukrasian Prognosis II ; PCT casts Addle . After the hit: SGE casts a Zoe -boosted Pneuma . Generally you do what you can to heal and maintain DPS uptime. Hopefully you don't have to take another heavy hit. Third hit: One of the tanks uses a Tank Limit Break 2 , Healers dump as many mits as they have left, hopefully you won't die but getting to this point means you got very very unlucky. Between each of these hits you need to heal everyone up to 100% as soon as possible otherwise you WILL wipe. Most of the damage assumptions in this guide assume that everyone is at 100% health. The melee classes can mostly be left to their own devices to greed as much uptime as possible, but they may need Aquaveil, Taurochole, or other single target damage mitigations as appropriate. By the end of this you will have used up all of your mitigations save tank invulns. Here's a video of the first time I did this as Sage: That exasperated laugh is because previously Arcane Revelation was my hard prog point as even though I was able to do it consistently, others were not. This caused many wipes 7 minutes into a 10 minute fight. This cheese makes it consistent with random people on Party Finder. One of the tanks will need to soak a stack tower with an invuln. Everyone else runs to the back of the car to enter the next phase and then you continue the fight as normal. Spoiler Warning If you want to go through the Final Fantasy 14 duty Hell on Rails (Extreme) blind, don't read this guide as it spoils how to easily solve one of the mechanics in it. If you don't play Final Fantasy 14, most of the words in this article are going to make no sense to you and I will make no attempt to explain them. Just know that most of the words I am saying do have meaning even though they aren't in The Bible. In phase 4 of Hell on Rails (Extreme), the boss will cast Arcane Revelation, which makes the arena look something like this: There will be a very large circle of bad moving around the arena. One tank and one healer will be marked with an untelegraphed AoE attack that MUST be soaked by at least one other player (or two for healers). Doomtrain will move the circle of bad anywhere from 1-3 times and leave only a small area of the arena safe. Normally you're supposed to solve it something like this: Instead of normal light party groups, break up into two groups: melee and casters. This will allow the melees to keep as much uptime as the mechanics allow, but also let the casters get uptime at a distance. Solving this is pretty easy with practice. However as a caster this is kinda annoying because when the North side is safe, you have to fall down off the ledge and the only way to get back is by going around the long way with the janky teleporters that are annoying to hit on purpose but very easy to hit on accident. There is an easier way: you just stand in the upper corners so your melees can greed uptime and just soak all of the bad: This looks a lot easier but is actually very technically complicated for nearly every class. My example solve for this includes the following party members: Tank 1: Warrior (WAR) Tank 2: Gunbreaker (GNB) Healer 1: White Mage (WHM) Healer 2: Sage (SGE) Melee 1: Samurai (SAM) Melee 2: Reaper (RPR) Ranged 1: Dancer (DNC) Ranger 2: Pictomancer (PCT) WAR, WHM, SAM, DNC GNB, SGE, RPR, PCT

0 views
Ankur Sethi 3 weeks ago

Tech predictions for 2026, presented without nuance, context, or evidence

I wrote this post as an exercise during a meeting of IndieWebClub Bangalore . I’m writing these in order, from most likely to happen to least likely. GTA6 becomes the biggest game release of the year, breaking all previous sales records on launch day. LLMs become a load-bearing part of all developer workflows. A little less than half of all commits on Github in 2026 are generated using coding assistants. A new open-world 3D Mario game is announced in the summer and released in the holiday season. The Playstation 6 is not announced. Apple turns the Mac Studio into a dedicated computer for running LLMs and machine-learning models, including support for rack mounting and disgusting amounts of RAM. MLX becomes the most widely supported method of running open-weights LLMs. Hardware to run local LLMs becomes more affordable, and multiple startups make it even easier with “it just works” boxes you can buy and stash in a corner of your office. This massively cuts into OpenAI and Anthropic’s revenues. The launch of the new Steam Machine, along with multiple new SteamOS-based handhelds, finally pushes Linux market-share in the Steam hardware survey to about 5%. Folding phones make up for at least 20% of all new smartphone sales. Apple releases a folding iPhone. The most egregious design and accessibility sins caused by Liquid Glass are slowly rolled back over the course of the year. Spotify launches fully AI generated podcasts. The product is discontinued after massive public backlash. A new, better version of Siri is released. It actually works as advertised. The new, improved version of Siri is immediately compromised via prompt injection attacks within 4-6 weeks of release. Multiple world governments—led by the EU—prohibit the use of American software and cloud services for government work. Apple and Microsoft ship competent local LLMs built into Windows and macOS. Apple and Google are forced to allow side-loading on all their devices after a massive antitrust lawsuit brought on by a coalition of tech companies and advocacy organizations. The change is region-locked to the EU, US, Japan, South Korea, and China. Microsoft buys OpenAI.

0 views
JSLegendDev 1 months ago

The Programmer's Roller Coaster (Comic)

Hope you enjoyed this little comic! I usually post articles about game development and tutorials. However, I wanted to try something different this time, as I think there’s a lot of potential in making comics that cover topics like software development or game development. I would like to eventually make an even more story-driven comic (I think the right term might be graphic novel). That said, I need to start small to gain stamina for a bigger project. I think the advice of “making small” game projects also applies to comics. Anyway, my plan is to continue posting comics alongside my other content. If you want to be notified when I post something new, I recommend subscribing. Subscribe now In the meantime, you can read some of my previous posts.

1 views
Playtank 1 months ago

Your Next Systemic Game

This is how the magic happens! This post lays out a process in three very broad steps for how to put the principles on this blog into practice. There are links to more detailed subject analyses made previously, and attempts have been made to minimise repetition. “I do something in the game, I get feedback from the game, and that then changes my next intention and helps me build my mental model of the game. That’s gameplay. Until you have that, you don’t have a system, and you don’t really have a game.” Michael Sellers Game design is both overrated and underrated. Overrated as a means to control players. Writing a book or making a movie is a better way to author something. But as a means to generate excitement, game design is underrated. Translating our own excitement into player engagement is the hardest part. Even more so for systemic games. This is the most important part of your entire design. Not the mechanics, not the theme : the player’s mental model . A clear understanding encompassing the player’s relationship with the game, that can serve as a link between creator and consumer. Let’s look at some common ways to find your model. Since games are interactive, probably the most common thing to lead with is the activities you get to engage in. Driving fast cars, piloting space ships, training and riding horses, growing your gardens, play sports; there are many activities that are enjoyed by gamers whether as power fantasies or cozy pastimes. Some games let you play a character that you can emphatize with. This can be done in one of two ways. Either the game tells you about the character and you’re then expected to empathize with that character just like a movie would do things . The other way is to make the character and player occupy the same mental space anyway, as is the case in Thief: The Dark Project and its sequels. The quintessential mystery setup is the “whodunit,” where there’s been a crime and the protagonists need to figure out who did it and bring them to justice. The right mystery with the right setup can pull players in, as long as you don’t give too much of it away too easily. If your game is one of the many that focuses on combat , you can build your model around the enemy you will have to kill. Consider Halo , Gears of War , or any (reasonable) game with nazis in it. Coming up with this kind of external threat is comparatively easy, but can also make your game feel derivative. It can also be problematic. If it hits too close to real conflicts, your game may even end up banned in some countries. Another way to use an external element as your model is to come up with a strong goal for the player or player’s avatar to aim for. Escape from prison. Find the missing thing/person. More abstractedly, it can be saving the world. This goal can inform everything about the game and at best will become something the player can intuit along the way. As developers, we often find our inspirations in mechanics. This easily leads to the idea that a hook , as a twist on an existing formula, is something to lead with. Jonas Tyroller has argued against this , but it’s quite common to append a hook to something that is already well established. E.g., a platformer, but played in slow-motion . References to mainstream media is where movie and IP tie-ins come from. Since gaming got started in strong fandoms, many of the shared fantasies are referential. A colleague used to joke that game developers of a certain generation only ever saw three movies: The Lord of the Rings, Aliens, and Blade Runner. But this shared fantasy means that everyone in that audience can adopt the model of those three. Market analysis can help identify what players want. This is a dangerous way to begin a project. If you look at the most successful games, it’s easy to either cherry-pick games that fit your own ideas of success or to mistake the success of a game for the success of its genre. Remember that whole genres that are big today didn’t even exist in their most popular forms a decade ago. Choosing to build your model on a market analysis means that you start one step behind your competition. A common idea among game developers is to spend time “finding the fun.” To prototype from very high level ideas until your prototype feels fun to play. In a way, Nintendo’s approach seems close to this, where they can spend a year (or more!) refining a control scheme before they move a game into full production. The tricky part with this approach is that players won’t know how fun your game is until they play it, making it really hard to convince them of that first crucial purchase. Nintendo doesn’t have this problem, as their IPs are extremely strong. The last approach I will mention is to draw your model from a single authoritative figure. A director. My experience is that this rarely works in video games except where games are made more similar to film. If you want to be an auteur you need to be a good leader and communicator first and foremost; it’s not enough to have passion or a “great idea for a story.” The most common way to conduct game design research is to play games similar to what you have in mind. By all means, play games . But there are more immersive types of research that won’t translate directly into implementable mechanics. In fact, to immersive yourself in the model rather than the mechanics, it’s a good idea to take a big step away from the gameplay at this point. Zoom out before you zoom in. As the saying goes, reality is often stranger than fiction. Watching documentaries or reading books about a certain time period can be very powerful. Like the struggles of Houses Lannister and Stark in The Song of Ice and Fire was strongly influenced by the historical Wars of the Roses between the Plantagenet cadet branches of Lancaster and York, you can also find a strong referece by studying history or mythology. Words matter. By using different labels, you can quickly change the meaning of something. In Magic: The Gathering , you draw cards from your library and creatures that are killed are put in the graveyard. It’s not just your deck and discard pile. Finding the right words for your game makes a big difference and can also help differentiate your game from other games. Sometimes you find a game that does a very specific thing a certain way and you seek it out to try it. It can be the camera technique that solves some third-person issue you want solved, the way the inventory worked, a clever control scheme, or really anything at all. There are so many great designs out there that trawling them for mechanics could itself be a fulltime job. If you have more time on your hands than what’s needed to test individual mechanics, you can try gameplay instead. This requires more time investment, since a shallow test of a game is rarely enough to bring out all its nuances, but can also be worthwhile. Think of how Pillars of Eternity isn’t actually the same as old Infinity Engine games but how you remember them . This is the kind of thing you can achieve by doing deeper gameplay research. It’s impossible to divorce implementation from design when you are making a systemic game (I’d argue making any game , but that’s a different discussion). Because of this, another thing you need to consider for your design work is technologies that are central to your model. Don’t do this in a generic way. We all need rendering and input handling, for example. But focus on key technologies that this particular game can’t do without. With game development often a quite stressful environment, we don’t spend nearly enough time reevaluating our pipelines. Pure tech ideation can be to build isolated pipeline tests, set up new tools, or even just read related white papers. If you come up with a clever solution to a technical problem, or an interesting mechanical concept, you can explore it in prototype form . Timebox this ruthlessly, setting aside a day or a week but no more. One of my game design pet peeves is our overreliance on cooldowns . Not that anyhting is wrong with cooldowns necessarily, but their origins are partly as tech defining design. A timed limitation to avoid servers getting choked by too much traffic. This is a good example of how you need to be aware of such limitations and keep them in mind. If you can only have a single texture atlas or the player needs to move slow enough so that other players can aim at them using analogue sticks, those things will affect your game and the resulting model. Let’s take all this and turn it into artifacts that can be used to communicate the model to a team or to future players. List shared references . References that everyone on the team needs to understand the model: List narrative facts ; story things that everyone has agreed on: List gameplay facts ; mechanical things we have all agreed on: Now we have a model for our players and a vision that we can share across our team. Next up, we break this down into objects and high level states . This breakdown needs to be somewhat ruthless and abstract. It’s less helpful to think in class terms, like Character or Sword, and more helpful to think of it one step deeper. Think about behavior more than visuals, and which parts of a thing that generate its behavior. Start out by mapping your game at the application level. This may seem silly, when all you want to do is jump in at the deep end with your mechanics and storylines, but doing this will teach you a lot about your game. It’ll also help you emulate how a player experiences your game for the first time. Put yourself in a player’s shoes and note down each screen and interaction as the player would approach them. Flesh it out at a high level, without going into the details of the gameplay, so that you can close the whole loop. A splash screen shows contractually obligated logotypes, your studio name, and perhaps the engine you use. It may also hide any loading you need to do in the menus. After this, most games will display a loading screen and an initial settings screen followed by a menu screen. The menu is further divided into other screens; options, accessibility settings, starting new games, loading old games, and so on. Game menus and the deeper subjects of User Interface and User Experiences are whole subjects in their own right. Play some games just to see how their menus operate, and remember to close the loop for your game early on. Throw in all the reward screens, info screens, tutorial windows, etc., that you want in your game. Make the menu state breakdown holistic, but stay at the level of which screens you will need. Dive into the Game UI Database for inspiration. Data is the bread and butter of digital games. The menus will be the first time a player encounters this data. A setup state is any state from which you want to retain data. Can be the video settings, the accessibility options, or the player’s finished character coming out of a character creation process. This makes a setup state a system , effectively, where you need to track inputs and outputs and not just which choices a player can make. In the example from Killshell , many of the states (The Carrier, Orbit, and Launch) are menu states. But the other states, namely Interface, Landing, Mission, and Retrieval are composed of gameplay. These are referred to as simulation states, since they will be running the game’s full realtime simulation. Whatever this means for your game. Let’s dive a little deeper into simulation states. Most games will have several different types of simulation state where different parts of the simulation are turned on or off. A pause state, for example, may simply turn everything off except the music, while other elements remain functional. A dialogue state may turn movement off and force your camera to look at a certain target. A cutscene state probably turns off dynamic NPCs ( though not always ). You can look at anything that loops over things as a logical state. Physics, animation, lighting, perhaps something like the modern Zelda games’ chemistry engine. You don’t need to get technical with your state breakdown, you only need to capture the different parts that will affect other states. The reason you want logical states included is that you will want to turn them on or off while other states are active. Running, jumping, flying. Many of these states will restrict controls one way or another and may even lead to other states, such as death if you fall into a chasm after a jump. Listing these and considering their circumstances is very valuable. It’ll help you identify two things: which movement actions are generic, potentially used by all objects, and which are specific, used only by certain objects. Just remember to list conditional states, such as sliding on slopes or failing to climb stairs. When you lock onto an enemy in a Soulsborne game, this locks the camera and changes how you move. When you interact with something in a Frictional Games game, like Soma or Amnesia , your camera is locked in place and mouse movement translates into physical actions. Both are effectively lock-on states. Sometimes these are integrated into regular gameplay. Other versions take over entirely, such as the lockpicking from Oblivion in the image above. The game’s logical states may still run, so that the player can be spotted picking a lock, or everything pauses to let you fiddle around in your inventory. Most games of the kinds I like have characters and props. Interactive objects in the game world. Listing all of these objects is important, and you want to capture as many nuances as possible. Look at the sword below as an example. It’s a prop, it’s an equippable prop because characters can wield it, but its behavior is further broken down into its constituent parts . The behavior of a sword in a systemic simulation isn’t based on it being a sword , it’s based on it having sharp edges and a stabbing point. Now is the time to figure out which granularity you want to achieve. If it’s at the depth of this sword, or if it is with “sword” as enough definition. Breaking down your locations is also granular. Writing this, I’m sitting in the Milky Way galaxy, Sol system, planet Earth, European continent, country of Sweden, county of Uppland, outskirts of Uppsala city, in our small guest house/office combination. I’m seated at my desk, by my computer, next to a window, on the opposite side of the entrance. This is a very detailed breakdown, and many of those steps would be unnecessary unless it’s important to know which planet you’re on. At the low end of this breakdown, you find points of interest , like the entrance; and you find props , like the desk and computer. Where you put this dividing line between location and object decides this for you. Surprisingly, characters need less breakdown than most other kinds of objects, because they tend to be defined more by external elements (like props) than by themselves. Think of the classic object-oriented axioms of has a and is a . Most of a game character’s elements are has a relationships, where they have the ability to move, carry a sword, etc. What they are is rarely as relevant. The biggest difference between characters is whether they are player controlled or non-player controlled. A prop is an object that can be held or acticated by a character. Think of movie or theater props and you get it. The most important breakdown for props concern limitations. Where you can activate it from, how many you can carry, etc. You shouldn’t specify the details at this point, only set up which limitations you want to have in your game. Some key elements of your game won’t fit into the other object categories. Particularly if your game is narrative in nature. These can be broken down into devices , including things like narrative state, factions and groups, and plot objectives. This last type of state has been covered before , and it’s the many different ways we can describe objects in our simulation. We won’t go into details here, only set up some very broad categories. Broken, burning, destroyed, angry, green, starving; most games will have a whole vocabulary of object conditions. Sometimes they’re a fuzzified ladder, say from Hungry to Starving to Dying. At other times, they’re mutually exclusive, like Burning or Frozen. All of the runtime states that may happen, whether local, relative, or something else. Behind, above, far, close, etc. I’ve covered these more closely in other posts. An object’s ways of handling interactions with logical states, such as physics. Some objects may not interact. A steel door is probably not flammable, for example, but may still have a response state that makes it glow a menacing red if it’s affected by fire for an extended time, and may then burn the player if they attempt to open it. This is a response state unique to the steel door. Things that are internal to an object can be thought of as awareness states. Reacting to its own health, how much ammo it carries, etc. Things external to an object must be triggered by external stimuli. Seen, heard, identified. Many games will trigger events directly based on perception states. Even more so if you want the player to interact with the game’s perception systems, as you do in a stealth game. One of the constants in systemic design is the clash between designers that want to direct the player and designers who don’t. In Designer Notes’ interview with Clint Hocking , Hocking talks about this clash on the Splinter Cell team. How some of them wanted to make a more linear game, and others wanted to take inspiration from games like Thief: The Dark Project . Scripted states can be both. They can be exceptions to existing systems that allows designers to make a character impossible to kill or an area impossible to reach. Or it can be for more creative reasons, such as allowing the player to make Hammerite hammers deal holy damage because you submerged them in holy water. Scripted state can be either specifically scripted and never available at any other times, like the mentioned exceptions, or they can be tools exposing other types of state to designer manipulation. With the deconstruction done, you’ll have a long list of single words and short sentences. Each and every one of these should be turned into a one-page design. How you do your one-page designs will depend on project needs and personal preferences, but some or all of the following are recommended: An emergent effect is “something that is a nonobvious side effect of bringing together a new combination of capabilities.” This means that you can’t really design it directly. With this in mind, you should start to see what the breakdown has achieved. We know all the parts of our game now and how they interact with each other. Not in detail, of course. We know all the inputs and outputs of our systems, and we can see the what kind of experience they imply, but we can’t really know the details. The reconstruction itself is the act of taking everything from the deconstruction, grouping them together, and connecting them in ways that illustrate their relationships. You can do this using a tool like Miro or XMind , or you can do it on a physical whiteboard or spare wall. Having this graph in a single place will serve multiple purposes. It allows you to have a single place where you can show anyone how the game is connected. It also moves the conversation from implementation to design: a tricky thing to achieve in game development. At the end of this seemingly longwinded process, with the Model in mind and a long list of states and objects, you can finally put it all together. There can be 10s, even 100s, of individual parts to piece back together. But once it’s done, you’ve finished the design for your next systemic game. What you will immediately see is that this doesn’t specify much. It’s mostly objects and relationships. But once you have this map in place, you can dive into the next evolution of your systemic design: writing the rules . More on this next month! It starts with The Model ; figuring out what you want players to get excited about. Not you, the developer and not your publisher or investor. It then goes into The Deconstruction , where we take the design and break it down into its constituent parts, taking extra care to find commonalities. It then wraps up with The Reconstruction , where all those parts are put back together and let loose in simulation form. Key references: one or two references to rule them all. Movies and shows to watch. Gamedev videos to watch. Games to play; any kind of game. Books and articles (and blogs!) to read. Activities to refer to. Fencing, knife throwing; whatever you find. Non-negotiables. That big set piece ending scene, perhaps. Or that the protagonist is really a werewolf. Characters and character relationships. Who the protagonist is, who the antagonist is. Theme and setting. Where, why, when, etc. Major plot beats, if relevant. Big reveals and crucial turning points. Target platforms and control schemes. Level and object metrics; measurements for doors, jumps, obstacles, etc. High level goals, such as playtime, session length, etc. Verbs and actions. Optional but useful, game loops: the defining repeatable elements of your game. Micro loop (second to second), macro loop (minute to minute), and meta loop (hour to hour). Title . Preferably a single word. Image. A simple illustration Category . Should refer back to the title of another one-pager, if you need categories. Relationships . Connections to other one-pagers. Set these apart, for example using a different color, bold typeface, or capital letters. Inputs, outputs, and feedback . More specific to systemic games. I like having them, particularly feedback, because it can serve as an overview of the player-facing work your systems will require. Triggers . Any gameplay-related events the object will be firing off into the game.

0 views
Ruslan Osipov 1 months ago

Unveiling my gaming blog: Unmapped Worlds

For the past eight months, I’ve been running two parallel writing projects. You know about this one: my weekly posts in this blog (this is post 42, by the way). But there has been a shadow project running in the background. I love video games, and I’ve collected too many opinions on them to keep them to myself. Meet Rooslawn’s Unmapped Worlds , a blog where I write essays about games. I decided to go for a phonetic spelling of Ruslan in the title, in the hopes I’ll get misnamed less. I don’t review games. Instead, I write about game mechanics and tropes, and I love breaking down how digital worlds are constructed. It’s a place where I can complain about my dislike for map markers and quest GPS, or explore the reality that I rarely actually finish the games I play. It is a home for deep dives into immersion, design philosophy, and the specific friction that makes a game memorable. A few of the pieces I’m most proud of include when I didn’t speak the language of games and difficulty sliders are dumb . Running the project anonymously was a great idea - I was able to be more vulnerable, it allowed me to experiment more with different topics and formats, and find my voice. The voice of Unmapped Worlds can be described as rambly. I’ve been thinking of it as written gumbo . It isn’t clean and corporate, there’s texture, love and care put into it, and you know it’s authentic. Gumbo is something spicy, authentic, textured, visceral, and willing to take risks that alienate some of the audience. This is unlike slop, which usually comes from the desire for inoffensive predictability and consensus, even if we have to falsify our preferences to achieve it. - The FLUX Review, episode 211 Ultimately I felt like attaching my name to Unmapped Worlds does it justice - who I am is highly relevant to the writing. Gumbo’s flavor is unique to the chef. If you like video games, see if any of the 42 (so far) essays connect with you, and consider subscribing to my newsletter .

1 views
JSLegendDev 1 months ago

Why Text in Vampire Survivors Used to Look Like This

In 2022, Vampire Survivors, a game where you destroy hordes of enemies by just moving around, released. It ended up becoming extremely popular and spawning a whole genre by itself. At the time, I was working as a software developer for a company who’s product was a complex web application. Therefore, I became a web developer. I wasn’t really interested in game development as the working conditions and pay were known to be less than stellar. However, I quickly realized that the tools used to make web applications could also be used to develop games. Since I could make games with the skills and tooling I was already familiar with, I decided to try it out as a hobby to see if I’d enjoy it. As time passed, I got interested in the various ways one could use a web developer’s skill set to make games. After some research, I found out that Vampire Survivors was originally made in JavaScript (the programming language that is natively supported in all web browsers) using a game framework called Phaser . A game framework is essentially a game engine without the UI. While this is not the case for all game frameworks, it sure was for Phaser because it packed a lot of features out of the box. You didn’t have to reinvent the wheel. I wanted to give Phaser a try after seeing high profile games made with it, like Vampire Survivors and PokéRogue (A Pokémon Roguelike fan game). However, as I started my journey to learn this framework, I quickly gave up because the documentation was confusing. You also needed to write a lot more code to achieve the same results as the alternative I was already using called KAPLAY . I therefore, stuck with it leaving Phaser behind until some time had passed. As I got more comfortable in my game dev journey, I now wanted to make a small 2D RPG game with a combat system similar to Undertale. In my game, you would avoid projectiles and attack by stepping on attack zones. The player would be expected to learn to dodge various attack patterns. I also, wanted to publish the game on Steam. Prior to this, all games I made were mostly playable on the web. — SPONSORED SEGMENT — Speaking of publishing a game on Steam, since games made in JavaScript run in the browser you might be wondering how it’s possible to release them on Steam? For this purpose, most JavaScript-based games are packaged as desktop downloadable apps via technologies like Electron or NW.js. The packaging process consists in including a full Chromium browser alongside the game which results in bloated app sizes. However, technologies like Tauri offer a different approach. Instead of packaging a full browser alongside your app, it uses the Web engine already installed on your computer’s operating system. This results in leaner build sizes. That said, regardless of the technology used, you’ll have to spend a considerable amount of time setting it up before being able to export your game for Windows, Mac and Linux. In addition, extra work will be required for integrating the Steamworks API which allows implementing, among other things, Steam achievements and cloud saves which are features players have come to expect. If only there were a tool that made both the packaging process and the Steamworks API integration seamless. Fortunately, that tool exists, and is today’s sponsor : GemShell . GemShell allows you to package your JavaScript-based games for Windows, Mac and Linux in what amounts to a single click. It: Produces tiny executables with near-instant startup, avoiding the Chromium bloat by using the system’s WebView. Provides full access to Steamworks directly via an intuitive JavaScript API. Has built-in asset encryption to protect your code. Offers native capabilities allowing you to access the host’s file system. For more info, visit 👉 https://gemshell.dev/ To get the tool, visit 👉 https://l0om.itch.io/gemshell You have a tool/product you want featured in a sponsored segment? Contact me at [email protected] I got started working on my RPG project and things were progressing pretty smoothly until I ran into performance issues. By this point, I’d been developing the game in secret and wasn’t planning to reveal it yet. But I realized I could gather valuable performance feedback by sharing my progress publicly, so I decided to do just that. It turned out that, while KAPLAY was easy to learn to make games in, it was unfortunately not performant enough. FPS would tank in the bullet hell sections of my game. After doing all kinds of optimizations, I got the frame rate to be good enough but didn’t feel confident it would remain that way as I continued development. I initially thought of moving forward regardless but quickly changed my mind thinking of all the potential negative reviews I would get on Steam for poor performance. This led me to halt my game’s development. I needed to learn a more performant game framework or game engine. Unfortunately, this meant I’d have to restart making my game from scratch. At least, I could use the same assets. Among the options I was considering learning were Phaser and the Godot game engine. Since my game was made in JavaScript, I thought trying to learn Phaser again would save me time because I wouldn’t need to learn a different programming language and development environment. I would potentially also be able to reuse code I had already written for my game. Also, Phaser was the most mature and battle-tested option in the JavaScript game dev space as well as one of the most performant. Although I didn’t like how using Phaser would result in very verbose code, the perceived advantages in my situation, outweighed the cons. However, one thing that irked me with Phaser, looking at the many games showcased on its official website, was that all of them had blurry text or text with weird artifacts. This was also true for Vampire Survivors and for PokéRogue, if you looked closely enough. Text in Vampire Survivors. Text in Pokérogue. Weird outline around the text. Arrow placed by myself. Close up. While some may consider this a small detail, it annoyed me to no end. I almost gave up on Phaser again and even started to look for alternatives. Yet, what kept me going was that, in my previous attempt at learning Phaser, I had started working on a remake of my infinite-runner Sonic fan game which was originally made with KAPLAY. I remembered that I had pushed the project on GitHub and left it abandoned. Pulling the project again, I noticed that I had already made significant progress and that the font used didn’t produce any weird artifacts. I thought that I could get around the artifact problem by just carefully selecting which font to use for my games. Because of this, I continued working on the project, learning Phaser quickly in the process. There’s something to be said about how quickly you can learn a new technology by rebuilding a project you’ve already created. Since you already know exactly what the end result should look like, you can focus on understanding the key concepts of the technology you want to learn. Because each step in rebuilding the project is concrete, you know exactly what to search for. It’s now just a matter of translating between how things are done in the technology you already know VS the one you’re trying to learn. The rebuild of my Sonic fan game was nearing completion when I needed to display text elsewhere in the game at a different font size. To my dismay, when rendering the font at a smaller size, the artifact problem, which I thought was gone (at least with the font I was using), reared its ugly head again. This was a catastrophe. I was already knee-deep with Phaser and didn’t want to switch again. None of the Phaser games I knew of had clean text, so I assumed it was something inherent to the framework. I couldn’t believe I had forgotten to check how text was rendered at different sizes before committing to Phaser. In hindsight, it was a pretty stupid move, and I felt like I had wasted a lot of time for little benefit. Artifacts present in my Sonic game. At this point, the proper thing to do would have been to cut my losses and moved on to something else. However, afflicted by the sunk cost fallacy , I thought that there was no way I would give up now. Not after having spent this much time learning Phaser. I needed to fix this issue, come hell or high water. After some research, I figured out that the reason my text had artifacts, was because of my use of Phaser’s pixel art option. Since I was making a game with pixel art graphics, this option was needed so that my game sprites would scale without becoming blurry. Phaser would achieve this by applying a filtering method called Nearest-Neighbor. The issue, however, was that it wouldn’t only apply this to sprites, it also affected fonts, causing artifacts to appear around the text, since fonts don’t scale the same way. Since Vampire Survivors also used pixel art graphics, it now made sense why the text used to look so weird. The developer probably just applied the pixel art option and called it a day. By the way, the font used in the game is Phaser’s default font, Courier, which is also a font available on many electronic devices by default. It seems like the dev really didn’t care much about this aspect of the game’s presentation. Now that the game has been moved to Unity, text is rendered properly, though still using Courier, as it has become part of the game’s visual style. However, disabling the pixel art option wouldn’t solve the issue. Text would still render blurry by default, and the sprites would remain blurry as well. How the game looks without the pixel art option set to true. Fortunately, there was a fix for the font blurriness. The text method allowed setting the resolution of the rendered text. Setting the resolution to 4 made it render clearly. Still, this didn’t help in the end because I still needed the pixel art option for my sprites. How the game looks without the pixel art option + text resolution set to 4. A potential solution to my problem would have been to use a bitmap font, also known as a sprite font. As the name implies, instead of a .ttf font, which most people are accustomed to, a sprite font is stored as an image containing a sprite for each letter. This allows the font to render properly, scaling like other sprites when the pixel art option is enabled. That said, this solution was a non-starter because each character was a fixed image. I would lose out on the flexibility of a .ttf font that allows for text to be set to italic, bold, etc… I didn’t want to lose on that flexibility and didn’t want the hassle of converting my existing .ttf font. At this point, I couldn’t believe how much effort was needed just to do a simple thing like render text properly. In frustration, I decided to open the Godot game engine and figure out how to render text just to compare with what I currently had. As expected, I got the font to render nicely automatically. I was tired of having to do this much work for something that I would’ve gotten for free in Godot, this couldn’t go on. How text is rendered in Godot. I needed to take a break, so I stepped away from the computer, and the next day, I had an epiphany. Instead of using the pixel art option in Phaser, what if I could apply the Nearest-Neighbor filtering method to each sprite individually? I looked it up, and indeed, it was possible. Using this approach in conjunction with increasing the text resolution to 4 and voilà, I had both non-blurry pixel art and text that rendered clearly without weird artifacts. How the game looks with each sprites set to Nearest filtering individually + text resolution set to 4. My problem was fixed, but at what cost? I had wasted an enormous amount of time on something that was given for free in a game engine like Godot. I started to consider that going with Phaser was probably a huge blunder. Seeing how quickly I learned Phaser using this approach of remaking one of my previous projects, it hit me, what if I tried learning Godot the same way? Without waiting further, I jumped into Godot. As expected, it was very easy to learn considering I knew exactly what to search since my project’s requirements were crystal clear. It was only a matter of looking up how things were done in Godot for each piece of functionality I needed to implement. GDScript, the programming language used in that engine, was also very easy to pick up and felt like Python which I already had experience in. Godot version of my game. After completing the project, I now had a better view of Godot. Things were intuitive, the code was not verbose and it was an all around nice experience. Before trying the engine, I had the preconception that it no longer supported web export due to the transition from version 3 to 4. I’m happy to report that this is no longer the case. I’ve been using version 4.5, and exporting to the web is just as straightforward as exporting to desktop. Godot web export setup In conclusion, I think Godot is the right choice for my RPG project. I also want to gain mastery of the engine so I can eventually experiment with creating a game that uses 3D models for environments and props, but 2D sprites for characters. Godot makes developing this kind of game far less daunting. This style has been popularized recently by Octopath Traveler using the term HD-2D, although my real inspiration comes from the DS Pokémon era, which used a similar aesthetic without the over-the-top post-processing effects seen in Octopath Traveler. Screenshot from Octopath Traveler. Screenshot from Pokémon Diamond released on the Nintendo DS. That said, I’m now presented with two choices: Make multiple tiny games in Godot to become more proficient before restarting the development of my game. Jump into development headfirst and learn what I need along the way, just like I did for the Sonic project. I’m still thinking about it, but I’d appreciate your input. Anyway, if you want to try both the Phaser and the Godot versions of my Sonic game, they’re both available to play on the web. Here are the links: Phaser 4 version : https://jslegend.itch.io/sonic-ring-run-phaser-4 Godot 4 version : https://jslegend.itch.io/sonic-ring-run-godot-version I hope you enjoyed my little game dev adventure. If you’re curious about the small RPG I’m working on, feel free to read my previous post on the topic. If you’re interested in game development or want to keep up with updates regarding my small RPG, I recommend subscribing to not miss out on future posts and updates. Subscribe now In 2022, Vampire Survivors, a game where you destroy hordes of enemies by just moving around, released. It ended up becoming extremely popular and spawning a whole genre by itself. At the time, I was working as a software developer for a company who’s product was a complex web application. Therefore, I became a web developer. I wasn’t really interested in game development as the working conditions and pay were known to be less than stellar. However, I quickly realized that the tools used to make web applications could also be used to develop games. Since I could make games with the skills and tooling I was already familiar with, I decided to try it out as a hobby to see if I’d enjoy it. As time passed, I got interested in the various ways one could use a web developer’s skill set to make games. After some research, I found out that Vampire Survivors was originally made in JavaScript (the programming language that is natively supported in all web browsers) using a game framework called Phaser . A game framework is essentially a game engine without the UI. While this is not the case for all game frameworks, it sure was for Phaser because it packed a lot of features out of the box. You didn’t have to reinvent the wheel. I wanted to give Phaser a try after seeing high profile games made with it, like Vampire Survivors and PokéRogue (A Pokémon Roguelike fan game). However, as I started my journey to learn this framework, I quickly gave up because the documentation was confusing. You also needed to write a lot more code to achieve the same results as the alternative I was already using called KAPLAY . I therefore, stuck with it leaving Phaser behind until some time had passed. As I got more comfortable in my game dev journey, I now wanted to make a small 2D RPG game with a combat system similar to Undertale. In my game, you would avoid projectiles and attack by stepping on attack zones. The player would be expected to learn to dodge various attack patterns. I also, wanted to publish the game on Steam. Prior to this, all games I made were mostly playable on the web. — SPONSORED SEGMENT — Speaking of publishing a game on Steam, since games made in JavaScript run in the browser you might be wondering how it’s possible to release them on Steam? For this purpose, most JavaScript-based games are packaged as desktop downloadable apps via technologies like Electron or NW.js. The packaging process consists in including a full Chromium browser alongside the game which results in bloated app sizes. However, technologies like Tauri offer a different approach. Instead of packaging a full browser alongside your app, it uses the Web engine already installed on your computer’s operating system. This results in leaner build sizes. That said, regardless of the technology used, you’ll have to spend a considerable amount of time setting it up before being able to export your game for Windows, Mac and Linux. In addition, extra work will be required for integrating the Steamworks API which allows implementing, among other things, Steam achievements and cloud saves which are features players have come to expect. If only there were a tool that made both the packaging process and the Steamworks API integration seamless. Fortunately, that tool exists, and is today’s sponsor : GemShell . GemShell allows you to package your JavaScript-based games for Windows, Mac and Linux in what amounts to a single click. It: Produces tiny executables with near-instant startup, avoiding the Chromium bloat by using the system’s WebView. Provides full access to Steamworks directly via an intuitive JavaScript API. Has built-in asset encryption to protect your code. Offers native capabilities allowing you to access the host’s file system. Text in Vampire Survivors. Text in Pokérogue. Weird outline around the text. Arrow placed by myself. Close up. While some may consider this a small detail, it annoyed me to no end. I almost gave up on Phaser again and even started to look for alternatives. Yet, what kept me going was that, in my previous attempt at learning Phaser, I had started working on a remake of my infinite-runner Sonic fan game which was originally made with KAPLAY. I remembered that I had pushed the project on GitHub and left it abandoned. Pulling the project again, I noticed that I had already made significant progress and that the font used didn’t produce any weird artifacts. I thought that I could get around the artifact problem by just carefully selecting which font to use for my games. Because of this, I continued working on the project, learning Phaser quickly in the process. There’s something to be said about how quickly you can learn a new technology by rebuilding a project you’ve already created. Since you already know exactly what the end result should look like, you can focus on understanding the key concepts of the technology you want to learn. Because each step in rebuilding the project is concrete, you know exactly what to search for. It’s now just a matter of translating between how things are done in the technology you already know VS the one you’re trying to learn. The rebuild of my Sonic fan game was nearing completion when I needed to display text elsewhere in the game at a different font size. To my dismay, when rendering the font at a smaller size, the artifact problem, which I thought was gone (at least with the font I was using), reared its ugly head again. This was a catastrophe. I was already knee-deep with Phaser and didn’t want to switch again. None of the Phaser games I knew of had clean text, so I assumed it was something inherent to the framework. I couldn’t believe I had forgotten to check how text was rendered at different sizes before committing to Phaser. In hindsight, it was a pretty stupid move, and I felt like I had wasted a lot of time for little benefit. Artifacts present in my Sonic game. At this point, the proper thing to do would have been to cut my losses and moved on to something else. However, afflicted by the sunk cost fallacy , I thought that there was no way I would give up now. Not after having spent this much time learning Phaser. I needed to fix this issue, come hell or high water. After some research, I figured out that the reason my text had artifacts, was because of my use of Phaser’s pixel art option. Since I was making a game with pixel art graphics, this option was needed so that my game sprites would scale without becoming blurry. Phaser would achieve this by applying a filtering method called Nearest-Neighbor. The issue, however, was that it wouldn’t only apply this to sprites, it also affected fonts, causing artifacts to appear around the text, since fonts don’t scale the same way. Since Vampire Survivors also used pixel art graphics, it now made sense why the text used to look so weird. The developer probably just applied the pixel art option and called it a day. By the way, the font used in the game is Phaser’s default font, Courier, which is also a font available on many electronic devices by default. It seems like the dev really didn’t care much about this aspect of the game’s presentation. Now that the game has been moved to Unity, text is rendered properly, though still using Courier, as it has become part of the game’s visual style. However, disabling the pixel art option wouldn’t solve the issue. Text would still render blurry by default, and the sprites would remain blurry as well. How the game looks without the pixel art option set to true. Fortunately, there was a fix for the font blurriness. The text method allowed setting the resolution of the rendered text. Setting the resolution to 4 made it render clearly. Still, this didn’t help in the end because I still needed the pixel art option for my sprites. How the game looks without the pixel art option + text resolution set to 4. A potential solution to my problem would have been to use a bitmap font, also known as a sprite font. As the name implies, instead of a .ttf font, which most people are accustomed to, a sprite font is stored as an image containing a sprite for each letter. This allows the font to render properly, scaling like other sprites when the pixel art option is enabled. That said, this solution was a non-starter because each character was a fixed image. I would lose out on the flexibility of a .ttf font that allows for text to be set to italic, bold, etc… I didn’t want to lose on that flexibility and didn’t want the hassle of converting my existing .ttf font. At this point, I couldn’t believe how much effort was needed just to do a simple thing like render text properly. In frustration, I decided to open the Godot game engine and figure out how to render text just to compare with what I currently had. As expected, I got the font to render nicely automatically. I was tired of having to do this much work for something that I would’ve gotten for free in Godot, this couldn’t go on. How text is rendered in Godot. I needed to take a break, so I stepped away from the computer, and the next day, I had an epiphany. Instead of using the pixel art option in Phaser, what if I could apply the Nearest-Neighbor filtering method to each sprite individually? I looked it up, and indeed, it was possible. Using this approach in conjunction with increasing the text resolution to 4 and voilà, I had both non-blurry pixel art and text that rendered clearly without weird artifacts. How the game looks with each sprites set to Nearest filtering individually + text resolution set to 4. My problem was fixed, but at what cost? I had wasted an enormous amount of time on something that was given for free in a game engine like Godot. I started to consider that going with Phaser was probably a huge blunder. Seeing how quickly I learned Phaser using this approach of remaking one of my previous projects, it hit me, what if I tried learning Godot the same way? Without waiting further, I jumped into Godot. As expected, it was very easy to learn considering I knew exactly what to search since my project’s requirements were crystal clear. It was only a matter of looking up how things were done in Godot for each piece of functionality I needed to implement. GDScript, the programming language used in that engine, was also very easy to pick up and felt like Python which I already had experience in. Godot version of my game. After completing the project, I now had a better view of Godot. Things were intuitive, the code was not verbose and it was an all around nice experience. Before trying the engine, I had the preconception that it no longer supported web export due to the transition from version 3 to 4. I’m happy to report that this is no longer the case. I’ve been using version 4.5, and exporting to the web is just as straightforward as exporting to desktop. Godot web export setup In conclusion, I think Godot is the right choice for my RPG project. I also want to gain mastery of the engine so I can eventually experiment with creating a game that uses 3D models for environments and props, but 2D sprites for characters. Godot makes developing this kind of game far less daunting. This style has been popularized recently by Octopath Traveler using the term HD-2D, although my real inspiration comes from the DS Pokémon era, which used a similar aesthetic without the over-the-top post-processing effects seen in Octopath Traveler. Screenshot from Octopath Traveler. Screenshot from Pokémon Diamond released on the Nintendo DS. That said, I’m now presented with two choices: Make multiple tiny games in Godot to become more proficient before restarting the development of my game. Jump into development headfirst and learn what I need along the way, just like I did for the Sonic project. Phaser 4 version : https://jslegend.itch.io/sonic-ring-run-phaser-4 Godot 4 version : https://jslegend.itch.io/sonic-ring-run-godot-version

1 views
Brain Baking 1 months ago

Pascale De Backer Likes Playing On The Game Gear

After pointing out yesterday that Sinterklaas likes the Game Boy , I feel I need to make it up to Sega. It wasn’t that difficult to come up with a counterargument that’s also part of the Flemish canon . In F.C. De Kampioenen (“The Champions”), a long running Flemish sitcom about misunderstandings and misadventures of a lowly ranked football team, Pascale De Backer—the ex-wife of the ex-trainer of the club that runs the café that is not of René 1 —has been pictured playing the Game Gear: Pascale playing Sonic on the Game Gear. Copyright VRT 2001. Pascale is playing the mobile version of Sonic in season 12, episode 2 called Stoelendans (dancing chairs I guess?). For exactly ten seconds, we hear the iconic theme song of Sonic playing and the ploing jumping sound as she presses the buttons, before throwing the thing aside and calling her daughter. She’s alone that evening and having a hard time adjusting after her daughter and son-in-law just moved out. Bieke, her daughter, is fed up with Pascale constant checking up on her. This is different from Sinterklaas playing the Game Boy for a few key reasons. First, Sinterklaas is having fun, while Pascale is just seeking a distraction and doesn’t know what to do with herself. Second, Sinterklaas, being the saint of the children, is an authority when it comes to toys, while Pascale is just a lonely café owner. Yet De Kampioenen , with more than twenty seasons, is one of the most watched Flemish TV shows of all time, and loved by virtually everyone—even the ones who saw the unfortunate downfall after season eight or so. The strangest part of this very short Game Gear appearance is that episode 2 of season 12 originally aired in 2001—the launch year of the Game Boy Advance. The GBA got to us Europeans in the late summer of 2001, and season 2 aired the 15th December 2001. Why didn’t they have Pascale play Mario Advance ? At first, I couldn’t trace the exact episode in which the above scene takes place. Being the handheld game nerd that I am, I remembered the Game Gear scene, but I misremembered the period. I went looking for it in seasons five, six, and seven because my mind reconstructed the scene as a time period correct one, when the Game Gear was in full motion. Considered it ever was in motion at all. Dang it, I did it again, sorry Sega. Perhaps the crew asked Danni Heylen who portrayed Pascale to bring a handheld device. “We’re gonna do a scene in which you’re lonely and bored, bring an electronic device to play on the couch so our viewers can place the feeling”. If she brought a Game Boy—any Game Boy would do here—she certainly wouldn’t be bored. Ah dang it, again!? The Game Gear was discontinued in 1997, only six years after its initial release. Four years later, it pops up in F.C. De Kampioenen . It turns out to be next to impossible to find local historical sales data to see when the popularity of the Game Gear dipped into obscureness here in Belgium. I do remember Sega being stronger than initially suspected: we had a Mega Drive instead of a SNES and a buddy did own the Game Gear. Me and my sisters didn’t: we went the Game Boy—and later, Color—route. The suspected reasons for that? A couple: Yes, it’s got colours, but that’s basically it. Technically, the Game Gear was essentially a shrunken down Sega Master System, which was impressive considering the Game Boy couldn’t even emulate the NES until the 1998 Color revision came by. So why does Pascale like hers so much? The still image I captured might evoke “liking” but the scene in motion does not do a very good job at convincing potential buyers. For that, we’ll need Sinterklaas. Mijn Gedacht . For the international reader enticed by this piece of excellent writing, here’s one of my favourite episodes of the TV show called Doping available on YouTube.  ↩︎ Related topics: / game gear / flemish culture / tv shows / By Wouter Groeneveld on 7 December 2025.  Reply via email . The overabundance of Game Boy games available back then (on school playgrounds, during vacation trips, in shops, …) The GB’s 4 batteries lasted for 20 hours. The GG’s 6 batteries for nearly 4. The GG initially sold for —that’s almost nowadays. The GB? The Pocket revision released in 1996 started at . That’s less than half the price! Who are you going to Link Cable Play Tetris and Mortal Kombat with if you were the poor soul with rich parents that got you a Game Gear for Christmas? For the international reader enticed by this piece of excellent writing, here’s one of my favourite episodes of the TV show called Doping available on YouTube.  ↩︎

0 views
Brain Baking 1 months ago

Sinterklaas Likes Playing On The Game Boy

Today marks the yearly departure of Sinterklaas who, together with his faithful friend Zwarte Piet , makes his way back to sunny Spain—by horse and steamboat, of course. The festivities on the sixth of December are not to celebrate his departure but to celebrate the name day of Saint Nicholas, patron saint of the children, on which Sinterklaas is based. For those of you outside of Europe thinking “Hey, Sinterklaas sounds a lot like our Santa Claus”, well guess what: Sinterklaas was here first and your Santa is just a poor imitation. In The Netherlands and Belgium, Sinterklaas is a very popular tradition, where during the run up to today, even from half of November, children can put an empty shoe somewhere near the mantelpiece in the hope of the Sint (“the saint”) and Piet visiting the house (via the roof and said mantelpiece) to drop some candy in the children’s shoes. This is usually a combination of marzipan, onze-lieve-vrouw guimauves (harder marshmellows shaped like Mary), nic-nac letterkoekjes , speculaas ( spiced cookies ), and of course various chocolate figures. The popularity of Sinterklaas inevitably also means TV shows, live shows, specialized pop-up shops, school parties, and more. In the early nineties, the then Belgische Radio- en Televisieomroep (BRT) broadcaster hosted two seasons of the Dag Sinterklaas show featuring Jan Decleir as the Sint, Frans Van der Aa as Zwarte Piet, and Bart Peeters as the innocent visitor asking nosy questions on how the duo operates. Like many Flemish eighties/nineties kids, Dag Sinterklaas is permanently burned into my brain as part of my youth. The episode called Speelgoed (toys) from the second season is especially memorable for me, as we catch the Goedheiligen Man (The Good Saint) playing… on a Game Boy! Jan Decleir as Sinterklaas, trying to figure out a shoot-em-up on the Game Boy. Copyright BRT, 1993. In the episode, Sinterklaas is annoyed by the beeps and boops coming from Zwarte Piet’s Game Boy. Piet is usually portrayed as a (too) playful character that likes to fool around instead of doing the serious stuff such as reading the Spanish newspapers and updating the Dakenkaart (rooftop chart) needed to navigate the rooftops when dropping off presents. While Bart visits, Sinterklaas showcases that “simple toys” are much more enjoyable. He encourages them to play with dusty old dolls and a toll. Eventually, Piet and Bart make it outside whilst playing horse, only to catch the Sint grabbing Piet’s Game Boy to figure out for himself what these so-called compinuter spelletjes (computer games) are about. Hilarious. Of course, that was the perfect advert for Nintendo’s handheld, especially considering the upcoming Christmas holiday period. In 1993, lots of amazing Game Boy games were released, including Link’s Awakening , Kirby’s Pinball Land , Duck Tales 2 , Turtles III: Radical Rescue , and Tetris 2 . It would be next to impossible to go after the Flemish sales data of the machine to try and prove a correlation, but if the Sint likes playing on the Game Boy, and the Sint is thé person that gets to decide what kids can play with, then why bother getting your kid a Game Gear, right? Sorry, Sega. Perhaps I even got a Game Boy game thrown down the chimney, I can’t remember. All I can remember is the chocolate, marzipan, and VHS tapes of Disney movies. I have searched high and low for a Dutch Club Nintendo Magazine that contains a message from the Sint and came up empty, but Volume 2 Issue 6 in 1990 contained a lovely letter from Santa Mario: A partial of a Christmas letter from Mario in the Dutch Club Nintendo Magazine, 1990. Copyright Nintendo. Replace the goofy Christmas hat with the mijter (mitra) of Sinterklaas, add a staff, and we’re there. Dag Sinterklaas is undeniably a local cult hit. The DVDs are nowhere to be found, and the few copies surfacing the local second hand )e)markets go for outrageous prices. Cherishing our copy, this year is the first year we watched the episodes together with our daughter. She doesn’t have the patience to sit through some of the longer ones but it’s a giant nostalgic injection seeing Jan and Frans back in action. BRT—now VRT; Flemish instead of Belgian—aired the series every single year until 2018. In 2019, because of the ageing image quality (and probably the emerging woke culture), twenty new episodes were produced. However, in my view, Wim Opbrouck never managed to truly capture the Sint’s spirit like Jan did, and Jonas Van Thielen as Zwarte Piet is just not as funny as Frans. So we’ll be stuck in Dag Sinterklaas 1992-1993 mode for the next eight or so year, until our kids realize the big ruse. And even then. I will be keeping up the tradition. Related topics: / gameboy / sinterklaas / By Wouter Groeneveld on 6 December 2025.  Reply via email .

5 views