sunnuntai 20. maaliskuuta 2022

Panda⁵ (Panfu HTML5-sivuprojekti)

(This is a quick walkthrough of a new HTML5 Panfu client in Finnish. Or more specifically, it's a remake or a tribute of Panfu, and not a client, since the implementation only works with its own server and requires the complete remake of all the wanted rooms and features.)

Mitä tapahtuu, kun "kiireinen" opiskelija prokrastinoi ja aloittaa uusia sivuprojekteja aikansa kuluksi ja iloksi? No, syntyy tietysti hulluja ideoita ja hankkeita kerta toisensa jälkeen!

Olen tässä blogissa aiemmin esitellyt kaiken maailman virtuaalimaailmahankkeita, jotka ovat sitten ennen pitkää kaatuneet joko motivaationpuutteeseen tai teknisen osaamisen heikkoon tasoon. Niiden virittelystä on kuitenkin jo vuosia, ja on tapahtunut huimaa kehitystä paitsi tekniikassa, myös allekirjoittaneen virittelytaidoissa.

Tutkailin tuossa eräänä iltana kansioihin kertyneitä tiedostosekasotkuja, ja löysin muun muassa kasan Panfuun liittyvää Flash-materiaalia. No, Flash on tekniikkana aikansa elänyt, eikä sitä tueta enää missään uudemmissa selaimissa (minkä takia esim. Panfu.us eli entinen Panfu.me on tehnyt oman erilliseen flash-lisäosaan ja Electroniin pohjautuvan erikoisselaimensa flash-version pelaamista varten), mutta kaikki vanha hieno materiaali on edelleen olemassa Flash-tiedostoissa, ja on niistä muunnettavissa kikkailemalla käyttökelpoisempaan muotoon!


Videoklipissä on lyhyt havainnollistava visiitti viimeisimmän sivuprojektini äärellä. Aikaa on tähän mennessä käytetty muutamia iltoja, ja tuloksena on (jossain määrin) toimiva pandapelimoottori moninpelituella palvelimineen kaikkineen.

Flashista eteenpäin siirtymistä ajatellen on tehty jos jonkinlaisia työkaluja, kuten Ruffle (Flash-emulaattori selaimessa) ja erinäisiä maksullisia työkaluja, joskaan mitään näistä ei ole tässä projektissa käytetty, vaan pelimoottori on rakennettu puhtaasti HTML5-tekniikoilla, frontendissä myös Reactia hyödyntäen.


Huonejärjestysten ja -animaatioiden ynnä muun hienon tavaran järjestelyn helpottamiseksi väänsin ensin melko alkeellisen huone-editorin, jonka alle alkoi siis rakentua tietysti myös PandaEngineksi kutsumani huonemoottori. Sen käyttöliittymä on kyhätty nopeasti kasaan Reactilla, ja se ulostaa mukavia zip-paketteja jotka toimivat suoraan huonemoottorissa myös pelin puolella, sisältäen kaiken huoneen animaatioista aina skriptattaviin erikoisominaisuuksiin asti.


Huoneiden nakertaminen kasaan on melko työlästä, ja jaksamisasteesta riippuen niistä tulee enemmän tai vähemmän pikselintarkkoja. Tosin, lähdin tähän sivuprojektiin puhtaasti sillä ajatuksella, että tarkoitus ei ole tehdä sataprosenttisen tarkkaa kopiota Flash-Panfusta, vaan ehkäpä luoda riittävä illuusio tietystä "Panfumaisuudesta" kuitenkin mahdollistaen uudenkin sisällön luomisen.

Käytännössä se tarkoittaa sitä, että alapalkin nappulat eivät ole pikselilleen oikeassa kohdassa, maauimalan suihku suihkuttaa toistaiseksi vain hiiren ollessa sen päällä, ja rannan simpukankuoret sun muut kilkkeet eivät varmastikaan ole vielä oikeilla paikoilla. Teoriassa se voisi tarkoittaa sitä, että vähällä vaivalla tämän pelimoottorin päälle voisi tulevaisuudessa ehkä väsätä uusia viikkotehtäviä, spesiaalihuoneita, uusia toimintoja...


Flash on erikoinen ja monella tavalla ristiriitainen formaatti, mikä näkyy osaltaan myös Panfun swf-tiedostoissa. Esimerkiksi panda-animaatioiden kokoaminen kasaan ei-flashmaiseen ja järkevään muotoon oli (ja on edelleen) yksi iso työmaa, mutta vielä sitäkin ärsyttävämpi työmaa on esimerkiksi kaikkien vaatteiden ja käsitavaroiden muuttaminen epäflashiksi. Muistan kirjoittaneeni sitä(kin) varten jo jonkinlaisen työkalun joitain vuosia sitten, pitää ehkä kaivaa se naftaliinista...

Tämä oli siis lyhyt katsaus siihen, että pandaprojektit elävät yhä! Kaikille Panfu-nostalgiaa kaipaaville voin suositella tämänhetkisistä privaattipanfuista ainakin Pandalandia (pandaland.eu, html5) ja Panfu.us:ää (flash).

Koska aika on enemmän ja vähemmän kortilla, en lupaa että tämä projekti etenisi koskaan lyhyttä hassuttelua vakavammaksi, mutta pyrin päivittämään panda-asioihin liittyvät uutiset tänne! (Tämä blogi taitaa muuten olla jo yli kymmenen vuotta vanha...jee!) 

Vilkutusanimaatiota en ole vielä tehnyt pelimoottoriin valmiiksi,
joten loppuvilkutukseksi saa kelvata pandahahmon
vilkutusanimaation kaikki framet ilman väritasoa.



Lisäedit 26.3.2022
 




8 kommenttia:

  1. ihanaa että joku pitää tätä kulttuuria hengissä

    VastaaPoista
    Vastaukset
    1. Jos ei nyt kokonaan hengissä, niin ainakin välillä muutamia sydämenlyöntejä 😅

      Poista
  2. Oli kova peli :D

    VastaaPoista
  3. Roni, perkele! Kommentoin viimeks varmaan 2017. Onkos jäbä vielä elossa?????

    VastaaPoista
  4. Heetkonen, siis työstätkö sä private serveriä? Nyt on jees, mut hei eiks sulla joskus ollut joku omakin flash-peli? Sellanen vähän yksinkertasemmin piirretty, tuli joskus kerran testattua. Oli ihan hauska ja joitin tehä omaa sen perusteella mut en osannut koodata :D Olin joku 12

    VastaaPoista
    Vastaukset
    1. Flashilla vääntelyä en koskaan tainnut opetella, mutta jotain hyvin randomeita avatarchat-projekteja tuli ihan puhtailla HMTL+JS-virityksillä väännettyä :D

      Ja joo, kuten postauksessakin dokumentoitua, niin alottelin joitain aikoja sitten flashittoman Panfu-kloonin väkertämistä! Nyt en kyllä oo tosin pitkiin aikoihin ehtinyt siihen paneutua, koska opinnot ja työt vie aikaa ...mutta raamit on olemassa!

      Hauskaa aina välillä käydä täällä kurkkimassa kun tulee kommentteja wanhoilta Panfuilijoilta ^^

      Poista
  5. Oli kyllä legendaarinen peli :D

    VastaaPoista

Kommentoimassa? Anna palaa! Kommentit moderoidaan ennen niiden julkaisua, joten ethän ihmettele, jos kommenttisi ei ilmesty näkyviin heti. Yritän vielä nykyäänkin (2023-) käydä kommentteja kurkkimassa!