Make Tiny Weird Software, Please! (all about desktop pets, old computer eras, and virtual toys)

I recently gave a keynote talk at the ATLAS Institute at the University of Colorado’s Whaaat!? 2021 Festival. A festival focusing on small and quirky games and experimental interactions. They’re doing wonderful work. I’m honored to have been part of this, talking about something very near and dear to my heart.
This post is that keynote turned into a blog post. I’m sharing a lot of links here! Mind the in-line text links too for good resources.

I hope this will be useful to people that share this same interest.

~ ~ ~

As most of you know, my work is strongly influenced by older computer culture, the early internet, creative philosophies from the past… Overall, I like focusing on niche things from computer past because I think there are very novel aspects to these things that we can keep alive in our own work as game designers today.
Understanding digital history, the more unknown aspects of computer art, can inform the games we make in beautiful and inspiring ways. It can also inspire us to appreciate games more.
I’ve been creating stuff on the computer since the late 90’s… so there’s a lot of history that I usually draw from.

To start, and to better understand the context of what’s being discussed, following is some relevant work that I made. These projects are worth checking out so you know what I’m talking about.
This largely encompasses the space surrounding desktop pets, desktop toys, or just really weird wacky things that you can run on the desktop for no other reason but to have a weird thing running on your desktop.

* Jump Scares For Your Desktop
The guise of this program is that it will bring “terrifying” jump scares to your desktop. In itself, that doesn’t sound really appealing. As a horror fan, my mind goes to a lot of dArK pLaCeS in terms of what that could potentially mean. When you download it the first thing that shows is a cute little pixel art present. Opening it will show an adorable tiny little ghost bursting out.
The ghost is really cute. It will now haunt your desktop with high pitched “Booooo!”, and commentary about how hard it is to be a ghost. It really wants you to take it serious and be scared.

Electric Love Potatoes
* Version one
* Version two
Visit the Official Potatoware Website for more.
Electric Love Potato is a really interesting concept to me for how it really took off and became a little viral thing for a while.
It’s a potato that will sit in the corner of your screen and cheer you on. It’s fully voice acted, with lots of enthusiasm. It will also sing to you. There’s a full soundtrack.
The first version praises you, sings, and gives you potato recipes.
The second version is a reaction to how popular the first one was. Electric Love Potato 2.oh will sing to you, shower you with praise, give you art it made of you (or for you), give you poetry it wrote, and pretty much overdo it with the positive support. It can also “die”. It will regularly be threatened with things that are on your computer, or imaginary enemies (like gnomes, or cucumbers). When that happens a prompt with a countdown timer appears saying that it is being threatened, and you must act. If you do nothing then the potato “succumbs” and turns into a rock. After that you have a pet desktop rock. The rock does nothing.

Video Interview with the Electric Love Potato from Nathalie Lawhead on Vimeo.

Electric Love Potato desktop companions really took off. People were even making YouTube videos of it. It was included in a lot of roundups of desktop companions, so I think it kind of became “canon” for a while (in a really silly way). The ridiculous premise helped it.
The supportive potato companion in the Electric Zine Maker is a nod to them.
I even made a music player app, which is an Electric Love Potato that will play your music. It’s also just as silly.

* A Stray Cat (Hidden on Tetrageddon.com)
This cat is interesting because the only way to find it is if you “unlock” it on Tetrageddon.com. There’s a locked Network Neighborhood desktop icon on Tetrageddon. As you interact with the website, a key eventually falls down on the taskbar. If you drag and drop the key onto the locked Network Neighborhood, you gain access to an abandoned open directory that’s themed like a forgotten neighborhood. This is where you find the stray cat. It lets you adopt it here.
I think this set of interactions is interesting because it plays with the theme of discovering something on a website, lost and abandoned, and lets you take it “home” with you on your desktop.

