Inleiding
Al weer enige jaren heb ik in de App Store een puzzelspelletje staan genaamd Exit16. De bedoeling van het spel is om blokjes met dezelfde kleur met elkaar te combineren, waarna ze verdwijnen. Blokjes kunnen niet door muren en kunnen alleen horizontaal en verticaal bewegen. Als het speelveld leeg is, komt er weer een nieuwe puzzel. Op dit moment bevat het spel 104 puzzels, en ben ik van plan er nog een behoorlijk aantal bij te maken.
/f/image/4TwryBblpOCuBRHNebXIYPEX.png?f=fotoalbum_large)
Hier zit meteen de crux... alle 104 levels die er nu in zitten zijn tot stand gekomen door een puzzel te maken en vervolgens zelf te kijken of ik 'm op kan lossen. Daarbij schat ik zelf in hoe ingewikkeld een level is, zodat tijdens het spelen van het spel er niet te veel heel moeilijke puzzels achter elkaar komen, maar je als speler ook even op adem kan komen.
Nu zou ik het 'testen' van een puzzel en een optimale oplossing graag door de computer willen laten uitrekenen, zodat ik het spel kan uitbreiden met een sterren rating per level, een score, achievements, etc, etc. Ik kan alleen niet een handig en snel algoritme bedenken om dit voor elkaar te krijgen.
Relevante software en hardware die ik gebruik
Het spel is ontwikkeld in Swift en geschikt voor iOS. Maar voor een level solver maakt de taal natuurlijk helemaal niets uit. De levels zijn opgeslagen als een JSON bestand, dus het inlezen kan ook in elke denkbare taal relatief eenvoudig gedaan worden.
Wat ik al gevonden of geprobeerd heb
Ik heb dus Google lastig gevallen en heb geprobeerd zelf wat te verzinnen. Ik kwam daarbij termen als wave function collapse tegen, maar ik weet niet helemaal zeker of dat een route is die ik zou moeten volgen.
Dus... zijn er hier algoritmische alleskunners die me in de juiste richting kunnen duwen?
Al weer enige jaren heb ik in de App Store een puzzelspelletje staan genaamd Exit16. De bedoeling van het spel is om blokjes met dezelfde kleur met elkaar te combineren, waarna ze verdwijnen. Blokjes kunnen niet door muren en kunnen alleen horizontaal en verticaal bewegen. Als het speelveld leeg is, komt er weer een nieuwe puzzel. Op dit moment bevat het spel 104 puzzels, en ben ik van plan er nog een behoorlijk aantal bij te maken.
/f/image/4TwryBblpOCuBRHNebXIYPEX.png?f=fotoalbum_large)
Hier zit meteen de crux... alle 104 levels die er nu in zitten zijn tot stand gekomen door een puzzel te maken en vervolgens zelf te kijken of ik 'm op kan lossen. Daarbij schat ik zelf in hoe ingewikkeld een level is, zodat tijdens het spelen van het spel er niet te veel heel moeilijke puzzels achter elkaar komen, maar je als speler ook even op adem kan komen.
Nu zou ik het 'testen' van een puzzel en een optimale oplossing graag door de computer willen laten uitrekenen, zodat ik het spel kan uitbreiden met een sterren rating per level, een score, achievements, etc, etc. Ik kan alleen niet een handig en snel algoritme bedenken om dit voor elkaar te krijgen.
Relevante software en hardware die ik gebruik
Het spel is ontwikkeld in Swift en geschikt voor iOS. Maar voor een level solver maakt de taal natuurlijk helemaal niets uit. De levels zijn opgeslagen als een JSON bestand, dus het inlezen kan ook in elke denkbare taal relatief eenvoudig gedaan worden.
Wat ik al gevonden of geprobeerd heb
Ik heb dus Google lastig gevallen en heb geprobeerd zelf wat te verzinnen. Ik kwam daarbij termen als wave function collapse tegen, maar ik weet niet helemaal zeker of dat een route is die ik zou moeten volgen.
Dus... zijn er hier algoritmische alleskunners die me in de juiste richting kunnen duwen?