Back to blog
CGame DevelopmentLearningProgramming

Why Learning C Is My First Step Toward Becoming a Game Engine Programmer

Published Dec 31, 2025

Hi there! Happy new year

My name is Victor Rosario. I'm originally a Web Developer, and I usually work with technologies like Next.js, FastAPI, Express.js, and Nest.js.

Recently, while browsing YouTube, I discovered a channel called The Cherno. I started watching his Game Engine (Hazel) playlist, and that's when everything changed. I felt a huge wave of excitement — finally seeing how game engines like Unity, Unreal, or Godot work under the hood.

At the same time, I was completely lost.

![Why Learning C Is My First Step Toward Becoming a Game Engine Programmer](/images/blogs/Why Learning C Is My First Step Toward Becoming a Game Engine Programmer.png)

I was looking at real engine code, and honestly… I couldn't understand anything. That confusion made me realize something important: I was missing the fundamentals.

After doing a lot of research and talking with friends who work closer to low-level systems, I reached a clear conclusion:

My first real step must be learning the C language.

My reasoning is simple: if I deeply understand C, then learning C++ — with all its extra features — will become much easier and more natural.

To reinforce this path, I started reading the book "Build Your Own Lisp", which I honestly think is fantastic. It doesn't just teach syntax; it forces you to think about memory, data structures, and low-level concepts.

At the moment of writing this post, I'm on Chapter 9: "Reading Expressions", and this blog series is my way of documenting this learning adventure.

Conclusion

Right now, my main goal is to strengthen my C knowledge by building small projects that help me truly understand:

  • How memory works
  • How to allocate and deallocate memory
  • How to properly use and master pointers

This is just the beginning, but it feels like the right foundation for my long-term goal: becoming a Game Engine Programmer.

Thanks for reading

Let's build something

Have a project in mind? I'm open to freelance work and full-time roles.

Get in touch →