MoreRSS

site iconBear Blog Trending PostsModify

Ranked according to the following algorithm:Score = log10(U) + (S / D * 8600), U is Upvotes , S/D is time.
Please copy the RSS to your reader, or quickly subscribe to:

Inoreader Feedly Follow Feedbin Local Reader

Rss preview of Blog of Bear Blog Trending Posts

Thematic expression in game design, or: Why Dune (1992) rules

2025-12-16 05:36:00

Lady Jessica in Dune (1992)

This is the story of three different models of design process, ways of making video games from the viewpoint of their design. They're not really all-encompassing models of game development – they're three lenses through which we might look at design.

The first model of game design is what I'd call mechanical formalism. If you studied video game design in an academic setting, you're probably familiar with the idea of a core or central mechanic – the principal interaction that a game is built around. The portal gun in Portal, rewinding time in Braid, jumping in Canabalt. Those games all have other mechanics, other elements, and other affordances; but they're all orbiting and servicing that central idea.

The game is, then, constructed very much as a study on the theme of that central mechanic. It introduces the mechanic, and then develops it – elaborating variations and hidden depths without ever abandoning it. This methodology of game design has at times been held up as Good Game Design, or simply as Game Design (the only real option), or at least as a default. It's a mode of thinking that's taught and adopted in a lot of settings, particularly in education and in game jams.

This mode of game design is about as old as video games, but it has something of a complicated history. Early video games were of course very simple; the presence of a single central mechanic is almost a necessity, and it was quickly ingrained in the medium. But as games became more complex and sophisticated, this mode of design thinking stopped being universally prevalent.

It has always been, however, extremely common in two fields: small-scale development (whether you call that "indie", "shareware", "doujin", "game jam" or otherwise) and academia. There is, therefore, a very strong pipeline that exposes almost everyone in game development to these ideas at some point of their journey through the discipline.

This style of design thinking is extremely well-suited to games that aim for three things: a neatly contained scope, a modest production budget, and a unique mechanical hook. You will see it everywhere in indie games, of course, especially around the puzzle genre but not exclusively in it. Her Story, Life is Strange, and Dear Esther are all narrative-forward games that focus more on story than mechanics, but they all are similarly built around a single central affordance for how you interact with them. Similarly, you can see this style of design process in an RTS like Darwinia or an action game like Superhot.

It is, of course, unsurprising. This is a way in which people are literally taught to think about games, and the idea of the core mechanic is very widespread in conversations about video game design.

The second approach is what I'd call market structuralism. As games become bigger and more expensive to make, design outgrows the neatness of a single core mechanic but also becomes more risk averse. This leads to what is pretty much the sole approach taken by big video game studios: designing to a genre. The video game is a product designed to fit a specific market niche, and those market niches are what we typically call "genres".1

Conventional commercial game design seeks to deliver a set of features that are driven by genre expectations, at a level of polish and fidelity that fits the game's market positioning – Which is to say, its price point but also other elements of how it's marketed. Usually, this is complemented by one or two unique selling points meant to differentiate the game from its competitors.

This isn't exclusive to large studios. Any game that tries to fit comfortably into a genre niche is designed to its market. When Coincidence2 makes an automation-puzzle game or Wadjet Eye makes a point-and-click adventure, they're designing to a market niche just as much as Ubisoft is when they make another Assassin's Creed.

This isn't even really exclusive with design formalism and designing to a central mechanic; I think many mature design processes fluidly adopt those two ways of looking at the game contextually. For some niches (again, puzzle games) the presence of a strong central mechanic is market fit, and the unique selling point is what that mechanic happens to be. Again, this is a loose mapping of a territory of momentarily useful viewpoints more so than rigid sides in an argument, if that makes sense.

So, take these descriptions as broad ways of mapping out the territory and not as definitive categories. I won't dwell too much on these first two models, because I think most people with any kind of games background are probably at least broadly familiar with the ideas here. If you've gone to school for game design or taken part in a game jam, you probably know about the idea of a core mechanic. If you've ever been anywhere in the vicinity of a publisher pitch, you probably know about market fit, genre expectations, and finding your "comps".

But these broad descriptions are needed to get at what I really want to talk about, which is the third model of design I'm discussing here.

