I'm a Master's student in ICT at the University of Turku with a strong interest in programming,
software development, game development and artificial intelligence.
I am currently looking for opportunities in software and game development, but I am
also open to other roles, where my skills could be a good fit.
I can be reached through LinkedIn.
Walking Simulator is a simple first person game-like built with C++ and OpenGL. I first started learning OpenGL with learnopengl.com and after a while of that started this project. It now includes features such as heightmap-based terrain, "jumping", model loading, and a skybox. I also created my own flower model using Blender. Planned features include procedural terrain generation, better movement, world textures, and basic NPCs.
Developed an FPS multiplayer game as a part of a four-person team.
It features movement based gameplay, rocket jumping, launchpads,
multiplayer, NPCs etc.
My responsibilities mostly consisted of programming;
Gun logic, NPC AI, UI and its System, gameplay elements, match managers and networking etc.
The game is still work-in-progress, but is technically playable on the
S&box platform.
We use Facepunch's S&box engine, which uses Source 2 underneath, because of the built-in networking features.
(Models provided by the engine platform.)
WestShell is a basic bash-like shell written in C++ with support for external commands, pipes, redirection and simple builtins. It was strted as a hobby and learning project aimed at deepening my understanding of how shells work.
The Callee is a video game made in Unity. It is a simple story-based experience, where the player navigates levels while answering to an old landline phone.
A website for viewing upcoming, anticipated, top rated and most viewed games
as well as relevant information about individual titles.
Frontend is built with React and Tailwind.
Backend uses Hono for production. Initially I went with Express,
but I wanted to deploy to Cloudflare pages so Hono was extremely straightforward to adopt.
The data is acquired through the IGDB API.
A fruit slashing game made using Pygame that utilises MediaPipe and OpenCV libraries
for hand tracking. The idea came from the popular mobile game "Fruit Ninja".
The katana which is used for slicing the fruits is controlled by moving your hand.
Disclaimer: Taking a screenshot was rather awkward due to the control mechanism...
This is an early-stage, unfinished 2D sneaking game. The enemy AI is currently quite rudimentary and requires significant improvements. Currently the enemy roams aimlessly until the player enters its cone of vision, which can be seen in the image. It uses a modified BFS with some heuristics when it tries to hunt and catch the player. The game has a state machine type of architecture to make the menus and other components work.
An exam creation tool for teachers made with React. It is meant to ease the creation of printable exams. It is only meant for printable exams and not electronic ones. The visual look of the app isn't that fancy as it was created for a specific need of an acquaintance of mine. All the additional buttons and such are hidden when printing.
My solutions to some of the AoC puzzles. Includes solutions from -22, -23, -24 and -25 iterations of the event. Years -22, -24 and 25 in C++, -23 in Python.
Playstation Store crawler made with Python. Uses BeautifulSoup library to find the html elements after requesting the page. It is able to fetch single game prices and multiple on sale. This was initially made for a MOOC final project. It is broken at the moment and needs an overhaul.
Lähes kaikissa videopeleissä on tietokoneen kontrolloimia hahmoja, eli niin kutsuttuja NPC-hahmoja. Nämä hahmot ovat tärkeässä asemassa tietokoneroolipeleissä, joissa tarina ja hahmot usein korostuvat muita genrejä enemmän. Tutkielmassa käsitellään roolipelien NPC-hahmojen tekoälyllä toteutettavia ominaisuuksia ja näihin käytettäviä konkreettisia menetelmiä. NPC-hahmojen tekoäly on tärkeässä roolissa pelien immersiivisyyden ja mielekkyyden sekä siten pelikokemuksen kasvattamisessa. Tutkielma toteutettiin kirjallisuuskatsauksena, jonka pohjalta pyrittiin vastaamaan asetettuihin tutkimuskysymyksiin. Kirjallisuuskatsauksen pääaineistona oli tutkimusartikkeleita, joita tuettiin erinäisillä muilla lähteillä. Tarkoituksena oli koota kirjallisuutta yhteen ja pyrkiä havainnollistamaan NPC-hahmojen ja tekoälyn suhdetta.
Kirjallisuuskatsauksen pohjalta havaittiin NPC-hahmojen tekoälyllä toteutettaviin ominaisuuksiin kuuluvan päätöksenteko, käyttäytyminen, persoonallisuus, polunetsintä, dialogit sekä DDA. Näistä muodostettiin eri ominaisuuksien yhteyksiä havainnollistava malli. Ominaisuuksien toteutusmenetelmiä roolipeleissä löydettiin useita eri tyyppisiä. Löydettyihin menetelmiin lukeutuvat esimerkiksi käytöspuut, tilakoneet, IDA* ja neuroverkot. Näiden toimintaa avattiin enemmän yleisellä tasolla. Lopuksi tarkasteltiin rajoitteita ja jatkotutkimusmahdollisuuksia sekä koottiin tutkielman sisältöä yhteen.