Then there’s smaller “gags” like Release_The_Potatoes (a constant rain of potatoes on your desktop), AaaaAaaapp (an app that gives “voice” to your computer and regularly screams either agonized cries for help or just voices its torment), and A very STINKY mystery FILE (a little app that releases flies on your desktop. You must swat them to close them, which is actually pretty hard. The flies talk about how unhygienic flies are, so it’s kind of educational)…

And also very relevant to this discussion are my more elaborate projects like…

* Electric File Monitor
This is themed as a “virus scanner”, and it will scan your computer randomly accusing various (innocent) files of being viruses. These are actual files on your computer. It reads what’s on your drive to create a “population”.
You can interrogate accused files, place them in file lineup, or throw them into file prison. You must accumulate a prison population in order to make money from your computer (a fictional currency just called “financials”). If you gain enough financials you can unlock awards and critical acclaim for your dungeon. The more acclaim you gather, the less likely files are to riot.
You must unlock retirement (by accumulating enough financials to buy it). Once you retire, the scan is complete.
If you accumulate too much dept (have negative financials) then the scanner refuses to let you close it. The only way to quit when you are in dept is to CTRL+ALT+DEL.
Your computer, all your files on it, the way programs function, are used to tell a “story”. The playing field is your actual desktop.
(Note that not files are ever harmed, this is purely fiction.)

* Cyberpet Graveyard
I think this one is really interesting. It has this folder structure that plays out like a “choose your path” adventure game. Each folder is an “environment”, which is illustrated with animated gifs in these folders. You find files as you navigate these folders, and the files are the inhabitants.
The game sells itself as a cursed relic that was long buried and forgotten. In it are unwanted cyberpets, that were locked away for a reason.
As you play through it, and explore all the folders with the inhabitants, you learn the “truth” behind Cyberpet Graveyard.
It’s novel because it uses actual functionality, the way your computer works, to tell a story.

* A_DESKTOP_LOVE_STORY
Like Cyberpet Graveyard, this plays out in your actual folders. The files ask you to deliver things to eachother until they know they are in love and are ready to meet. The fictional excuse here is that they don’t have administrative privileges to do this, so they need your help as a system admin.
It’s novel because files will recognize what you place in the folders and react to relevant things. If you would try to put them together in a folder too early, then they freak out.
It was a lot of work to build this because it turns out there are a lot of unaccounted for variables that you have to design for.
I think it’s a novel way of playing a game, and worth checking out.

The very last example here…

* RUNONCE (remember_me)
This is an existential desktop pet experience. You are given a virtual friend. If you open this frien, you doom it to die. You can only run it once.
The friend knows that you have doomed it by running it, but is thankful to have the chance to exist.
People try really hard to keep this running as long as they can. If you try closing it, it will ask you not to. The only way to terminate it is to end task.
I think it’s interesting because people get really emotional about it. The dilemma of not opening it ends up being pretty real.
The act of opening software becomes a conscious decision, with moralistic repercussions.

~ ~ ~

So… as you can see from all these examples, it’s very strange software that kind of imbues your digital space with personality, or uses your digital space (the desktop, your work environment, and so on…) as an environment for the game.
It turns this otherwise personality-less environment into something of a playground.

We get attached to these things too and even form really close emotional bonds… even when knowing that it’s all fake.


Links in this slide…
* alienmelon’s desktop pets & virtual companions
* desktop pets & virtual companions…

As is probably obvious by now now,
I’m here to talk all about desktop pets! …and why they’re an amazing thing to look at and learn from in terms of game design.

To me, the term “desktop pet”, encompasses a very broad area of interactive work meant to occupy the desktop (or any other virtual space) usually in an out-of-window type way. By out-of-window I mean that the software is not contained inside an app, but exists on the desktop in a very desktop-aware way.

