LPC on tietokoneohjelmointikieli, jota käytetään pääasiassa peleissä, mutta jolla on myös sovelluksia muissa asetuksissa, ehkä etenkin Pike -kielen perustana. Sen on kehittänyt ruotsalainen tietojenkäsittelytieteilijä Lars Pensjö, ja tästä tulee nimen ”LP” -osa. “C” tulee C -kielestä, josta se on johdettu. C on yksi yleisimmistä ohjelmointikielistä, ja sen taakse on rakennettu monia erilaisia alustoja ja ohjelmia. Pensjö loi ohjelmansa ainakin osittain keinona luoda tehokkaammin esineitä ja piirustuksia monen käyttäjän vankityrmiin (MUD), jotka ovat osa useita online-pelialustoja. Yksi tämän kielen määrittävimmistä piirteistä on se, että sen avulla pelaajat voivat kirjoittaa komentoja enemmän tai vähemmän luonnollisella sanamuodolla, ja monet eri pelialustat hyödyntävät sen ydinsyntaksia ja teknisiä tietoja. Vaikka se on yleensä suosituin peliyhteisössä, se on löytänyt myös useita käyttötarkoituksia muualla avoimen lähdekoodin maailmassa.
Alku ja alkuperäinen tarkoitus
MUD: t ovat suosittuja osia parista erilaisesta valtavirran online -pelialustasta. Pelaajat kaikkialta maailmasta – missä tahansa Internet -yhteys, eli – voivat tavata, yleensä avatarin persoonassa, ja vaihtaa tietoja, taistella tai luoda esineitä keskenään koodattujen säätimien avulla. Jokainen, joka pelaa tällaista monen käyttäjän peliä, tarvitsee yleensä vähintään peruskäsityksen koodauksesta ja komentojen syntaksista sitoutuakseen. Yksinkertaisempi C-pohjainen muoto on suunniteltu ensisijaisesti tekemään siitä osasta peliä helpommin lähestyttävää.
Perussyntaksi
Minkä tahansa koodauskielen perussyntaksi on järjestelmä, jota käytetään leksikaalisten ja syntaktisten analysaattoreiden luomiseen. Yksinkertaisemmin sanottuna, ne ovat muttereita ja pultteja siitä, miten koodaus toimii, kirjoitetaan ja isännät vastaanottavat sen. Useimmissa keskeisissä kohdissa LPC heijastaa kieltä C, mutta sillä ei ole voimakkaasti kirjoitettuja muuttujia. Tämän ansiosta sitä voidaan käyttää esineiden luomiseen kohteiden sijasta. Dungeon -ympäristössä esimerkiksi huoneet, aseet, hirviöt ja panssarit ovat esineitä. Ohjelmointikielen avulla käyttäjät voivat luoda, muokata, poistaa ja toistaa näitä kohteita lähes millä tahansa tavalla.
Ohjelmointitiedot
Yleensä kieli tukee monia erilaisia ohjelmointityyppejä, mukaan lukien menettelytapa, modulaarinen, jäsennelty, olio-suuntautunut, määritelty data ja heikko muuttuja, mikä tekee siitä kattavan ja kattavan tietokonekielen. Yksi keskeinen piirre Pensjön suunnittelussa on sen suhteellinen vastustuskyky sisällönrakentajien tavallisille ohjelmointivirheille. Palvelimen yleistä vakautta parannetaan lähes aina myös tällä kielellä, mikä mahdollistaa uusien ohjelmoijien keskittymisen asioiden rakentamiseen sen sijaan, että ne kuluttaisivat itse ohjelmointilogiikkaa.
Piirustusten rooli
Vaikka lähes kaikki on LPC -objekti, se ei käytä luokkien käsitettä. Sen sijaan objekti tässä asetuksessa on suunnitelmaobjekti tai suunnitelmaobjektin klooni; vaikka teknisesti eroaa luokasta, näitä suunnitelmia voidaan usein käsitellä samalla tavalla. Kaikki määritteet ja menetelmät ovat käytettävissä tällä kielellä esiintymän ja luokan tasoilla, mikä ei aina tapahdu muilla objektipohjaisilla kielillä, jotka sallivat niiden rajoittamisen luokkaan ja esiintymään.
Objektien suhde keskitiedostoon
LPC -koodissa yleiset objektit määritellään keskitetyissä tiedostoissa. Kun luodaan erilaisia pelihuoneita, ne perivät objektit keskitiedostosta, joten tiedoston muutos vaikuttaa myös jokaiseen koodinpalaan, jossa kyseistä objektia käytetään. Tämä estää tarvetta koodata jokainen näistä kohteista jokaiseen paikkaan, mikä tekee koodin kirjoittamisesta ja ylläpidosta helpompaa. Tämä keskitys ei ole ainutlaatuinen, mutta se on osa sitä, mikä mahdollistaa monimutkaisten pelien luomisen tällä ohjelmointikielellä.
Joustavuus ja muut käyttötarkoitukset
Koko koodin joustavuus on johtanut siihen, että sitä käytetään erilaisiin tarkoituksiin kuin MUD -pelin luomiseen. Laaja-alaisiin käyttötarkoituksiin kuuluu Pike-ohjelmointikielen luominen, joka perustuu lähes kokonaan Pensjön malliin. Pikeä käytetään laajalti multimediaohjelmissa, järjestelmänhallintatehtävissä ja Internet -palvelimissa.