Making a Chess Gacha Game in Unreal Engine | Devlog
by Arthur Ontuzhan
Posted 2 days ago
Categories: Unreal Engine Devlog Tags: UE5
I am bad at chess. To get better at it, I need to play it more, but when I play chess, my brain doesn't get enough excitement, so I don't have motivation to play another game. So to fix that, I came up with this revolutionary idea. I will turn a regular chess game into a gacha game and hope that the gacha part of the game will keep my brain excited enough that I will keep playing chess and eventually get better at it. So I started by creating a basic chess game in Unreal Engine.
But I need to move pieces on both sides of the board, and I heavily doubt that I will be able to get better at chess if I play against myself. So there are a few ways on how I could fix this issue.
I could make it playable online, but then to make it possible to have a match in it at any time of the day, I would need to convince a lot of people of different skill levels to play it through the day. And I can't even convince enough people to watch my videos to even check if my YouTube channel is eligible for monetization.
Another way to have an opponent in a game would be by making an AI that could play chess.
But I seriously doubt that I could make a decent enough AI with my current chess knowledge.
But luckily for me, there are these computer programs called chess engines. And theoretically, it should be relatively easy to make my game communicate with a chess engine and have it as my opponent. But practically, because of my own stupidity, it took me like 50 times more time than it should have taken, and after I managed to make it work, I awarded myself with the dumbest person of the year award.
And after I was done with admiring my own stupidity, I thought that it's probably time to start adding gacha sauce to the game.
The first thing I probably should do is figure out what type of gacha drops I want for this game. So because the goal is to make a game that would make me better at chess, I don't want to have drops that would affect the chess gameplay.
So I decided that for the beginning I will only have chess piece skins as gacha drops. So I made a few simple skin sets and added a revolutionary never-seen-before feature to them.
And that never-seen-before feature is that skins can have wear, and I totally didn't copy that feature from some 12-year-old game whose name rhymes with a powder stripe. But if the only way to change a skin for a piece is by editing the game's code, what's the point of them?
So I made this basic user interface where it takes only a few clicks to change a skin for any piece, and the best part is that I don't create five new bugs in the game every time I change a skin because I don't need to edit the game's code for that anymore. And now I probably should add a way to get new skins, because it's supposed to be a gacha game. So I made this user interface for inventory.
It shows all my skins for chess pieces and also these box items that I can open to get new skins. It shows all my skins for chess pieces and also these box items that I can open to get new skins.
I know that right now it doesn't look too good, but I have this small hope that I might eventually finish most of the game mechanics and then work on improving the visuals of the game. Also, it wouldn't be a gacha game if I had an unlimited amount of boxes to open. So I made this user interface for shop.
And because it's a gacha game, I made it as a rotating shop. And that means that it will only sell a few randomly selected chest types at the same time and update the offer a few times a day, so it will create a fear of missing out in me and make me return more often to the game to at least check the offer in the shop.
I also added these notifications so I would know when a shop item is out of stock or when my in-game financial status meets my real-life financial status. And while talking about financial status, I need to add some system to earn money in the game. So I made it simple, that for every chess game victory I would get awarded with some money in the game.
And also, I made that chess engine difficulty would increase every time I won a game against it and slightly decrease every time I lost a game, so eventually the chess engine difficulty would be close to my chess skill level.
So finally, the game has enough features that it is possible to get gacha drops by playing it, but it is still missing one pretty important feature for gacha. And that feature is saving game progress; right now every time I close the game, all my progress is lost. And by starting from nothing every time I open the game, I will not be able to get enough progress to exploit the sunk-cost fallacy in me. For example, if I play a game for long enough, eventually I might get to the point where I might have acquired almost all the skins of some skin set. And because I have already invested so many resources to get those skins, my brain will be telling me that it might be a waste of all previously spent resources if I do not get the full skin set, and because of that justification, I probably will be playing more chess games than I would usually play to get all the pieces for the full set.
And after implementing the progress-saving system, I realized that I could add another thing that would trick me into playing more chess games.
So I added daily and weekly missions. And now whenever I open the game, I will be tempted to complete those missions because I won't want to lose their rewards.
And let's not forget about the small feeling of accomplishment and dopamine hit after seeing how the mission progress bar fills up. And while I was testing newly implemented systems, I came up with this revolutionary idea on how I could make a skin system more addictive, I mean, more interesting for players, by adding one small feature to it.
And it is the ability for skins to track how many enemy pieces they have captured. This is totally my own original idea, and I have never ever heard about this game called Counter-Strike.
And after one gambling session, I mean, game testing session, I realized that the game inventory lacks sorting and filtering options because it's pretty hard to find items in it.
And after implementing sorting and filtering for inventory, I realized that my last post on this channel was almost 5 months ago, and if I ever want to reach YouTube's required watch hours, I probably should post more posts.
So I decided that this probably should be enough to make a post, and I will add sounds and implement other systems and do all other things for the game in the future posts. But before posting this post, I want to make some improvements for the box opening experience and put that as the intro of this video so I can later check the video's analytics and see if it can keep people's attention.
So I might have made it slightly better by adding opening sounds and particle effects and slightly changing the user interface. I wanted to do more for it, but the year is ending, and I want to have this posted this year.
Share on