PlayPendium

Roomshade · Voer voor de geest

Vier regels die in elkaar grijpen

Elke Roomshade-puzzel rust op vier beperkingen die samen één enkele, onontkoombare oplossing opleveren.

In het Engels geschreven en geredigeerd. Deze Nederlandse versie is met machinevertaling gemaakt; waar precisie ertoe doet, is het Engelse origineel leidend. Lees het origineel in het Engels →

De architectuur van de beperking

Een Roomshade-puzzel begint als een leeg rooster, door dikke lijnen verdeeld in rechthoekige kamers. Sommige kamers dragen een getal, andere blijven leeg. De taak van de speler is om in elke genummerde kamer precies het juiste aantal vakjes te arceren en daarbij drie aanvullende beperkingen te respecteren die zich over het hele bord uitstrekken. Deze vier regels — het aantal per kamer, het aanrakingsverbod, de eis van verbondenheid en de grens aan lijnen over kamers heen — werken niet los van elkaar. Ze vormen een systeem dat in elkaar grijpt, waarin het naleven van de ene regel vaak de voorwaarden schept om de andere na te leven, en waarin het overtreden van welke ook maar de puzzel ongeldig maakt. 3 1

De elegantie van dit ontwerp schuilt in de manier waarop elke regel de andere inperkt. De aantalregel werkt lokaal en bestrijkt alleen de vakjes binnen de grenzen van één kamer. Het aanrakingsverbod werkt eveneens lokaal, maar legt verbanden tussen aangrenzende kamers. De verbondenheidsregel werkt globaal en eist dat het hele witte gebied één doorlopend geheel vormt. De lijnregel werkt langs rechte lijnen die meerdere kamers kunnen doorkruisen. Samen scheppen deze beperkingen een puzzel waarin lokale gevolgtrekkingen uitwaaieren tot globale conclusies, en waarin de oplossing niet uit gokken voortkomt maar uit het doorzien hoe de regels in elkaar grijpen om elke mogelijkheid op één na uit te sluiten. 3

Vier regels, één oplossing.

De aantalregel per kamer

De eerste en meteen zichtbaarste regel zegt dat een kamer met een getal precies zoveel gearceerde vakjes moet bevatten. Dat is het voornaamste aanwijzingsmechanisme van de puzzel: de informatie die de speler over het inwendige van elke kamer krijgt. Een kamer van drie vakjes met aanwijzing twee vraagt precies twee gearceerde vakjes en één wit vakje. Een kamer van zes vakjes met aanwijzing drie vraagt drie gearceerde en drie witte vakjes. Een kamer zonder getal legt zulk een beperking niet op, al zet het aanrakingsverbod er wel een plafond op: hij mag alles bevatten van nul gearceerde vakjes tot het hoogste aantal dat zijn vakjes aankunnen zonder dat er twee elkaar raken, wat voor een rechthoek de helft van zijn vakjes is, naar boven afgerond. 3

Deze regel alleen is voor de meeste puzzels niet genoeg. Een kamer van 3×2 met aanwijzing twee kan zijn twee gearceerde vakjes bijvoorbeeld op vijftien verschillende manieren kwijt. De regel levert lokale informatie, maar laat aanzienlijke onduidelijkheid bestaan. Juist die onduidelijkheid is echter wat de andere regels oplossen. Het aanrakingsverbod, de verbondenheidsregel en de lijnregel schrappen elk bepaalde opstellingen die onder de aantalregel alleen toelaatbaar zouden zijn. De aantalregel zet het toneel; de andere regels bepalen welke acteurs mogen opkomen. 3

Het aanrakingsverbod

De tweede regel verbiedt dat twee gearceerde vakjes orthogonaal aan elkaar grenzen. Twee gearceerde vakjes mogen nooit een zijde delen; ze mogen elkaar alleen diagonaal raken. Deze regel schept een afstandseis die zich over kamergrenzen heen voortplant. Zodra een vakje gearceerd wordt, verbiedt het meteen de arcering van zijn orthogonale buren, ongeacht of die buren tot dezelfde kamer of tot een aangrenzende kamer behoren. Zo ontstaat een rimpeleffect: één vakje arceren kan mogelijkheden in naburige kamers wegnemen, wat op zijn beurt andere vakjes kan dwingen gearceerd of wit te zijn. 1

