Let’s continue our RTS game and focus on the hierarchy of our classes!

In this tutorial, we are going to reorganize some of our classes to better prepare what’s to come: we will create a clear logical hierarchy for our units that can be either buildings or characters. We started that process in a previous episode of this series, but we’re not done yet.

At that point, you might realize that we could — and should! — re-use the notions of inheritance and polymorphism we saw in the previous tutorial for our data and unit classes. …

About robots, cyborgs, AIs…

The introductory article of this project is available here.

In this third article in the Artifakal Intelligence series, I’ll discuss a common question in sci-fi culture: “do AIs need a body?”. Are robots always shiny humanoid entities, or should we widen our search field and consider more of the tech marvels around us as robots?

Robots? AIs? Cyborgs?

When we think of robots, most of the times we picture a humanoid metallic being that quacks around and jiggles a bit, completely devoted to obeying humans, or conversely bent on destroy the human race. They walk among us smoothly, often indistinguishable from real humans…

On with our RTS game! Today, we’ll focus back on our UI…

The last tutorial on Scriptable Objects was fairly abstract.

Let’s shift gears and focus on something more visual, for a change: we’re going to improve the UI system we started earlier in this series by adding two features:

  • whenever we select one or more units, we want their healthpoints to be displayed with floating healthbars
  • also, we want to show some info on the currently selected units in a dedicated panel

Adding healthbars on selected units

In a previous tutorial, we implemented the selection mechanism. The goal of this new healthbar feature is, among other things, to provide additional info on the targeted units.


Are AIs really that fair? (spoiler: no)

The introductory article of this project is available here.

This week, it’s Part II of the second article in the Artifakal Intelligence series. I’ll keep discussing the idea that: “machines are logical, hence they are objective”. Today, we’ll focus more on examples and possible solutions.

Last week, we saw why the concept of “objectivity” is sometimes complex to define. I also gave some examples of issues that can arise from the datasets and how these can determine unexpected and unwanted behaviors for the AIs. …

How to use Krita to draw a simple icon and populate our game resources folder…

“Asset Day”: every other week, on Friday, I post a little timelapse or mini-post on how to create a specific game asset for the RTS project I develop throughout my Unity RTS programming tutorial.

Today, here is a timelapse of how I made a wood resource icon for my RTS game in Krita.

Krita’s logo

The timelapse

To get some inspiration, I searched for things like “wood pile icon” and “game wood icon” on my search engine and found some useful references:

Let’s continue our RTS game project by exploring Unity’s Scriptable Objects!

Today, we’re going to see how to store data into Scriptable Objects, rather than defining them directly in our scripts.

At the moment, our data is defined in our global variables — and those global variables are of two types:

  • some are “external” data that we want the game to be aware of and use during the loading phase when it starts
  • others are utilities shared across of all scripts and internal to the game logic

The second type of variables should stay as is — there is no point in loading the reference to the “Terrain” layer from an…

Are AIs really that fair? (spoiler: no)

The introductory article of this project is available here.

In this second article in the Artifakal Intelligence series, I’ll dive more into the famous phrase: “machines are logical, hence they are objective“. To which extent is it true that machines are unbiased? Can we really trust an AI to be completely “fair and neutral” when solving a problem?

In 2019, the french journal Courrier international published a set of articles about predictive algorithms and how they are used in our everyday lives. …

On with the coding of our RTS game! Today: the selection of units…

Disclaimer: This episode of the series is very inspired by Jeff Zimmer’s tutorial on RTS-like selection in Unity 5. In particular, util functions are simply copy-pasted from his code, the mouse dragging box logic is almost identical and I used his “projector” selection circles. There are however a few differences in the way I store selected units and activate/deactivate the selection circles and additional concepts due to the already existing components of our RTS project ;)

When you’re playing a strategy game, one of the key points is to be able to interact with the things on screen. Most notably…

Is it possible for a machine to be completely autonomous?

The introductory article of this project is available here.

An important and yet deceptive idea that has been largely conveyed to the public about AI is that it would be able to work “on its own”. Many articles can’t dive into the details and they sum up all the subtle ways machine learning differs from the old software with this simple phrase: “AI learns by itself”.

In this article, I’m gonna explain why, in my opinion, this is an overstatement that hides an ugly truth: how we use humans to provide AI with the material that it requires to mimic


On with our RTS project — in this interlude, we’re going to talk about events!

So far in this series, we’ve set the scene for several big features and used a little palette of tools that Unity and C# provide: the new UI system, raycasting, game object instantiation, resources loading, material switching, global variables and basic data encapsulation… There is however something fundamental in video games we haven’t yet talked about: events.

Overall, programs can follow various paradigms either in terms of instructions execution, data layout, components hierarchy and communication, etc. In video games, it is very common to have an update loop that runs continuously (more or less every rendering frame) and checks with…

Mina Pêcheux

I’m an engineer in Applied Mathematics and Computer Science and I’m passionate about topics like AI, music, web programming and more! https://minapecheux.com/wp

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store