Parempi myöhään, kuin ei milloinkaan

Otsikon mukainen sanonta on aika tunnettu. Tässä kuitenki voi joidenki mielestä olla joidenkin mielestä "mutta miksi..", varsinkin kun kyseessä on flash.

Todellakin aloin tutkimaan, miten flash toimiii. Aihe lähti siitä, kun katselin youtubesta videoita pelimoottoreista ja jonkinverran ennestään tuttu Haxe tuli vastaan. Videossa myös mainittiin OpenFL

Haxella on flash pelejä tehty, mitä olen ymmärtänyt. Tästä tuli mieleen muutama vanha flash peli, jotka kiinnostaa minua, mutta niissä on jonkuverran ongelmia nykykoneilla. Joko ne eivät halua pyöriä ilman muutamaa nettipuolen asiaa tai sitten ne on kirjoitettu, etteivät ne pyörisi. Mahdollisesti pelaajien seuranta, jossa serverit eivät ole toiminnassa tai vain ettei niitä useampi kopioi. Toki tiedän, että archive.org sisältää useita kokoemia ja esimerkiksi Flashpoint Archive (aiemmin nimellä BlueMaxima Flashpoint), sekä muutama muu.

Kuitenkin haluan itse tutkia. Pelien ja ohjelmien toiminta on kiinnostava aihe itselle. Latasin JPEXS Free Flash Decompiler ja aloin tutkimaan swf tiedostojen sisältöä. Onneksi JPEXS osaa suoraan muokata koodia pelien sisällä. Osan sain toimimaan paremmin Rufflella. Aikaisemmin peli joko jumi, vilkkui toimimatta tai ei toiminut ollenkaan. Yleisimmät ongelmat tulivat tutuiksi.

Asensin vanhemman Windowsin virtuaalikoneesen ja vanhan Macromedia Flashin testiversiolla avasin JPEXS puretun pelin, jos flashillä uudelleen muuttaisi uudempaan formaattiin. Onnistuin pakkaamaan uudemmalle flash versiolle ja korjata koodista virheitä. Flash ohjelma osaa paremmin kertoa, jos koodissa on häikkää. Uudelleenpakkaamisen vie sen verran aikaa, etten ajattele sitä niin tarpeelliseksi. Suurimman osan voin vain korjata suoraan JPEXSllä. No ainaki sai hieman kokemusta aiheesta.

Loppujenlopuksi sain pelin toimimaan, Ruffle ei valita ongelmista ja pyörittää tasaisesti. Joskus riittää, että koodista korjaa rivin tai kaksi koodia.

Seuraavana ajatuksessa on mahdollisesti uudelleenkirjoittaa peli vaikka aloituksessa kommentoimallani Haxella. Mahdollisesti käyttäen HaxeFlixel ja OpenFL. Tämä mahdollistaisi pelin pelaamisen ilman flashiä. Löysin myös keinoja muuntaa koodia kieleltä toiselle. Tästä kommentoin (ehkä) joskus toiste enemmän.

Toki muitakin kieliä ja pelimoottoreita voisi käyttää. Onko kuitenkaan hyvä ajatus tehdä kymmenien tai satojen megojen kokoisen pelin alkuperäisestä puolen megan pelistä. Toki, jos remake tai remaster olisi mielessä. 

Katsotaan, mihin tämä (ehkä) johtaa. Nämä ovat näitä hitaasti eteneviä projekteja.