Het aanrakingsverbod is bijzonder krachtig in combinatie met de aantalregel. Neem een kamer van 1×3 met aanwijzing twee. Twee gearceerde vakjes mogen niet naast elkaar liggen, dus moeten ze de beide uiteinden innemen en moet het middelste vakje wit blijven: de aantalregel legt vast hoeveel, het aanrakingsverbod legt vast welke. Neem omgekeerd een kamer waarin maar één vakje gearceerd mag zijn. Het aanrakingsverbod bepaalt mede welke vakjes in naburige kamers gearceerd mogen worden, want een vakje arceren dat grenst aan dat ene gearceerde vakje zou de regel schenden. In dit samenspel tussen de aantalregel en het aanrakingsverbod begint een groot deel van het redeneerwerk van de puzzel. 3

Eén vakje arceren verbiedt zijn orthogonale buren.

De eis van verbondenheid

De derde regel eist dat alle witte vakjes één orthogonaal verbonden gebied vormen. Dat betekent dat je vanaf elk wit vakje elk ander wit vakje kunt bereiken door alleen orthogonaal door witte vakjes te bewegen. Deze regel werkt globaal over het hele bord en is daarmee een van de krachtigste beperkingen in het spel. Ze verhindert dat het witte gebied uiteenvalt in afgesloten eilandjes, wat anders zou kunnen gebeuren wanneer een ring van gearceerde vakjes toevallig een groepje witte vakjes van de rest van het bord afsluit. 3

De verbondenheidsregel wordt vooral in de latere fasen van het oplossen cruciaal, wanneer de meeste vakjes vaststaan en de resterende vraag is of de witte vakjes één verbonden gebied vormen. Ze kan bepaalde vakjes tot wit dwingen, ook als het aanrakingsverbod toestaat ze te arceren. Als het arceren van een bepaald vakje bijvoorbeeld een groep witte vakjes van de rest van het bord zou afsnijden, dan moet dat vakje wit zijn. Deze regel zet lokale beslissingen om in globale gevolgen en vraagt de speler het witte bouwwerk van het hele bord in het oog te houden terwijl hij afzonderlijke vakjes vaststelt. 3

De grens aan lijnen over kamers heen

De vierde en subtielste regel zegt dat geen enkele rechte horizontale of verticale lijn van aaneengesloten witte vakjes zich over drie of meer kamers mag uitstrekken. Een rechte reeks witte vakjes mag hooguit één kamergrens overschrijden, wat betekent dat hij vakjes uit hoogstens twee kamers mag bevatten. Deze regel werkt langs rechte lijnen die kamergrenzen doorsnijden, en schept zo een beperking die onzichtbaar blijft tot je de horizontale en verticale lijnen van het bord nagaat. 1

Deze regel is bijzonder doeltreffend in het uitsluiten van bepaalde opstellingen die anders aan de eerste drie regels zouden voldoen. Een lange horizontale reeks witte vakjes die twee kamergrenzen overschrijdt, zou deze regel bijvoorbeeld schenden, ook al liggen de vakjes keurig uit elkaar volgens het aanrakingsverbod en horen ze bij kamers met de juiste aantallen. De regel dwingt witte vakjes om op strategische punten langs hun lijnen door gearceerde vakjes onderbroken te worden, en zorgt zo voor het beeld van witte vakjes die in stukken geknipt lijken door de gearceerde vakjes die ze scheiden. 3

Hoe de regels in elkaar grijpen

De ware kracht van Roomshade komt voort uit de manier waarop deze vier regels samenwerken. De aantalregel levert de eerste informatie, maar laat veel opstellingen mogelijk. Het aanrakingsverbod schrapt bepaalde opstellingen door orthogonaal aangrenzende gearceerde vakjes te verbieden. De verbondenheidsregel schrapt opstellingen die het witte gebied zouden versnipperen. De lijnregel schrapt opstellingen die witte lijnen door te veel kamers opleveren. Elke regel schrapt een andere deelverzameling van de mogelijkheden, en samen schrappen ze alles op één opstelling na: de unieke oplossing. 3

