Windows Droplet - A sprite editor and animated sprite stacking tool, made with GameMaker, for GameMaker

orSQUADstra

Member


Droplet is a drawing software, specifically for animated sprite stacking. It utilizes a UI made from the ground up, aiming to achieve ease of use.
Currently it lacks some functionality, but should already be enough in its current state to be used for making simple pixel art and stacked sprites.
Also, there are context menus. Feel free to right click on things!

















To avoid running into any import/export issues, please uncompress before use!


Mouse wheel - zoom in/out
Right click - move canvas / render view
Right click+Ctrl - Rotate render view (and canvas, in the future)
Left click - Use tool
Left click+Alt - Use tool as an eraser

Shift+Left Click (on layers) - select multiple layers
Middle click (on layers) - Use layer as an overlay

Double left click on a color to bring up the quick color changer

Ctrl+S - Save
Ctrl+Alt+S - Save As

Ctrl+Z - Undo New
Ctrl+Shift+Z - Redo
New
  • Resizing the window just moments after importing an image causes an error. For now, please hit "Ignore" (the amount of error popups will equal to the total number of layers you have.)
  • Changing / deleting the background image will take effect without waiting for user input (Apply / Cancel)
  • Subtractive blend mode doesn't function as of yet.
  • With blur effects on and quite a few layers, the blur effect can start to flicker. For now, if this happens and it bothers you, please turn off this effect under Preferences > Editor > Blur effects
  • Scrollbars are a bit inprecise. This will be fixed in future versions. The issues is not major, it only jumps up a couple pixels when the user lets go of it.
  • The rest of the tools will be finished, and the current ones polished. With time.
  • A much more precise color picker. The current one is obviously not the best. For now, if you can, please use the "..." button on the palette and select "Import palette" - the imported image should be 1px tall and should have one color per pixel.
  • Filling out the rest of the tabs under Preferences
  • Writing a more optimized blur shader. The current one used is from the Free Shader Pack.
  • A shortcut and/or button to reset the position of the canvas.
  • The preferences will be saved. Currently they reset every time you open the program.
  • Speaking of preferences, user defined themes will also be coming!
 
Last edited:
I tried it out very briefly, lot's of potential, and really liked the smooth UI! Curious to see this develop further :)

However there were a few features I missed (e.g. undo, showing lower layers while drawing on an upper layer, etc).

With my very limited trial I collected the following potential improvements:
- It is not immediately obvious that the droplet actually accesses the menu. I'd suggest adding a proper menu bar.
- Framerate seems to be affected from time to time (at least I got the popup warning me about it a few times).
- It takes way too long to generate the save file (even though it was only 288 kb big). A file that big is expected to be pretty much instant to generate, so you might want to improve user experience on save (probably due to the fact the file format is pure text with what seems to be each pixel output as a number. I would highly recommend a binary file both for smaller save files and speed - I can imagine reading the data also will take a bit longer than expected).
- I closed the initial popup on launch then tried to Open the previously created file, however when I clicked Open a warning that a memory leak was detected popped up. Also, not sure if Open is implemented but I failed to load any previously created file.

EDIT: I forgot to mention but I right-clicked around and didn't see any context menus :(
 
Last edited:

orSQUADstra

Member
I tried it out very briefly, lot's of potential, and really liked the smooth UI! Curious to see this develop further :)

However there were a few features I missed (e.g. undo, showing lower layers while drawing on an upper layer, etc).

