Ανάπτυξη ευφυούς παιγνίου σκακιού σε Unity3D
Development of a Unity3D intelligent chess game

View/ Open
Keywords
Unity3D ; Chess Game ; MinMax ; SinglePlayer ; MultiPlayer ; MirrorAbstract
The main subject of this project, as described by its title, is the development of a turn-based strategy chess game, with an emphasis on creating an intelligent agent that serves as the user's opponent in the game. The depiction of the classic version of chess was preferred due to its popularity and widespread familiarity. This choice makes it easier to find players for the multiplayer aspect of the application, and players are already familiar with the rules, resulting in a shorter or even negligible adaptation period. The goal of the work was to create an interesting and entertaining game that can provide enjoyable moments for the user.
The game was developed in a 2D environment. All models used were either free from the Unity Asset Store or created by the author. All sounds used for a more realistic and immersive experience were free and not subject to intellectual property. The UI elements of various menus, windows, and settings were also created by the author.
The game features multiplayer, single-player, and custom game modes. In multiplayer, one player acts as the host, and the other player takes on the role of the client. Matchmaking is done by entering the Steam Lobby ID of the host in the client's field. This utilizes Steam, a popular gaming platform, to make the multiplayer experience as user-friendly as possible. Additionally, due to the complexity of entering a player's 9-digit Steam ID every time a new chess game is created, the Steam API was used to automatically find the ID using only the player's username. This greatly facilitates matchmaking as users only need to know their friend's username.
In single-player mode, the user chooses between playing with white or black pieces, facing off against AI opponents. In the custom game mode, the user can play with another player on a local machine or train against themselves. This option ensures that the possibility of playing on a shared computer with an opponent is not excluded, avoiding the restriction of players to online multiplayer only. It also provides a platform for users to experiment on a blank canvas.