Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Becoming a Video Game Programmer in the Age of LLMs
- ## Preface
- This is aimed at programming students who are thinking about joining the games industry, and juniors who are a already in the industry.
- I am a programmer and have been in gamedev for 8 years. I am writing this anonymously because there is still a stigma around publicly arguing against Generative AI or LLM use in gamedev.
- LLMs dominate the news. There is a new article each week proclaiming the death of programming as a profession. Every day someone posts a variation of "90% of our code is written by AI". I can imagine if you are a student or new to the industry you might think that you have to embrace using these tools.
- This essay is an attempt to change your mind.
- ## You Still Need to Know How to Program
- This entire essay could be boiled down into one single phrase:
- > You still need to know how to program.
- These are the reasons why:
- ### You need to pass the interview
- Interviews for programming roles come with a programming test. Either in-person or at-home. I guarantee that the company you are applying to will not allow LLM use during the test. They want to evaluate your abilities, not the LLM's abilities. Even if you manage to use an LLM on an at-home test, in follow-up rounds they will ask you detailed questions about your solution, and you won't be able to answer them unless you wrote it yourself.
- So you're going to need to do it without an LLM.
- ### You're can't use LLMs at work
- Let's imagine that you are one of the new generation of programmers that is using "vibe coding" to complete school assignments and hobby projects.
- LLM tools like Claude are often banned in video game studios, for any number of reasons:
- - The game may use a unique scripting language that is unsupported out-of-the-box by popular LLMs, and training on the custom language may be deemed to expensive or time-consuming.
- - The many previous examples of private information being leaked by LLMs may mean that LLMs are banned.
- - Licensing for SDKs (physics, audio, etc.) may prohibit their use with LLMs.
- - It is not clear if copyright laws apply to anything created using LLMs. The studio's legal department may ban LLM usage to avoid this grey area.
- - LLMs are often trained on copyrighted works. The studio may rule against LLM use to avoid legal concerns.
- - The quality of code produced by LLMs may be judged too low to be useful.
- So even if you _want_ to use LLMs at work, you may not be able to.
- ### You need to be able to write short, clean code
- LLMs are good at making lots of code very fast. Video games take many years to make, and code needs to be maintained throughout that time, and often after launch. Writing a _lot_ of code is not desirable. Writing a small amount of code is better.
- Ideally code should be, in this order:
- 1. Easy to understand
- 2. Easy to maintain
- 3. Performant*
- What "Performant" means depends on _a lot of things_. Main memory-efficient? CPU-cycle efficient? GPU-cycle efficient? GPU-memory efficient? How often does the code run?
- ### You need to be able to debug the code
- There's a phase that I've always kept in mind when working in programming:
- > Debugging is twice as hard as writing code.
- > Therefore, if you write code that uses 100% of your ability, you not be smart enough to debug it.
- So if you use an LLM to write fancy code, there's a chance you won't be able to debug it.
- I would say that one third of my time at work is spent debugging existing code. Debugging is a skill that comes from not only stepping through and understanding when code goes wrong, but from thinking about the impacts of what you're writing when you're writing it.
- ### You need to update the code
- As a programmer your responsibilities will change depending on your team.
- As a graphics programmer or physics programmer, you will need to write extremely performant code that scales, works with edge cases, fails gracefully and more.
- In the case of gameplay programmers, your role is to support designers and make their specifications work in-game. This requires a lot of iteration. Building things in the _right_ way can mean the difference between a new design taking an hour to see in-game and a week.
- In both cases, the levels of nuance required are something that LLMs cannot achieve.
- ### You need to enjoy your job
- There is mounting evidence that using LLMs to do work burns people out. Don't burn yourself out.
- ## In Summary
- Every time you use an LLM to think for you, you cheat yourself out of an opportunity to grow.
- Beware of what you see online. Just like with the NFTs, there are people online who will talk very loudly about a new technology, when people who don't use it are quietly getting on with the real work. LLMs are the same thing.
Advertisement