Log In  


Cart #desktop_pet-3 | 2024-04-08 | Embed ▽ | No License
30

Some little poorly-drawn cat friends!
They run around on the desktop, sleep, hop, climb the edges of the screen, and bonk their heads on the toolbar if they jump into it.


-- Features and change history --

As of rev2 (BBS release), you can now:

  • Give them head pats. Sometimes they will go to sleep afterward.
  • Pick them up.
  • Place them on the side of the screen.
  • Wake them up from sleep.
  • Interrupt them when they jump; to catch them or make them fall.

As of rev3, they will jump to and sit on desktop icons!
You can place them on the icons yourself too, or move the icon and they will fall. Sometimes they will fall off on their own, heh.
^^ rev3a fixes a crash in the BBS player due to it lacking desktop icon metadata.

As of rev4, you can add custom characters using extra .gfx files and select them using the command line! See the Alternate Pets section for more information.
The cart currently includes Scribble the cat and Jelly the tiny bird. Simply run desktopPet.p64 jelly to set Jelly as the pet.


-- Alternate Pets --

Feel free to make your own pets! If you'd like I might even include yours as an option in the base cart! (given permission to do so) Put some character.gfx files in /appdata/cubee/pet/ folder and the program will let you change between them.

You can pass --help to get a printout of installed characters and how to use the command:

> desktopPet.p64 --help
usage: desktopPet.p64 char
char - change which character bank to use. currently installed:
 scribble
 jelly
you can install extra characters by putting their .gfx file in /appdata/cubee/pet/

To change the character used when run from startup.lua you would add the following argv parameter:

create_process("/carts/desktopPet.p64", {argv = {"scribble"}})

Where scribble is replaced with the character's name as shown in the --help output.


-- Tips and how-to --

If you made too many or want to get rid of them, you can grab them with the mouse and press [X] to send them away.

If you'd like to have it autostart when Picotron opens, save the cart file somewhere, then edit or create "/appdata/system/startup.lua" and add the line:

create_process("/carts/desktopPet.p64")

... changing the path to lead to the cart file you just saved.
This will simply start the cart in the default workspace (the Desktop) as soon as Picotron boots.


-- Future plans --

I very much want to make them interact with other windows, but I don't know if there's a way to retrieve a list of window coordinates/dimensions at the moment. If I work something out, or you do, we can add the final piece of essential screenpet functionality! (that being, sitting on windows)

30


2

this is so cute, i love him!! this reminds me of neko - was this the inspiration? i forgot about that little guy but i ran him constantly when i was a kid. so this little guy has definitely been added to my startup :)


so cute!! it's perfect!!


@ahrotahn
Yes, exactly the inspiration! Though, the cat's movements are more similar to some "shimeji" app I'd seen a while back on Android.

I had Aneko on my tablet and Oneko on my laptop for a while, on my laptop I made a script that would spawn multiple nekos following each other, so there was a line of cats all neatly chasing the mouse in a line.


@Cutievirus

Thank you!


1

Omg I would die for him 🥺
He has become a permanent resident of my startup file too


I love this! I was trying to make something similar and yours gave me some insight on how to make my own version.


@profpatonildo

Thanks! I'd be interested to see how yours turns out.


Heh, in the new web player it seems to be running about twice as fast. This is a 120Hz display, though desktop Picotron seems to run normally. I believe this was an issue with Picotron Playground as well?


rev4 with custom characters is up now!


How to stop desktop pet running?
How do I run desktopPet.p64 jelly?


This project reminds of Steve Jobs’ original idea for “Mr. Macintosh”, a tiny man which would appear randomly on your Mac128K workspace.



[Please log in to post a comment]