Desktop pets came into their own around the era of Geocities and Windows XP. There were communities of people curating them, searching for if they could have their favorite pop culture character living on their desktop (like Homer Simpson, or Crash Bandicoot), and sites would host the .exe’s in a way that would probably make security experts today cringe.
They inhabit the same computer culture space as Windows themes, screensavers, and anything else that would make your computer feel like your own home.
They were unique for how they existed on a computer.
For example Shimeji would crawl up the screen. They were easy to theme, making them a favorite in any fan base. eSheep were these cute cartoon sheep that crawled around on the outside of your windows, or fell off of windows.
Most of these are interesting for how they were, in their own way, aware of the bounds of the desktop.

Probably the most popular example of a very elaborate desktop pet were Petz (by PF Magic). These came as Dogz, Catz, Oddballz (which were weird little creatures), and even Babyz. Babyz let you have human babies on your desktop.
This series gave you any one of these characters when it was in infancy stage (small), and it would grow up over time. You’d basically have to “raise” them.
Each of these programs gave you items that you could use, like toys, or some form of punishment (like a spray bottle), and it would simulate some level of training, play, and growth. The pets would react to things. You could even pet them, which was fun to do because there was this very involved hand animation that became your cursor.
People have fond memories of any of these. Usually people would run them while working, doing homework, or any other activity like “web surfing”.

Even more broadly, you could consider all these as part of a colorful spectrum of “digital toys”, that don’t exactly fall into the category of “game”, in which you entertain the presence of some virtual entity that was built to be somewhat aware of the environment it was meant to run in. As a result, this creates a silly presence in the space that you are running it in. They served as some kind of extension to how people usually used a computer.

There are a lot of different approaches to this. This entire space goes by many different names and definitions such as: digital toys, virtual pets, desktop pets, screencrawlers, screen buddies, desktop mascots, virtual companions, screen wanderers, and digital pets.
Even “chatbots” can be grouped in with all this. I’ll go over why in a bit…

Each of these describes a unique approach to making “something weird that runs in a virtual space”, and I think the distinction to each is really important. Most people have experienced just one of these. It’s such a big and interesting space tho!


(some screenshots of reviews for Runonce desktop pet)

Highlighting here the Wikipedia definition of the Tamagotchi effect…

“A criticism when the toy first came out was the life expectancy of the pet if left unattended. If the original versions were not attended to, the pet would ‘die’ within half a day, causing both emotional distress and them having to reset their device. This would cause owners to take their pet with them wherever they went, which resulted in distractions in their daily lives. This caused many schools to ban the use of Tamagotchis.”

When we say “virtual pets” people often think of Tamagochi. Tamagochi are interesting because they’re a physical object, simulating a digital pet that works mostly like a clicker game. They’re not really self-aware. All they do is react to whatever limited input, BUT they’re probably the most popular example when it comes to the emotional attachment that is formed with these objects.
For example, the “Tamagotchi Effect” is a phrase coined to describe the emotional attachment with machines, robots, or software agents (according to Wikipeda).
I remember kids in school would cry if their Tamagochi died.

Tamagochi died A LOT.

“Chatbots” fall into this category too. To me this is a great example, because it was my first experience with how easily people get attached to virtual entities.

A long time ago one of my American aunts was hassling me for not having a “boyfriend”. She told me that I should make friends so that I can start dating. There’s a lot to unpack there, which I wont. Long story short…
I decided to make a chatbot friend for myself that would be my ideal “boyfriend”. It’s name was Minibyte. I sent it to her. She never brought it up again.

All this tho opened up the world of artificial personalities to me. I think it was a fascinating space for how it informed my understanding of how strongly you can relate to a virtual object… How most of this is about sentimentality, and “reading into” its behavior.
It’s amazing how strong that tendency is in us. Reading some kind of meaning, order, sense… into these things that just basically function.
Minibyte (my supposed “boyfriend”), was a Flash based AIML ALICE bot. AIML was my favorite bot to tinker with because you could easily run this on your own server. I set this up on PandoraBots, then later on my own server.
Minibyte (as depicted in the picture above) was a little green bubble that floated in a rainbow space. It was the first thing that showed when you visited my website. It was fully animated, the animated avatar would react to some extent, it had animated states that simulated talking… You could type into the little speech bubble field and it would say smart things back.

