Tarkoitus ois näyttää pelaajalle tarvittava siirtomäärä, jotta saa ihannetuloksen. Liukupalapelissä on useita kokoja (3x3, 4x4, 5x5, 6x6 jne.). Paloja sekoitetaan satunnaisesti, joten siirtojen määrä ei ole aina sama.
Pystyykö koneen laittaa pelaa ja ettii kannattavat siirrot? Vai pitääkö ensin kerätä pelatuista peleistä dataa, jota käsitellään?
Ajattelisin että nimenomaan ihannetuloksen näyttämisen suhteen olisi järkevää laittaa koneelle ihan ratkaisualgoritmi (tai ihannetuloksen laskenta-algoritmi).
Tuo että käytettäisiin pelatuista peleistä dataa viittaisi lähinnä oppivaan tekoälyyn ja vaikka kone oppisikin ratkaisemaan pelin, niin mistä sitä tietäisi olisiko ratkaisu ihanteellinen? Ja siis tämä, vaikka opetusmateriaalissa olisi vain ihanteellisia ratkaisuja.
Liukupalapelin optimaalista ratkaisua voi hakea esimerkiksi A*-algoritmilla. Algoritmissa löydetyt pelitilanteet pidetään keossa (prioriteettijonossa). Joka kierroksella otetaan keosta paras tilanne (mittarina tehdyt siirrot ja arvio jäljellä olevista siirroista) ja lisätään kekoon kaikki tästä yhdellä siirrolla saavutettavat tilanteet. Arvion eli heuristiikan pitää olla optimistinen, eli arvio ei saa olla huonompi kuin oikea tulos. Yksinkertainen optimistinen arvio liukupalapelissä on jokaisen palan etäisyys oikeasta sijainnista, koska siirrolla voi siirtää vain yhtä palaa ja enintään yhden yksikön lähemmäs oikeaa paikkaa.
Kiitokset Grez ja Metabolix.
Netissä on ylllin kyllin liukupalapelejä. Hyvin pitkälti suunnattu lapsille. En ole kiinnostunut kehittää peliä opetusmielessä. Tarkoitus on viedä peliä uusille raitelle. Ottaa siitä kaikki potenttiaali irti.
Liukupalapelissä on kaava kuinka sen saa ratkaistua. Viihdepelaajalle riittää et siirtelee paloja huvikseen. Sit on niitä, jotka pelaa taktiikalla. Miettii siirrot tarkkaan. Nämä pelaajat kiinnostaa ensisijaisesti.
Kun tietää tarvittavien siirtojen määrän pelistä tulee huomattavasti mielenkiintoisempi ja haastekerroin kasvaa. Kun siirrot tiedetään voidaan myös määrittää aikaraja, joka tuo taaas lisää haastetta. Tästä voi kehittää sit tasopelin. Kun on saanut ihannetuloksen pääsee pelaa seuraavaa kokoa. Tässä testataan pelaajaa kunnolla, kuka on mestareiden mestari.
Metabolix, sopiiko laittaa meiliä? Sun tekstit menee täysin ylitte :) Näyttää siltä et sul on tietoa ja ymmärrystä enemmänkin. Oisin kiinnostunut tutkailee tätä tarkemmin.
sebaloha kirjoitti:
Metabolix, sopiiko laittaa meiliä?
Ei ole kiinnostusta keskustella näistä yksityisesti. Jos et aio itse opiskella tällaisia perusjuttuja, joista on netti tietoa pullollaan, palkkaa vaikka joku tietojenkäsittelytieteen opiskelija koodaamaan se algoritmi. Ei ole todellakaan rakettitiedettä, A* kuuluu hakualgoritmien peruskurssille, ja luultavasti saat siihen ihan toimivan valmiin koodin vaikka ChatGPT:ltä. Ideoita taas muuten on parempi jakaa julkisella alustalla, niin niistä hyötyvät myös muut.
Tästä on hyvä jatkaa. Kiitos tiedoista.
Mä luulen, että tällaiset keskustelufoorumit on paras tapa muutenkin keskustella asioista.
Täällä saa monenlaisia mielipiteitä ja ajatuksia asioihin.
Aihe on jo aika vanha, joten et voi enää vastata siihen.