Che cos’è LPC?

LPC è un linguaggio di programmazione per computer utilizzato principalmente nei giochi, ma che ha anche applicazioni in altre impostazioni, forse in particolare come base per il linguaggio Pike. È stato sviluppato dall’informatico svedese Lars Pensjö, ed è da qui che deriva la parte “LP” del nome. La “C” deriva dal linguaggio C, da cui deriva. C è uno dei linguaggi di programmazione più comuni e sul retro sono state costruite molte piattaforme e programmi diversi. Pensjö ha creato il suo programma almeno in parte come un modo per creare più efficacemente oggetti e progetti nei dungeon multiutente (MUD), che sono un aspetto di diverse piattaforme di gioco online. Una delle caratteristiche più distintive di questo linguaggio è che consente ai giocatori di digitare comandi con una formulazione più o meno naturale e un certo numero di piattaforme di gioco diverse utilizzano la sua sintassi e le sue specifiche principali. Sebbene tenda ad essere più popolare all’interno della comunità di gioco, ha anche trovato una serie di usi altrove nel mondo della codifica open source.

Inizio e scopo originale

I MUD sono parti popolari di un paio di diverse piattaforme di gioco online tradizionali. I giocatori di qualsiasi parte del mondo, ovunque con una connessione Internet, cioè, possono incontrarsi, di solito nella persona di un avatar, e scambiare informazioni, combattere o creare oggetti tra loro tramite controlli codificati. Chiunque giochi a un gioco multiutente come questo in genere ha bisogno almeno di una conoscenza di base della codifica e della sintassi dei comandi per potersi impegnare. Il formato più semplice basato su C è stato progettato principalmente per rendere quella parte del gioco più facilmente accessibile.

Sintassi di base

La sintassi di base di qualsiasi linguaggio di codifica è il sistema utilizzato per generare analizzatori lessicali e sintattici. In termini più semplici, sono i dadi e i bulloni di come la codifica viene eseguita, scritta e ricevuta dagli host. Per molti aspetti chiave, LPC rispecchia il linguaggio C, ma non ha variabili fortemente tipizzate. Ciò consente di utilizzarlo per creare oggetti anziché elementi. In un ambiente dungeon, ad esempio, stanze, armi, mostri e armature sono oggetti. Il linguaggio di programmazione consente agli utenti di creare, modificare, eliminare e riprodurre questi oggetti in quasi tutti i modi che preferiscono.

Specifiche di programmazione
In generale, il linguaggio supporta molti tipi diversi di programmazione, inclusi dati procedurali, modulari, strutturati, orientati agli oggetti, definiti e variabili deboli, il che lo rende un linguaggio informatico completo e onnicomprensivo. Una caratteristica chiave del design di Pensjö è la sua relativa resistenza agli errori di programmazione comuni da parte dei creatori di contenuti. La stabilità complessiva di un server è quasi sempre migliorata anche con questo linguaggio in uso, che può consentire ai nuovi programmatori di concentrarsi sul compito di costruire cose piuttosto che essere consumati dalla logica di programmazione stessa.
Ruolo dei progetti
Sebbene quasi tutto sia un oggetto in LPC, non usa il concetto di classi. Invece, un oggetto in questa impostazione è un oggetto progetto o un clone di un oggetto progetto; sebbene tecnicamente diversi da una classe, questi progetti possono spesso essere trattati allo stesso modo. È possibile accedere a tutti gli attributi e metodi a livello di istanza e classe in questo linguaggio, il che non è sempre il caso in altri linguaggi orientati agli oggetti che consentono loro di essere limitati a classe e istanza.
Relazione degli oggetti con il file centrale
Nel codice LPC, gli oggetti comuni sono definiti in file centralizzati. Quando vengono create diverse “stanze” di gioco, ereditano oggetti dal file centrale e, di conseguenza, una modifica a quel file influenzerà anche ogni pezzo di codice in cui viene utilizzato quell’oggetto. Ciò evita la necessità di codificare ciascuno di questi oggetti in ogni posizione, rendendo il codice più facile da scrivere e gestire. Questa centralizzazione non è unica, ma fa parte di ciò che rende possibile creare giochi complicati con questo linguaggio di programmazione.
Flessibilità e altri usi
La flessibilità del codice nel suo insieme ha portato ad essere utilizzato per una varietà di scopi diversi dalla creazione del gioco MUD. Gli usi di vasta portata includono la creazione del linguaggio di programmazione Pike, che si basa quasi interamente sul modello di Pensjö. Pike è ampiamente utilizzato per applicazioni multimediali, attività di amministrazione del sistema e server Internet.