Dat in elkaar grijpen maakt er een puzzel van waarin de oplossing niet te vinden is door regels los van elkaar na te leven. Een vakje kan toelaatbaar zijn onder de aantalregel en het aanrakingsverbod, maar verboden door de verbondenheidsregel. Een ander vakje kan aan het aanrakingsverbod voldoen maar een witte lijn opleveren die de lijnregel schendt. De speler moet voortdurend alle vier de regels tegelijk nalopen, in het besef dat een gevolgtrekking op grond van de ene regel nieuwe mogelijkheden of beperkingen onder een andere regel kan scheppen. Dat is de kern van het redeneren in deze puzzel: de gevolgen van elke regel volgen terwijl ze zich door het hele bord voortplanten. 3

Elke regel perkt elke andere regel in.

Roosterformaten en kamerafmetingen

Roomshade-puzzels komen in drie standaardformaten: klein (5×5), middel (6×6) en groot (7×7). Die afmetingen beïnvloeden de complexiteit van de puzzel, maar niet de regels zelf. Een rooster van 5×5 bevat minder vakjes en kamers dan een van 7×7, dus vergt de oplossing doorgaans minder redeneerstappen. De grondstructuur van de puzzel blijft echter dezelfde, ongeacht het formaat. 3

Elke kamer is een rechthoek met afmetingen tussen één en drie vakjes in elke richting. Zo ontstaan kamers die variëren van losse vakjes van 1×1 tot kamers van 3×3 met negen vakjes. De kamerafmetingen beïnvloeden de toepassing van de regels op interessante manieren. Een kamer van 1×1 met aanwijzing één moet gearceerd worden; een kamer van 1×1 met aanwijzing nul moet wit blijven. Een kamer van 3×3 met aanwijzing vijf vraagt vijf gearceerde en vier witte vakjes, en het aanrakingsverbod laat precies één manier over om ze te plaatsen: de vier hoeken en het midden. De kamerafmetingen scheppen, samen met de aanwijzingswaarden, de beginvoorwaarden waaruit de regels de unieke oplossing moeten voortbrengen. 3

Getoonde en weggelaten aanwijzingen

Sommige kamers tonen hun aanwijzingsgetal, andere blijven leeg. Een lege aanwijzing betekent dat de kamer geen aantalbeperking kent: de kamer mag elk aantal gearceerde vakjes bevatten, van nul tot het hoogste aantal dat zijn vakjes aankunnen zonder dat er twee elkaar raken. Lege kamers gehoorzamen nog steeds aan het aanrakingsverbod, de verbondenheidsregel en de lijnregel, maar ze dragen geen getalsmatige beperking aan de puzzel bij. 3

De aanwezigheid van lege kamers voegt een laag complexiteit aan de puzzel toe. Zonder getalsmatige beperking moet de speler volledig op grond van de andere drie regels bepalen welke vakjes in lege kamers gearceerd worden. Dat vergt een zorgvuldige analyse van hoe het arceren van vakjes in lege kamers de naburige kamers en het globale witte bouwwerk beïnvloedt. Lege kamers kunnen dienen als verbindingen tussen genummerde kamers, waardoor witte paden ertussen kunnen doorlopen, of ze kunnen met gearceerde vakjes worden gevuld om ongewenste witte lijnen te blokkeren. Het samenspel tussen lege en genummerde kamers is een kernelement van het ontwerp van Roomshade. 3

Van lokale naar globale gevolgtrekking

De schoonheid van Roomshade schuilt in de manier waarop lokale gevolgtrekkingen uitwaaieren tot globale conclusies. Een gearceerd vakje in de ene hoek van het bord kan, via het in elkaar grijpen van de regels, de toestand bepalen van vakjes vele kamers verderop. Het aanrakingsverbod plant zich lokaal voort en verbiedt de buren van gearceerde vakjes. De verbondenheidsregel plant zich globaal voort en eist dat het hele witte gebied verbonden blijft. De lijnregel plant zich langs rechte lijnen voort en verbiedt witte reeksen die te veel kamers doorkruisen. 1

