This update adds a clickable button to the puzzle screen that toggles on or off the option to point out rows and columns that can be worked on. It also adds equivalent keyboard and gamepad inputs to do the same, with the keyboard input defaulting to the quote key and the gamepad input unassigned by default, since the other inputs are used already. The update also fixes an issue with puzzle sizing and placement that would occur if extra row and column info was enabled and the resolution was set to an ultra-tall one, meaning absolutely no one encountered the problem anyway, but whatever.
Added the ability to change the location of the "Nonozle User Puzzles" and "Nonozle User Themes" folders, which by default are created in the Documents directory on Windows and in the home directory on Linux. To do this, create a .txt file called "export_location.txt" in the base save file folder ("C:\Users\[user]\AppData\Local\Nonozle" on Windows, "~/.local/share/Nonozle" on Linux), not any sub-directories of it. Have the text file only contain the path to the new directory. If the specified directory doesn't exist, then the text file will be ignored. This won't move or delete the already existing folders and their files, if any. You'll have to do that manually.
The very first puzzle (A-1) in the Food and Drink DLC puzzle pack has been changed to make it look more like the intended subject of the puzzle. If you already completed the puzzle, it will still be shown as completed, but if the puzzle was mid-progress, it'll likely have to be redone (my apologies), though the change to the puzzle may not take effect until Steam is restarted. Edit: Also, the [spoiler]Eggs[/spoiler] 15x15 puzzle has been redone and made much harder (from 14 pass counts to 36 pass counts). The 15x15 puzzles in the Food and Drink pack have been rearranged accordingly.
Looking for more puzzles to play? This new DLC combo pack contains 100 new puzzles, ranging in size from 15x15 to 30x30. There are two packs included: a food and drink themed one and an unthemed (miscellaneous) one. Each has 50 puzzles. Fair warning, the puzzles should overall be harder than the ones included in the original puzzle pack! https://store.steampowered.com/app/3077890/Nonozle__Food_and_Drink__Miscellaneous_Puzzle_Packs/
Nonozle's color theme system and theme editor have been totally reworked. Prior to this update, the game had three built-in themes and a hard limit of five custom themes that couldn't be renamed or shared. With 3.02.00, themes are now like puzzle packs: you can rename them, sign and export them, and add as many as you want.* The five existing custom themes will be imported into the new system on first startup. But the theme you had selected as your current theme prior to 3.02.00 will not be recalled because the method of saving and recalling which theme is the current one has been changed.
Twelve new included themes
This update includes twelve new built-in themes. Click below to see previews of them. [expand type=details] Forest Green
Deep Sea Blue
Purple
Ice Blue
Orange
Light Blue
Computer Terminal
Green-blue
Rose
Black and White
White and Black
[/expand] Additionally, the three original built-in themes (Light, Grey, and Dark) are still included but have been somewhat reworked.
Primary color differences
Prior to this update, you could choose from multiple different primary colors for the built-in themes Light, Grey, and Dark. But because of how the theme system has been reimagined, this is no longer the case. Each theme has just one primary color associated with it, and directly changing the primary color of a built-in theme is not possible. You can copy the theme to create your own version of it and thus change the primary color that way, but you would also likely want to change a few of the other colors that are often related to the primary color, such as the puzzle select button background and hint highlight colors, because those are now settable color types of their own instead of directly using and modifying the primary color. So the process is a bit more involved now.
Theme select
Instead of using a MultiOptionSelector to choose the current theme, there's a new screen (with a layout like that of the user puzzle pack lists) where you can scroll through the list of themes. From here you can pick the current theme, create a new theme or copy an existing theme, edit your own themes, and delete themes (except built-in ones). The items in the list use their respective theme's color instead of the current theme's colors as a quick preview, and all colors in the theme are shown in a row of color swatches.
Theme editor
The theme editor has been completely reworked. Instead of showing a list of the colors, color types are accessed by using a drop list. A preview of how the current theme looks is shown, and the screen being shown in the preview automatically changes to make sure that the currently selected color type is visible. You can see in real time how every color looks as you change it.
The color selector has been changed; instead of simply putting the red channel on the slider, the green channel on the x axis, and the blue channel on the y axis, the selector is now based on hue (slider), saturation (y axis), and value (x axis). This change makes finding and picking colors much more intuitive. Additionally, the granularity has been greatly increased, with 256 units along the x and y axis instead of 25, and 360 units along the hue slider, giving much more precise control over the colors you can pick. Because of this, directional movement with gamepad or keyboard on the color picker now has acceleration added to it. The ability to copy and paste colors remains as before, including the ability to do so between themes.
Sharing themes
Custom themes can be exported and shared by directly sending the theme file (.THM) to someone else, who can then drop the theme into their Documents/Nonozle User Themes folder to have access to the theme in-game. Despite originally planning on it, I decided not to include Workshop theme sharing. I don't think the game's Workshop sees enough use for the extra effort to be worth it. But I'm willing to consider changing my mind if, like, more than one person requests it in the Steam forum. No promises though.
New color types, new color assignments
Several new color types have been added, and the colors of several elements in the game have been reassigned to different color types. The list of color types has also been reordered. Click below to learn more. [expand type=details]
New color types
- "Button and credits background", which buttons and the credits screen now use as their background color instead of just using the "Background" type
- "Dots" color type, which page dots now use instead of the "Text" type they used before
- "Hint highlight" color type, which hint highlights now use instead of simply using the primary color with a lower opacity
- Removed "Hint highlight opacity" as an option and concept in themes
- "Puzzle select button background" color type, which puzzle select buttons now use instead of using a variant of the primary color
- As a result, puzzle select buttons now no longer change color slightly when selected
- Added "Selected square border" color type, which the selected square in a puzzle is now outlined with when the "Outline/border color" option under "Puzzle appearance" is set to "Themed"
Renamed color types
- Dropped "color" from the end of all color types
- "Main color" to "Primary"
- "Faded text color" to "Faded hint" to reflect its new singular purpose
- "Highlighted hint fade color" to "Faded hint (highlighted)"
- "Arrow and X button color" to "Arrow, X button, slider handle" to reflect its new use
- "Input color" to "Highlighted text" to reflect its varied uses
- "Five-line alt. color 1" to "Five-line alternate 1"
- "Five-line alt. color 2" to "Five-line alternate 2"
Color type reassignments
- The puzzle select button checkmark now uses "Primary" instead of "Puzzle title text"
- The slider UI element now uses "Border" for the bar and "Arrow, X button, slider handle" for the handle instead of using hard-coded grey colors that didn't change with the theme
- The outline around actionable row/column hints now uses "Text" instead of "Faded hint" for greater visibility
- The background color behind UI elements in the main menu now uses "Puzzle grid background" instead of "Background"
- "A game by HopefulToad" and the version number text now use the primary color instead of "Text"
- The icon box on the title screen now uses "Puzzle grid" instead of "Border", which is how it should have been in the first place
- The toggle square on toggle buttons now uses "Text" instead of "Primary" for maximum visibility regardless of the theme ("Text" will always be highly visible against "Button background" in a usable theme, but "Primary" might not be)
- Additionally, the toggle no longer specifically changes color when it's disabled (other than the overall fade applied to the entire button)
- Checkmarks and signatures in the puzzle pack select screen and URLs in the credits now use "Highlighted text" (previously "Input") instead of the primary color to ensure visibility
- Disabled buttons now fade using a partially transparent "Background" rectangle overlaid over them rather than using "Faded hint"
- Percentage bar colors and appearance have been reworked; see "Other miscellaneous changes" below
New UI element: DropList
I created a new UI element specifically for the new theme editor: the DropList. Like the MultiOptionSelector (button with arrows on either side), its purpose is to pick one particular option among several. But instead of having to scroll through the options one at a time without being able to see them all at once, the DropList does exactly what it sounds like. When you click it, a drop-down (or up) list appears showing all the options at once, and you can then pick one.
Many of the options that used to be contained within MultiOptionSelectors are now in DropLists. Click below to see the list. [expand type=details] Square overwrite behavior Border/outline color Window mode Horizontal resolution Vertical resolution Font Filling animation Removing animation Puzzle solved animation Title/menu track [/expand] The ones that have been left as MultiOptionSelectors are either because there's only two options for the setting or because the options are sequential in nature.
Puzzle layout changes
I reworked puzzle grid sizing and placement. Again. This should be the last time, though. The method of determining how to best fill up the screen space with the grid has been improved and greatly simplified. Specifics are somewhat out of scope for these patch notes, but if you're curious, drop a thread on the forum asking about it and I'll do my best to explain. The "Puzzle incorrect" warning label's location has been moved to directly below the "Menu" button instead of directly below the puzzle grid, freeing up more vertical space for the puzzle. A new setting has been added that changes the placement of the puzzle grid on the screen. The setting can be found at Settings > Puzzle > Puzzle appearance > Puzzle centering style. There are three options. The first, Grid, tries to place the puzzle grid itself as much in the center of the screen as it can, ignoring hints except to the extent that it won't allow the hints to be offscreen or overlap other elements. The second, Hints and grid, considers both hints and the grid as one whole to be centered as much as possible. Imagine a rectangle drawn around and encompassing all the hints plus the grid. This rectangle is what is centered (as much as it can be). This is the type of centering the game did prior to adding options. The third, Golden mean, places the grid at a point exactly between the two other options as a sort of compromise. I've found that, to my eye, this one looks the best, and it is the default now. The puzzle editor grid's positioning and placement has similarly been simplified and improved. It is now always centered horizontally, whereas before this update it could sometimes be horizontally off-center at some aspect ratios or resolutions. The above-mentioned option doesn't affect it as there are no hints to display in the editor.
Bug fixes
Click below for the list: [expand type=details]
- Fixed rumble bugs
- Fixed UI-movement type rumble occurring in puzzle pack selection, pack editor, and virtual keyboard screens even when it was toggled off.
- Removed an extra rumble on puzzle restart that shouldn't have been there
- Added back in the big rumble on puzzle solve which was mistakenly missing
- Fixed a minor visual bug with the fade animation in tutorial puzzles that became more noticeable when I was trying out new themes.
- Fixed a bug where the puzzle title shown in the solved puzzle screen would not update when the puzzle was renamed (until the game was restarted)
- Fixed bugs where UI reconstruction and primary color changes were not propagating to exported (other user) puzzle packs that weren't currently loaded into the reusable puzzle select scenario
- Fixed a bug with the puzzle solved animation that was only visible when the background and puzzle grid background colors were different
- Fixed font index and scaling settings not changing when all settings are reset to their defaults
- Fixed a bug where having empty inputs in multiple control categories (universal controls + one or more others) would be considered a conflict due to empty being considered the same input as empty
- Fixed an issue where elements of the puzzle solved screen would pop into view instead of fading into view when the puzzle solved ripple was disabled
- Fixed a resolution change being triggered twice on startup when it didn't need to be
- Fixed tutorial puzzle hint highlights being drawn over the puzzle grid instead of behind it
Other miscellaneous changes
- "Extra 2," another puzzle track disabled by default, has been added into the game. It was a track I composed at the same time as the others but didn't initially include with the game.
- The game now remembers the most recent puzzle you had selected within a puzzle select scenario in-between sessions. For instance, if puzzle B-45 was the last selected puzzle in the original puzzle pack at the time you close the game, when you start the game again and go to the original puzzle pack, it will start with that puzzle selected still. The only exception to this is with puzzle packs by other users due to their dynamic nature. They will instead automatically navigate to the earliest as-yet-unsolved puzzle.
- The UI of the puzzle validation screen has been simplified. Instead of two separate buttons ("Skip solve animation" and "OK") where only one would be enabled at a time, there's now just one button that changes its text and function as neededit starts as "Skip solve animation" and changes to "OK" once you click it or once the animation has played out. Also, the back input now skips the solve animation and exits the validation screen, allowing you to intuitively mash either the select button or the back button when you're impatiently repeatedly tweaking a puzzle trying to get it to be solvable.
- A certain puzzle in the original puzzle pack has been renamed to "Ice Pops" because the prior name is actually trademarked and I'm scrupulous.
- Once the DLC comes out, "Ice Pops" will have the honor of being the only puzzle title to be used twice among any of the puzzles I've published, though the two puzzles are not identical.
- Because the puzzle grid can now be closer to the bottom and right edges of the window/screen than before, it transpired that in certain cases the counting label would be partially off-screen. To rectify this, the counting label is now moved to the left side of the selected square when at the right edge of the puzzle and moved to the top side of the selected square when at the bottom of the puzzle.
- As mentioned under "New color types, new color assignments" above, a new option has been added to the "Border/outlined color" setting: "Themed." With this option, the selected square (and optional row/column outlines) will use the "Selected square border" color from the current theme. The other five options for that setting still do what they did before, but "Themed" is the new default and recommended option.
- The percentage bars representing music and sound effects volume and gamepad rumble intensity have been reworked visually. Previously, with the button inflation animation disabled, it was impossible to tell they were the currently selected button when full. To fix this, a buffer was added that surrounds the bar, so you can see the color of that buffer change when the button is selected versus when it's not. Mouse input involving the bar has thus been modified to account for the buffer. Additionally, the bar itself is now uses the "Selection" color type rather than a partially transparent "Primary." This addresses visibility issues with some of the new themes that weren't apparent with the original three built-in themes.
- All MultiOptionSelectors that contain only two options have been made non-wrapping for consistency. In fact, there are no longer any MultiOptionSelectors that wrap, because the only ones that used to wrap were two-option ones.
- All references to "visual theme" have been changed to "color theme" instead.
- Tutorial select buttons now ignore the puzzle transparency and solved puzzle border settings, displaying with the former and without the latter no matter what. It didn't really make sense to apply those settings to them in the first place.
- The default puzzle solved animation option has been changed to "Shuffle."
- The hint highlight on single-row tutorial puzzle examples has been removed as there's not much point in highlighting which row is being modified when there's only one row.
- The opacity of tutorial puzzle row/column highlights has been increased.
- The "Only aggregate ones" option is now disabled when hint aggregation itself is disabled.
- The positions of the music and sound effects volume bars have been swapped.
- The slider handle size is no longer determined by the number of units the slider has. Also, how the position of the slider handle is determined, including when using the mouse, has been modified.
- The number of disparate progress sections in the game's initial loading screen has been reduced to ten.
DLC puzzles out soon!
I had 100 new puzzles I was planning to release in a DLC pack to coincide with this update. Unfortunately, it didn't occur to me that the DLC page would have to be reviewed by Valve before it could be made public, so it'll have to wait a bit. [hr][/hr] *Admittedly, I haven't tested how well the game handles having a thousand themes, but why would you want that many anyway?
This update gives you greater control over the range of solver pass counts you want when generating a puzzle.
For any given line-solvable puzzle, the solver takes a number of passes before completing the puzzle. This number is useful as a rough approximation of difficulty.
Before this update, when generating a random puzzle, you would pick a percentile range that you wanted the random puzzle to fall within. Now you can specify the exact pass count range you want.
As shown in the screenshot above, you're presented with a graph representing the distribution of solvable puzzles by pass count for the selected puzzle size. You can select any range on the graph, and the readout will display the percentile range and what percentage of puzzles fall within the range you've selected. Keep in mind, the smaller the percentage of puzzles within the range, the longer it'll likely take to generate a puzzle within that range. If you select only the tail end where the outliers are, where only .0001% percent of puzzles fall, for larger puzzle sizes generating the puzzle could take days or even months!
You also have the option of skipping selecting a pass count range and just going with the first solvable puzzle that's generated, regardless of its pass count. This is also the only option for 30x30 puzzles since generating a solvable 30x30 takes so long.
To get the distribution of pass counts, I generated 10,000,000 solvable puzzles of each size, except for 25x25, which I only generated 1,000,000 for, and 30x30, which I didn't bother with because it would have taken months of 100% CPU usage to get a decent sample size. Prior to this update, the percentile ranges were based on smaller sample sizes, so they should be more accurate now.
Also, when a random puzzle is generated, it now tells you its exact pass count and percentile range, and you have the option of seeing the same information for every puzzle in the puzzle select screens if you want.
A full list of changes follows.
- Increased the pass count sample size for more accurate data. Prior to the update, percentile ranges were based on sample sizes of 1,000,000 (100,000 for 25x25). They have now been increased to ten times that size.
- Changed how the pass count data mentioned above is accessed by the game. Previously, I only stored the pass counts at specific percentile intervals, meaning that percentile ranges were limited in their accuracy and only pre-determined percentile ranges could be used when generating a puzzle. But now all of the statistical data is included, so percentile ranges that are shown are much more accurate and narrow, and any arbitrary range can be selected when generating a puzzle.
- Added a screen for selecting a specific pass count range prior to generating a random puzzle. The screen shows a graph with the distribution of pass counts for the given puzzle size, and by clicking/pressing and dragging on the graph, you can select the range you want. It will also tell you what percentage of random puzzles fall within the range you selected and the percentile values of the range. Additionally, the pass count range for each size is saved so that, when you exit the game and start it again, the same range will be selected as you left it.
- Changed the thread count to be saved so that it doesn't reset each time you start the game.
- When generating a random puzzle, the distribution data is now shown behind the live bar graph, so if you select a range where a very small percentage of puzzles is found in it, you can watch as the live graph gradually conforms to the curve of the pre-calculated data.
- The pass count (and percentile range for puzzles smaller than 30x30) of the randomly generated puzzle you'll play is shown once it's generated.
- By enabling the option at Settings > Appearance > Other appearance settings > Show pass count data in puzzle select, you can see a text readout telling you the pass count and percentile range, if applicable, of the currently selected puzzle in any of the puzzle select screens. If you have a lot of saved random puzzles, the initial startup after this update might take a while, because I neglected to save the pass count of saved puzzles prior to this update, so they have to be recalculated the first time you start the game after this update.
- The warning about discarding the currently paused random puzzle has been moved and reworded.
- Added a button to generate a random puzzle without specifying a pass count range, if you're not particular. This is the only option for 30x30 puzzles.
- Changed the title of the random generation window so that it lists the pass count range instead of the percentile range.
- Moved the label showing the count of the tallest bar to the right edge of the bar graph so that it doesn't overlap the bars.
- Fixed system memory that is no longer in use after generating a puzzle not being freed up.
- Fixed a crash that could occur if you have a 64-or-more-thread processor (look at you!) and selected more than 31 threads when generating a random puzzle. Everyone is now limited to 31 threads maximum, and less if your CPU has less threads.
- Fixed the "check if correct" option giving erroneous reports after using undo.
- Fixed random puzzle generation window's title not having the correct font size.
- Fixed a few issues with transition animations.
- Reworded some info pop-up text and probably some other things.
Fixed a crash that could occur when a puzzle is filled in incorrectly when using the original hint fading method. This bug was introduced in 3.00.00 but escaped my notice.
This patch adds a new button on the puzzle screen that you can click that will bring up a dialog telling you whether or not the puzzle as it is currently filled in is correct. It also adds a keyboard and gamepad input to do the same. This saves time if you just want a quick sanity check but normally keep the option to warn if the puzzle is incorrect turned off.
This is a big update, with many changes big and small. The headlining feature of the update is Workshop integration, allowing you to upload and share puzzles and packs of puzzles with other Steam users. Other changes include, but are not limited to, the addition of optional hint aggregation, the overhauling of the puzzle editor, and the retconning of all built-in puzzles to be line solvable. With such a big update, there's bound to be a few bugs that I missed, so please report any that you find, or any crashes you experience, on the game's forum so that I can fix them as quickly as I can. Thanks! An extensive explanation of changes that have been made follows.
User puzzles
Puzzle titles
You can now set and change the title of user puzzles. Previously, a user puzzle was simply titled with a time stamp and could not be changed.
Exporting puzzles
Puzzles can now be exported to a .PZL file that can be shared with other users. Puzzles are exported to Documents/Nonozle User Puzzles/Exported. Other players should copy your exported puzzle to Documents/Nonozle User Puzzles. When you export a puzzle, you sign it with a username of your choosing (ASCII characters only due to in-game font limitations). The exported puzzle's file name will contain your signature, and other players who you give the puzzle to will see the signature on the puzzle select button and after solving the puzzle. The signature is saved for later use so that you don't have to retype it each time, but it can be changed later if desired. You can choose to either show the puzzle title from the startit will be visible in the file name and in puzzle selector hide it. If you hide it, a hexadecimal number (your puzzle's hash code) will be used to identify the puzzle in its stead until it is solved.
Separation of puzzles by you from puzzles by others
Previously, all user puzzles were stored in the same location and puzzle select screen, with no distinction between puzzles you created and puzzles others created. This has been rectified, so that now puzzles others have created and shared with you (whether via exporting them, via clipboard, or via Workshop) are kept separate from puzzles you created. Unfortunately, there's no way for this to apply retroactively, so if you previously used the clipboard puzzle sharing system before this update, those puzzles will still show as puzzles you created. Because of this separation, the prompt about a puzzle not being solved yet that used to show up when you tried to edit it no longer appears, as "spoilers" are not a concern for your own puzzles.
Puzzle packs
You can now create puzzle packs, which consist of a sorted list of your puzzles of your choosing.
Pack editor
This is the pack editing screen, where you create a puzzle pack using your list of puzzles. Puzzles in the pack can be reordered via drag-and-drop or via the "Move up" and "Move down" buttons, and they can be automatically sorted by solver pass count. When you click the button to sort by pass count, any puzzles that are in the pack that haven't yet had their pass count determined need to be processed by the solver first (pass counts are saved once they are computed, so that they do not need to be computed again unless the puzzle is changed). If you have a lot of puzzles that have no determined pass count yet, this could take some time. Puzzles with the lowest pass count go to the top, with the pass count increasing as you go down. Puzzles that are not line solvable (the solver cannot solve them) go to the bottom of the list. In the event of puzzles having the same pass count, smaller puzzles will go first. You can choose whether or not you want to group puzzles by size. It might make sense to turn this option off if your pack has a small number of puzzles that nevertheless vary in size, so that you can avoid having your pack have a bunch of pages with only one or two puzzles per page. Packs need two or more puzzles in order to be saved. Before you can save a pack you have created, you'll need to title it.
Exporting puzzle packs
Once you've created a puzzle pack, you can export it just like an individual puzzle. Exported packs go to the same location as exported puzzles and are also .PZL files. Your signature will appear in the pack select screen, the puzzle select screen of the pack, and the solved puzzle screen when other players play your exported puzzle pack.
Internal puzzle packs versus exported puzzle packs
There are two different types of puzzle packs: internal puzzle packs and exported puzzle packs. Basically, internal puzzle packs are used to create exported puzzle packs. Internal puzzle packs are packs you created using the pack editor. They only store references to the user puzzles they contain, not the puzzles themselves. They can be edited, they can be exported, and they can be uploaded to Workshop. When you delete an internal puzzle pack, none of the puzzles it contains are deleted, because they are stored as individual user puzzles. When you delete one of your user puzzles, it is automatically removed from any internal puzzle packs that contained it. Exported puzzle packs are packs that have been exported or uploaded to Workshop. They store the actual puzzle data within them, not just references to puzzles. They can't be edited, but they can be played just like the built-in puzzle packs.
Puzzle editor
Transparency support
You can now create puzzles with transparency to them (just like the built-in puzzles) using the puzzle editor. Individual squares are either blank, transparent, or filled. Transparency only affects how the puzzle appears after it is solved. In the puzzle editor, transparent squares are represented by a moving grey checkerboard pattern. The movement of the pattern can be disabled in the settings.
Solver validation
You can now run the puzzle solver to check whether your puzzle is line solvable, how many passes the solver needs to solve it if so, and what percentile range it falls into (except 30x30 puzzles, which are too large for me to have generated percentile groups). The validator/solver automatically runs whenever you save the puzzle you're working on, and the pass count is saved along with it. The validation screen plays an animation showing the solver working one pass at a time, though the animation can be skipped if desired.
Bucket fill tool
You can now toggle between the paint tool (regular filling in of squares one at a time) and the bucket fill tool, which fills a contiguous space (with blank, transparent, or filled squares) in the same way that such a tool works in image editors. This is particularly handy for turning backgrounds of images transparent quickly.
Mini puzzle preview
A small preview of the puzzle was added above the main editor grid, to help you correctly visualize the image you're creating at a smaller scale.
Removed animations
Individual square animations have been removed from the editor, as a way of distinguishing it from the puzzle solving experience and to avoid distracting from the puzzle creation process.
Reworking of controls
Because of the additions made to the editor, it was necessary to define a separate group of controls for it. You can set your desired inputs for the following actions: Gamepad: Fill - default: A Blank - default: B Make transparent - default: X Change current tool (paint or bucket fill) - default: Y Undo - default: left shoulder Redo - default: right shoulder Keyboard: Fill - default: W Blank - default: S Make transparent - default: A Change current tool (paint or bucket fill) - default: tab Undo - default: Z Redo - default: X Set primary click to fill - default: M Set primary click to blank - default: N Set primary click to make transparent - default: B Mouse: Primary click - default: left click Fill - default: undefined Blank - default: right click Make transparent - default: middle click When using the mouse, the current primary click type can be changed by clicking one of the primary click boxes, scrolling the mouse, or using one of the keyboard inputs, just like how you can change the primary click type when solving puzzles.
Workshop
Nonozle now features Steam Workshop integration. Puzzles and puzzle packs can be uploaded to Workshop in-game. When you go to upload an item to Workshop, it'll work much like exporting a puzzle or pack, with you being prompted to show or hide the title for puzzles and asked for a username/signature for both puzzles and packs. You'll also be prompted to agree to the Steam Workshop/Subscriber Agreement, complete with a link to the relevant Steam URL. Items uploaded to Workshop aren't shown to other users until you've agreed to it on Steam. After a successful upload, the game will open up Steam's built-in browser to the webpage for the Workshop item. Workshop items are automatically tagged according to their attributes. Here is the current list of tags:
- puzzle (for individual puzzles)
- pack (for puzzle packs)
- line solvable (puzzles that are line solvable or packs where all puzzles are line solvable)
- not line solvable (puzzles that aren't line solvable or packs where all puzzles are not line solvable)
- 5x5, 10x10, etc. (individual puzzle sizes)
Random puzzles
Separation of random puzzles from user puzzles
Randomly generated puzzles are no longer grouped with user puzzles and are instead stored separately and have their own puzzle select screen. Unfortunately, this could not be applied retroactively and any random puzzles you generated before this update will still be considered user puzzles you created.
Auto-pausing of current random puzzle
When you generate a random puzzle, you can now leave it and come back to it later without having to save it to your collection of random puzzles first. This change does mean that if you want to permanently save a randomly generated puzzle to your collection, you have to beat it first. If you generate a new puzzle while a paused one is incomplete, the paused one will be discarded.
Pass count bar graph
While generating a random puzzle, a bar graph showing the distribution of puzzles generated so far by solver pass count is shown. This replaces the text readout that served a similar functionality. A highlight below the bar graph indicates the pass count range you selected. Of course, since the graph stops as soon as a matching random puzzle has been generated, it won't be very interesting to look at unless you select one of the outlying ranges (very low or very high pass count).
The bar graph can be disabled in the game's settings if desired.
Go straight to a new random puzzle
You can now generate a new random puzzle from the puzzle solved screen after solving a random puzzle.
Export and copy to clipboard
Random puzzles can be exported and copied to the clipboard for sharing. When this is done, [Random Generator] will show as the creator of the puzzle. Random puzzles cannot be uploaded to Workshop directly.
Puzzle solved animation
The transition from the puzzle screen to the puzzle solved screen has been made fancier. The puzzle grid lines now slide out of view, and Xs, placeholders, and UI elements now fade out or in instead of suddenly disappearing or appearing. The puzzle solved color ripple has also been changed. And a new satisfying sound effect has been added when the puzzle is completed. Previous puzzle solved animation:
New puzzle solved animation:
Also, two new animations have been added. Center then slam:
Flying squares (the new default):
You can also choose to alternate between the three types of solved animations by choosing the "Shuffle" option in settings. And the solved animation can also be disabled if you prefer.
Hint aggregation
A new optional feature I've termed "hint aggregation" has been added. With this enabled, repeated identical hint numbers are instead shown as one hint number with a superscript indicating how many identical copies there are. This:
Becomes this:
In settings, you can choose how many identical hints there are before aggregation occurs, and you can also choose to only aggregate groups of 1s (as those are pretty common). This can make hint counting less frustrating. When a hint is aggregated, it won't be faded out until all of the hints in the aggregation are accounted for. Hint aggregation is off by default.
Line solvable retcon
All built in puzzles have been retconned into being line solvable. This means that any puzzles that were previously not line solvable have seen minor changes to make them so. This inevitably entails a large decrease in difficulty for some of the puzzles that have been modified, but I believe it's a positive change for all built-in puzzles to be consistent in this regard. A list of the puzzles that have been affected follows.
Original puzzle pack
A-8 B-31 B-33 C-24 C-36 C-41 C-64 C-70 C-71 C-74 C-76 C-78 C-79 D-27 D-31 E-3
Abstract puzzle pack
C-13 C-22 C-28 C-30 D-20 If you've already solved any of the affected puzzles, they will remain solved and you won't need to go back and solve them again. The A-8 step-by-step tutorial has been modified to reflect the change.
Clipboard puzzle sharing
Sharing puzzles via clipboard has been updated to reflect the addition of user puzzle titling and user signatures. When you copy a puzzle to the clipboard, it'll now contain the puzzle's title, and you'll be prompted to sign it just like when exporting puzzles. This results in a somewhat larger text string than before. Clipboard puzzles that were formatted in the old way can still be pasted into the game, but, of course, they won't have a proper title or user signature. When you save a puzzle that's been copied to the clipboard, it is automatically exported to Documents/Nonozle User Puzzles. Also, if you try to play a new clipboard puzzle that's identical to one you've already saved, the game will let you know that you already saved that puzzle.
Virtual keyboard
In order to add user puzzle titling and signatures, I had to create a virtual keyboard to support text input using all three input methods supported by the game.
You can use the virtual keyboard using a gamepad or a mouse, or you can simply use your physical keyboard normally. A new group of controls had to be added for gamepad to support this. You can define the following inputs for gamepad for use in the virtual keyboard scenario: Select (to press keys) - default: A Backspace - default: X Space - default: Y Shift - default: left trigger Escape (to cancel text editing) - default: B
Other changes
Reworked controls editor
How the controls editor works has been changed. Previously, the game would attempt to auto-swap conflicting inputs as needed. As it turns out, the way the auto-swapping was implemented was flawed and sometimes didn't work correctly, and I decided that trying to fix it wasn't worth it. Instead of swapping inputs between control groups, the editor now highlights any conflicting inputs so that you can easily see them, and won't let you save your changes until the conflicts are resolved. Also, the changes now are not applied until you leave the editor screen, and you have the option of discarding the changes you made instead. Inputs within an individual control group are still auto-swapped. The explanation text for each control editor screen has been rewritten, in part to reflect this change.
Rearranged main menu
The main menu has been rearranged (again).
The big three buttons are now User puzzles, Puzzle select (for built in puzzles), and Random puzzles. With UI animations enabled, user puzzles move in from the left, built in puzzles move in from the top (as before), random puzzles move in from the right, and tutorials move in from the bottom (as before). The margins of the big text buttons have been adjusted, and a blank background was added behind the main menu buttons for better separation from the title screen puzzle animation.
Rearranged puzzle select screen
Page dots and page size labels have been moved to the bottom of the screen, and a title label has been added.
Rearranged and improved tutorial page sizing and placement
Like the puzzle select screen, page dots have been moved to the bottom. For pages that have it, the page title text has been moved to the top.
Info pop-up changes
The text pop-up that explains menu items at the bottom of the screen now has an animation where it slides into and out of view. This animation can be disabled, and the info pop-up itself can now also be disabled.
Scrollable options menus
Options menus have been made scrollable when they don't fit vertically onto the screen, adapting the scrolling code I had to create for pack select screens and the pack editor. Now I no longer have to create yet more sub-menus when the number of settings spirals out of control. Hooray!
Task dialog
Added a new type of dialog that shows up when a task is running that takes a while. It has a nice little spinny square in the corner. This dialog appears when deleting all progress, when sorting puzzles by pass count that haven't had their pass counts determined yet, and when creating and uploading Workshop items.
New actionable lines look
Changed how actionable lines are pointed out when that option is enabled. Before:
After:
The new look is more professional and saves space, allowing the puzzle grid more screen space to work with.
Credits
The URLs in the credits scenario can now be clicked (even with the keyboard or gamepad), opening a browser window to the URL. A link to MonoGame's About page has also been added, as well as a mention of Steamworks .NET, which Nonozle has always used for its Steamworks integration, and a link to the Steamworks .NET homepage.
Other minor changes
- Changed the title screen puzzle animation to not restart when the UI is reconstructed but the resolution hasn't been changed (like when toggling certain options, for instance)
- Rearranged "Other appearance settings"
- Decreased button inflation rate so that the animation doesn't appear as frantic
- Code refactoring that doesn't present outwardly, such as only using a single info pop-up instance instead of creating one for each button that has info text, and a total reworking of how lines of text are stored and read
- Changed how puzzles are saved to binary (they save their solver pass count now)
- Changed the sound effect that plays when moving the slider in the expanded color picker. The same sound effect also plays when scrolling in other contexts, and when the puzzle grid lines are sliding out of view during the puzzle solved animation.
- Improved the transition from the pause menu to the puzzle when clearing a puzzle and starting over
- Changed the "Play" button on user puzzles to not automatically restart the puzzle if it is solved, instead going to the puzzle solved screen
- Changed delayed repeated input changing the state of a tutorial puzzle to stop when it gets to the beginning or the end of the list of states
- Made solved puzzle title text twice as large
- Added more of a buffer between text and buttons in dialogs
- Adjusted CheckmarkTextButton margins
- Changed it so that hovering over an arrow of a MultiOptionSelector automatically selects the MultiOptionSelector.
- In the sound effect editor screen, changed sound effect buttons to play their sound on hover even when the sound is disabled
- Changed the puzzle select dot group to account for a very high number of user puzzles
- Changed exit buttons during clipboard puzzle to say "Exit"
- Changed puzzle music to begin on starting a solved puzzle when the option to stop music on puzzle solve is disabled
- Added a blank background to "no puzzles" text in puzzle select screens so that it's more easily visible against the background puzzle animation
- Changed solved puzzle screen buttons to fade in the background of dialogs
- Changed the playlist and sound effect editor screens to fade in the background of dialogs
- Reworked how built-in puzzles are saved and read to allow for easy adding of more built-in puzzle packs
- Puzzle select buttons now use marquee-style scrolling when the puzzle title doesn't fit instead of decreasing the font size for the title
- Renamed "Show checkmarks for solved puzzles" to "Show checkmarks on solved puzzles"
- Probably some other changes I should have kept better track of
Bug fixes
- Fixed the puzzle incorrect warning delay sometimes not working
- Fixed mouse interpolation not working outside of the puzzle screen space
- Fixed "You're all done!" sometimes showing when it shouldn't
- Fixed completed hints darkening even when hint highlights are disabled
- Fixed inconsistent sizing of multiple option selectors
- Fixed issues with puzzle auto assists not triggering when they should
- Fixed puzzle select buttons sometimes missing the primary color
- Fixed a bug where a click sound effect would play when clicking between the two text buttons in the hand-picked color screen
- Fixed an issue with puzzle sizing and placement
- Fixed an issue with puzzle editor sizing and placement
- Fixed a bug with repaginating user puzzle select after a new puzzle has been added (not sure if this one is present in the previous release)
- In the playlist editor, fixed the title/menu track showing the wrong value after clicking "Reset to defaults"
- In the playlist editor, fixed "Reset to defaults" not actually resetting the title/menu track at all
- Fixed a crash that could occur in the playlist and sound effect editors after a resolution change
- Fixed display settings being synced with Steam Cloud by mistake
- Fixed a crash when a file storing the menu types you've visited is missing
- Probably some other bug fixes I should have kept better track of
New settings
All of these settings have already been mentioned above, but I've also gathered them here for convenience.
- Hint aggregation starting amount (Settings > Puzzle > Puzzle appearance)
- Only aggregate ones (Settings > Puzzle > Puzzle appearance)
- Show info pop-ups (Settings > Appearance > Other appearance settings)
- Show random generation bar graph (Settings > Appearance > Other appearance settings)
- Show transparency animation in editor (Settings > Animations)
- Show info pop-up animation (Settings > Animations)
- Puzzle solved animation (Settings > Animations)
What's next for Nonozle?
The next update I'm planning is an overhaul of custom visual themes. I'll rework the custom theme editor so that you can see a preview of the theme, I'll change how custom themes are stored and remove the five theme limit, and I'll add exporting of custom themes and sharing them to Workshop. After that, I'll be working on DLC puzzle packs! The current plan is to price potential future DLC puzzle packs at $1 for 100 puzzles. Look forward to it, and in the meantime, enjoy creating, sharing, and playing puzzles using Workshop!
Good news, Linux/Steam Deck users! The game now has a native build for Linux. This should mean improved performance compared to playing the Windows version on Linux through Proton. Thanks to Steam Auto-Cloud, if you switch over to the native version, your save files should be synced to the new save location and things should just work.
However...
There's a caveat. Any functionality involving the clipboard (copy and paste) had to be disabled in the native build because the Windows version relies on convenient clipboard access provided by System.Windows.Forms, which can't be used in a native Linux buildand there is no equivalent available for me to use that I know of on Linux. That means the somewhat rudimentary puzzle sharing that the clipboard allowed can't be done with the native Linux build, nor can the feature where you paste external image data into the puzzle editor be used. If you still want to use these features, you'll have to stick with the Proton version. Another interesting thing to note is that the native Linux build takes up about half as much space as the Windows build. Presumably DirectX MonoGame projects simply have higher space requirements than their OpenGL counterparts, though it's also possible it could have something to do with Windows vs. Linux. MacOS users, if there are any who are interested in Nonozle, are out of luck, unfortunately. I don't have any Apple computers and I'd need one to be able to properly build and test the game for MacOS.
Font options are here! Along with the original font, there's now a new font with similar metrics to the original but with curves instead of blocky corners. There's also an updated version of the original font with some tweaks and more consistency, but the unmodified original font is still selectable if you prefer it. That makes a total of three fonts, with the potential for more being added later. This update also makes a number of changes to the game's overall appearance, some slight and some significant. A full list of the changes made can be found below.
New fonts
- An option has been added to change the font in use. It can be found at (Settings > Appearance > Font).
- A new font, called "curve font", has been added to the game as an option.
- A modified version of the original font, listed as "block font (new)", has been added to the game.
- A new option allows you to choose whether or not you want to always use a scaled higher resolution font.
- Each font has a high resolution version, which is scaled up or down to match the game's current resolution settings. At lower game resolutions, though, smaller custom versions of the fonts are used instead, unless this option is enabled.
- Fonts now scale dynamically rather than using hard-coded scaling intervals.
- Kerning is now only done between letters, with punctuation always being excluded. Previously, certain punctionation like / was subject to the built-in auto font kerning, but things like URLs look better without it.
Forced scaling doesn't work as well at low resolutions:
Puzzle hints changes
- Puzzle hints are now evenly spaced for both rows and columns.
- Puzzle hints are now automatically sized to closely match the size of the puzzle squares.
- Puzzle hint highlights are now consistently sized to match the puzzle squares.
Other appearance changes
- Improved puzzle grid sizing and placement.
- Improved puzzle select button sizing and placement.
- The button size is now more consistent between resolutions, and the buttons are now centered vertically in the screen/window.
- Improved overall UI scaling. Specifically, UI elements are now always scaled relative to the size of the text, providing a more consistent experience across resolutions.
- Improved tutorial page UI element sizing and placement.
- Moved optional extra puzzle column and row info to be above the "Fill placeholders" button in the lower left corner of the puzzle screen, leaving more room for the puzzle itself.
- Changed the loading screen.
- A small image of the frog from my logo now spins in the lower right corner.
- Instead of a progress bar, the game's title text gradually fills in with full color as loading progresses.
- Moved the checkmarks that optionally mark which puzzles have been solved to the upper right corner of the puzzle select buttons. This leaves more room for the titles of the puzzles.
- Added a third type of main menu button arrangement to better match ultra-tall resolutions, which almost certainly no one uses, but whatever.
- Changed how the size of toggle and color swatch boxes is determined for better consistency.
- Changed toggle and color swatch boxes to no longer move back and forth when the containing button is selected and hovering.
- Fixed various issues with overlapping or cut off UI elements at various resolutions.
- Fixed the "User puzzles" text on the main menu exceeding the boundaries of the button at certain resolutions.
- Fixed sound effect, playlist, and theme editor buttons not downsizing correctly at certain resolutions when they needed to.
- Changed the game title and icon to be more consistent across both the title screen in-game and in various other places, such as Steam store and library images.
Settings changes
- Changed "Options" to "Settings" for consistency.
- Rearranged display, appearance, and puzzle appearance settings.
- Added a new sub-menu of "Other appearance options" to make room for the new font settings, with a number of the appearance options having been moved there.
- Added a link to puzzle appearance settings to the appearance menu. It can now be accessed both by (Settings > Puzzle > Puzzle appearance) and (Settings > Appearance > Puzzle appearance).
- Changed other five-line related options to be greyed out when five lines themselves are disabled.
Other changes
- Removed the fade in effect of the intro HopefulToad logo screen, and changed the fade out effect to be skipped when the intro screen is skipped to make getting to the main menu faster.
- Removed unused lines of text from the game.
- Replaced references to "the below example" in one of the tutorials with "this example," since the examples in question are actually above the text, not below it.
- Changed some info pop-up text for clarity and consistency.
- Changed text in dialogs and in tutorials to auto-wrap instead of using hard-coded newline locations.
- Ensured that the most recently selected puzzle button will always be selected upon re-entering a puzzle select scenario, no matter what settings have been changed mid-puzzle.
- Fixed an issue where, at the main menu at certain resolutions, if the settings menu was closed via mouse and the mouse wasn't moved, clicking wouldn't change the currently selected main menu button to the one the mouse was hovering over.
Craving more challenge? Try out the new "brainracking mode" option.
With this option enabled (found at Options > Puzzle > Brainracking mode), the following things are disabled:
- Hint fading
- Xs and placeholders
- Undo and redo
- Counting
- All puzzle assists
The random puzzle generation process has been overhauled.
Difficulty of puzzles is now determined by the number of passes the solver needs to complete the puzzle, a concept derived from the paper "Constructing Simple Nonograms of Varying Difficulty" by K. Joost Batenburg, Sjoerd Henstra, Walter A. Kosters, and Willem Jan Palenstijn. When you generate a random puzzle, you can now select the difficulty percentile range you want the puzzle to fall within. For example, if you want a really hard puzzle (relative to the size of the puzzle) you can select the range [99.99 - 99.999%]. That means that 99.99% of puzzles that size are easier and 0.001% of puzzles that size are harder. If you want a medium difficulty puzzle for the selected size, you could choose the range [10 - 50%]. That means that 10% of puzzles that size are easier and 50% of puzzles that size are harder. The smaller the range you select, the longer it'll most likely take to generate the puzzle. For instance, a puzzle within the range [0.001 - 0.01%] will take much longer to generate than a puzzle within the range [50 - 90%], because 40% of puzzles fall within the latter range while only 0.009% of puzzles fall within the former range. You can now select the number of threads you want to use when generating the random puzzle. More threads means more CPU usage, which means faster puzzle generation. The selectable number of threads is limited to one less than the total number of logical processors your CPU has, leaving one thread for the main UI (unless you are somehow using a single-core processor, in which case the selectable number of threads is limited to one). The title screen puzzle animation now continues to play in the background during random puzzle generation. More information is now shown when the game is in the process of generating a random puzzle. The generation window now shows:
- The size of puzzle being generated
- The desired difficulty percentile range
- The elapsed time
- An estimate for the time remaining.
- This estimate is based on the average time the generator has taken to generate a solvable puzzle and the estimated number of solvable puzzles that need to be generated before one that falls within the desired difficulty range is expected. For instance, if the percentile range is [99.99 - 99.999%], then only 0.009% of solvable puzzles fall within that range. Thus, on average, about 11,111 solvable puzzles will need to be generated before one of them falls within that range. If the generator has been running for 40 seconds and has generated 1000 solvable puzzles in the meantime, that's 25 per second. If we expect to need to generate around 11,111 before we get one in that range, then it should take about 404 more seconds to generate the desired puzzle.
- The time is only an estimate to give you an idea of how long you might have to wait. You could get lucky and get the desired puzzle sooner than expected, or get unlucky and have it take longer than expected.
- The total number of puzzles generated
- The total number of solvable puzzles generated (and the percentage of all generated puzzles that are solvable)
- The total number of unsolvable puzzles generated (and the corresponding percentage)
- The number of solvable puzzles that have been generated so far that fall within each of the selectable difficulty ranges
Other changes
- Added the characters {|}~ to the game font. The font now covers the entire printable range of ASCII characters. This was done because the URL of the aforementioned paper has the ~ character in it, and I included a mention of the paper and its URL in the game credits.
- Randomly generated puzzles now have (R) preceding the date and time in their title so that they can be distinguished from regular user puzzles.
- Fixed a bug caused by turning off actionable hints, working on the puzzle, and then turning actionable hints back on (with advanced hint fading disabled).
- Fixed a bug where page change arrows wouldn't be properly visible if you had more than a page worth of user puzzles of a certain size but no user puzzles of any other size.
- Fixed random puzzles not resizing correctly when the resolution is changed.
- Fixed some puzzle UI element sizing and overlap issues.
- Changed hint fading to default to the original method of hint fading. Advanced hint fading must now be enabled manually.
- Fixed random puzzles not showing the size of the puzzle when the option to show the number and size of the puzzle is enabled.
- Changed how the random puzzle generator menu works to better communicate that random puzzle complexity cannot be selected when the size of the puzzle is 30 x 30.
- Fixed a crash that happened when the first puzzle of a game session was started with no advanced assist options enabled and then said advanced assist options were enabled mid-puzzle.
Randomly generated puzzles are here! Now, you'll never run out of puzzles to solve again! Assuming you don't mind solving puzzles that don't form images, that is. To generate a random puzzle to solve, just click the Play button on the title screen (renamed from "Puzzle select"), then select the "Generate a random puzzle" option. You can then pick the size of puzzle you want to generate, as well as the relative complexity* of the randomly generated puzzle**. If you want to stop working on the puzzle and save it for later, just pause and select "Exit". You'll be prompted to save it to your user puzzles, where you'll be able to continue working on it at another time. You can also save the puzzle once it's completed if you liked it, or even share it using the clipboard sharing method.*** Additionally, new puzzle assistance options have been added to the game. You can now enable an assist that will point out rows and columns that can be worked on, to help you narrow down where to look. Also, enabled by default is a new, more advanced method of fading out hints**** that can more accurately determine which hints need to be greyed out. If you feel the new hint fading method is a bit too helpful for your taste, you can always disable it to return to the original method that the game launched with. A full list of the changes made can be found below. I hope you enjoy the new additions!
- Added random puzzle generation.
- Random puzzles are generated by filling in a puzzle randomly. The total possible combinations in all rows and columns is then added up to determine its relative complexity. If the amount falls within the expected range, then a solver runs to make sure the puzzle is line solvable. If it is, then the player is presented with the puzzle. If not, then a new puzzle is generated, and the process repeats. As a result, the time it takes to randomly generate a puzzle varies based on the size and complexity the player has selected.
- Added an option to use advanced hint fading.
- Enabled by default.
- This option uses a puzzle solver to comb through the hints and see which ones should be faded out. It catches completed hints that the original hint fading technique would miss. But it doesn't cheat; a hint can be faded out using the new fading method even if the puzzle is filled in incorrectly.
- This option cannot be used if hint fading is disabled.
- Added an option to only fade out hints that are Xed off, meaning the number group associated with it has either an X or a puzzle edge on either size of it.
- Enabled by default.
- If you disable this, then, with the new hint fading technique, hints will be greyed out even before you have put Xes on either side of them.
- This option cannot be used if hint fading is disabled or if advanced hint fading is disabled.
- Added an option to automatically X off hints once they're complete.
- This option cannot be used if hint fading is disabled, if advanced hint fading is disabled, or if the option to only fade hints that are Xed off is enabled.
- Added an option to point out rows and columns that can be worked on.
- When this option is enabled, a square appears next to the hints of any rows or columns that have something that can be done with them.
- Various minor optimizations, bug fixes, and improvements.
- Added an option to show or hide the currently selected primary click type. (Options > Puzzle > Puzzle Appearance > Show current primary fill type when using mouse)
- If you uncheck this option, I recommend changing your mouse input settings so that left click is always "Fill", rather than "Primary Click". That way, you don't inadvertently change what the left mouse button does via the mouse wheel without a visible indication that it happened.
- Added an option to show or hide the checkmarks that were recently added next to the titles of completed puzzles in puzzle select screens. (Options > Appearance > Show checkmarks for solved puzzles)
- Reduced text margins to allow more space in menus for the new options.
- Fixed a bug where the puzzle shown on the solved puzzle screen would display at an incorrect size after changing the resolution.
This update adds achievements for completing abstract puzzles! There are six total, one for each puzzle size category and one for completing all of them. If you've already completed some or all of the abstract puzzles, simply opening up the game should cause any resulting achievements to immediately pop up. Additionally, puzzles in the puzzle select screens now display a checkmark next to the title of the puzzle when they're completed, and, in the main menu, a checkmark displays on the puzzle collection button (either "Original Puzzles" or "Abstract Puzzles) when all the puzzles in said collection are complete.
This update adds 100 new puzzles for you to solve! The puzzles are different from the original ones included with the game. For those, much of my focus was on making recognizable pictures, rather than the puzzle itself, so most of the puzzles were relatively easy to solve. For this update, I decided to create abstract, unrecognizable puzzles instead, so I could focus on making puzzles that were more challenging to solve. As a result, this puzzle pack represents a pretty significant difficulty bump from the original 200 puzzles. Though the puzzles may look somewhat random, they were not randomly generated. I hand-designed and test-solved each one. Each size category, from 5 by 5 to 25 by 25, has half the amount of puzzles it did in the original puzzle collection, so there are:
- 4 5x5 puzzles
- 24 10x10 puzzles
- 40 15x15 puzzles
- 20 20x20 puzzles
- 12 25x25 puzzles
- Improved counting so that filling in squares during a count no longer automatically stops the count when you stop filling in squares.
- Fixed a bug where pressing start on the main puzzle select screen would crash the game (embarrassing...).
- Changed puzzle completion achievements to no longer use a puzzle completion count Steam stat and removed the stat. This change means there should no longer be any circumstances where achievements pop up when they shouldn't.
2.00.01 patch
Fixed a bug that would cause the game to crash when stopping a count while still filling in squares.
Additions
- Added the ability to turn on or off individual sound effects. (Options > Sound > Sound effect settings)
- Added an option to increase the thickness of the five-line dividers. (Options > Puzzle > Puzzle appearance > Use thicker five lines) Note that this has little to no effect at very low resolutions.
- Added an option to turn off the expanding ripple of color that appears when you solve a puzzle. (Options > Animations > Show puzzle solved ripple effect)
- Added an option to disable the button inflation/deflation animation. (Options > Animations > Show button inflation animation)
- Added an option to not have background music pause upon solving a puzzle. (Options > Sound > Stop music on puzzle solve)
Changes
- Changed the text of some option buttons to start with a verb for more consistency.
Bug fixes
- Fixed a bug where, after creating a puzzle, testing it, then editing it and retesting it, the number hints would become smaller than they needed to be.
- Fixed a bug where holding down a directional input and a page change input on the puzzle select screen could cause two buttons to appear as if they were selected at once (if UI animations were enabled).
Version 1.04.00 is a patch that addresses some quality-of-life issues with the puzzle creation and sharing features introduced in 1.03.00.
Changes
- Added a '+' button to create a new puzzle on the user puzzle select screen.
- On keyboard and controller, the puzzle creation menu can be accessed using whatever key or button is assigned as the pause input.
- Added a button to test solve puzzles directly from the pause menu of the puzzle editor.
- Changed what the first button of the "puzzle solved" screen says and does based on context:
- For built-in puzzles, the text and behavior is unchanged. ("Next unsolved puzzle"/"You're all done!")
- For puzzles that were copied from the clipboard (that others shared, presumably), the button is now used to directly start playing a different puzzle that you've copied to the clipboard.
- For saved user puzzles, the button is now for sharing the puzzle (copying it to the clipboard).
- Changed it so that when a user puzzle is deleted, the next closest puzzle/page is selected afterward instead of always going back to the first page.
- Changed how the game determines whether or not there are any unsaved changes when editing a puzzle. Previously, it simply set a flag once the puzzle was modified, meaning it would claim to have unsaved changes even if you then modified the puzzle again to bring it back to its original state. Now, it compares the current state of the puzzle to its initial saved state.
- Changed the pause input to be classified as a universal input. This fixes an issue where the pause input could be shared with another interface input, causing a potential conflict. For instance, previously you could set both the pause input and the select input to the same button on a gamepad, and then, when in a puzzle, if you opened a pause menu, you could never select any of the options because the pause menu would be exited before a selection was made due to the order of input processing in the code.
- Unfortunately, this means that the Escape key on the keyboard can no longer function both as a back input and a pause input. Instead, the pause input on keyboard now defaults to the space bar. However, your currently configured inputs won't be changed unless you reset them to their defaults. If you leave them be, you won't be able to access the puzzle creation menu from the user puzzle select screen via keyboard because the Escape key will cause you to exit the puzzle select screen before the puzzle creation menu has a chance to open. You can always just click the new "+" button, though, or access the puzzle creation menu from the main menu.
1.04.01 patch
- Fixed an issue where the current music track would restart if you clicked the "Play another puzzle" button with the last played puzzle still copied to the clipboard, then copied another puzzle and clicked the button again.
- Fixed an issue with the transition from one clipboard puzzle to another.
About the update
With this new update, it's now possible to create and share puzzles! Once you've created a puzzle and test-solved it, you can share it by copying it to your computer's clipboard. The puzzle is encoded into text that can then be sent to friends or posted online. Others can then play the puzzle by copying the text and then pressing the right button in-game! You can design puzzles using the built-in puzzle editor, or you can use an external image editor and then simply copy and paste them into the game's editor. Puzzles are titled simply by the date and time they are saved.
Additions
- Added puzzle creation and sharing:
- Added a puzzle editor.
- Added the ability to copy puzzles to clipboard in text format and read in puzzles from clipboard in text format.
- Added a user puzzle select screen, where saved puzzles go and can be played, edited, shared, or deleted.
- Added the ability to paste in puzzles from an external image editor when using the puzzle editor. When this is done, dark pixels are interpreted as filled in and light pixels are interpreted as blank.
- Added a new track, an alternate version of the main theme.
- Added a new option to change what track plays on the title screen and in puzzle select. The new option is found under playlist settings. You can also set the track to "None," if you want to hear music during puzzles but not on the title screen or in puzzle select.
Changes
- Changed the two pop-up dialogs that show up before and after applying display changes to have an animated transition between them when UI animations are enabled.
- Changed pop-up dialogs to have consistent movement directions during transition animations depending on the pop-up type: info dialogs (the ones with only an "OK" button) now always travel in from the bottom of the screen, while confirmation dialogs (the ones with two buttons, usually "Confirm" and "Cancel") always travel in from the top of the screen.
- Changed the page change animation in puzzle select screens to always be based on the direction of change implied by the input given, even when wrapping back to the first page or from the first page to the last page.
- Changed there to be only one options menu instance instead of two.
- As a result, the main menu screen had to be rearranged to accomodate the buttons to clear all progress, reset options to defaults, and view credits. Previously, those buttons were simply part of the options menu when accessed from the main menu, which was possible because of there being two different options menus that were kept in sync.
- Changed the track that plays on the title screen to be (by default) the new alternate main theme.
- Changed certain confirmation dialogs to not respond to back input, requiring one of the two options to be intentionally selected.
Bug fixes
- Fixed a bug where, when using a gamepad or keyboard, the game would crash when trying to select a preset theme's main color using the expanded color picker (yikes!).
- Fixed the "RGB" text above the expanded color picker to re-center each time it changes instead of just centering once.
- Probably fixed one or two other bugs that I can't remember.
1.03.01 hotfix
Reverted to previous behavior of checking to see whether the total number of solved puzzles in-game has a mismatch with the solved puzzle achievement stat, as a band-aid fix for an achievement issue that will need further scrutiny to find the root cause.
1.03.02 patch
Fixed the achievement bug. When I added user puzzles, I didn't want solving those to count towards the achievements, so at the place in the code where the puzzles solved stat is incremented when a puzzle is solved, I added a check for whether the puzzle is a user puzzle. But instead of only incrementing the achievement stat when the puzzle is a built-in puzzle, I accidentally made it so that the achievement stat is only incremented when it's a user puzzle. This patch fixes that error.
Additions
- Added four more custom themes that can be configured, for a total of five.
- Added buttons to copy and paste individual colors in the custom theme editor.
- Added a toggleable option to have custom theme colors update in real-time while picking them.
- Added a background fade effect to the puzzle pause menu.
- Added a prompt to the custom theme editor asking whether you want to keep or discard changes when exiting the editor.
Changes
- Optional extra line info text changes:
- Moved the column info text to below the puzzle. The row info text is still to the right of the puzzle, but is now centered relative to the puzzle.
- Changed the text to be a bit more informative.
- Changed the text describing the extra line info option to also be more informative.
- Changed the custom theme editor to support copying all colors over from custom themes, too, and not just the preset themes.
- Removed the R, G, and B labels on the sides of the color picker.
- Changed the color picker square outline to be both black and white so that it's easily visible regardless of what color is selected.
- Changed how puzzle sizing is determined in order to maximize screen real estate.
- Changed the optional puzzle number and size text to be where the timer normally is when the timer is disabled.
- Changed the puzzle to resize itself depending on whether or not the timer is there, similar to how it already did that with the puzzle number label.
- Made some minor optimizations.
Bug fixes
- Fixed missing sound effect and controller rumble in tutorials.
- Fixed the solved puzzle transition sound effect starting too early because of a change made in version 1.01.00.
- Fixed a bug where the info dialog that shows up after resetting all settings to their defaults sometimes wasn't visible.
- Fixed a bug where the puzzle number and time text of a button in the puzzle select screen erroneously used a smaller font size when the actual puzzle title needed to use a smaller font size to fit. Only the puzzle title needed to be a smaller size.
- Fixed a bug with the transition from a paused puzzle to the puzzle select screen that became more noticeable once the pause menu background fade effect was added. The bug was that the pause menu instantly disappeared when the transition started instead of staying onscreen. This became a lot more noticeable once the background fade effect instantly disappeared as well.
- Fixed optional auto-assist changes to a puzzle being immediately visible during the transition from the puzzle select screen to the puzzle.
- Fixed a bug where multiple buttons in the playlist and custom theme editors could be hovering, as if all selected, after changing the resolution.
- Fixed a minor bug where the selection could be changed after clicking an input in the controls editor if both the select and move inputs happened on the same frame.
- Fixed a bug involving page change inputs and the color picker.
- Fixed a bug where the game could get stuck in an infinite loop after trying to change a gamepad input in the control editor.
Additions
- Added an option to automatically fill in empty spaces in rows and columns when all empty spaces in the row or column have to be filled in to complete it.
- This option can be found at Options > Puzzle > Puzzle assist > Automatically fill empty squares when required
- Since this option does quite a bit of the work for you, most players will probably want to leave it disabled, I imagine.
- Added an option to display the current puzzle number and grid size when working on a puzzle.
- This option is found at Options > Puzzle > Puzzle appearance > Show puzzle number and size
- Added an X button to exit tutorials from any page.
- Added the current version number to the lower right corner of the title screen.
Changes
- Changed puzzles to not start the "puzzle solved" animation until all fill animations are complete.
- Changed puzzles to resize when needed to make room for the extra line info text and puzzle number/grid size text. Previously, the extra line info text was cut off at certain aspect ratios/resolutions.
- Changed how gamepad and keyboard input works during tutorials. Previously, the "Select" and "Back" buttons acted as alternate inputs to page forward and backward through the tutorial. Now, the "Back" input exits the tutorial and the "Select" input does nothing.
- Moved the option to enable/disable hint fading to the puzzle assist menu to make room for the new option to show the puzzle number and grid size.
- It's now found at Options > Puzzle > Puzzle assist > Fade completed hints
Bug fixes
- Fixed a bug where the extra line info would temporarily be positioned incorrectly if the game instance started with it disabled and it was enabled during a puzzle.
- Fixed bugs that happened when using the "Always overwrite" option in conjunction with auto-X assist options.
- Fixed mismatched undo and redo that happened when overwriting automatically placed Xs.
- Fixed a bug where overwriting an automatic X with a placeholder would immediately overwrite the placeholder with the X again.
- Fixed a bug where the custom theme was being saved (written to file) on exit every time, even when it hadn't been changed.
- As a result, also fixed a bug where options menus were being reconstructed unnecessarily (to account for custom theme changes that hadn't actually occurred).
- Fixed the color picker in the theme editor not resizing after a resolution change.
- Fixed fade animations in tutorials fading to the wrong color when in a highlighted row or column.
Nonozle
HopefulToad
HopefulToad
2022-08-12
Action Indie Strategy Casual RPG Adventure Simulation F2P Sports MMO Racing Singleplayer Multiplayer Coop EA
Game News Posts 22
🎹🖱️Keyboard + Mouse
🕹️ Partial Controller Support
🎮 Full Controller Support
Positive
(25 reviews)
https://store.steampowered.com/app/2053580 
Each row and column of a nonogram has one or more number hints attached to it, and each number represents a contiguous group of filled in pixels. Using these hints, you can figure out which squares should be filled in and which ones should be blank, and thus fill in the puzzle one step at a time until it forms a complete image.
Features
- 200 hand-made nonograms to solve, ranging in size from 5 by 5 to 25 by 25 (plus 100 abstract puzzles, for a total of 300)
- Play randomly generated puzzles for endless gameplay
- Solve puzzles in any order
- Unlimited undo and redo
- Optional warning for when the puzzle is filled incorrectly
- Automatic mid-puzzle progress saving
- Tutorials and step-by-step puzzle solution examples
- Mouse, keyboard, and controller support
- Highly customizable
- Light, grey, and dark preset themes
- Selectable main color for each preset theme
- Custom theme editor
- Numerous gameplay and appearance options
- Full control remapping
- Light, grey, and dark preset themes
- Supports up to 8K resolutions, as well as ultra-wide aspect ratios
- Arbitrarily high refresh rate support (240+)
- Chill electronic soundtrack
- Puzzle creation and sharing (via Workshop, clipboard, and file exporting)
- OS: Tested on Linux Mint 21.1 Cinnamon; should work on other distros too
- Processor: 64-bit processorMemory: 2 GB RAM
- Memory: 2 GB RAM
- Graphics: Integrated graphics works fine. For high resolution (8K). high frame rate (240 fps). and/or multi-sampling. a discrete GPU may be necessary.
- Storage: 137 MB available spaceAdditional Notes: The minimum resolution supported is 800 by 480. A 720p or higher monitor is recommended.
[ 5951 ]
[ 3198 ]