Posts

Coroutines in C++

For the last few months I've been intrigued by the coroutines in C++. This feature is something I always wanted to have in C++ since I saw it in action in Unity. I've already implemented them in my Enhanced Code Flow for Unreal Engine in order to have my desired "Delay" function in code. However, it wasn't so easy to understand how to implement them. The official cpp reference is a great source of knowledge, but it's difficult to learn the basics from it. This is why I decided to write a document which should introduce more newby-friendly approach of learning about them. I've just published the C++20 coroutine samples , which is a collaborative document that aims to help to understand what are the coroutines, how to write them in C++ and when they are useful. Because it's on GitHub you are all invited to write Issues and Pull requests with any fixes and suggestions on how to improve this document and samples. Cheers <3

Achilles: Legends Untold - full release!

Image
Today is the day when  Achilles: Legends Untold leaves the Early Access stage and enters the glorious full release!  It has been crazy 3 years during which I was coding a lot of game systems, tools, fixing bugs and trying my best to provide the best experience both for players and colleagues which I was working with. In overall I think the game turned out great. The game is available on Steam , Epic Games Store ,  Xbox Series X/S  and PlayStation 5 .

Coroutines in Enhanced Code Flow

The Enhanced Code Flow  plugin is doing surprisingly well! During last 2 years it has been improved in many ways. It received many new functionalities, it works with Unreal Engine 5 too, it is more stable than ever and it has been used in multiple projects. It's funny that everything have started because I wanted to have an equivalent of Delay Blueprint node in code. Now I can implement it in more elegant way than currently and all thanks to the fact, that Unreal Engine 5.3 fully supports C++20, which has  coroutines ! What are coroutines? They are functions that can be suspended and resumed later. Sounds like a way to implement a Delay functionality? Oh yes! FECFCoroutine UMyClass::SuspendableFunction() { // Do something co_await FFlow::WaitSeconds(this, 2.f); // Do something after 2 seconds } Enhanced Code Flow received 3 new functions which utilize C++20 coroutines. They are experimental and probably not safe nor stable, but hey... this is just a first implementati

Editor camera position plugin for UE4

Image
So, I recently made a plugin for Unreal Engine. The idea for this plugin had been popping into my head every time I needed to jump to a certain place in the map in the editor viewport or get the coordinates of my current location in the map.

UE4 plugin template

Image
I've published a template of a plugin for Unreal Engine 4, which might be a valuable boilerplate for writing any new plugin that requires UI in the Engine's Editor. It can be downloaded from here:  https://github.com/zompi2/UE4EditorPluginTemplate

The Neon Hook - a Lost Relic Games Game Jam entry

Image
I have had a very long pause in making games for game jams and the Lost Relic Games Game Jam 2022 was a great opportunity to jump back into the creativity wagon and just do some coding for pure fun and to challenge myself. 

Easy Localization Tool for UE4

Image
  I'd like to present my second published plugin for Unreal Engine 4! What does it do? It simply imports a CSV file with a multiple languages translations and embeds them into the UE4's localization system, so any FText can be localized this way. It also provides functionality of switching languages during gameplay.