Work

Blackjack

C++
Unreal Engine
Backend

We developed a virtual showcase for the softest bedding imaginable.

Motivation

I always wanted to have a reason to try to make a proper game in Unreal Engine. I never really had a good enough idea or the motivation to actually realise a project with Unreal Engine. Up until one day, when a friend asked me if I was interested in making a simple blackjack game in Unreal Engine just for fun.

Features

Among others, these are the most finalized and relevant features:

Smooth Card Movement

This was just something I really wanted to include. Realistically, cards don’t just teleport from position to position on a desk. I ended up writing a custom implementation of “LERP” with some fancy additions like rotation etc. I did this mostly for the fun of it and to test my skills in C++.

Dealer

A simple yet important feature. Any Blackjack game needs to have a dealer for this, I ended up implementing the simple blackjack rules, which was already more than good enough.

Endless-Mode

As we hadn’t defined a Goal for this game, I implemented a simple endless mode. Whenever a round, was lost or won, another would be started. If the player won the round the target value of the round would be set higher. So from 21 it could go to 42, etc.

Technical Details

From a technical standpoint, I’ve ended up using the Unreal Engine 5.x together with C++ for this project. As for my IDE I used JetBrains Rider, finally, for version control I used GIT together with Github.

Learnings

During this project I learned many things about Unreal Engine but also:

Unreal Engine patterns

I noticed that Unreal Engine enforces various patterns in C++, which I was not used to at all. It took me a while to get used to them.

Overhead

Unreal Engine is a huge monster and very complex in of itself, for a small project like I did it was completly overkill. I could have made to same project in Godot in probably less time, because of the sheer amount of overhead/constraints Unreal Engine has.

Simplicity

I also felt like games needed to be big to be impressive or have lots of complex features. In this project in particular, I noticed that it is much more important to have small, bug-free and polished mechanics.

C++

Before this project I’ve only ever used C++ as a fun language for small scripts. But with this I proved to myself I am able to complete projects fully writing in C++.