Devlogs
v0.5.0 — What a massive update!
WhimsyA browser game engine made in HTML5
This update brings us closer to Whimsy HD & Ultra, and brings you tons of creative tools for your stories!
Overview
Desktop apps
You can now grab a fully offline and standalone copy of Whimsy on your flash drive! It has a couple more heavy features compared to the web version: Gif recording in the Play tab, saving screenshots of scenarios, and Vinyls support, as well as better project management.
More drawing tools, Hero costumes & rotating Actors
Heroes now can switch their appearance with Costumes and corresponding Scenario blocks. This can be used to visualize different playable characters in your game, or to change the Hero’s appearance to match the narrative.
Additionally, both Hero and Actors can now rotate towards their movement, and yes, Actors can now move, too!
All image editors received new drawing tools you would find in other apps, and they are very useful for bigger tiles — especially the game’s banner! Enable and draw it in your story settings.
More Scenario features
In overall, Scenarios are now more well-suited for building complex, sprawling scripts: zooming out will utilize a more performant & simpler UI, notes show their contents as big bubbles, and loops and just backwards-facing edges will be drawn more legibly over (or under) other blocks.
More events let your Actors react to more than just hero interactions, and act on their own behalf. With the new Move Actor block (that has pathfinding and other cool movement options!), you can truly make the Actors come to life!
Vinyls!
A new tab is now available in desktop builds, where you can add plain music files to your project. These Vinyls can be played through Scenarios, or assigned to Stages to play automatically:
I may or may not add support to add Vinyls in web version in the future. I’m still thinking how to properly implement them there.
Enjoy!
If you have any problems, reach out to me in the comments or on the Discord server.
Full changelog
✨ New features
- Actor and Hero rotation during movement
- Add a news button for changelog and other updates
- Asset browser: Add a searchbox
- Debugger: Add a button to record a GIF of the current stage (Desktop-only feature, at least for now)
- Hero skins
- Scenarios: Big update!
- New events — When hero moves, Every few ticks, and When stage opens
- Signal events
- Add a “Random logical” block
- Random numbers
- Add blocks to play vinyls and stop all music, move these blocks with the existing “Play Sound Cue” block into the new “Audio” category
- Programmatic “Move Hero to” node
- Get Stage ID
- Get distance to the Hero
- Compare strings
- Move actor
- Sleep
- Settings tab & Player: Draw a custom game banner for your game
- Tile editor: Add “fill” and “clear” buttons
- Tile editor: More editing tools for larger tiles (banners and HD tiles)
- Vinyls: New asset type for importing music files into your project. You can add any audio track and set it in a Stage. Note: right now Vinyls can be created only on desktop versions of Whimsy.
⚡ Improvements
- Actors panel: Remember which tab (Appearance or Scenario) was opened last
- Add an error when one tries to open a project with an older Whimsy version than the project was created with. Add translation strings to project loading errors.
- Add links to Telegram channel
- Automatically fix invalid numeric values on input. Prevents invalid input in Scenarios’ Math blocks, and in variable-related tools.
- Compress and decompress tiles and stages’ layers when saving project data, with 30% size reduction seen in The Sleeper in the Gulf example. Note: This applies only to in-browser saves to leave manual saves open to external tooling.
- Debugger and Script editor: Uniformly styled right panel toggles that don’t magically rotate on WebKitGTK-based browsers
- Debugger: Show a filler in the Tools pane with helpful information about variables if none were created yet
- Exporter & Player: Games’ stages and tiles will now use a simple compression algorithm that will more efficiently store sparse or repetitive series of data. Exported games will now weight a little less.
- Font selector dropdown: Custom design with cross-platform, uniform display, and a full-screen layout for touch devices.
- Improve compatibility with WebKitGTK. Fixes transparent rainbow text and removes the ability to select text in Whimsy’s GUI on WebKitGTK browsers
- Improve styling of main app tabs when using keyboard for navigation
- Improve the “heart” icon so it’s not that ugly
- Make PWA status tag a dynamic import
- Modal windows: Hitting a “back” button will now close the modal if a modal itself allows it (through browser buttons, keyboard, mouse, or mobile “back” button)
- More customized styles for dropdowns. Fixes weird styling of dropdown on WebKitGTK-browsers.
- Performance improvements for Scenarios’ data de/serializarion
- Player: Better handling of the “Exit” command for itch embeds and iframes in general
- Player: Set text size based on canvas height, which will make the size uniform across all screens. Also improve the layout of the player in overall.
- Redraw the “open” icon with a simpler folder design, to be more distinguishable from the export button
- Scenario editor: Better display for backwards-facing edges — for example, when making cycles in scenarios
- Scenario editor: Disable block shadows on large scenarios for better drawing performance
- Scenario editor: Make text editors static when zoomed out to prevent accidental clicking into them when rearranging blocks
- Scenario editor: Minimal zoom is now lower (min. 10% zoom)
- Scenario editor: Multiple outputs’ inputs used in the “Ask for a choice” block no longer drag the block when selecting text
- Scenario editor: Simplified render of blocks when zoomed out
- Scenarios: Add translation keys to the “Note” block
- Scenarios: Choice names in the “Give a choice” block now support string templates
- Security: Disallow embedding the web version of Whimsy on other sites
- Text editor: The size of the text is more uniform across various fonts
- Tile editor: Form a continuous line when drawing quickly on a fine grid
- Update Russian translation
🐞 Bug fixes
- Actors panel: Fix actors being called props when creating several ones in a row
- Fix white text on drawer toggles on white theme
- IDE: Fix shadows at the start and the end of the tabs strip interfering with pointer clicks
- Player: Fix buttons being unreadable when exported unless hovered
- Player: Fix inconsistent border rounding
- Player: Prevent other UI elements from overlapping possible error messages
- PWA: Disable the PWA indicator on itch.io pages as PWA is almost unusable there, and thus mostly misleading
- Renderer: Fix hero disappearing when an actor changes or moves on top of them
- Scenario editor: Fix issues with sticking blocks after a dropdow option was selected
- Scenarios: Prevent block dragging when you try to select text in a Note block
- Sound Cue editor: Add missing translation keys
- Stage display: Fix text labels not being visible on exits in WebKitGTK-based browsers
- Switching a color palette will now properly update all tiles and scenes
- Translations: Fix Russian translation for PWA worker
Files
Whimsy (web build) 895 kB
Version 0.5.0
Whimsy for Windows 1.7 MB
Version 0.5.0
Whimsy for Linux arm64 2.2 MB
Version 0.5.0
Whimsy for Linux armhf 2.1 MB
Version 0.5.0
Whimsy for Linux x64 2.2 MB
Version 0.5.0
Whimsy for macOS (universal) 2.1 MB
Version 0.5.0