Here not be Papyrus

I've never made a secret I hate the Papyrus programming language.

I really don't want to take a dump on the guys who worked so hard to make it possible, since they did something I can't do and probably never will[1].

But the language they made was designed so non programmers could do menial tasks, like:

And that's the real issue here. Papyrus is slow, limited and ugly to the sight because it's quite obvious it was made for non programmers... and they still managed to fuck it up so hard, a modder had to come to the rescue... as usual.

Want to make something more complex than placing one or two NPCs around or spawning an asshole orc that attacks you on sight just because?
Though luck. You will need to resort to all kind of hacks and aggressive and convoluted optimization methods just to have your mod still looking like a slow clunky mess in game.

Typescript, the hero we deserved

Then Skyrim Platform came and changed it all forever.
Thanks to all it's sorcery and Giga Chad team of developers, now we can completely bypass Papyrus forever[3].

Warning

No. I'm not connected to Skyrim Platform developing in any way nor I represent the official opinion of its developing team at all.

I surely hope to directly[4] contribute[5] to the project, but I've always been a free asshole bound to no one.
That's why can say all the dumb shit I want without fear of repercussions for the people surrounding me[6].

To me, the fact that Skyrim Platform uses Typescript as its language of choice was literally my dream come true.

I've already had some experience with it because some years ago I used it with Ionic and Angular to make some Android app and I inmediatly felt in love with it.

I'd dare to say Typescript is my favorite language ever.
... seems I'm not the only one, by the way.

Let's waste no more time

I'll waste no more of your time; but now you have at least some context on why this page will be totally shifted to Typescript from Papyrus.

I'll leave untouched the early NiOverride articles with all their mismatched syntax coloring attempts[7], but future articles will be made for Typescript only.

A modder's perspective

By the way, Typescript is a completely different beast than Papyrus.

High quality sources on how to work with it are all over the internet, so you should have no problem at all learning its basics.

That's why I didn't even listed "Typescript tutorials for beginners". There's so much info you can easily get to teach you someone whose style you really like.

Since you already know I don't like to write things other pople have already talked about (why should I waste your and my time like that?), I'll talk about Typescript from a Skyrim modder's perspective.

You know... things you won't find anywhere else®.

Wrapping up

I wrote all this looooooong ass page (certainly way longer than I expected) in hopes you now understand why I don't care to write about Papyrus programming ever again.

I've got my keys for my brand new Ferrari. I have no more use for that Gremlin 65 I've always hated.


  1. Mostly because of lack of interest. This guy assures me it's within my hands to create a new programming language. ↩︎

  2. I said somewhere in the NiOverride series I learned how to properly program in the Fortran 90 language.
    Even though Fortran has a fame of being really old fashioned by people that never cared to see if anything beyond Fortran 77 existed (and it's still the language of choice for supercomputer programming over their oh so loved C++), I never had problems creating arrays of variable length in it.
    That should tell you something about Papyrus. ↩︎

  3. Not even my beloved JContainers and Lua managed to pull out that feat. ↩︎

  4. I'll work on expanding the official documentation and... hey, DON'T FRET xD.
    I'm old. I know there are places where my idiocy is not tolerated, so I'll be professional. Hopefully you won't even notice it was me the one who made the changes. ↩︎

  5. I did a minor independent contribution to the cause by creating a program that translates Papyrus function headers to Typescript. ↩︎

  6. I'm actually close to no one.
    See? If you are close to no one, there's no way your actions can badly affect the people you care!
    That's superhero-level thinking here. I deserve an statue or something. ↩︎

  7. I'm aware the coloring is way off.
    Do you really want me to bore you to death with a wall of text explaining why that is? You know I'm perfectly cappable of doing that. ↩︎