[Dani's Race](/games/Dani's_Race) is a pretty to look at, open-world game. Is this a good enough reason to care about it? No. It's not. There are plenty of good looking games out there. And Dani's Race is not even close to some of them. *Dani's Race* is a Libre "GTA Clone". Okay... so what? It's not the only one. And it is not even that GTA-like anyway. Yes, you can get in and out of cars. Yes, you have an open world. Yes, the levels are structured into missions. But so what? Why should you give a damn? What's so special about this game in particular? Well...

Let's start with a square.

I'm serious. A square. What is a square? A square is a 2D object, with 4 corners, where all corners are 90° and all sides are exactly the same length.

Is a square, the reason you should care about *Dani's Race*? 

Well... Sort of. I guess if you said "yes" it would not be false. Let me explain.

265 million dollars, more than 1,000 people, 5 years. This was the amount of effort Rockstar put into their 2013 hit game "GTA V". Can you imagine, for a second, a thousand people? Can you imagine this thousand people collaborating on the same project for 5 years? This is a monumental, absolutely insane, incomprehensible, behemoth of a project.

No wander there is no good alternative to "GTA V" in Libre Software.

I'm getting ahead of myself.

A square.

4 points away from the center. One is North-West. One is North-East. One is South-West and one is South-East. A square.

You can represent a square with just 4 points. 4 points connected together with lines, that represent its 4 equal length sides. And if you add a dimension, say, altitude, you can now not only represent a square, but you can represent a cube.