This third way of thinking about game design that is rarely ever applied today. Before trying to describe it, let me point to an example – Cinemaware's 1989 Amiga title It Came from the Desert, a game that's essentially a pastiche of 1950s B-movies, especially Them. Here's a montage of screenshots:

it_came_from_the_desert

Yes, this game from 1989 has dialogue trees, a driving section, a rudimentary first-person shooter section, and so on. There's some light strategy elements, there's some exploration, at one point you get into an airplane and bomb the giant ants from above.

You can think of a core mechanic as a central pillar that the entire game hangs from. You can think of a genre design as using this skeleton of connected mechanics as a supporting structure; there's no longer a singular core, but rather a mechanical identity that has a sort of expected, perhaps standard shape that the game drapes over.

In this third model of design – let's call it thematic expressionism – mechanics aren't treated as structural members at all. They're treated like actors in a play or paints on a canvas; they're applied towards narrative or thematic aims, and they enter and leave the stage as required. There's no expectation that a mechanic "develops" or that it's a "deep" version of that mechanic. The different components that make up It Came from the Desert don't individually comprise a particularly meaty version of a first-person shooter or a top-down arcade flight sim, but they are built to be sufficient to telling the story or furthering the game's thematic ideas.

This way of building games had a definite moment in the late 80s and early 90s, particularly in the PC space. Hardware was powerful enough that games could get fairly complex, but players were also willing to accept fairly simple and elementary versions of these mechanics stitched together into a quilt. Other relevant examples from this era include Sid Meiers' games Covert Action and Pirates, the latter of which is obscure today but remains a pretty influential game.

Pirates is designed entirely from the standpoint of trying to capture the milieu of fiction about 17th-18th century Caribbean piracy through this approach of stitching individual small mechanical scenes together; the entire game is a state machine of individual minigames that lead into one another. There's a fencing subgame, for example, which is very unlike any latter attempt at representing melee combat in a game; rather, it's built entirely around getting the feel of an Errol Flynn movie swordfight, with big coreographed exchanges of sword clashes.

But the fencing subgame doesn't stand alone at all; it's not really a "game mode" or something you can do over and over. You only ever fence exactly one opponent at a time, and always in the context of a broader line of events: you're boarding an enemy ship (and thus coming in from the naval battle subgame). You're storming the walls of a town you're trying to sack (and thus coming from the land battle subgame, which resembles a strategy game). Mechanics have their little time in the sun and then they go back to the box, basically, because their goal was to allow the player to interact or play-act a segment of the game's narrative.

Note the flexibility in how I talk about "narrative" here, too. It Came from the Desert has a pretty strictly linear story, but Pirates is essentially an open-world game that lets you go anywhere and do anything you want, with a world that is semi-randomized, built mostly out of broad repeating archetypes, and which can be in different starting states based on how you pick your game start.

There's very few modern examples of games that seem to be built along these lines, although we sometimes glimpse this. The rhythm game segments of Night in the Woods, for example. What Remains of Edith Finch is similarly built out of these small purpose-built mechanical moments.

We of course see some aspect of this idea in any kind of game with genre-blending mechanics, "[some other genre] elements", or "minigames", but I do think there's a distinction here. Thematic design is fundamentally unmoored from mechanics; they leave the stage completely when they're not in use. An example here is Cryo's 1992 Dune, which has elements of both an adventure game and a strategy game, and different elements are basically freestanding. They relate to one another but exist apart. When you're playing the adventure game, you're completely removed from the strategy game.

A montage of Dune (1992) screenshots.

Compare this to what would be superficially similar, the modern use of narrative events in strategy games. In something like Crusader Kings 3, narrative events live in modals that overlay the ever-present strategy map. The superstructure of a strategy game can shelter and contain the event-driven narrative inside it.

Another point of comparison might be Assassin's Creed: Black Flag, a game that is a lot like Pirates in that it's about playing as a pirate and it includes both swordfighting and naval combat. But the naval combat exists in a state that is fundamentally subordinate to the free-roaming third-person action; the camera zooms out when you're at the helm of your ship, but it never fully abandons the reference point of the player character, and you can abandon the helm at any point. Black Flag also includes many things that are not about the milieu but about the series and the genre expectations (like collectibles and parkour) while setting aside things that Pirates specifically includes in pursuit of a genre milieu (like expeditions for buried treasure and romance). The genre is in the driver's seat, and the thematic ideas are influencing mostly in the form of where that game looks for its unique selling points.