With my very limited trial I collected the following potential improvements:
- It is not immediately obvious that the droplet actually accesses the menu. I'd suggest adding a proper menu bar.
- Framerate seems to be affected from time to time (at least I got the popup warning me about it a few times).
- It takes way too long to generate the save file (even though it was only 288 kb big). A file that big is expected to be pretty much instant to generate, so you might want to improve user experience on save.
- I closed the initial popup on launch then tried to Open the previously created file, however when I clicked Open a warning that a memory leak was detected popped up. Also, not sure if Open is implemented but I failed to load any previously created file.
Thank you for your feedback!
  • Undos are a planned feature (no drawing software is complete without it after all!)
  • I think my fix for the menu button not being immediately obvious (at least for now) would be that whenever the program detects that it is ran the first time, a message box pointing at it would come up and only disappear when the user clicks on the menu button.
  • I forgot to mention that you can actually overlay any layer, you have to press the middle click on said layer to toggle that. I should add that to the basic controls as well.
  • The savefiles do take way too long to generate right now, I'm working on making something that is a lot more optimized.
  • The Open option doesn't do anything yet. You can generate a save, but can't open it right now. You can however export them to a sprite strip, and to open that later, you can use New > Import
  • The memory leak popup basically shows whenever you resize or minimize the window. So, practically every time surfaces would get destroyed. It's not an important popup, you can ignore it.
  • Framerate issues would most likely only come up when in render view (set back the quality from 7 to 6 or 5, you won't really notice a difference unless you zoom in a lot). If that popup appears in the editor, turn off the blur effect to see if that changes anything.
Thank you again for your time, and have a great day!
 
Ahh I'll try it again tomorrow with your suggestions! I just wanted to point out that I edited my previous post in between, just in case you missed it.

Have a great day yourself!
 

orSQUADstra

Member
Ahh I'll try it again tomorrow with your suggestions! I just wanted to point out that I edited my previous post in between, just in case you missed it.

Have a great day yourself!
Ah, I didn't catch the edit. Right clicking should bring up context menus when done on frames, on colors on the palette, and when clicking layers. (You can also duplicate / delete multiple layers by shift+left clicking to multi select)
 
Ah, I didn't catch the edit. Right clicking should bring up context menus when done on frames, on colors on the palette, and when clicking layers. (You can also duplicate / delete multiple layers by shift+left clicking to multi select)
Thanks! I actually remembered afterwards that I didn't try to right-click layers but I was pretty sure I tried the colors... 🤔 Maybe I tried something else.
 
Wow this looks really cool!

Is the purpose mainly for rendering and exporting images or is there a way to use the 'models' (is that the right word for these?) created in this software in a game of our own?
 

orSQUADstra

Member
Fantastic job so far! The UI is beautiful and really easy to work with, look forward to seeing its progress 😁
Thank you!

Wow this looks really cool!

Is the purpose mainly for rendering and exporting images or is there a way to use the 'models' (is that the right word for these?) created in this software in a game of our own?
You would export your stacked sprite as a sprite strip, which you can then import in GameMaker Studio to use in your game. I might actually go ahead and include a snipped of code in the export options to paste into your game (for anyone who haven't used sprite stacking before). Alternatively, you will also be able to simply render a flat image of your sprite and use that.
 

orSQUADstra

Member

But isn't this drawn in 3D? Or is it drawing the same sprite repeatedly at each y position to fake depth?
The latter, while also adding a gradient to the sides and top layers to get a better feeling of depth. Within the next couple of releaseses there will be quite a lot more control over this as it will allow to select from a range of predefined gradients, as well as custom gradients to use for this.

Here's an example of having the top gradient going from yellow to blue, while the side gradient starting from green, ending up in red. Doesn't look that nice, but it shows the idea well enough. This will also be extended with custom saturations and additive effects as well, for the sake of completeness.


Also, the quality slider is there for some "optimization". At quality 7, a layer will be drawn every single pixel (so if you zoom in, it won't be all that fast). The lower the quality, the less layers draw between two layers. I'd say the optimal setting would be 5, as you really won't notice any difference without zooming in too much, and even if you're viewing in it close up, it will still look good.
 
Last edited:

orSQUADstra

Member
Here's a little preview to one of the upcoming features in the next Experimental release!

The plans for this version would be:
  • Layer controls (which will be located in the currently empty space when the "..." button is toggled on at the bottom right corner)
  • Render options window with side and top gradient options
  • Multi-layer drawing
  • General bug-fixing
Undos will be added as soon as the new GameMaker Studio 2 version is out of Beta, as that feature will utilize 3d arrays.

I'm open for any suggestions!
 
Might want to give a UI scaling feature, very hard to use in 4k!
Also bucket filling a 128x128 caused a infinite hang for me or at least longer than a few minutes.

Really like where the UI is going though!
 

orSQUADstra

Member
This looks more like a voxel-based drawing tool. Which, regardless, is still cool.
The preview does look like it, but in core it's really just a simple sprite editor that then stacks them to create that 3D effect

Might want to give a UI scaling feature, very hard to use in 4k!
Fair enough, I haven't thought of that. Will do!

Also bucket filling a 128x128 caused a infinite hang for me or at least longer than a few minutes.
I'm aware of that, I'll try my best to optimize the flood fill in the future


Thanks for the feedback!
 

orSQUADstra

Member

BETA 0.2.2 Stable released

Changelog
  • Color picker tool added (Note: using on transparent / translucent pixel will result in an incorrect color)​
  • Don't show this again button added to low framerate warning message​
  • Don't show this again button will now hide these messages from appearing.​
  • Show low framerate and memory leak warnings added to Menu > Preferences > General
  • Menu > Preferences > Editor rearranged​
  • Rounded UI option added to Menu > Preferences > Editor​
  • Menu > Preferences > Keybinds will now save changes, and these keybinds can now be used to select these tools​
  • Tab and Shift + Tab will now cycle through the color palette​


 

orSQUADstra

Member
There is a problem, I created a new image with a resolution of 480 x 270 but I can only draw in a small area:
Edit: Nice User Interface

View attachment 30621
Ah, I forgot about that issue.
When making a new project, the temporary surface doesn't reset. Should be an easy fix, this won't be a problem in the next version.
For the time being, please just resize the window for that surface to reset and you will be able to draw on the entire canvas. Sorry about that!

I'll get to it and post a new update tomorrow with some fixes
 
Last edited:

Gizmo199

Member
Everytime I create a new layer I get the background 'transparent' texture in the frame. I have to use the erase tool to get rid of it to have a fully clear layer.
 

orSQUADstra

Member
There is a problem, I created a new image with a resolution of 480 x 270 but I can only draw in a small area:
Edit: Nice User Interface

View attachment 30621
Everytime I create a new layer I get the background 'transparent' texture in the frame. I have to use the erase tool to get rid of it to have a fully clear layer.
Both issues have been looked into and are now fixed. In the meantime I also found a small bug (where if you open all of the panels on the layer panel, the unscrollable region only gets shrinked by the height of one of these) - will also be fixed, the layer options tab will also see some features added to it, if any new bugs are found I'll try my best to fix those ones as well. Expect another update soon!
 

orSQUADstra

Member


BETA 0.2.3 Stable released

Changelog
  • Fixed incorrect drawing region on canvas upon creating a new project
  • Fixed the occasional filled layer when adding a new layer
  • Added RGB inputs to the color picker
  • The Advanced button will now expand/collapse the color picker
  • Added a new home screen
  • Added tooltip to the menu
  • Added sprite strip export for full project
  • Fixed scrolling region bug when opening all panels on the Layers panel
  • Changed default palette



 
Last edited:

orSQUADstra

Member




BETA 0.2.4 Stable released

Changelog

  • Added undos and redos! (CTRL+Z and CTRL+SHIFT+Z)
  • Fixed a bug that caused the Blur background option in render view to not actually blur the background
  • Small UI changes and improvements




 
Last edited:

M. Idrees

Member
One Thing I would Say That

- Whether I Am Using Droplet Or Not It Takes 25% To 30% Of My CPU Speed Compare To Photoshop No Process If I Am Not Using.
 
Last edited:

kABUSE

Member
Good job!

You should probably add these hotkeys:
Hold shift while using pencil to draw straight line (maybe hold shift + CTRL to draw straight line in 45° steps)
Hold alt for eyedropper tool (switch back to last tool when released)

On my machine the canvas is not centered if the window is maximized.

I find it sort of weird that the background tiles are always the same size no matter what zoom level is used. I would probably prefer 64x64 tiles with active zooming when creating a 64x64 asset.
 

Attachments

orSQUADstra

Member
One Thing I would Say That

- Whether I Am Using Droplet Or Not It Takes 25% To 30% Of My CPU Speed Compare To Photoshop No Process If I Am Not Using.
Well, yes, further optimization is needed of course.

Good job!

You should probably add these hotkeys:
Hold shift while using pencil to draw straight line (maybe hold shift + CTRL to draw straight line in 45° steps)
Hold alt for eyedropper tool (switch back to last tool when released)

On my machine the canvas is not centered if the window is maximized.

I find it sort of weird that the background tiles are always the same size no matter what zoom level is used. I would probably prefer 64x64 tiles with active zooming when creating a 64x64 asset.
The transparency background doesn't really have to match the size of the pixels, and them being the same size is not really rare, but I can add an option to have a custom size
And fair enough, the canvas doesn't auto-center, but I'll have a small control panel somewhere along the bottom for quick settings for the canvas (1:1 size, centering, rotating, etc)


Thanks for the feedback!
 
Top