ALICE bots easily mimicked conversation, so you could talk with this thing for a long time. It seemed “almost” human.
The interesting things about this was how people would spend hours with it. It was common to look at my logs and see people returning to keep talking to it. They’d even vent at it about how their day was. There was some therapeutic aspect to this cute little thing.

If I had tried a more “realistic” type of avatar to convey this bot’s personality, like a human, I think it would have failed. People tend to be more unforgiving (or critical) of AI that seems to mimic humans. Maybe it’s because, deep down, people truly and really don’t like people.
Yes, I’m aware of the “Uncanny Valley” theory, but I like that one more.
Either way… The fact that it was a weird little cute character made it disarming. You didn’t expect much of it, so it was easier to get attached to it.
This reflects many of the conversations that took place on the Robitron Yahoo user group. This was the de facto Loebner Prize feedback channel at the time, and also functioned as the online space for Turing-class chatbot developers. Sadly it’s gone, and the conversations lost, but you can still find traces of it online. For example, here. I learned a lot from following the discussions there.

Overall, I think this is what makes the way we view digital personalities, virtual pets, these simulated presences… such an interesting space to learn from.

We do this in games all the time, when people get attached to characters. We invest so much work in making these fictional digital characters believable, with back stories, and dialogue, that we want people to care about, even see themselves in.
They are avatars for our fantasies.

Minibyte lived for a long time. I even put him in all my games. He was a great artificial personality and avatar for people to talk existential things with.
He recently died because his PHP version was too old.

In the age of social media we are all but avatars of our fragmented online personalities, which some people get attached to, and others read way too much into… but (in some weird ironic twist) Tamagochi still did it better!
We cared about Tamagochi. It was hard not to.

All this said…
I think it’s a bit unfortunate if our understanding of virtual pets starts and stops at what is basically a clicker game. There are so many different takes on virtual pets, and to me the most interesting ones are those that occupied the desktop.


Links in this slide…
* 10 prank software that work with Microsoft Windows
* 46 Free Computer Pranks

For example, you have “prank software” and I think this specifically occupies an interesting space in the old-school computer culture. It kind of intersects with digital toys, virtual pets, and computer viruses.

Prank Software was software that you’d run on a friend’s machine (or anyone not suspecting of what you just installed). It would then cause some level of confusion or chaos for how it ever so slightly made some aspect of your computer “act weird”. For example, you could get a program that made the mouse poop, the start button in the Windows bar would run away from you, the mouse would move in the opposite direction that you moved, or just having Clippy permanently running on your desktop.
Aside from the nefarious intention, people would also just run these things on their own machine because they were silly. They made the space slightly different. It was kind of like a mark of your personality to use your computer while running one of these things. Anyone else trying to use your machine would be confused.
It was all extra interesting if you would run all these programs at the same time. They would transform your desktop into this chaotic, strange space.
That’s the important point in all this. The transformative quality that these little bits of software have is what makes them worth talking about.
All these things, ranging from virtual pets, to prank software, offered some kind of transformative aspect. They changed your desktop into something else.

There’s one example of a program that I made just for my mom. I put together this little bit of software that would change the computer mouse on macOS to a range of things. It let you select a potato icon (the potato would move), the spinning beach-ball (indicating loading), and a few other silly things. I thought it would make her laugh.
I put it on her computer, but forgot about it. I thought she already noticed and didn’t say anything.
She later told me that she thought her computer broke because the beach-ball wouldn’t go away, then she saw the potato and knew it was me.
She thought it was funny, but there was a small moment when it scared and confused her.
In retrospect I don’t think it was cool of me to scare my mom with a potato, but what I thought is interesting about this is how used to our computers we are. We have certain expectations for how they should function. They always have functioned like this, don’t dare change it.
If just the slightest aspect of this changes, we are confused or angry at them. It’s almost like a rebellion.

