Vason Maitree
I have been interested in computers and games since I was a child. I graduated with a Bachelor's Degree in Computer Engineering. Then I worked for three years as an Embedded & Application Software Engineer, primarily using C, C++, and C# programming languages in Thailand. I decided to pursue my dream and moved to the UK, one of the top-tier countries in the game industry. I recently graduated with a Master's degree in Commercial Game Development and trying to transition into the game industry as a software engineer.
▼ Highlights ▼
![](assets/images/image09.gif?v=f128f7be)
Automated Game Balancing using XAI
Description
This framework aims to suggest game balance issues between two decks in trading card games using machine learning and explainable artificial intelligence for game designers. In this project, I developed both game prototypes using C# in Unity and an XAI framework using Python.Technologies
* Unity 2022 (C#) for the game prototype. I use Unity since it is suitable for 2D games.
* JupyterLab (Python), Scikit-Learn, MCTS, and SHAP for the game balancing framework. I used Python because of its simplicity, adaptability, and many libraries designed for machine learning.
* GitHub for version control.System Overview
This framework is divided into three layers: the Player Layer, which serves as an AI agent; the Tournament Layer, which conducts multiple games between two AI agents and creates gameplay data; and the Game Balance Layer, which predicts and suggests which cards are overpowered or underpowered.
The Game Balance Layer utilized a Convolutional Neural Network (CNN) with a Softmax Function to generate win rate probabilities. It employed explainable AI techniques, such as Shapley values, to predict the features contributing to game imbalance based on win rate probabilities.Please visit the full dissertation for more details.This project is a part of my final dissertation at university (about 4 months.)
![](assets/images/image01.gif?v=f128f7be)
![](assets/images/image02.gif?v=f128f7be)
TAP-SWOT in a BOX
Description
TAP-SWOT is a serious game that aims to introduce triple access in sustainable urban mobility planning using SWOT analysis. This cooperative card game is separated into several stages to pick the best five cards that constitute the ‘elevator pitch’ of reasoning from the team to support whether or not they recommend TAP be adopted by the organisation concerned.
Please visit the Repository for more details.Technologies & Tools
* Unity 2022 (C#) is used due to the team's preference. DOTween C# library is used to integrate animation and game logic seamlessly via C# code.
* Github for version control.
* Microsoft OneNote / Miro Flowchart for Project Management.Responsibilities & Workflow
This game is developed by three people collaborating with a team of game designers from TAP for the Uncertainty. Our team separated development into three layers: Interaction, Logic, and Networking. I am responsibility in Interaction layer which including:* UI Programmer, including motion graphics done in Unity using Canvas
* Animation Programming using the DOTween C# library.We have meeting bi-weekly and a developer meeting weekly using Microsoft OneNote as memo.This project is a part of the university work. (about 4 months).
Witch in the Woods (including Level Editor)
Description
Witch in the Woods is an individual project that was developed using C/C++ and SDL (Simple Directmedia Library) in Visual Studio 2022. This projects aim to demonstrate the principle of C/C++ programming including the concept of object-oriented, programming patterns, and algorithms.This project also includes a Level Editor made as a WFP Application using C# .NET 8.0 and XAML.Technologies & Tools
* Visual Studio 2022 is used as the popular tool for develop C/C++ programming. This is also used for Level Editor using the WFP Application.
* GitHub for Version Control and Project Management.System Overview
This game has two scenes: Menu and In-Game Scene. These scenes are handled using state patterns. All entities are inherited from the base entity class, which includes basic functions such as collision check. A stage class is used to manage interaction between entities. The profile class is the public class, which is used to keep data such as high-score, life or credits.
Level Editor is created by the latest WPF application to export stage files in CSV. This file can be read in the game to generate stage tiles.This project is my personal project. (about 2 weeks).
![](assets/images/image08.gif?v=f128f7be)
Temporal Tenacity
Description
Temporal Tenacity is a point-and-click shooting game where your team can travel and utilise between two timelines to attack enemies, solve puzzles, and navigate through stages. This game currently has three levels.Technologies & Tools
* Unreal 5.1 is used due to the team's preference.
* GitHub, and Trello for Version Control and Project Management.Responsibilities & Workflow
This game was developed by eight people cooperating with the University of the West of England staff. My responsibilities included:* UI Programmer, including UI motion graphics done in UMG and Blueprint.In this project, each member will meet two times a week for a discussion about the project schedule, and some technical assistance for members new to Unreal.This project is a part of the university work. (about 4 months).
▼ Other Projects & Game Jams ▼
![](assets/images/image03.gif?v=f128f7be)
Labyrinth of Chroma
The tower defence game. The player must plant trees to grow and expand the turf. Defend from the nasty animals who try to steal food from the Tree of Life.I am responsible for Unity UI Programmer, including motion graphics done in Unity using Canvas and Animation Programming using the DOTween C# library.This game is a part of Global Game Jam 2023. The jam duration is around 3 days, then I continue to polish the game about 2 days after the jam ends.
![](assets/images/image04.gif?v=f128f7be)
Root of Yggdrasil
The tower defence game. The player must plant trees to grow and expand the turf. Defend from the nasty animals who try to steal food from the Tree of Life.I am responsible fir Unity UI Programmer, including motion graphics done in Unity using Canvas and Animation Programming using the DOTween C# library.This game is a part of Global Game Jam 2023. The jam duration is around 3 days, then I continue to polish the game about 2 days after the jam ends.
![](assets/images/image05.gif?v=f128f7be)
Villian's Lair
Villain's lair is a short puzzle game where you must move platforms around using various gizmos to lead the bomb to the hero.I am responsible for Level Design, UI Design and Unity UI Development.This game is a part of GMTK Game Jam 2023 "Role Reversed" theme. The jam duration is around 2 days.
![](assets/images/image07.jpg?v=f128f7be)
Haunt My House
Haunt my house is a 6-player virtual reality game where players are tasked with hunting ghosts in a passthrough environment.I am responsible for Unity UI Programmer, including motion graphics done in Unity using Canvas and Animation Programming using the DOTween C# library.This game is a part of university work for around 2 months.
![](assets/images/image10.gif?v=f128f7be)
Crime Data Gamification
Crime data visualisation across England's counties demonstrated in an educational guessing game. A crime category is picked before the game begins and then player's must compete to guess which of two selected counties has the lowest crime cases for that crime category.I am responsible for Unity UI Programmer, including motion graphics done in Unity using Canvas and Animation Programming using the DOTween C# library.This game is a part of university work for around 2 weeks.
![](assets/images/image06.gif?v=f128f7be)
Laser Tracer using OpenGL
This project demonstrates laser tracing using OpenGL developed in Visual Studio 2022, following the tutorial from Victor Gordan's OpenGL Tutorial, and Collision Detection by Kasper Fauerby. This project aims to show basic skills of computer graphics and basic of OpenGL.This project is my personal project. (about 2 weeks).
▼ About Me ▼
Background
I graduated BEng in Computer Engineering from King Mongkut's Institute of Technology Ladkrabang in Thailand.After graduating, I worked as an R&D engineer at Toyota Tsusho Nexty Electronics (Thailand) Co., Ltd. I was mainly responsible for software development focusing on embedded software and applications using C, C++, and C# for three years in Thailand before moving to the UK.I recently got an MSc degree in Commerical Games Development from the University of the West of England.
Skills
Programming Skill
Game Development & Technology Skill
Tools & Others
Interest & Hobbies
Competition in various Game Jam such as Global Game Jam 2023 and GMTK Game Jam 2023.
Studying Japanese and currently at N5 level on the JLPT, aiming to reach N3 level within a few years after achieving my goal of joining the games industry