Please report all errors to bugs@pedros.works [X]
This article summarises the Kudamono Editor's role in [PuzzleSquareJP's Advent Calendar 2023|https://puzsq.logicpuzzle.app/campaign-advent-calendar2023], starting with the [#Preparation] (mainly [#Implementing Cross Border Parity Loop]), then analysing some [#Metrics] for chosen genres, and ending with a detailed account of a new [#Variants support initiative]. PuzzleSquareJP's Advent Calendar is well-known event in the puzzle community that occurs every December, between the 1st and 25th. Every day until Christmas, puzzle lovers come together to **make** and **solve** puzzles in that day's designated genre(s). Preparation #=#=#=#=#=#=# Last year's Advent Calendar (2022) =================================== 2022 was the first year the Kudamono Editor was used in PuzzleSquareJP, and that included a participation in the [Advent Calendar 2022|https://puzsq.logicpuzzle.app/campaign-advent-calendar2022]: DAY GENRE 6 [Honey Circuit] 9 [Ice dance pair] 10 [Tiger in the Woods] (surprise) 11 [Shirokuro Pipe] (surprise) 20 [Ivy] 22 [Pearl Necklace] (surprise) 25 [Decoration Tree] ((Recap of last year's Kudamono genres in the Advent Calendar)) In total, 7 calendar genres could be played with the Kudamono Editor. However, 3 of them were "surprise" genres: ported with a few days notice (sometimes on the day before). Naturally, this gave setters too short a notice, making it harder to adapt, and missed most scheduled posts. Therefore, very few Kudamono Days were "complete". Still, it was a promising start. It is also worth noting, that, possibly inspired by Kudamono's colourful vibes, in 2022 every genre had its own unique colourful image. Fast forward a year and 48 new genres... Groundwork in November/December =============================== Many Kudamono genres did not have an example puzzle in the format needed by PuzzleSquareJP, so @chebunanntoka made them. Meanwhile, colourful genre pictures were being made by @FuwaLicaChan, who wrote a [design diary explaining the process and inspiration|https://note.com/fuwa_lica_chan/n/n5f95a5acd9f1] :::JPN. And, for the PuzzleSquareJP server, @fff created on a bi-directional translation bot. @Wand contacted site.author and @Xsheep. Together, we decided [Kissing Polyominoes|https://puzz.link/rules.html?kissing] was a good fit for puzz.link and [Cross Border Parity Loop] for Kudamono. This was a balanced choice, as both genres shared the same calendar day, and in the end received about the same number of puzzles. site.author's preparation was focused on two aspects: [#Implementing Cross Border Parity Loop] and, to some extent, [#Promoting the event]. Implementing Cross Border Parity Loop =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Implementing Cross Border Parity Loop (CBPL) entailed a significant challenge, as this was the first genre in the Kudamono Editor mixing two distinct line types: cell-centered lines and edge lines. The long-term goal of adding **multi-line support** was thus accelerated by PuzzleSquareJP Advent Calendar 2023. Correctly colouring the loop in every possibly situation also proved to be a tricky programming challenge. Here's an outline of the final algorithm: - first, exclude some incorrectly shaped lines, and lines with an odd number of wall crossings - break every line segment into half-segments - aggregate all half-segments that share a common point, except if that point is at wall, into separate tracks - store the connections between each track as a graph - graph colouring - match graph colour (1 or 2) to a display colour (light or black) depending on other puzzle elements (especially black and white circles) - detect conflicts, such as: - incorrect colour marking (e.g. causing two dark tracks on both sides of a wall) - incorrect counting of track lengths by number clues Meanwhile, @semiexp and site.author talked to ensure the Kudamono Url Encoding for CBPL would be easy to understand and not pose any hindrance to the integration with the automatic solver [CSPUZ|https://semiexp.net/games/cspuz-solver2/index.html]. Creating a solver is an interesting programming challenge in itself - you can learn more by reading @semiexp's [latest article|https://zenn.dev/semiexp/books/e559bbd5ab00a2] :::JPN. Math Path =-=-=-=-= The only calendar genre left to port was Math Path. This would require: -porting [Hidoku] beforehand, as the rules are a subset of Math Path :::DONE -supporting free text input (for math formulas) -supporting free text encoding in the url The last two changes would require deeper modifications to the editor, while Cross Border Parity Loop took longer than expected... so unfortunately this had to be postponed to 2024. Strenghtening the Variant System =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- The month of November saw the variant system improved by frequent testing by @PinkHoodie - this turned out to be important for the [#Variants support initiative]. Promoting the event =-=-=-=-=-=-=-=-=-= About two weeks before the event, site.author decided to add a countdown banner to the main page of site.name. The banner would remain active during the duration of the Advent Calendar. In addition, site.author posted some messages on English-speaking groups to alert people to the start of the event, and also during Kudamono Week. Event results #=#=#=#=#=#= Across all 11 Kudamono genres and 8 Kudamono days, 262 puzzles were set in total, an average of 32 puzzles per day! Here's a quick overview of these metrics: Metrics overview ================ METRIC VALUE Kudamono Genres 11 (36% of genres) Kudamono Days 8 (32% of days) Puzzles set 262 (27% of puzzles) Average number of puzzles per day 32 Most popular genre (by number of puzzles) Crosswall Maximum number of puzzles in a gerne 51 Most popular genre (by number of authors) Soulmates Maximum number of authors in a genre 28 [Crosswall], with 51 puzzles, was the most set genre, closely followed by [Soulmates], which was the genre set by the largest number of authors (28). This was expected, as both genres have been very popular throughout 2023. A detailed breakdown of each genre ensues: DAY GENRES PER DAY GENRE Puzzsq ID PUZZLES AUTHORS 4 1 [Soulmates] [610|PZ=610] 46 28 7 1 [Crosswall] [626|PZ=626] 51 21 10 2 [Cross Border Parity Loop] [728|PZ=728] 24 9 16 2 [Bouba & Kiki Loop] [653|PZ=653] 15 8 16 2 [Tring-tring] [713|PZ=713] 15 9 17 2 [Tricklayer] [631|PZ=631] 15 7 17 2 [Clones] [198|PZ=198] 22 14 18 1 [Alcazar] [704|PZ=704] 23 11 19 1 [Hasu no Mura] [675|PZ=675] 21 14 20 2 [RB Loop] [642|PZ=642] 24 11 20 2 [RGB Loop] [679|PZ=679] 7 6 ((Kudamono genres in PuzzleSquareJP's Advent Calendar 2023)) PZ=:=https://puzsq.logicpuzzle.app/?kind= The genre that received fewer puzzles was [RGB Loop], probably because it was a late addition to the calendar (it was added to [RB Loop] day). Other genres that appear less popular (such as [Tricklayer] or [Bouba & Kiki Loop]) generally fell on shared days; those days, as a whole, did not stray far from the average. Counting Method =-=-=-=-=-=-=-=-=- All puzzles made between December 1st and December 25th were counted, even if made outside the official day. site.author's puzzles were included. Puzzle count includes puzzles: - 240 directly made with the Kudamono Editor, in the 11 genres; - 12 puzzle transcribed to the Kudamono Editor immdiately after support was added; - 10 puzzles made in variants that are not yet supported, as of today. The count excludes: - the example puzzles by @chebunanntoka; - some [Square Jam] variant puzzles made with the Kudamono Editor; - a few "satellite" puzzles shared across social media during the Advent Calendar, such as this cute [Bouba & Kiki puzzle|https://pedros.works/paper-puzzle-player?W=15x4x5&L=x0x1x1x1x1x1x2h1x1x4x1h1h1h1x1x3x8x1x4h1x3x7x3x2x4x6x1h2x3x3x1x1h1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x2x1t1x2t2t2x3x2x4t1t1x2t2t3x1t5x1x3x1x2x1x1x1&G=bouba-kiki-loop&A=hutthutthutt&D=2023-12-18], and [other puzzles|https://hutthutthuttspuzzledump.blogspot.com/search?updated-max=2023-12-21T17:00:00-08:00&max-results=7] shared at @hutthutthutt's blog. Most liked puzzles ================== As of 26-12-2023, the most liked advent calendar puzzle made with the Kudamono editor was [this Soulmates puzzle|https://puzsq.logicpuzzle.app/puzzle/116185] by @Yuyuki. She also crafted the [most popular puzzle|https://puzsq.logicpuzzle.app/puzzle/116009] in the [entire event|https://puzsq.logicpuzzle.app/?sortType=fav&sortOrder=DESC&hashtag=205]. Congratulations! Second and third place went respectively to @Hizuriya, with this [Soulmates puzzle|https://puzsq.logicpuzzle.app/puzzle/116190], and to @calcogen, also with a [Soulmates puzzle|https://puzsq.logicpuzzle.app/puzzle/115456]. Well done! If we would break down the analysis further by genre, we'd notice @Yuyuki did very well there too (per-genre links in the table below, for those that are curious). GENRE SORTED LIST [Soulmates] [610|PZF=610] [Crosswall] [626|PZF=626] [Cross Border Parity Loop] [728|PZF=728] [Bouba & Kiki Loop] [653|PZF=653] [Tring-tring] [713|PZF=713] [Tricklayer] [631|PZF=631] [Clones] [198|PZF=198] [Alcazar] [704|PZF=704] [Hasu no Mura] [675|PZF=675] [RB Loop] [642|PZF=642] [RGB Loop] [679|PZF=679] ((Kudamono genres in PuzzleSquareJP's Advent Calendar 2023, sorted by popularity)) PZF=:=https://puzsq.logicpuzzle.app/?sortType=fav&sortOrder=DESC&hashtag=205&kind= Variants support initiative ============================ With fewer genres available to port, site.author still wished to provide something new to this year's event. Encouraged by November's developments in Kudamono's Variant System, an effort was made to add as many emerging variants as possible, with the shortest possible delay. Variants overview =-=-=-=-=-=-=-=-= All 11 Kudamono genres received at least one variant. In total, 68 variant puzzles were made, so average, roughly 1 in 4 puzzles was a variant. GENRE PUZZLES WITH VARIANT PERCENT Soulmates 46 2 04% Crosswall 51 18 35% Cross Border Parity Loop 24 9 38% Bouba & Kiki Loop 15 4 27% Tring-tring 15 5 33% Tricklayer 15 5 33% Clones 22 8 37% Alcazar 23 5 22% Hasu no Mura 21 3 14% RB Loop 24 8 33% RGB Loop 7 1 14% ((Breakdown of variants used per genre)) The genre with the highest number of registered variants was by far [Crosswall]. In addition, these 68 variant puzzles represent 37.5% of all 181 variant puzzles made during the event. By comparison, only 28% of all puzzles were made with the Kudamono Editor. This suggests that the growing variant capabilities of the Kudamono Editor paired with this Variant Support Initiative did stimulate variant-making! Variant-making was concentrated in 5 authors, the most prolific being @PinkHoodie and @Solyu. AUTHORS GENRES DISTINCT VARIANTS @PinkHoodie 11 27 @Solyu 8 17 @Anurag 2 3 @random8 1 1 @@凍み豆腐程度の能力@@ 1 1 Fun fact: @PinkHoodie made at least 1 classic and 1 variant for every genre in PuzzleSquareJP's Advent Calendar 2023 The following sections list all variants used in each genre exhaustively. Soulmates =-=-=-=-=- Only 2 Soulmates puzzles used variant rules, but a variant by @Solyu could actually be divided into 3 atomic variant elements, that were ported quickly after the puzzle was published. VARIANT AUTHOR STATUS some-mark @Solyu new adjacent-different @Solyu new adjacent-numbers-non-consecutive @Solyu new hex @PinkHoodie corrected after the event Embarassingly, the ´´hex´´ variant didn't work during the event, but it works now. Crosswall =-=-=-=-=- @Solyu released a collection of puzzles named 【Crosswall Variants Paradise】, making great use of the existing global variants! In addition, the new variant ´´match-parity´´ by @PinkHoodie was ported. VARIANT AUTHOR STATUS myopia @Solyu,@PinkHoodie existing directions @Solyu,@PinkHoodie existing territory-unique @Solyu existing full @Solyu, @PinkHoodie existing vertigo @Solyu, @PinkHoodie existing unequal-lengths @Solyu existing no-shortest @Solyu existing short @Solyu existing no-short @PinkHoodie existing snake @PinkHoodie existing match-parity @PinkHoodie new Interesting variant combos included: ´´snake´´ + ´´vertigo´´ and ´´vertigo´´ + ´´directions´´, by @PinkHoodie Cross Border Parity Loop =-=-=-=-=-=-=-=-=-=-=-=- No new variants were added to this genre, but several had to be were adapted to ignore edges and only focus on lines. VARIANT AUTHOR STATUS RB Parity Loop @Solyu [not ported|https://puzsq.logicpuzzle.app/puzzle/115887] short @PinkHoodie existing crossing @PinkHoodie existing full @PinkHoodie existing snake @PinkHoodie existing required-blacks @PinkHoodie existing Moon or Sun (-ish) @PinkHoodie [not ported|https://puzsq.logicpuzzle.app/puzzle/116471] shaded snake @PinkHoodie [not ported|https://puzsq.logicpuzzle.app/puzzle/116701] Bouba and Kiki Loop =-=-=-=-=-=-=-=-=-=-=-=- The ´´switch´´ variant by @Solyu was very impressive, and it is something that site.author wishes to port in the future. VARIANT AUTHOR STATUS switch @Solyu [not ported|https://puzsq.logicpuzzle.app/puzzle/116032] directions @PinkHoodie existing no-short @PinkHoodie existing vertigo @PinkHoodie existing Tring-tring =-=-=-=-=-=-=-=-=-=-=-=- Likewise, the ´´Bouba & Kiki + Tring-Tring´´ mashup by @random8 is worth porting, time permitting. VARIANT AUTHOR STATUS Bouba and Kiki (hexagons and triangles) @random8 [not ported|https://puzsq.logicpuzzle.app/puzzle/117128] unequal-adjacent-loops @PinkHoodie existing unequal-adjacent-loop-vertices @PinkHoodie existing Tricklayer =-=-=-=-=- Tricklayer was the second genre where two different authors proposed new variants, and both were ported within a short time frame. VARIANT AUTHOR STATUS chopped @AnuragSahay, @PinkHoodie existing area-no-multiple-3 @PinkHoodie new territory-adjacent-area-consecutive @AnuragSahay new The downside of this accelerated porting activity was a couple bugs making their way to the base genre and remaining there unnoticed for two days... Clones =-=-=-=-=- VARIANT AUTHOR STATUS Evolution Line @Solyu [not ported|https://puzsq.logicpuzzle.app/puzzle/116172] tile-removable-1 @PinkHoodie existing (in base genre) divide-3 @PinkHoodie new hex site.author adapted There was a strong focus on adapting the hex variant to work well with line edges. Again here the fast porting activity led to a visual bug on an unrelated genre ([Akari RBG] ´´hex´´)... Alcazar =-=-=-=-=- All Alcazar variants were fully supported, including the new ´´meandering´´ variant. VARIANT AUTHOR STATUS meandering @Solyu new vertigo @PinkHoodie existing directions @PinkHoodie existing myopia @PinkHoodie existing hyperopia @PinkHoodie existing Hasu no Mura =-=-=-=-=- This genre received two new variants, both inspired by existing genres: @context by @Solyu and @Aqre by @PinkHoodie. Both were fully supported within a short time frame. VARIANT AUTHOR STATUS context @Solyu, @PinkHoodie new aqre @PinkHoodie new Interestingly, a puzzle was quickly made by @PinkHoodie combining both variants! RB Loop =-=-=-=-=- In RB loop, the proliferation of new variants quickly overwhelmed site.author, so only 2 out of 5 were added. VARIANT AUTHOR STATUS RBPループ @@凍み豆腐程度の能力@@, @Solyu [not ported|https://puzsq.logicpuzzle.app/puzzle/116708] switch loop circuit @PinkHoodie [not ported|https://puzsq.logicpuzzle.app/puzzle/115663] nanameguri @PinkHoodie [not ported|https://puzsq.logicpuzzle.app/puzzle/115660] numbered-tiles @PinkHoodie existing directions @PinkHoodie existing no-shade @PinkHoodie, @Anurag new hasu-no-mura @PinkHoodie new | :info: to make the ´´hasu-no-mura´´ variant work better with RB Loop, it is avisable to drop the ´´full´´ constraint, using a minus sign, like so: ´´&V=hasu-no-mura,full´´-optional RGB Loop =-=-=-=-=- In RGB Loop, a single, already existing variant was used. VARIANT AUTHOR STATUS no-short @PinkHoodie existing Conclusion #=#=#=#=#= This year, PuzzleSquareJP's Advent Calendar featured 11 scheduled Kudamono genres across 8 days, including a full //Kudamono Week// - underscoring the growing partnership between PuzzleSquareJP and the Kudamono Editor. The +30 puzzles made every day with the Kudamono Editor reflect the trust this software system has earned from all setters and solvers, as well as its flexibility for accomodating many of the most creative genres and variants! To all participants in this year's event, thank you! Looking forward to next year! ## Changes **2023-12-27** Article published **2023-12-28** Feedback by @PinkHoodie incorporated **2024-01-01** Correction: ´´full-optional´´ is the name of the variant that drops the requirement for all tiles to be visited (@PinkHoodie)