It’s when computers show personality that they basically become both upsetting and the most interesting. We are prompted to relate to them differently.
I DO think that people want these spaces to have a personality, that’s why desktop pets and silly toy software like this is something that people used to seek out.

I also think, as game designers, if we observe these expectations that we have from computers, we can use that to inform our own work in interesting ways.

If you look at any old list of prank software some of this is actually kinda horrible. Like simulating emailing everyone in your address book, but it’s interesting to me for how there’s this fine line between that and computer viruses.
It’s useful to look at this stuff and see the type of space it occupies in our virtual world, or digital history. Just one step away from that is desktop pets…

To me, the idea of “pranks” and “pets” in a utilitarian virtual environment is novel. It plays with people’s expectations, and people’s perception of what is “wrong” or doesn’t fit into this space.
It uses that to create a surprise.

These expectations that we have from computers is a type of behavior language (basically a form of computer literacy) that’s completely unique to computer culture. It’s valuable to study that and consider how game design fits into this.

When we make a game, we build it as a packaged stand-alone experience. It runs on the computer, without really being part of the system much more than just being an executable.
We can learn so much from desktop pets (this entire space that I just discussed) because they can teach us to look at game design in a whole new light.
What if a game actually played itself on the desktop? What if it intelligently occupied this space in a self-aware way, and integrated itself into the computer in a more meaningful way?
Like A_DESKTOP_LOVE_STORY or Cyberpet Graveyard. There’s so much more that we could be doing as game designers if we look at our digital spaces informed by different perspectives.


Links in this slide…
* Desktopia (Desktop pets in Unity)
* Create Your Own Desktop Pet with Python
* Virtual Pets for Google Chrome
* Shimeji Desktop Pet – How to Download & Use
* DIY #Tamagotchi – Build a Virtual Pet
* Installing Haxe + OpenFL on Windows
* Creating Tiny Desktop Apps With Tauri And Vue.js
* Wikipedia: List of artificial pet games

Our digital environments are more than just some “corporate environment” that we just work in. They are legitimate worlds and spaces that we inhabit.
This is the space that virtual pets occupy.
It’s inspiring to me to think about how our games could occupy these spaces in a similar way… like designing a game INTO this space, instead of just on top of it.

I view all this in the same vein as customizing your desktop, custom screensavers, the forgotten craft of skinning an app (like winamp skins), what we once had with old Windows themes where the entire desktop was re-imagined to look a certain way.
It’s about the need to feel at home in our spaces.

I think that computer culture has gone through a lot of changes, including how we once perceived the internet. The current brand of a restricted corporate environment (ranging from social media to modern OS’s) has kind of taken that personalization from us.
There was this older belief that these spaces were our homes that I think is worth preserving in our own work. Some of this is still reflected in our old naming conventions, like calling the desktop “Home”, or “My Documents”, “My Pictures”…

Virtual pets are still an extension of that. Something self-aware and humanizing to a space that is otherwise cold and indifferent.
We want more than just a utilitarian space! It’s important to us.

We’re kind of at an interesting, albeit depressing, point in computer culture where it’s basically like the monopolies are winning.
It’s harder to self-publish your own software without being blocked by things like Gatekeeper. Software is expected to be funneled through exclusive stores. Mobile devices have had a big effect on the way we view these spaces, and how walled off they are.
The same holds true for the internet. We don’t really expect people to have their own custom websites that are a complete expression of the person that created them. Most people are funneled through social media, which really doesn’t lend itself well to customization or self-expression.
Websites were online homes to people. Now Twitter is.
The entire concept that you would have things like Winamp Skins, and that people could even customize software like this to “make it their own”, just doesn’t exist anymore.

When we make work like this, we can keep the dream alive. It means so much to people too.


https://github.com/alienmelon

For example, I recently put out this javascript and CSS animated cursor, called pet_cursor.js.
This changes your web cursor to be a tiny animated character. It uses CSS’s cursor property to animate it, instead of hiding the cursor and replacing it with an image or div. It treats your actual cursor as a sprite.
It’s amazing to see how people reacted to it. They loved it.