Die voortplanting maakt er een puzzel van waarin de speler zijn beeld van het bord voortdurend moet bijstellen naarmate er nieuwe informatie bij komt. Een vakje dat eerst nog onbepaald was, kan afgedwongen worden zodra een naburig vakje vaststaat. Een kamer die meerdere geldige opstellingen leek te hebben, kan tot één enkele opstelling worden teruggebracht zodra de verbondenheidsregel wordt toegepast. De oplossing komt niet uit één inzicht voort, maar uit het opgetelde effect van het herhaald toepassen van de vier regels tot elk vakje vaststaat. 3

De regels zijn de logicamotor van de puzzel.

Het deterministische karakter van de oplossing

Elke Roomshade-puzzel heeft precies één oplossing. Die uniciteit is geen toeval, maar wordt door de constructie van de puzzel gewaarborgd. De backtracking-oplosser waarmee puzzels worden gegenereerd, controleert dat maar één arcering aan alle vier de regels voldoet. Dat deterministische karakter is essentieel voor het ontwerp: als er meerdere oplossingen mogelijk waren, zou de puzzel als ongeldig gelden. De taak van de speler is de unieke oplossing door redeneren te ontdekken, niet door te gokken. 3

Het deterministische karakter van de puzzel betekent dat elke geldige gevolgtrekking zeker moet zijn. Als van een vakje via de regels vast te stellen is dat het gearceerd of wit is, dan is het in de unieke oplossing ook gearceerd of wit. Als de toestand van een vakje niet zonder gokken te bepalen is, dan is de puzzel ofwel nog niet opgelost, ofwel heeft de speler de juiste gevolgtrekking nog niet gevonden. Deze eigenschap onderscheidt Roomshade van puzzels die op vallen en opstaan berusten: de bepaling van elk vakje moet logisch voortvloeien uit de regels en de al vastgestelde informatie. 3

Sources & notes

  1. "Heyawake," Wikipedia, a binary-determination logic puzzle published by Nikoli, first appearing in Puzzle Communication Nikoli #39 in September 1992; the Japanese name means "divided rooms," the grid being divided into variously sized rectangular rooms by bold lines; a number in a room indicates exactly how many painted (shaded) cells it must hold; painted cells may never be orthogonally connected and all the white cells must be interconnected; and a straight line of connected white cells may not contain cells from more than two rooms. en.wikipedia.org/wiki/Heyawake.
  2. "Nikoli (publisher)," Wikipedia, a Japanese publisher specializing in games and, especially, logic puzzles, established in 1980 by Maki Kaji; its Sudoku, the most popular logic problem in Japan, was popularized in the English-speaking world in 2005; it is notable for a vast library of "culture-independent" puzzles focused on logic rather than language; and it has invented or introduced many puzzle genres, including Slitherlink, Nurikabe, Heyawake, and Masyu. en.wikipedia.org/wiki/Nikoli_(publisher).
  3. Roomshade game engine: a Heyawake realization on a rows×cols grid partitioned into axis-aligned rectangular ROOMS, enforcing four rules: (1) a room with a number holds EXACTLY that many shaded cells (unlabeled rooms are free); (2) no two shaded cells are orthogonally adjacent; (3) all unshaded (white) cells form one orthogonally-connected region; and (4) no horizontal or vertical straight run of white cells may span three or more rooms; sizes are small (5×5), medium (6×6), and large (7×7) with rooms of dimension 1–3 and a clue that is either the shaded count or blank; the grid is partitioned by a greedy randomized fill, and a backtracking solver both fills a valid solution and verifies the puzzle's uniqueness, all pure and seeded-deterministic. Read from the game's own source.
  4. Further reading on Heyawake: Markus Holzer and Oliver Ruepp, “The Troubles of Interior Design–A Complexity Analysis of the Game Heyawake,” in Fun with Algorithms (FUN 2007), Lecture Notes in Computer Science; the analysis behind the result that deciding whether a Heyawake instance has a solution is NP-complete. doi.org.
Was this worth reading?
Play Roomshade
PlayPendium · About · Contact · Privacy · Terms · Cookies · Accessibility · Copyright · Browse all games · Classic arcade games · © 2026