Selainpeli

Selainpeli on verkkoselaimella pelattava peli. Ohjelmaa ei tällöin asenneta käyttäjän tietokoneelle väliaikaisia tiedostoja lukuun ottamatta, kuten selaimen välimuistissa olevat tiedostot.

Selainpelit ovat eri aikoina tehty eri tekniikoilla, esimerkiksi Adobe Flashilla ja Javalla. 
HTML5, WebGL ja WebAssembly ovat korvanneet Flashin käytön.

 Selainpelin luominen HTML5 
HTML-dokumentti toimii pelin perustana. Siinä määritellään elementit ja käyttöliittymän osat.

CSS-tiedoston avulla voidaan määritellä pelin ulkoasu ja pelin elementtien asettelu.

JavaScript hoitaa pelin logiikan ja vuorovaikutuksen. Käyttämällä canvas-elementtiä, voidaan piirtää grafiikkaa, kuten pelaajahahmoja ja taustoja. Pelin elementit, kuten pelaaja, viholliset ja esteet, voidaan luoda ja hallita JavaScriptissä. Myös pelimekaniikat, kuten liikkuminen, törmäykset ja pisteiden laskeminen, määritellään JavaScriptissä. Tämä sisältää käyttäjän syötteiden, kuten näppäimistön ja hiiren, käsittelyn.

Phaser tarjoaa valmiita työkaluja ja kirjastoja, jotka helpottavat pelin kehittämistä, kuten pelin fysiikan, animaatioiden ja käyttäjän syötteiden käsittelyn. Phaserin avulla voidaan keskittyä enemmän pelin sisältöön ja pelimekaniikkoihin ilman, että täytyy rakentaa kaikkea alusta asti. Phaserin integroimiseksi HTML5-selainpeliin on useita tapoja. Yksi yksinkertaisimmista tavoista on käyttää CDN-linkkiä suoraan HTML-tiedostossa. 

 Yksinkertainen runko HTML5-selainpelille: 
HTML-tiedosto, joka sisältää Phaser-kirjaston lataamisen CDN kautta ja viittaa JavaScript-tiedostoon peli.js.<!DOCTYPE html>
<html>
<head>
    <script src="https://cdn.jsdelivr.net/npm/phaser@3/dist/phaser.js"></script>
    <script src="peli.js"></script>
</head>
</html>JavaScript-tiedosto peli.js:// Pelin konfiguraatio-objekti
const config = {
    // Tähän tulee pelin asetukset
};

// Luo uusi Phaser-peli konfiguraation perusteella
const game = new Phaser.Game(config);

function preload() {
    // Lataa resurssit (tässä tapauksessa ei ladata mitään)
}

function create() {
    // Tähän tulee koodi pelimaailman luomiseksi
}

function update() {
    // Päivitysfunktio (tässä tapauksessa ei tehdä mitään)
}

 Lähteet 

Luokka:Videopelikäsitteet