Python or C# as a first language for game development

Hi, so i know that python is a better first language but I read that it’s not mainly used for game development so I wondered if c# was better for a first language for me because it is focused on game development and better for writing game engines (i think) could someone help me with this please?

Thanks

It depends on what kind of game you are looking to make. While it is likely true that it would be better to make a game engine in C# rather than python, most game engines are written in something much more focused on lower level control like C++ . Where C# comes in is that it is one of the languages used to create games within some of the large game engines like Unity or Godot and some others. Usually the recommendation comes from being able to use one of these engines and C# to create much more advanced games than you would realistically achieve in python especially as a beginner (or more specifically without a PHD in math or physics). If the type of game you are looking to make is more constrained like a pretty casual 2d game then there may be other options that are easier to start with in python or elsewhere using some basic graphics and physics libraries.

1 Like

Godot uses GDScript which describes itself as

GDScript is easy to learn with a syntax similar to Python where the code is indented rather than using lots of brackets and semicolons.

That could be very nice for a beginner.

1 Like

I recommend Python (example based on OpenGL) in conjunction with C/C++ (example game server).

I do not develop games, but I do engineering software. I am well into Python but I came across Cython the other day; C and Python mixed. I use PyScriptor for my code and I love the speed of the interpretor. Not sure how you use Cython but I have seen some of the code. Not sure if I would ever need the speed of the low level languages, but in the day, I used Forth.

PyScripter will compile Cython scripts

Python/C API reference manual — Python 3.14.3 documentation if you want embed interpreter in your C/C++ application.
Game Builder as example of map editor based on wxWidgets with Python embeded