C++ Traits explained

Traits in C++ is a concept of using templates in order to implement different behaviour for the same class/function depending on the types that are used inside of them.

Ok, so why am I writing about this again?

There are many readings about traits, but for some reason I had trouble with understanding them, probably because of lack of life examples. I finaly got it when I had to use them on my own. So I decided to tell about my work, so maybe it will help someone to understand what it is and what cool stuff can be done with it.

Read More ->
Unreal Engine 4 – Debugging on Android

andue4Debugging is the prose of life for every programmer. In Unreal Engine 4 there are many tools for debugging and profiling a game on Windows and Mac. Even for iOS, the XCode is a fine tool for nice bug hunting. But the Android was always… odd. For a long time the logcat was the only source of information about what is going inside the Unreal Engine game and it was always frustrating when something is crashing on device only. Theoretically, if something works in the editor it should works on the device too, but… this is theory and practice shows something completely different ;)

A new era for Android on Unreal Engine?

It might be, because with Visual Studio 2015 we received a powerful IDE that supports programming and debugging for Android (and other mobile platforms too) out of the box! And, it appears, that with the same tools we can easily debug the native c++ code on Android device!

Let’s get started.

Read More ->
Real Boxing 2 Creed is live!

It is over. It is done. Oh boy, that was a hell of a project. The “Real Boxing 2 Creed” game, in which I was a humble engine programmer, hit the store and, oh man, it hit it hard!

Read More ->
Using Cheat Manager in Unreal Engine 4

The cheat manager in Unreal Engine 4 is a class that handles commands useful for making testing much easier. In fact it’s a container for most of the exec functions. Those functions can be implemented in many places – GameInstance classes or PlayerController classes but it’s good to keep them in one place in order to have the project more organized.
There are plenty of commands in the base Cheat Manager already – You can check all of them in the Engine \ Source \ Runtime \ Engine \ Classes \ GameFramework \ CheatManager.h file. But if You want to extend the Cheat Manager in Your game there are few steps that must be followed.

Read More ->
Real Boxing 2 Reveal

There were no any new parts of UE4 tutorial for beginners lately. This fact put me in disgrace, but last few weeks were incredibly tough for me, because we were working hard on soon upcoming game – Real Boxing 2!

The early version has made into the Gamescom and there is a sweet trailer on the Internet

The one thing I can tell is that I was working with the engine closely and have few ideas for new tutorials.

By the way, there is also a webpage: www.realboxing2.com

Well, this is it for now. There is still much to do. I’m sorry for quite a hiatus here, but I’ll do my best to post something right after this madness ends.

Simple protection against memory hacking – part 2

Last time I was writing about how cheating with leaderboards is possible in mobile games. There are applications that allow cheater to search memory for the interesting value and change it during the game runtime. This is obvious that those values can’t be stored in memory as themselves. How to encrypt them and in the same time make the whole mechanism easy to use?

Read More ->
Simple protection against memory hacking – part 1

While playing video games with leaderboards you might notice that sometimes there are players with enormous, impossible scores.

lbhack

Impossible scores!

As you probably guess those ones weren’t scored by playing a game the fair way.
There are three (known to me) ways to do such a terrible thing:

Read More ->
Billboards with geometry shader

Billboards in video games are the 2D planes in 3D scene that are always pointed perpendicularly at the camera. They can be used to draw distance objects that doesn’t require much details, to draw particles or they can be used as a part of the editor interface. Normally the plane is rotated by transforming metrices so it face the camera, but there is another, easier way – by using the goods of geometry shader.

Billboard Heart

The 2D heart rendered in 3D scene.

Read More ->
Gif Player in Javascript

At some web pages you can notice that gifs aren’t playing at the beginning but they are waiting for user to click on them to start playing. This trick can prevent from unnecessary data downloading and from overhelming the computer by displaying the huge amount of animated pictures. How is it done?

Read More ->
Simple hex picker

Using hexes instead of square fields gives strategy games more depth and variety in creating interesting, tactical situations. But, because of its shape, it is slightly more challenging to implement them. This article will show how to nicely pick the proper hex tile using a mouse.

First of all, let’s look at the interesting properies of the hexagon.

hexeees

Read More ->