Multiplatform Plugins in Unreal Engine 4

Long time ago I wrote an article about adding a multiplatform runtime module to the Unreal Engine 4. This day that article would be complately out of date. UE4 changes and the way the new stuff can be added to it changes too. First of all, I want to to be clear – this article will not cover 100% of the topic, because it’s simply too broad. This is rather a quick start into writing your own plugins, getting know the basics. This article will cover the following topics:

  1. Creating a plugin
  2. Building a plugin
  3. Making a plugin that works differently,  depending on the platform
  4. Using the plugin from C++
  5. Using the plugin from Blueprints
  6. Creating a plugin settings editable from the Editor
  7. Calling asynchronous functions from Blueprints

When writing this article I was using the Unreal Engine 4.18.1.

For the lazy ones – here’s the github source code version.

So, with all of this in mind – let’s start!

Read More ->
Real Boxing 5th anniversary!

It has already been 5 years since the Real Boxing franchise started to rock in the mobile world. Wow!

I personally wasn’t involved in this project from the very beginning, but still – I put some of my work and soul into it in updates of Real Boxing ( did you like tournaments? You’re welcome ;) ), but mostly into the RealBoxing 2 in general.

Both projects were technologically challenging and we’ve learned a lot from them. Using this knowledge we’re brewing some even more tasty stuff right now… But you will see it soon :)

For now – it is time to celebrate. Thanks for playing!

 

Migrating to IPv6

When writing a multiplayer game the question that arises more and more often is – “Should I bother about an IPv6?”

Short answer – YES! The IPv6 is no longer a tale from the future. The number of people using the newest version of the Internet Protocol increases really fast. Quick look at Google Statiscits and you will see, that numbers of requests to Google via IPv6 grows expotentially and when writing this post it reaches 18%

One of the reason why the IPv6 suddenly became a thing (except the main one – that we’re running out of addresses) is that Apple started rejecting apps that were not working with IPv6-only networks (Source). Shortly after that – Amazon announced support for IPv6 on their EC2 servers (Source). Currently – the biggest market that uses IPv6 is the mobile one, where number of devices might be even greater than the number of stationary computers.

So, how the networking code should be written to support the IPv6?

Read More ->
Tanking Through Unknown – the Slavic Game Jam 2017 game

Yet, the another game jam! This time it was the 3rd edition of the Slavic Game Jam in Warsaw. Lots of Slavs, Nordics and bunch of other awesome people and games. Oh boy, there were a lot of games! About 86 if I remember correctly. You can check all of them here (the winner is Dot. if you wanna just play in the best one). But here… I’m gonna write some about my entry.

Splash

Read More ->
Failtifex Studio – the AmJam 2017 game

Another Game Jam has passed and oh boy, what a jam! This time it was organized by polish gamedev team Artifex Mundi in their office and a lot of one of the best developers did gather to make games within 42 hours. This game jam theme was: “Fail Fast”.

screen

Read More ->
Symbolicating crash dumps for Android in Unreal Engine 4

Do you know what is more annoying than a crash? A crash that you don’t know how to track down. You are praying for not being in a situation where no debugger is attached or there is no crash log. Sadly – this is a very common situation when you are working with the external engine, on a mobile device.

Android c++ crash logs are even more nasty, because of their binary format. In fact – they are minidumps, the same format the Microsoft is using for dumping Windows crash data. To encrypt the Android’s minidumps you need to do some voodoo with Google Breakpad.

Read More ->
C++11 rvalue references usage

Rvalue references are one of the biggest feature introduced to the c++11, but I found it rather difficult to understand and to find a usage for them. It was the issue which was very similar to the understanding c++ traits I had. Now, I’d like to write down all what I’ve learned, in order to remember it better and to share the way I understand it the best. This article is a very quick introduce to why we need rvalue references and why they are awesome!

Read More ->
Small blog changes and Happy New Year!

Here we are – at the edge of the end of the year. For me it was a really good year. I’ve been on some game jams, made cool games, had a road trip to the USA, been on lots of conferences, met lots of new people… Yeah, it was good.

But the new year is comming and with it – new challenges. I know that it is only a number and the concept of time is a funny thing in general, but this is still a good measurement point for what you have accomplished and what you can do in the future. Let’s say, it’s like a very long scrum’s sprint!

So, here are some little changes on the webpage (which, by the way, is here for over 2 years, wohoo!):

Read More ->
Lunar Maze

So there was a game jam lately. A really Huuuge Game Jam I must say. During 24 hours we had to make a game based on a specific theme. The theme was… well… It was nothing explicit. The only thing we’ve got was this image:

relativity-1600

The interpretations were vary. There were games about Lego, about stairs and about relativity and impossible geometry. Most of the games were playing with the geometry. Mine too!

Read More ->
Unreal Engine 4 Roller Tutorial

Hi there! Here’s a little announcement.

If you were checking this blog regularly you probably know the UE4 Roller Tutorial for beginners I was making. It was an experiment which goal was to learn others and myself how to use Unreal Engine 4 by making a simple physics based game.

In the end, it was a fail. First of all, the free time for making tutorials ended, because I had to focus on Real Boxiing 2. Second – tutorials weren’t done well and the flow was completely wrong. This is why I’ve removed all of the videos from public domain of youtube, so nobody will learn bad practices I was showing. There are much better tutorials, which I showed in the “Starting an adventure with the Unreal Engine 4″ article lately.

If you, for some reason, still want to check the Roller Tutorial, here are the videos with projects: