0.5.0 & 0.5.1 | We're in the Endgame Now!
Note on 0.5.1 patch:
I accidentally shipped version v0.5.0 with a major bug that caused the program to crash when attempting to pick up a selection that included pixels located off the project canvas. This has been addressed in the patch. Sorry for any inconvenience this caused!
Better late than never!
In my last devlog, I announced the tentative full release date for Stipple Effect as June 3, 2024, despite still having another major update to release beforehand. That update is finally here! 0.5.0 ended up being way more ambitious that originally planned, so I hope you all can forgive the tardiness. With it, Stipple Effect gets a MAJOR facelift, picks up a couple of cool new tricks, and most importantly, becomes a lot faster, smoother, and more powerful.
New tools
Script brush
The script brush applies a color script transformation to the pixel that it paints over. Scripts accepted by the script brush must obey the color script contract.
Shape tool
The shape tool plots a shape of a determined pixel width. It can be used to draw rectangles and ellipses. By holding Shift while drawing the bounds of the shape, a rectangle will be snapped to a square and an ellipse will be snapped to a circle.
Optimizations
Selection
Despite the bells and whistles, the crux of this update are the optimizations made to key parts of the execution loop. Selections have been causing significant slowdown since I started Stipple Effect. Do address this, I (1) redesigned my approach to rendering selection overlays from the ground up, and (2) reimplemented the selection logic using boolean[][]
masks to represent the selection instead of Set
s of pixels.
- Optimized selection overlays
- Optimized selection logic
- Optimized search algorithm (Wand and Fill tools)
State management
Before this update, Stipple Effect would check the available JVM (Java Virtual Machine) heap memory and dump the oldest project states if the DUMP_STATES
setting flag was enabled and memory was precariously low.
Now, the program discards the intermediate (granular) projecrt states after five new checkpoint project states. An intermediate state is a project state that does not correspond to a completed action. For example, drawing with the brush tool will produce a range of intermediate states for every time that the target pixel is updated from the beginning of the brush stroke to the end. As long as five actions have not been completed since the end of the brush stroke, the user will be able to iterate back to each target pixel update within the operation. However, this level of precision becomes irrelevant after a few actions are completed, so these states are discarded in the interest of performance.
- Now discards intermediate (granular) project states after five new checkpoint project states
Themes
Themes are now fully realized! Stipple Effect has five alternate themes, each doubling as a distinct visual work environment and a reference to something that carries personal significance to me:
Neon
A dark theme that reflects how much of Stipple Effect I developed at nighttime
Zo
A loud, bold theme that is inspired by Haitian Vodou and my love and admiration for African diasporic religions and traditional West African belief systems
Bunkering
A theme inspired by the environmental crisis brought about by oil pollution in the Niger Delta region of southern Nigeria, where the maternal side of my family comes from
Asylum
A light, greyscale theme that is meant to raise awareness about the importance of mental health
Ramallah
A theme inspired by the Palestinian liberation struggle
Other Changes
Other updates in 0.5.0 include:
- Images can now be pasted onto the canvas from the system clipboard
- Added relative frame durations so some frames can be displayed for more or less time than others
- Added history dialog (Shift + Y) where users can browse all cached project states and revert to any of them
- Polygon Select now has a “close polygon” shortcut (Shift + Left Click)
- Added “snap to target pixel” behaviour (Shift + Enter)
- Stretch operation can now be snapped to the pixel grid by holding Shift
- Added playback controls to preview dialogs
- Added keyboard controls to the preview window’s playback controls
- Changed frame limit from 100 to 300 and layer limit from 100 to 50
- Increased maximum canvas bounds to 1920 x 1080 pixels
- Improved selection transform node manipulation
Changelog
For the full changelog, please refer to the GitHub release.
What’s Next?
Stipple Effect will be officially released (version 1.0.0) in the next couple of days. What does this mean for the program?
This is the last major development version of Stipple Effect, and is also the last major version of the program that will be available for free. Once Stipple Effect is released, new users will have to pay to download the program here on Itch.io. However, for those who do not have the means to pay for the program, it will still be possible to compile the program from source. The repository will accordingly remain open-source, and will provide detailed instructions on how to compile the program.
The release version will also be distributed under a license.
Files
Get Stipple Effect
Stipple Effect
A scriptable pixel art editor to make game assets faster!
Status | Released |
Category | Tool |
Author | Jordan Bunke |
Tags | 2D, Animation, Characters, Icons, image-editor, Pixel Art, PNG, script, software, Sprites |
Languages | English |
Accessibility | High-contrast |
More posts
- 1.2.1 available now + demo builds76 days ago
- Updated demo to v1.2.078 days ago
- 1.2.0 | Major improvements and additions to scripting, preview window, and onion...79 days ago
- 1.1.0 | UI/UX Overhaul!Aug 10, 2024
- Demo available for download!Jul 11, 2024
- v1.0.1 is out now!Jul 11, 2024
- VS Code syntax highlighting extension for Stipple Effect scriptsJun 27, 2024
- 1.0.0 | Official Release!Jun 13, 2024
- 0.4.0 | Scripting is Here!May 21, 2024
Leave a comment
Log in with itch.io to leave a comment.