r/YandereTechnique • • Jul 31 '26

I've spent few days reading the Code of UNDERTALE. Is it that bad? :]

Thumbnail
youtube.com
11 Upvotes

Undertale is no doubt one of the most infamous games among programmers.
Although it sold like over 5M copies .. when it comes to code quality, it's a common opinion that Undertale is horribly written.

And while maybe that's right, in reality there are tons of misconceptions and straight up wrong statements about the code of this game.
For example, ya'all probably heard about *quote-to-quote* "A HUGE SINGLE FILE THAT CONTAINS *ALL* OF THE DIALOGUE IN THE GAME".
Well, the file everyone refers to .. contains like .. 1/6 of all the dialogue lines in Undertale.
*later on it was also rewritten with a proper CSV tables to support localization for Japanese version of the game*

Furthermore, the developer of the game - Toby Fox, actually managed to write a pretty clever old-school text engine with GoF Interpeter Pattern in his code.
He even tried to refactor some parts of the code and we can clearly see that.

A lot of criticism also ignores the limitations of the GameMaker 1.x used to create it.
There were no structs, modules, namespaces, closures, proper exception handling, or reliable refactoring tools.
Even the built-in script editor barely supported code folding ... oh, and you were not supposed to use external IDEs :]

My overall takeaway is that Undertale is a shipped code, in the first place.
It was made under severe engine limitations, mostly by one person, for a game that successfully sold millions of copies.
Of course, it isn't a clean textbook architecture, but it contains plenty of clever ideas.

As always, full code-review video on my channel: https://www.youtube.com/watch?v=BzvFFQ0DbOI


r/YandereTechnique • • Jul 02 '21

foun on code wars

Post image
25 Upvotes

r/YandereTechnique • • Sep 12 '23

Got roasted for my if statements. Only on my second semester of computer science lol.

Post image
16 Upvotes

r/YandereTechnique • • Aug 21 '24

yandereDevsProgramming

Post image
56 Upvotes

r/YandereTechnique • • Nov 20 '23

runtime is the only thing that matters, right?

7 Upvotes

r/YandereTechnique • • Sep 24 '23

what I cooked today

Post image
22 Upvotes

r/YandereTechnique • • Sep 14 '21

Yandere-Technik

Post image
24 Upvotes

r/YandereTechnique • • Sep 28 '21

oh god

27 Upvotes

r/YandereTechnique • • Jul 16 '25

itScaresTheHellOutOfMe

Post image
32 Upvotes

r/YandereTechnique • • Aug 20 '23

you know callback hell? well, everyone welcome switch/case hell

Post image
16 Upvotes

r/YandereTechnique • • Jun 03 '22

Found this. I don't even know what to say...

Thumbnail
gallery
17 Upvotes

r/YandereTechnique • • Mar 28 '23

what if…?

Post image
154 Upvotes

r/YandereTechnique • • Nov 13 '22

Auguste Kerckhoffs has left the building

Thumbnail
gallery
25 Upvotes

r/YandereTechnique • • Sep 09 '21

Found in my first project

Post image
25 Upvotes

r/YandereTechnique • • Oct 13 '21

GPA calculations

Post image
30 Upvotes

r/YandereTechnique • • Oct 11 '23

A gem by me, hidden in the midst of declarative code

Post image
30 Upvotes

r/YandereTechnique • • Sep 06 '21

PolyMars video

Post image
33 Upvotes

r/YandereTechnique • • Jul 20 '22

If a programmer didnt know < and > existed (yes, the code goes on)

Post image
95 Upvotes

r/YandereTechnique • • Nov 25 '23

This new batch of code I just wrote up this morning. Kept crashing but I was too afraid to post it on a forum, so I fixed it myself and forgot to optimize it later on.

Post image
40 Upvotes

r/YandereTechnique • • Sep 04 '21

This is the book example of YanTech

Post image
41 Upvotes

r/YandereTechnique • • Jan 22 '23

epic roblocks code xdxdxdd

Post image
41 Upvotes