Skip to content
El escritorio de Jorge Saurina, con tres monitores y uno vertical arriba
El escritorio en ángulo, con la planta y la estantería iluminada
El estudio de noche, visto desde el sillón
Software Development

How I ended up building a Roblox game at 39

My nephew came to Cancún on holiday, taught me to play Rivals and told me he wants to be a programmer when he grows up. A few weeks later his game was published, on his account.

Monograma JS de Jorge Saurinaby Jorge Saurina
Portada del juego, con un personaje huyendo del hombre musculoso por el laberinto

My parents came to Cancún on holiday from Ciudad Madero, the city I am from, and they brought my nephew along. He had been asking to see me, although he barely spoke to me for the first few days. It was the third time we had met: he was two the first time, four the second, and now he showed up at six and a half.

I had given him an iPad when he turned four. The plan was logic games, things to learn with. He found Roblox on his own a while ago, and that was the end of my educational plan.

He beat me first

I watched him play Rivals, which is not even a game for his age, and I went quiet. He was good. Really good. Reflexes, aim, fast decisions.

I have never been good at shooters. I grew up with an Atari and a Super Nintendo, in a house that had no computer until much later, so that genre caught me late and badly. I asked him to teach me. For the first few days he wiped the floor with me without breaking a sweat.

Somewhere between matches he told me he wants to be like me when he grows up. A programmer. That he wants to make games. Also a Roblox and Minecraft content creator, so as not to commit too early to a single career.

I told him the only thing that came to mind: if you want to be a programmer, at some point you have to do more than play.

Roblox Studio and a surprise from twenty years ago

I installed Roblox Studio on my computer and started reading how things work in there, looking for a way to explain it that would not bore him within ten minutes.

And I ran into Lua.

Between 2005 and 2010 I played Tibia, and not only played it: I ran my own servers. That is where I learned to build maps, configure mobs and fight with files I now recognise for what they were. The server was C++ and much of the configuration lived in Lua. Twenty years later I opened a Roblox script and felt at home.

With the help we have today, learning the part I was missing took days. Asking an AI how something works and getting exactly the example you need is an advantage that did not exist when I started.

I could have stopped there, but no

The easy route was obvious: open Studio, let him drag walls around, done. In a few hours he had his first map. Terrible, honestly. Corridors leading nowhere and a monster that walked like it was hungover.

It did not matter. He was thrilled and wanted to show it to everyone.

The thing is, I cannot bring myself to do things halfway on any project, and this one had two clear risks. First, a six-year-old with access to everything can break everything, with no bad intent, in five minutes. Second, if this was going to be genuinely his, it had to be a game, not a corridor.

So I gave it the same safety net I would give any project at work.

The rule that made this work

Roblox Studio keeps the world and the scripts in the same place. If he moves a wall while I edit code, someone loses their work. And he is obviously not going to use git.

The rule we wrote on the first line of the repository is this:

  • The map is edited in Studio. The maze, the house, the monster. He can move whatever he wants.
  • The code lives outside, in src/, and Rojo syncs it into Studio.
  • Rojo never touches the Workspace, which is where the world lives.

That last line changes everything. Moving a wall cannot break the code, because the code is not there. He builds without fear, I work in my editor, and if something falls apart we reload from the repository and the afternoon is not lost.

Around that I put the usual: Luau typed where it helps, Rokit to pin the tool versions, selene for linting, stylua for formatting and Lune to run tests without opening Studio. None of it was necessary for a maze game. It was necessary for me, when the project sleeps for three weeks and I pick it up on a Sunday.

The game

With a solid base, we started giving it real life. Mechanics, rewards, a chaser that actually chases. The idea stayed seventy per cent his, and his job turned out to be the most valuable one: he tested every change within two minutes and told me the truth with no filter whatsoever. The monster is too slow. That wall looks wrong. I am bored now.

It is called Escape the muscular man's maze, and that is its cover up there, the same one Roblox shows. There is one detail that matters more than the rest: it is published on his account, not mine. When somebody plays it, they play it on Emiliano's profile. He feels like a programmer, because he is one. That made me happier than anything else I shipped this year.

What it left me

All that Rivals gave me the itch to build something bigger. I have been circling the idea of bringing to Roblox some of the spirit of the games I grew up with, Tibia and Tantra Online: a co-op dungeon action RPG with combat, loot and progression. It is called VORM and it is about seventy per cent there. What is missing is the art, and the time, which is always what is missing.

My nephew is back in Madero now. We still play every other day. He used to beat me every single time; these days we are even, which he is handling poorly. He gets angry. Sometimes he cries. That is another story.

I started with Roblox at thirty-nine because a six-year-old told me he wanted to be like me. It is worth checking, every now and then, who is watching you.