Modern game development is very reluctant to create "one-off" things or to veer off from a proven, low-risk path; the biggest resource bottleneck on a typical game production nowadays is programmer time, after all. There's nothing inherently wrong with an approach that prioritizes well-understood and reusable game pieces that limit risk and scope; limiting risk and scope is in a lot of ways the only way most games get made.

But I do think that we are leaving something on the table by not engaging in these broader explorations that were a lot more common 30 years ago. Many of the established genres that we have today were born out of those experiments, for one thing, often by distilling and calcifying ideas from a shaggier, more theme-driven example. Ultima Underworld, which is generally credited as originating immersive sims was born out of this ferment.

Obviously in game development right now, there's not a lot of resources going towards any work that's fundamentally exploratory; but even when it is, in the indie side of things I think we can be very stuck on this idea of games as expressions of singular central game mechanics, or design formalism writ large. We can look at something like UFO 50, for example, and see this design methodology as the dominant one in a setting where people had quite a lot of freedom to do different things.

Now, again, this is not meant as an indictment of any individual developer for doing things one way or another; I love games that explore a central mechanic to its depths as much as anyone. This is more of an invitation: When we think about using mechanics as tools to achieve thematic, experiential, or textural aims, what do we gain? What becomes possible that was impossible previously? What do we have to change about our processes or our practice to be able to think that way? If we did adapt to that way of thinking and working, what games could we make that previously seemed improbable?


PS: If you'd like to get this post and similar ones delivered to your email inbox, consider subscribing.

  1. This isn't a condemnation of this type of design, or these games, to be clear. It's just observing that, when you get far away from the territory that formalist design optimizes for, you need a different approach. Ultimately people spending $60 to buy the latest game in a yearly franchise are not concerned about the game's formal approach to developing and building variations on a central mechanic!

  2. The studio coincidentally employing most of the principal creatives that also worked for Zachtronics.

The Grizzly Gazette discord server now runs the worst microblogging service of all time

2025-12-16 04:02:00

Article written by kami
Heya!
Ava recently had the idea to make a channel in the gazette discord where every message automatically gets posted on a website.
So, i went and implemented it. Introducing sg.kamiscorner.xyz, also known as chat surgery!

Everytime someone posts a message in the #auto-blogging chat in the gazette discord, it automatically gets added to the site. Without any input validation whatsoever. We already have an alert(1) about two minutes into the sites existence, and suliman changed the background to be piss-colored.

Anyways, how'd i do it?
Fairly simple, we've got a discord bot that listens for new messages and writes them to a file. I've got this bot running in the background at all times on a server i own. I've also got a webserver running php, which reads that file and puts the contents on the website. That's it. Chat surgery.

Here's the source code!

The python bot:

import discord
import csv
import os

# Define your bot's token and the channel ID you're interested in
TOKEN = ''  # Replace with your bot's token
CHANNEL_ID = 0  # Replace with the channel ID you want to monitor

# CSV file path
CSV_FILE = 'messages.csv'

intents = discord.Intents.default()
intents.message_content = True  # Enable content intent to read messages

# Set up the bot client
client = discord.Client(intents=intents)

# Create the CSV file if it doesn't exist
if not os.path.exists(CSV_FILE):
    with open(CSV_FILE, 'w', newline='', encoding='utf-8') as file:
        writer = csv.writer(file)
        writer.writerow(['Author', 'Message', 'Timestamp'])  # Header row

# Function to write messages to the CSV file
def write_to_csv(author, message, timestamp):
    with open(CSV_FILE, 'a', newline='', encoding='utf-8') as file:
        writer = csv.writer(file)
        writer.writerow([author, message, timestamp])

# Event when the bot is ready
@client.event
async def on_ready():
    print(f'Logged in as {client.user}')