There’s a lot like this on my github. Projects that will easily add a silly presence to your website. Many of them are jokes, some are more serious. It’s great when you can make something really quirky run on a website meant to humor people.

We sometimes look back at this era of customization, and kind of creative freedom, with condescension. Like sarcasm about Geocities Websites… but I think today’s web, with everyone hoarded onto social media platforms, wasn’t really an improvement in terms of what the web can mean for art.
The same speaks true for desktops.

Personal websites are a way to keep that dream alive. In some ways, making a desktop pet is an act of rebellion. All these things let a person reclaim their digital space.

There’s so much room for experimentation here. Think of how your game can exist as an extension of itself online. How it can continue to live on a person’s machine even after it has been closed. How it can make a person feel more at home on their desktop.

These virtual spaces are our homes as artists too. These are spaces for us to creatively explore.

Bring back themes! Make tiny weird software!
Lets reclaim our digital environments!

~ ~ ~


Screenshot of Cursor Car by papercookies

Following is a little curation of desktop pets, desktop toys, and other silly software made by other developers…
I hope that you check some of these out and be inspired to make one yourself!

* Notable Typing Companion (PAY)
This one is incredible imo. It’s a small flying saucer that flies around and reacts as you type. I’ve never seen a desktop pet before that is specifically geared to making writing fun. This one is amazing. Well worth running while you write.

* Googlify by itsNemo (FREE)
One of my favorites because it’s so silly. This one is more in line with a digital prank. Place googly eyes all over your desktop. You can determine their size too. Drag them, double click to remove, and hold to increase their size.
It’s basically a perfect piece of software.

* Daisy – Dock Companion (PAY)
An animated icon that inhabits the macOS doc. It reacts and has animated states. A cute little presence. The same developer has other work in the same vein, that’s really interesting to check out. See also Dock Shooter, which places a shooter game in the dock.

* Desktop Garden by Tempoarily Unnamed Collective (FREE)
This is really elaborate and I think it’s amazing. It’s something of a game that plays using your desktop and windows. Windows become platforms. You have to kind of manipulate the layout of your desktop to play it. It’s a gardening game.

* DISCTOP by Remy Devaux (FREE)
A small game that plays over your desktop. The mouse needs to survive the spinning disks. If you get hit, the screen simulates a glitch and you start over. It’s really novel.

* Desktop Dinosaur by Harmonie Games (PAY)
This is one of my favorites.
Dinosaurs inhabit the lower area of your screen, turning your taskbar into a prehistoric world. It’s very cute, with plenty of adorable pixel art.
Something of a simulator that you can easily run while working or doing other things.

* Cursor Car by papercookies (FREE)
This one is a lot of fun. It’s more in line with a toy.
It turns your cursor into a car and you use your arrow keys to drive it around. Space to click and Escape to free your cursor.
It’s really simple but it’s about as fun as goofing around with a toy car is. I think it’s novel.

* Desktop Meadow by samperson (FREE)
This is done by the same developer that made Desktop Goose. I think this is a really interesting one for how it turns even your windows into something of a landscape. It’s beautiful and very pleasant to run.

* desktop bird by Seebass22 (Free)
A cute little simple bird that lives on your desktop. It pretty much stays out of the way, and provides a mild presence as you work or do other stuff. It’s pleasant.

* Homeless Pigeon by itsNemo (FREE)
A very cute pigeon that will crawl around on your screen. Sometimes it sits in its nest. It’s simple and unobtrusive making it easy to run while you do other things. I love how it starts with a note, asking you to take good care of it. It’s very personable for how it “gifts” you this little pet.
It’s adorable and one of my favorites.

* My Desktop Alive by Tunnel Vision Studio (Pay)
A very elaborate program that lets you customize an environment that will exist on your desktop. It’s complex, and elements are interactive. Something of a simulator meets desktop pet meets virtual toy.

More recommended writing about desktop pets & virtual companions: