Game Development

[UE4] Localising your game

Back to Localisation Overview. Introduction Localisation is something that people often don’t think about until the end of their project, which is why the UE4 localisation system aims to stay out of your way as much as possible. Basically, you’ll be fine as long as you use FText and its associated functions for your user-facing text (with some caveats about text formatting and shipping with the correct internationalisation support - both of which were covered in the previous post).

[UE4] Localisation and Internationalisation

Back to Localisation Overview. Introduction Localisation and Internationalisation (L10N and I18N) are two concepts that often get lumped together as simply “localisation” (and even I’m guilty of that), but they are in fact two distinct things, and UE4 handles them in different ways. The localisation system is UE4 is all home grown and centered around our ‘text’ type, whereas our internationalisation support makes use of the International Components for Unicode (ICU) library.

[UE4] Localisation Overview

Preface The last time I really updated this blog was when I was between jobs, having just been made redundant due to the closure of Blitz, and still having a few weeks before I started my new job at Pitbull as a contractor working on the Unreal Engine. The job at Pitbull eventually became a job at Epic, when Epic bought Pitbull and recreated the company as Epic Games UK.

[C++] An exercise in optimisation #1 - ImmutableString

Introduction This post outlines a problem I had to solve regarding using a string as a key for a hash table, and the steps that were taken to optimise the problem by applying the solution of an immutable string type. I may make this into a series if I can find interesting enough examples that I can suitably simplify the code for. The Problem I was creating a key -> value pair map for use with a C++ serialisation system; the keys had to be strings as they were used as identifiers for JSON, and around 99% of the time the key would be a string literal.

Introduction to premake4

Introduction A while back I wrote a blog post based on my experiences using the CMake build system. The conclusion from this was that I found CMake to be a useful tool, but pretty painful to work with due to it using a custom scripting language and being quite lacking in the documentation and support departments. In short, it was something I tolerated rather than enjoyed using. These issues meant I was open to alternatives, but I never looked for any until I read an AltDevBlogADay post on meta build systems which mentioned premake.

My experience using CMake (and a tutorial)

Introduction For those of you that don’t know CMake is a cross platform build system that allows you to define what you want to build and how, before it goes off and creates the correct build scripts for your particular platform and compiler. It is supposed to help you to simplify your build process when compiling for multiple platforms by just having to maintain a single build script that can generate all other build scripts.

Fences and what I do

I’ve taken to using twitter to post updates on since I can do it more informally and whenever I feel like it. Firstly, I’ve been using a program called Fences to help sort out my desktop icons and so far I’m finding it really handy to be able to group up my icons and not have Windows randomly decide to re-arrange them for me… bliss. You can see my desktop here.