Applicability of Common Lisp in Game Development
Kaisanlahti, Aki (2017)
Kaisanlahti, Aki
Karelia-ammattikorkeakoulu (Pohjois-Karjalan ammattikorkeakoulu)
2017
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201702152427
https://urn.fi/URN:NBN:fi:amk-201702152427
Tiivistelmä
Opinnäytetyössä tutkittiin Common Lisp -ohjelmointikieltä, pelinkehitystä ja Common Lispin edellytyksiä siihen. Common Lispillä toteutettiin myös pienimuotoisen pelinkehitykseen tarkoitetun ohjelmointikirjaston pohja.
Common Lisp -kieltä käsiteltiin itsenäisesti, C-pohjaisiin kieliin verraten sekä pelinkehityskontekstissa. Modernia pelinkehitystä käsiteltiin metodien ja työkalujen näkökulmasta ohjelmointikeskeisesti. Tämän perusteella määriteltiin kriteerit, jotka erottavat pelinkehityksen normaalista ohjelmistokehityksestä. Kriteerien avulla voitiin arvioida ohjelmointikirjastoa ja Common Lispiä pelinkehityksessä
Ohjelmointikirjaston pohja tukeutuu Common Lispin makroihin; ohjelmointirajapinnan sisäinen toteutus perustuu muihin alemman tason ohjelmointikirjastoihin. Ohjelmointikirjasto on suunniteltu vahvasti ohjelmoijanäkökulmasta ohjelmoijille, jotta voitiin keskittää huomio Common Lispin erityispiirteisiin pelinkehityksessä.
Common Lispin ja ohjelmointikirjaston vahvuudet pelinkehityksessä perustuvat kielen joustavuuteen kielisuunnittelun ansiosta. Jatkokehitys selventäisi laajemmin kielen soveltuvuutta pelinkehitykseen. Jatkokehityksen myötä olisi myös mahdollista korjata yhteensopivuusongelmia toteutukseen käytettyjen muiden ohjelmointikielten kirjastojen kohdalla tai toteuttaa näistä Common Lispillä omat kirjastot.
Common Lisp -kieltä käsiteltiin itsenäisesti, C-pohjaisiin kieliin verraten sekä pelinkehityskontekstissa. Modernia pelinkehitystä käsiteltiin metodien ja työkalujen näkökulmasta ohjelmointikeskeisesti. Tämän perusteella määriteltiin kriteerit, jotka erottavat pelinkehityksen normaalista ohjelmistokehityksestä. Kriteerien avulla voitiin arvioida ohjelmointikirjastoa ja Common Lispiä pelinkehityksessä
Ohjelmointikirjaston pohja tukeutuu Common Lispin makroihin; ohjelmointirajapinnan sisäinen toteutus perustuu muihin alemman tason ohjelmointikirjastoihin. Ohjelmointikirjasto on suunniteltu vahvasti ohjelmoijanäkökulmasta ohjelmoijille, jotta voitiin keskittää huomio Common Lispin erityispiirteisiin pelinkehityksessä.
Common Lispin ja ohjelmointikirjaston vahvuudet pelinkehityksessä perustuvat kielen joustavuuteen kielisuunnittelun ansiosta. Jatkokehitys selventäisi laajemmin kielen soveltuvuutta pelinkehitykseen. Jatkokehityksen myötä olisi myös mahdollista korjata yhteensopivuusongelmia toteutukseen käytettyjen muiden ohjelmointikielten kirjastojen kohdalla tai toteuttaa näistä Common Lispillä omat kirjastot.