Mastodon Icon GitHub Icon LinkedIn Icon RSS Icon

Category GameDev

What makes a story a good story

Header image for What makes a story a good story

At the beginning of January, I put my hands on a dirty cheap Play Station 4 because, in the new house, I have no space for a gaming PC. Since then, I decided to make up for a bunch of games I missed in the last years starting from these two: Horizon Zero Dawn (Guerrilla Games, 2017) and The Last of Us (Naughty Dog, 2013). I approached them with diametrically opposed expectations, and in both cases, my expectations were very wrong. So I started asking myself why I was wrong and what I look for in games and narrative media.

Unity Game Optimization is now available!

Header image for Unity Game Optimization is now available!

The new edition of Unity Game Optimization is finally out! I already announced that in my December monthly update, but I think it is worth to spend a bit more words on it.

Apple Arcade made my mobile gaming fun again

Header image for Apple Arcade made my mobile gaming fun again

It is about a month that I am trying Apple Arcade on my iPad. During this month, I realized that it made my iPad a totally legitimate gaming platform. I had zero games on my phone and my iPad; now, I have four, and two of them were meaningful experiences. In short: I had fun on a mobile platform after years.

Why I love Narration Through Discovery

Header image for Why I love Narration Through Discovery

Yesterday I was reflecting about an interesting fact: in the list of “my favorite games of all times,” the top 10 is packed with games that share all a common element. The games are:

  • Dark Souls
  • Dark Souls II
  • Well… every game of the soulborne genre.
  • Hollow Knight
  • The Legend of Zelda: Breath of the Wild
  • And more.

Can you guess what they all have in common?

Sure, they all have a decadent setting (the world is falling or is recovering after a cataclysm), but there is a way more common design element: narration through discovery.

Five game design flaws of Quidditch and how to fix them

A fun case study for the most common game design flaws

Header image for Five game design flaws of Quidditch and how to fix them

I am re-reading Harry Potter for the n-th time. Even it Rowling if trying hard to make me hate it, Harry Potter heptology still have a special place in my hearth. However, there is something I have always hated: Quidditch. It never made sense to me and I always found reading the Quidditch parts very boring. It looks like a game invented by someone who does not know a lot about sports and games.

Reading those parts for the n-th times made me realize that Quidditch may be a good way to showcase common rookie mistakes done by people approaching game-design for the first time (and it also provide meaning for my struggle). So, that’s what we will do today!

Game Design: Gathering Quests Sucks

Why we keep punishing players with horrible chores?

Header image for Game Design: Gathering Quests Sucks

Some years ago I was playing one of those big AAA games, an epic RPG saga, a staple of single player games. While I was leading my army against the forces of evil, in one of the first outposts I meet a guy with a quest. What an epic quest it will ever be? What dangerous task requires the intervention of an epic hero?

“Collect 10 herbs.”

Small introduction to Random Walking

Header image for Small introduction to Random Walking

Random Walking is a handy technique to have in your gamdev toolbelt and - despite the name - it is most useful for everything but actual walking. With random walking, we define the output of a process that can be described sequence of random steps. The main difference with a random sequence is that each new value will be statistically near the previous one. Imagine a gold price chart and assume that the current cost is 10€ for 1g of gold. We cannot guess what will be the price in one hour but we can be sure that it will be around 10€ per gram, maybe 9.5€, maybe 10.5€. What is certain, is that a sudden drop to 1€ per gram would be deeply unlikely.

In this article, we will talk briefly about random walking and its ability to simulate many real-world processes such as resources prices, temperature, floating objects position over time, and much more.

Quick Look at F# in Unity

Header image for Quick Look at F# in Unity

I am a functional-oriented developer. I have a bit of expertise in game development, especially in Unity 3D. It comes naturally that I am interested in the obvious link between the two: F#.

F# is a functional language of the ML family born in the Microsoft Research and now developed by the F# Software Foundation. Of course, F# run on the .NET framework, the same as C#, the language used by Unity3D. It is clear, then, that we could use F# in Unity. And, in fact, we can with moderate easiness.

Should we? How easy is that? answering these questions is the goal of this article.

Game Design: Taxonomy of Fishing Mini-games

Header image for Game Design: Taxonomy of Fishing Mini-games

Fishing is probably the most common mini-game in gaming history. Before I started working on this article,  I never realized how many games include a fishing as mini-game. The list is huge. Fishing is everywhere. It seems that it is not possible to have a game without the possibility for character to have a relaxing time fishing in a pond.

Everybody loves fishing! At least in games. We can imagine a deep reason for that. There must be something that attract designers, gamers and human in general to the ancient art of fishing. However, for the time being, we are not interested in this question. Instead, we want to explore the huge design space of “fishing games”.

In fact, the action of fishing has been dissected for decades by game designer. It is fascinating to see how many implementations exist for the same real-life action. So, it is time to see what they produced, what are the possibilities and how we can do something new in this domain.

The State of Game Development in Rust

Header image for The State of Game Development in Rust

Game Development is one of the fields in which Rust can gain a lot of traction. As a modern compiled language with performances comparable to C++, Rust can finally free us from the tyranny of C++ bloated feature set, hard-to-link dependencies, and header/implementation file double-madness (I am obviously exaggerating, btw).

However, if this freedom arrive, it will be a very slow process. To make it slower, the feature of memory safety in videogames is not a huge priority compared to the ability to quickly prototype. The borrow-checker and the strict compiler are an obstacle in this regard. On the other hand, memory safety also means easier multi-threading. And this is sweet!

Fortunately, the annoyances of borrow-checker will get less in the way while people becomes more confident with the language, and while tooling gets better and better. I am confident we may see Rust carve out its space in this domain.

But this is the future. What about now?