Tavoitteellinen toiminnansuunnittelu ja Unreal Engine
Haaja, Samu (2022)
Haaja, Samu
2022
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2022112924824
https://urn.fi/URN:NBN:fi:amk-2022112924824
Tiivistelmä
Videopelien kehityksessä tekoälyn osuus on jo merkittävän suuri, ja sille asetetut vaatimukset kasvavat jatkuvasti. Tekoälyn toteutukseen on olemassa lukuisia erilaisia tekniikoita, joista myös useita on jo valmiiksi saatavilla implementoitavaksi. Pelimoottorit kuten Unreal ja Unity tuovat yksinkertaiset tekoälyn työkalut suoraan käyttäjälle. Pelinkehityksessä on kuitenkin myös erittäin tärkeää, että tekoälyn toteutus soveltuu oikein sen käyttötarkoitukseen ja monimutkaisempien tekoälyn ratkaisujen löytäminen onkin jo huomattavasti haasteellisempaa.
Opinnäytetyön tavoitteena olikin tutustua itselleni tuntemattomaan tekoälytekniikkaan sekä punnita sen mahdollisuuksia ja käytännöllisyyttä etenkin monimutkaisemman tekoälyn rakentamisessa. Tähän tutustumiseen kuului olennaisena osana tekniikan logiikan sisäistäminen ja toimivan esimerkin rakentaminen. Esimerkkiprojekti rakennettiin Unreal Enginen C++ kielellä, jolloin moottorin muita ominaisuuksia voitiin käyttää visualisoimaan tekoälyn toimintaa.
Vertailun vuoksi opinnäytetyössä käsitellään myös kevyesti muita tunnettuja AI tekniikoita, jotta nähdään minkälaisia eroavaisuuksia ja käyttötarkoituksia näillä on.
Valmiin projektin toimintatapaa ja logiikka tarkastellaan myös omassa teknisemmässä kappaleessa lähemmin. Tämän jälkeen käsitellään projektin tekijälleen tarjoamia opetuksia. The significance of artificial intelligence in game development is enormous, and the set requirements for it proceed to grow. There are numerous different techniques for the implementation of artificial intelligence, several of which are already readily available for implementation. Game engines such as Unreal and Unity bring simple artificial intelligence tools directly to the user. However, in game development it’s also very important that the implementation of AI is suitable for its purpose and finding readily usable complex artificial intelligence solutions is considerably more challenging.
The objective of the thesis was to become familiar with an AI technique formerly unknown to the author, and to weigh its possibilities and practicality, especially in building more complex AI behavior. An essential part of this familiarization was internalizing the logic of the technique and building a working example. The example project was built in Unreal Engine’s C++, which enables the use of the engine’s other features to visualize the operation of the artificial intelligence.
The thesis also lightly glosses over other well-known AI techniques to analyze the differences and purposes they serve in comparison to Goal-oriented action planning.
The finished project’s operation methods and logic are examined more closely in their own separate technical chapter. After this, the experience and insight gained during the project are discussed.
Opinnäytetyön tavoitteena olikin tutustua itselleni tuntemattomaan tekoälytekniikkaan sekä punnita sen mahdollisuuksia ja käytännöllisyyttä etenkin monimutkaisemman tekoälyn rakentamisessa. Tähän tutustumiseen kuului olennaisena osana tekniikan logiikan sisäistäminen ja toimivan esimerkin rakentaminen. Esimerkkiprojekti rakennettiin Unreal Enginen C++ kielellä, jolloin moottorin muita ominaisuuksia voitiin käyttää visualisoimaan tekoälyn toimintaa.
Vertailun vuoksi opinnäytetyössä käsitellään myös kevyesti muita tunnettuja AI tekniikoita, jotta nähdään minkälaisia eroavaisuuksia ja käyttötarkoituksia näillä on.
Valmiin projektin toimintatapaa ja logiikka tarkastellaan myös omassa teknisemmässä kappaleessa lähemmin. Tämän jälkeen käsitellään projektin tekijälleen tarjoamia opetuksia.
The objective of the thesis was to become familiar with an AI technique formerly unknown to the author, and to weigh its possibilities and practicality, especially in building more complex AI behavior. An essential part of this familiarization was internalizing the logic of the technique and building a working example. The example project was built in Unreal Engine’s C++, which enables the use of the engine’s other features to visualize the operation of the artificial intelligence.
The thesis also lightly glosses over other well-known AI techniques to analyze the differences and purposes they serve in comparison to Goal-oriented action planning.
The finished project’s operation methods and logic are examined more closely in their own separate technical chapter. After this, the experience and insight gained during the project are discussed.