# Event when a new message is received
@client.event
async def on_message(message):
    # Ignore messages from the bot itself
    if message.author == client.user:
        return

    # Check if the message is from the specific channel
    if message.channel.id == CHANNEL_ID:
        # Write the message details to the CSV
        write_to_csv(message.author.name, message.content, message.created_at)

        print(f"Message from {message.author.name}: {message.content} saved to CSV.")

# Start the bot
client.run(TOKEN)  

The singular index.php:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>chat.surgery</title>
</head>
<body>
    <h1>chat.surgery</h1>
    <?php
        $lines = [];
        $file = fopen('messages.csv', 'r');
        while (($line = fgetcsv($file)) !== FALSE) {
            if($line[1] != "Message") {
                $lines[] = $line[1]; // store messages in array
            }
        }
        fclose($file);

        // loop through array in reverse order
        for ($i = count($lines) - 1; $i >= 0; $i--) {
            echo "<p>{$lines[$i]}</p>";
        }
    ?>
</body>
</html>

I might make a more-indepth technical explanation on how to set up the kvm for all of this at some point, but i feel like this is clear enough that anyone who for some reason wants to subject themselves to hosting this can do it.

How winners get lucky

2025-12-15 23:49:00

When I was a kid, one of the most famous Swedes in sports was alpine ski racer Ingemar Stenmark. They even paused class at school and rolled in a TV whenever he competed in a big race. It’s true.

If you were born in Sweden in the 70s, like I was, you’re probably familiar with some of his quotes. One of them was “De ä bar å åk” (“Just race” in his very characteristic dialect). It was his reply when a reporter asked how to become a winner.

Another famous quote of his is:

The more I practice, the luckier I get.

Meaning, of course, that winning isn’t about luck. It’s about practicing, and practicing some more. You keep doing it whether you’re the first or the last to cross the finish line.

There are no shortcuts. There is no secret.

Want to be a good skier? Ski more. Want to be a good writer? Write more.

Simple as that. And so hard.

That’s why only a few become winners.

They don’t give up. They keep doing it. They get lucky because they don’t believe in luck.

first snow

2025-12-15 09:45:00

IMG_8088IMG_8094IMG_8097IMG_8107IMG_8113IMG_8116

Thinking of a song...

The Year 2025 for powRSS

2025-12-15 04:54:00

One of the fun side projects I've taken on this year has been powRSS, the public RSS feed aggregator for the Indieweb.

As 2025 comes to a close, I want to put together a summary of the things that went on. I'm a strong believer of building in public, and that includes talking about the goals, successes and failures.

Here is how powRSS did this year, from May 21st when it launched to today, December 14th.

Community Numbers

Metric Count
New Blogs 317
Posts Served 15,246

Costs

Item Amount (USD)
Community Support
Ko-Fi +$101.00
Expenses
Domain −$11.06
Hosting −$73.44
Formspree −$120.00
Total expenses −$204.50
Net operating cost −$103.50

Thank you so much to all of you who helped support this project! It's so rewarding to see the response it has gotten in the eight months it has been running.

I'm excited about what the next year has in store for us!

Origin

On Friday May 21, Fred Rocha wrote a blog post titled Small (web) is beautiful in which he talked about digital gardens, the indieweb, and the challenge of discovering new sites and independent voices to follow.

I replied to him with a blog post where I put together some of the resources I knew about like Andreas Gohr's Indieplog.page and Viktor Lofgren's Marginalia Search.

During this time I had been wanting to get back into the Gemini Protocol, as that project was what introduced me to the small and personal web about five years ago. I loved the ethos and the community aspect of it all. When documentation wasn't available to achieve something, I knew I could ask for help and many kind folks would be glad to offer advice.

That evening I put together a quick proof of concept written in Ruby and launched the following morning. I find that the desire to help and build together remains true today with Indieweb communities, and I'm grateful for the comments, advice, and feedback I've received about powRSS since it launched.

early powRSS concept
early powRSS concept

This version was a static page, set to rebuild every 12 hours with new posts from its list of known feeds. It's actually very similar to the way lettrss works to send out each book chapter :-)

Categories

During this time all blog submissions were handled via e-mail. I added my e-mail address to my blog and when people came across the project they'd send me links to their RSS feeds.

