she/her
I make custom shimejis! you can get them on ko-fi Main: @robotswashingdishes
These take a lot of time and motivation so I cannot take any requests (as much as I would like to). Feel free to edit existing ones to your liking though!
What is a Shimeji? - a desktop pet that can walk around your computer screen while you work! They can be programmed to have many different actions, including climbing windows, chasing the mouse, interacting with each other, etc. I am using this blog to share the ones that I have put together(for free!).
I post pretty irregularly, but I try to publish something every 1-2 months.
Fandoms so far: Deltarune, OneShot
Latest release:
-Weather Duo (Deltarune)
WIPS and current plans:
- The Roaring Knight (Deltarune)
-Momo (Google doodles)
Ideas for if I learn how to pixel art/anyone is interested in making sprite sheets (please leave a comment if this is you)
- Frankie (Castoff)
- Rocky (Project Hail Mary)
- Moth/generic skykid (Sky cotl)
shop, instructions, references and programs used under the cut:
Shop:
I've opened a shop. Come take a look!
Instructions:
💬 0 🔁 0 ❤️ 0 · Custom Shimeji download instructions · We will assume you have Shimeji installed, updated, and functioning on your computer
References and Programs used for custom Shimejis
All sprites are taken from their respective game spritesheets, or are heavily based on them.
All sound effects are taken from their respective game files, or are stitched from/based on them.
Code modified from original shimeji conf files and templates.
love your shimejis! i look forward to your future releases! ^_^
Thanks, that means a lot! My last few projects let me explore functions I had no idea existed, and I’m excited to fully test them out! If you want a clue for what I’m planning to focus on next,
Lanino and Elnina are now available as desktop buddies here, enjoy!
Lanino and Elnina desktop pets that will walk around on your computer, and interact with each other! You will need the shimeji software up a
short process overview and notes under the cut:
Thank you to those of you who voted in my last update! Hopefully the additional wait was ok, I have done my best to make the walking sprites look natural using the original sheets.
My main goal was to make something simple enough to publish by the end of May, but that would introduce me to affordances. These basically allow shimejis to interact with one another by using a sort of call and response, and I figured there was no better pair to try it with than the weather duo!
Learning this function was easier than most so far, especially since the example code kept everything related to affordances in one section. This is roughly how they work:
shimeji 'A' frequently broadcasts a word for a certain amount of time
shimeji 'B' frequently checks for broadcasts of a word
If 'A' is broadcasting and 'B' checks for the same word at the same time, then shimeji 'B' will travel to the location of shimeji 'A'
if 'B' gets to the location before 'A' stops broadcasting, an interaction is triggered
the interaction plays, and the images can be split between both shimejis, or shown on just one
the interaction will be interrupted if they are pulled them apart or if they lose contact with the floor
if the interaction is completed successfully, an optional follow-up behavior can be added.
The Shimeji discord suggested a trick to trigger the interaction at a certain distance instead of at an identical location, but I wanted to use the optional follow-up behavior and avoid variables so that might be a project for another time. To get the follow-up images to line up, I added a buffer image with changed anchors and then used offsets to smooth the transitions.
I had fun working on the weather duo, and getting targeted experience with some of the more involved functionality for shimeji. Hopefully that will come in handy because I have some larger and more exciting projects coming up, so feel free to stick around for updates!
World Machine desktop pet that will walk around on your computer! You will need the shimeji software up and working to use this.
**NOTE: Th
coding process/notes under the cut (long):
So, its been a while. midterms were killing me, but hopefully I can start posting somewhat regularly again soon
This is yet another project I've had on the backburner for quite a while. It's been close to finished for a long time but I wanted a way to generate a popup window, and just wasn't sure how it should look until recently. After a quick clean up of older issues and a kofi poll, I managed to find a few fake window generators.
The most promising option was VBScript, which uses native windows code and can generate popups in the style of the device, but I realized Shimeji can't actually call or run any outside programs. Eventually through the discord (Thanks again) I was pointed to the projectile function, which basically creates a simple and temporary shimeji that I could change to resemble a window. Working with projectiles was surprisingly simple, since there was plenty of example code I could use, so the main issue was finding a way to customize it to each device's UI, because that is a perfectly normal and achievable goal to have, of course.
Now, using VBScript I could get a message box to mimic the UI of my previous computer, which I like more than the current notification style. So I decided I could still use it to generate my default image sets. But for whatever reason on my device the resolution and size of the information icon was off. Long story short, I ended up scouring the internet and the computers of my friends and mutuals to find the original icon and collected an unreasonable amount of images, before realizing that they would not scale nicely to the box I was generating. I finally decided to just use my generated window for the default image set.
To make sure that there was an option to customize the window with a name/windows style, I wrote another VBScript program to generate the window and give instructions on how to set up the screenshot, what images to replace, etc. I also figured out while doing this that the recommended display scale (in percentages) on laptops are different, and usually over 100%? If anyone knows why they chose to number it that way, let me know. So to make sure that the dialog box size agreed with the shimeji, the display of the whole device needed to be fixed before taking the screenshot.
Once all the scaling issues were resolved, putting everything together was relatively simple! Just in the last two days I figured out how to fix some problems with the jump/teleporting action, added sound effects to the popup and glitches, and optimized some of the logic based on the code I used for Ralsei.
I'm pretty happy with the current version, and am glad I was able to include the option for customization somehow. Please let me know if the script is unclear or if the shimeji has issues, and I will work on it.
I meant to finish this sooner, but here she is in pink and blue! As always, you can get it for free here:
Mizzle desktop pet that will walk around on your computer! You will need the shimeji software up and working to use this.
**NOTE: This shim
Enjoy!
coding process under the cut: (it's very long this time.)
Quick Note:
The Mizzle does not have as many actions as some of my other shimejis, but ended up being be way more complicated to code than I anticipated because she floats. (I tried to catch as many as I could, but let me know if you see any bugs)
Also, if anyone reading this is considering trying to edit shimejis, DO NOT use this to gauge difficulty! There are ways to start small (which I plan to put in a post later), and I absolutely jumped into the deep end (for me at least) with this. Plus I'm just ranting here, so don't take it entirely seriously.
Embedded Classes and Falling
Basically, the shimeji engine has actions of different types that determine what is allowed while the animation is playing. So you might use animation to play something one time, move to play it repeatedly as it travels, or stay to play repeatedly in one place. You call these later in the code to set stop conditions, group them together, etc.
But there's also another type: embedded actions. These are built-in-and-sometimes-required actions that are usually called by internal processes of the engine, so they are a bit harder to control and have specific rules for how/where they are referenced. They include dragging, resisting, transformation, mute, and of course, falling.
Now I need falling here, because I can change the gravity parameter to 0 and have Mizzle float, problem solved, shimeji finished. Except that the shimeji always starts above the window, which means I also need gravity sometimes so she makes it on-screen and a condition to have her start floating. AND 2 more for the sleep and sing animations, which need to be able to switch randomly. So now thrown and fall have to use timers so that they transition to the other actions, but not until the shimeji is in the window, which could be a different coordinate on every computer. And it needs to check if she was thrown close to the bottom, because Mizzle bobs up and down and if she touches or goes below the bottom then the whole program could freeze. And some of these things need to be checked once before doing a whole sequence, while others need to stop if the condition changed to false for some reason. (I didn't know the difference between $ and # because I never learned JavaScript, so for a while she kept falling through the floor and appearing at the top and falling forever)
So the getting the logic for fall and throw to work took a while. And all of these had to be declared in behaviors because they were embedded, which I forgot again later on.
Chase Mouse and Offsets
At the same time, I'm trying to figure out chase mouse. Because now that she can fly and can actually reach it, and it would be neat to have her just hold on to the cursor for a bit. And at this point I realize the offset that the sprites need to make the jump->grab->drop transition smooth is very inconvenient, and I start looking for ways around having 30 duplicate images. So now I have a broken conditional with random jump offset guesses, because the reference for drag and jump are flipped and the offset is different based on which way the Mizzle is facing and how close she is to the cursor. But the whole thing is a sequence and not a loop, and I can't plan for how the mouse will move(And I had no way to effectively troubleshoot because triggering the action would lock in the same conditional)
Luckily I can do a consistent y offset inside a modified pinched, that probably exists for this exact reason! (fixing x would need additional images, and it was close enough already) But i forgot that pinched is ALSO embedded, and needs to be grouped with a resist and declared in behaviors before its called in chase mouse.
Conclusion
All in all, this was way more complicated than I thought going into it, even though it might not look it from the scarcity of actions. (There were also points where I got too focused on something that either couldn't be fixed or wouldn't be worth it) Also, HUGE thanks to the shimeji discord, they helped me solve pretty much every issue I mentioned here and more including $/#, divisible random number generation, the limits of sequences and conditionals, how offsets work, and properly calling embedded actions. Genuinely so grateful for their help, this would never have gotten finished otherwise.
Mostly what I wanted from this was to make something that can float, and finish it before the semester starts ramping up. I'm pretty happy with how she turned out! For as much trouble I had, this may be one of the most technically complex shimejis I've done over a relatively short time frame. At one point I considered adding a jump so she could fly around the screen, but it ended up looking really unnatural. Who knows, If I figure it out I'll put it in an update.
just published bug fixes and improvements for every shimeji in my shop, along with more detailed product descriptions. (Everything is still free) Enjoy!
I've opened a shop. Come take a look!
I recently found out that the existing Mac support for shimeji does not include the most recent update (1.0.22, Variables), and people were having trouble running the Ralsei shimeji because of it. It took some time and consultation with the shimeji discord, but we were able to find workarounds and the new logic honestly fits a lot better! There is a new version available without the mute action and both now avoid variables in case of future problems.
I also found smaller bugs and inconsistencies in my other items, and decided to clean those up as well. All of the changes are listed in the product descriptions, and nothing should change for those of you who already got something unless you choose to re-download.
Lastly, I realize that the Rams also rely on variables, and I'm not sure how to make an efficient workaround. I'll probably come back to it later, but if this affects you and you'd be interested in a fix soon, leave a comment and I'll take a closer look.
Here is the free download link! (includes hatted and hatless Ralsei)
Ralsei desktop pet that will walk around on your computer! You will need the shimeji software up and working to use this.
**NOTE: This shim
I am so proud of how this turned out, I've been working on him on and off for just about a year now. With the new chapters and the recent shimeji program update, I needed some time to add the ideas that I had bouncing around already, and include some of the new sprites. I knew that Ralsei shimejis existed but didn't see any with the original sprites at the time and wanted to give it a shot. Then I got carried away, and he is now my largest shimeji project by far, so I figured I may as well put it here for you to enjoy as well. But hey, no longer is he confined to the dark world...now he is free to go all over your computer desktop!
Hope you guys have as much fun as I did making this! Also please leave a comment if there are any bugs. It may be a while before I post again, but I do have things planned so feel free to stick around!
Those of you who have gotten something from my kofi shop (or browsed my past posts) may have noticed a certain fluffy prince in the instructions...
This is because I've actually been working on a Ralsei shimeji on and off for almost a year! Back then I didn't post them anywhere yet, and after the chapter release announcement I wanted to wait to see what new sprites I could incorporate. Then I got busy, and the variable update with the shimeji program itself gave me more ideas to add. Anyways, I am still working on him. I will hopefully(I am still kinda busy) be done soon though! I know that this has definitely been done before, but I've been having fun and you know what they say about two cakes. I'll post a link to the free kofi download when that happens, so stay tuned!
I might also eventually do an update as new chapters come out, but thats a later issue. In the meantime, I have free deltarune and other shimejis here
Edit: He's finished and ready for download! As promised, here is the link. Super proud of how this turned out, Ralsei is very near and dear to my heart and I think he may have been my most ambitious project yet. Hope y'all enjoy! (Also comment if you run into any bugs with the program)
We will assume you have Shimeji installed, updated, and functioning on your computer. If this is not the case, use the below links. (Use FAQ link if you are running into issues BEFORE continuing!)
Java installation here
Shimejee Install help
Tutorial video here
Download link here
Shortcut errors and other FAQs here
Download and unzip your custom shimeji folder. Insert the files in the img folder (This will be wherever you have the Shimeji folder installed), as shown.
Note: Shimejis using transformation, transients, or projectiles require all states to be present for it to work. (See Features below for details.)
Run your shimejee shortcut, and tap the icon in the taskbar with 2 fingers. Click “Choose Shimeji…” and select desired Shimejis. Enjoy!
Navigating Settings:
Click the shimeji shortcut to run the program. You can keep this shortcut wherever.
To change general settings and behaviors, right click the shimeji icon. (Yours may look different)
This menu will populate. From here you can choose which shimejis are being used, select allowed behaviors, pause all animations, restore thrown windows, and more!
Under Settings, you can have it prompt you to select which ones you want to use every time the program is run, specify which windows they can interact with, change their size, or confine them within a window.
If you right click a shimeji, a new menu will popup. This will allow you to trigger certain behaviors manually, pause the animations for a specific shimeji, call or dismiss, and reveal statistics(especially useful for debugging, if you plan on modifying code).
Features:
Here is a list of special behaviors your new custom shimeji might be able to do!(as listed in product description) Make sure your version of shimeji is up to date if your item includes these. See below for overview, setting options, and file requirements.
Transformation: Allows one shimeji to transform into another. All possible transformations must be present in the img folder with their current names for these shimejis to work. You can disable this action in the choose allowed behaviors menu. 1.0.12 or later
Hotspot: Clicking on a hotspot during certain actions will trigger an animation. The mouse will indicate when you are pointing at the hotspot, and this can’t be disabled through the behaviors menu. 1.0.19 or later
Throwing windows: Allows shimejis to throw your windows off the screen, which you can interrupt mid action by grabbing the window, or restore through the menu. You can disable this in the behaviors menu.
Breeding/cloning: Allows shimejis to duplicate or summon others. You can disable this in the behaviors menu. (is also required for any projectiles of other shimejis to work)
Projectiles: Allows shimejis to throw items, and create other visuals. All projectiles must be present in the img folder with their current names for these shimejis to work. You can disable this action in the behaviors menu (same as Breeding/Cloning). 1.0.13 or later.
Affordances: Allows shimejis to interact with each other by call and response. The behavior is message (not shimeji) specific, so either shimeji can be missing from the img folder without issue. This can’t be disabled in the behaviors menu. 1.0.14 or later.
Transients: Allows shimejis to use projectiles while moving. All projectiles must be present in the img folder with their current names for these shimejis to work. You can disable this action in the behaviors menu independently of Breeding/Cloning. 1.0.18 or later.
Sounds: Certain actions will have sounds. This can be disabled in the behaviors menu. Make sure to leave the sound (and conf) folder contained in your download where it is. 1.0.9 or later.
Variables: Allows shimejis to create, and update, and check counters while being run. Might be used for things like costumes, randomized sprites, health, etc. These are deleted when the program is closed. 1.0.22 or later, does not have Mac support yet.
Shimejis(on my ko-fi) typically have the following actions:
Walking and/or running animations
Falling and landing animations
Dragging sprites
The Set Behavior list can be accessed by right clicking a shimeji, and can include the following:
Chase mouse, Face Mouse/Sit and face mouse
Standing/Sitting/Floating/etc. (idle animations that will run indefinitely until disrupted)
Stand Up/Sit Down/etc. (idle animations with timers, another action will happen after)
Movement and custom one-time animations (see product description)
Jump from bottom of window
Enjoy!
I post shimejis sometimes! @42jellybeans - Tumblr Blog | Tumgag