Have you ever seen [the triangles](https://en.wikipedia.org/wiki/Triangle_mesh) that are making up models in video-games? 

![Triangle Mesh](https://upload.wikimedia.org/wikipedia/commons/f/fb/Dolphin_triangle_mesh.png)

A texture ( which is just a jpeg somewhere on your machine ) is stretched onto them. And then suddenly you have graphics in the game. 

Well each of those triangles has ( as any other triangle ) 3 points, somewhere in 3D space. Somewhere between North and South. Somewhere between East and West. And somewhere between Up and Down. Or in computer ( / math ) lingo, somewhere on X, somewhere on Y and somewhere on Z.

![Screenshot of GTA v](https://upload.wikimedia.org/wikipedia/en/f/f4/Grand_Theft_Auto_V_Los_Santos.jpg?_=20171220063336)

A game consists of a lot of elements. A GTA game, like *GTA 5* has the city. This city has roads and building and light-posts and trees and other stuff. Each represented with triangles, that have a texture stretched onto them. In between those buildings, on roads, you see cars. Different types, different colors. But still all made out of triangles and textures. There are NPC models. There is the main character. There is weapon he is holding.

Each of those models was carefully assembled, out of those triangles, by hand, by an artist.

Okay... not out of triangles. Modern 3D software most likely will use squares instead.

Which brings us back to a square.

![Blender's Default Cube Edit Mode](/pictures/user_upload/blenderdumbass/blender_default_cube.png)

If you ever touched a 3D modeling software like [Blender](https://blender.org) you know how it works: You start with a cube. You have tools on the sidebar. And now you have to break your head.

3D modeling is one of the most complicated puzzles you might ever try to solve. You have to be able to coerce these polygons into the shape you need, such that this shape would be good enough for future modifications / deformations ( where needed ) / would look good when applied into the game engine.

Even though you have all these tools, it doesn't mean you can just "draw" your model in 3D space. 3D modelling is more like engineering in practice. It's like solving a rubics-cube for every shape there is. And if you solve it wrong it will look wrong.

![Dani Tolopogy](/pictures/user_upload/blenderdumbass/dani_tolopogy.png)

Take "topology" for example. The term Topology in 3D modeling refers to the arrangement of the points and polygons ( triangles, if you will ) on the model, to achieve the optimal result. Topology is crucial for optimization. It is crucial for animation. It is crucial for rendering. It is crucial for being able to work on the model, and make changes to it later on.

![Road Good Topology](/pictures/user_upload/blenderdumbass/topology_road_1.png)

Here is a road. Simple model. Simple stuff. But why not do it like this instead?

![Road Bad Topology](/pictures/user_upload/blenderdumbass/topology_road_3.png)

This is the same road, following the same curve, with the same width and everything. In game it will largely not matter at all, which of those roads is which. 

But then let's try to add to this road a line in the middle. A separator. We head-on to our tools. We get the loop tool. And we see this:

![Bad Topology Loop Tool](/pictures/user_upload/blenderdumbass/topology_road_4.png)

Look at the yellow line that represents where the tool will add new points. If we want to add a line all the way along that road, it will be a very soul-crashing endeavour.

![Good Topology Loop Tool](/pictures/user_upload/blenderdumbass/topology_road_2.png)

On the other hand look what happens if the topology is good. The loop tool is now useful. Adding something in the middle of this road, along it's length, is suddenly a piece of cake.

You can see now how just the placement of those points, the topology of the model, might either help the artist, or completely ruin the artist's day. And it's not just about cutting in lines. This placement effects everything, from how the mesh deforms while animated ( especially important for character animation ), to how the light and shadow is calculated on its surface.

I hope by just showing this 1 thing when it comes to 3D modeling you might already understand the complexity of this thing. And I'm even not talking here about a lot of other things, like rigging and UV unwrapping, and texturing, and materials ( and shader science ). 

Going back to that idea of what "GTA 5" looks like, with all the buildings and trees and cars and people and other stuff, you may start to realize that 265 million dollars, over 1,000 people, over 5 years is not such a bad deal. This game is an insane amount of work, just in the modeling / graphics department alone.

But there is also code.

In Libre Software ( the software a lot of people refer to as "Open Source" )... code is usually not such a big deal. Nerds that like to play with algorithms gravitate towards Libre Software. So there is a lot of very good software. Look no further than GNU / Linux. 

But when it comes to games Libre Software struggles a lot. 

Good example of Libre Software games include things like [SuperTux](https://en.wikipedia.org/wiki/SuperTux). A 2D game. Because drawing PNGs is much, much simpler, than surviving through 3D modeling.

I know there is [SuperTuxKart](https://en.wikipedia.org/wiki/SuperTuxKart). A 3D libre game that is not bad at all actually. It is absolutely phenomenal that a game like SuperTuxKart even exists as Libre Software.

And there is technically a phenomenal 3D real-time strategy game called [0 A. D.](https://en.wikipedia.org/wiki/0_A.D._%28video_game%29) which just breaks my brain when it comes to how good it looks, given that it is Libre.

But you can see how you can count them on your fingers. While in non-libre world, games that can compete with GTA in graphics department are seen pretty much everywhere you look.

Why?

Well it's because Libre Games are useless, apart from their entertainment value, maybe. Other Libre Software is developed so intensely and by so many people, because Libre Software is useful. GNU / Linux is useful. Blender is useful. And if there is a need for something that isn't there in those programs, oftentimes this need is implemented into the software specifically by those people that need it. Who needs to play a terrible knock-off version of Mario Kart? Who needs to play a terrible knock-off version of GTA?

As you can see, some people do need those things. But those people are few and far between. With regular software, there is a lot of use for it, to a lot of different people. And therefor GNU / Linux and / or Blender are great. While it is kind of impressive that SuperTuxKart even exists at all.

Well... Why should you care about Dani's Race?

Dani's Race is not as good as GTA 5. It doesn't have nearly as big, or as detailed of a map. It doesn't have as many types of cars, or as many types of NPCs. It doesn't have nearly as many missions.

But it is Libre. And not just that. It is made pretty-much by one person. By me. 

I had to sit through the puzzles that are the modeling of the characters. I had to spend hours upon hours on the code of the game, to make everything work. I alone.

And worst of all, I utterly refuse to use AI. Look at any other article of mine. I believe if I used any of it, I would be taking away the reason somebody would want to play any of my games, or watch any of my movies. So each puzzle, each confusion, each bug, fell strictly on my head. I had so many head-aches. So many migraines. So many times I was tired as hell.

1 person. 3 years. 0 dollars. 

If you count in, [Moria's Race](/films/Moria's_Race). The first part in the saga. The parent project. The short film that started it all. Than this one person sat on this stupid project for 6 years already.

1 person. 6 years. 0 dollars.

The fact that *Dani's Race* is even comparable to the achievement of 265 million dollars, 1,000 people and 5 years of work is the Rosebud of this article. This is why you should care!

This is why you should care about [Dani's Race](/games/Dani's_Race).

**Happy Hacking!!!**