• Projects
  • [Proof of Concept] Desktop Buddy

Do you want a pal to hang around on your desktop as you work? Well, that is what this is.

Precursor This project is mostly a 'proof-of-concept'. It seems to run pretty well on most Linux distributions thus far but it has yet to be tested on Windows and Mac OS. If you try this out please let me know what system you ran it on and how it went!

About This project simply plops a visual character on your primary monitor that does its own thing and can be interacted with. The general purpose is mild entertainment and something you leave running in the background as you go along your daily business.

Current State

The system has a rough base for designing and importing custom 'friends'. Built-in support for movement, basic physics (gravity / friction) and some interaction / events (mouse click, hitting border, animation frame changes) are implemented and can be defined through a config file for your friend. The system also supports custom AI scripts (that inherit from the default one) to allow more complex behavior if you want.

I have created a dummy friend based on the Mikuo sprite sheet made for shimeji-me, namely because I thought some of the behaviors were kind of hilarious.

Should this work on multiple systems fairly well I plan on adding a lot more variety to actions, interactions, and possibly even useful features such as notifications and the like.

How It Works The system simply utilizes Godot's 'see-through-background' feature as well as the 'click pass-through' feature. A border-less window is stretched over the entirety of your desktop but with a see-through background and a clickable region placed over the character(s) (updated once a second).

I had tried this years ago with other game engines / languages through lots of hackery. The simplicity of it w/ Godot was a surprise and what spurred me to give things another try.

Source / Download You can access the git page here: https://bitbucket.org/Binsk/desktop-buddy/src/master/

Latest stable 3.x version of Godot was used to design this.

Feel free to clone and build it to give it a go. I will be working on this a bit regardless of feedback (as I like the idea of desktop buddies) but I would greatly welcome some results from others as well as any ideas you may have.

In order to use the dummy friend, you need to open the "Template" project and export it as a .zip. Create a 'friends' folder next to your executable and place the zip in there. Then place the 'mikuo.cfg' file next to your executable. It will auto-load the friend at this point.

Artist Request I may be looking for an artist to design a custom character + animations for this project. If you think you may be interested let me know. Note that there would be easily around 20 animation strips needed.

Cool idea. I tried it on Ubuntu and it ran but it didn't seem to work. First it was limited to about a quarter of my screen (top left). Then I could drag the character and they would fall, but there was no animation and they didn't move. But it think it can be good with some more work.

This is a really clever idea...kind of like "why didn't I think of this!"...I'll be keeping up with this. I would volunteer my help, but I don't even have enough time to work on my game half the time.

I think I have seen this sort of thing before but as... assistants? You know depending on how much you interact with it you might be on the verge of inventing a more hands off game genre. Even with no interaction it would be fun to watch the character in a mini bottom of your screen slowly building up his own minecraft style house in the corner of your monitor.

You could give him a little instrument to play music on. You could give him little tasks that take hours to complete. I guess infinite possibilities really depending on where you go with AI.

A long time ago, I remember playing with similar desktop widgets. I was probably using Windows then. There was one that made bugs crawl around the screen.

@cybereality said: Anyone remember BonziBuddy?

More terrifying than anything in Diablo 2. If that thing walked up to me speaking fluent english I'd have a panic attack.

Well dang, wasn't expecting so many comments right off the bat.

@cybereality Hm, thanks a lot for testing it out! I tried it on a VM and got some funky results as well (albeit it was a case of the window being too large not too small).

I was a bit stricter w/ setting window size and it started working for me under Pop!. Gnome was the only one to give issues; tried on XFCE and KDE as well and it seems to be working on those, at least. As for movement, it is a random-roll every 5-20 seconds at the moment so maybe it just rolled a lot of 'idles'?

@Erich_L Dude, those are some awesome ideas. 0_0. I hadn't considered having the AI build up things on their own but that would be awesome to try.

Hah, that BonziBuddy looks familiar. Don't think I ever played with it specifically but it is ringing some bells. This idea certainly came from that era, though. :P

I just remember a whole bunch of chibi characters walking around and climbing windows from my childhood. Hah.

Anyway, thanks everyone for the feedback!