Näytä suppeat kuvailutiedot

Luaskriptin käyttö C++-aplikaatiossa

Hallinen, Jesse (2014)

dc.contributor.authorHallinen, Jesse
dc.date.accessioned2014-03-27T11:57:47Z
dc.date.available2014-03-27T11:57:47Z
dc.date.issued2014
dc.identifier.uriURN:NBN:fi:amk-201403243456
dc.identifier.urihttp://www.theseus.fi/handle/10024/71721
dc.description.abstractTyön tavoitteena oli tehdä ristinollan kaltainen Five in a row -peli käyttäen Luaskriptiä toimeksiantona peliohjelmointiyritys Star Arcade Oy:lle sekä esitellä esimerkkien avulla, kuinka Lua voidaan käytännössä liittää C++-aplikaatioon. Luan liitännän toteutuksessa testattiin neljää erilaista Luan ja C++:n välistä liitäntäratkaisua, jotka olivat LuaBind, ToLua++, Lunar ja LuaBridge. Liitännät toteutettiin itse tehtyyn yksinkertaiseen pelimoottoriin. Lualla tehtiin myös yksinkertainen ohjelma, joka käytti edellä mainittua pelimoottoria. Liitäntäratkaisuja vertailtiin toisiinsa niiden ominaisuuksien, käytön helppouden ja liittämiseen vaaditun koodin määrän perusteella. Pelin toteutus onnistui tavoitteiden mukaisesti aikataulussa. Peli tullaan luultavasti joskus julkaisemaan sellaisenaan tai hieman muunneltuna. LuaBind on hyvä ratkaisu silloin, kun vaaditaan helppoa ja kehittynyttä C++:n ominaisuuksien käyttöä Luan kautta eikä välitetä ajotiedoston koon kasvamisesta. LuaBridge on ominaisuuksiltaan LuaBindin ja Lunarin välistä, mutta kuitenkin paljon lähempänä Lunaria. LuaBridgen käyttö on miltei yhtä helppoa kuin LuaBindin eikä kuitenkaan ole riippuvainen mistään suurista kirjastoista. LuaBridge onkin oivallinen vaihtoehto, kun halutaan pitää ajotiedosto suhteellisen pienenä ja Luan liittämisprosessi yksinkertaisena. Lunar on tutkituista ratkaisuista pienin ja nopein, mutta ominaisuuksiltaan vähäisin. Se vaatii luomaan C++-funktioista ja -luokista yhteensopivia Lunarin kanssa. Lunar soveltuukin erityisesti yksinkertaisiin projekteihin, joilta vaaditaan hyvää suorituskykyä ja pientä kokoa. Lunarin osittainen tarkoitus on toimia myös pohjana, jonka päälle jokainen voi rakentaa tarvittaessa oman ratkaisunsa. ToLua++:n käyttö ei onnistunut, mutta ominaisuuksiensa perusteella se vaikuttaa mielenkiintoiselta vaihtoehdolta.fi
dc.description.abstractThe goal of this project was to create a Five in a Row game for Star Arcade Oy and study different ways of binding Lua script to a C++ application. Lua binding was tested with four different solutions: LuaBind, ToLua++, Lunar and LuaBridge. The target C++ application was a self-made simple game engine. A simple Lua program was also made to test this game engine. These four Lua solutions were compared to each other by features, how easy to use they are and the code amount needed for binding Lua to C++ program. The game was easy to make because of Lua's simple syntax. It was created in time as expected and it will probably be published as it is or slightly modified. LuaBind is a good solution when an easy to use and advanced way is needed. A downside of LuaBind is the increase in executable file size. LuaBridge is between LuaBind and Lunar by its features; however, it is still more close to Lunar. LuaBridge lacks many features found in LuaBind. LuaBridge is a dependency free solution and it is almost as easy to use as LuaBind and a very good solution when the executable file needs to be small and Lua binding simple. Lunar is the smallest and the fastest of these solutions; however, it also lacks many features. It requires C++ functions and classes to be made compatible with Lunar. Lunar fits well in simple projects requiring good performance and a small size. Lunar is also designed to be used as a base for users wanting to build their own Lua binding solutions. Binding with ToLua++ did not work out; however, considering its features it seems like a good solution.en
dc.language.isofin
dc.publisherJyväskylän ammattikorkeakoulu
dc.rightsAll rights reserved
dc.titleLuaskriptin käyttö C++-aplikaatiossafi
dc.type.ontasotfi=AMK-opinnäytetyö|sv=YH-examensarbete|en=Bachelor's thesis|
dc.identifier.dscollection10024/386
dc.organizationJyväskylän ammattikorkeakoulu
dc.contributor.organizationJyväskylän ammattikorkeakoulu
dc.subject.keywordLua
dc.subject.keywordC++
dc.subject.keywordLuaBind
dc.subject.keywordLuaBridge
dc.subject.keywordLunar
dc.subject.keywordToLua++
dc.subject.keywordpeliohjelmointi
dc.subject.degreeprogramfi=Tieto- ja viestintätekniikka|sv=Informations- och kommunikationsteknik|en=Information and Communications Technology|
dc.subject.disciplineOhjelmistotekniikan koulutusohjelma


Tiedostot

Thumbnail

Viite kuuluu kokoelmiin:

Näytä suppeat kuvailutiedot