About a week later, as more people began submitting their blogs to be added to the feed, I decided to add categories and a dedicated submissions form.

powRSS redesign
powRSS redesign

You've got mail!

On the afternoon of my birthday, May 31, I came across a post from Joan Westenberg:

Independent sites who don’t have the resources to compete with major platforms in visibility and search rankings, lose traffic and, consequently, viability. As a result, entire categories of information and smaller communities become less accessible, hidden behind the algorithms of the dominant, bloated tech giants.

I took this quote and shared a link to powRSS on Mastodon, and this is where things got even more exciting!

Post by @[email protected]
View on Mastodon

Westenberg, who has 30k followers, made powRSS visible to a lot more people, and that meant receiving way more submissions and responding to new kinds of feedback.

One of the first great suggestions came from Alex White who sent me a message suggesting the addition of a "Random site" feature like StumbleUpon. That seemed really fun to implement, so I wrote another blog post announcing the new feature.

powRSS with Random site feature
Random site feature on powRSS

With more blogs being added to powRSS, I began spending more time going through submissions. It's important to me that powRSS remains a space for human creativity, independent voices, and the serendipity of coming across people who, like you, understand that the web is indeed beautiful. The things we read and interact with inform our decisions and strengthen our convictions, so cultivating a space that enables this type of discovery matters.

Today I continue to manually review all submissions. I like knowing that every link on powRSS takes me to the website of another person who took the time and care to build out a space for themselves on the internet. My absolute favorite part of this project has been discovering blogs I would have never come across otherwise and having conversations with those authors.

Design Changes

Around November I wanted to give powRSS a more retro feel to better reflect its mission.

powRSS retro design
powRSS retro design

In this design the two-column layout on desktop was important because I wanted those recently-added blogs to also have some discoverability. As you can imagine, some authors write more frequently than others. Some of you write every few months, and if you were to add your blog to powRSS without a recent blog post, it could take a while before others knew about your blog.

The "new to powRSS" column made it easy to find blogs which maybe didn't have recent posts but you also knew were being actively maintained, since each addition to powRSS requires the manual submission from its author. Indeed, some of you told me you felt more excited about blogging again knowing that your posts were definitely going to be seen by others!

As you can see, powRSS no longer had categories like before. I thought a while before getting rid of them, and I think in retrospect it was a mistake, so I brought them back with a twist. I do want to explain my reasoning though.

By giving blogs a strict category, we end up pigeonholing authors, especially those who have personal sites. I love seeing personal stories along with pictures of a trip or the last book you read even if your blog is mainly about programming or photography or sports. The whole point of the personal blog is to have that freedom.

"Can I still share pictures of my dog if I'm in the Technology category?" was a question I received, so I realized site-wide categories weren't the way to go. However, there is of course a benefit to knowing about the blog you're about to visit, so I chose a happy middle ground by adding brief category labels below each blog.

This was added in time for the Winter redesign I launched at the beginning of December.

Here is what powRSS looks like today:

powRSS today
powRSS today

Thank you all for making the web more exciting, more vibrant, and more human. Have an excellent rest of the year!

Grateful,
Pablo Enoc

Bearming 3.0 for Bear released

2025-12-14 23:51:00

If you’re a Bear user, chances are you’ve come across my theme Bearming at some point. You may even have used it. Or maybe you’re still using it.

I had a look at the changelog the other day. It showed that the theme was first released on August 17, 2024. The last update was February 20, 2025... until today. Because now Bearming 3.0 is finally here. 🥳

The theme has been rebuilt from scratch and now sits on a more modern and solid base. The idea is still the same though. Use it as is, or personalize it further with add-ons, pre-made palettes, or your own colors.

As always, I have a ton of ideas for future add-ons, and I’ll probably add a scripts section as well. That said, you can already personalize Bearming in plenty of ways.

If you’re curious, I’m currently using the Swedish fika palette together with these add-ons:

More is coming, but I hope the current options are enough to get you started.

If you’re using the Bearming theme and want to share your thoughts, I’d love to hear from you.

Get Bearming 3.0 here →

Please note: If you’re using older add-ons, they may look a bit off for now. Updated 3.0 versions are on the way.