Home
WHAT KIND OF DEV ARE YOU
Cancel

Emergence: What & Why?

I’ve been developing Emergence project for more than a year. Or two years, if you count a previous unfortunate attempt! I’ve decided to finally come out of the shadow and start writing about it. To...

Emergence: Memory management

It is very important to have consistent memory model for your project from the start, because it is almost impossible to change it later. In this post I will talk about Emergence memory management ...

Emergence: Reflection

Reflection system is an important part of every engine, but there is no standard solution for that in C++: there are lots of libraries with their pros and cons. I’ve decided to write my own reflec...

Tutorial: String interning

Is there a lot of instances of the same string in your application that are wasting lots of space? Or are you checking equality or hashing strings quite often and wondering how to do it more effic...

Problem solving: Validating ECS graph

Designing algorithms is quite rare task, so it is always feels great when you can apply this skill to solve some practical problem. In this post I’ll talk about ECS graph validation algorithm that ...

Tutorial: Link-time polymorphism basics

Everyone knows what runtime and compile time polymorphisms are, but what about link-time polymorphism? There is much less materials about this type of polymorphism and it seems almost forgotten. So...

Emergence: Interpolating transform

What if I say that every game object in Emergence has two transforms? What for? For the sake of making everything look cool, of course! In this post I will describe transform interpolation, which i...

Emergence: Why is there no entities in Celerity?

Entity is the first of the three core principles of ECS design pattern. Nevertheless, I’ve decided that there should be no entities in Emergence ECS-like framework Celerity. I will tell you how I’v...

Arrow to the Knee: Editing unordered_multiset items

Have you ever thought of editing std::unordered_multiset items while iterating over it? Does it even make sense? I will tell you why and how I tried to do it and what happened to my code afterwards...

Hint: Global Initialization Order

Global initialization order is a rather trivial thing, but anyone encounters mistakes related to it some day or another. I’ve decided to post the hint that I would’ve given to my past self. Let’s s...