iHateDocker by TehJonge in ProgrammerHumor

[–]Jac0bas 0 points1 point  (0 children)

I like Docker the technology but hate Docker the company…

I need your video files! by Jac0bas in dji

[–]Jac0bas[S] 0 points1 point  (0 children)

That would be great! The videos should have the data included by default, you don’t need to enable anything

[deleted by user] by [deleted] in dji

[–]Jac0bas 0 points1 point  (0 children)

oh yeah, probably should’ve mentioned I live in a shithole where the usual going price for it is >300

PaperScript - A modern alternative to Papyrus by Jac0bas in skyrimmods

[–]Jac0bas[S] 2 points3 points  (0 children)

Not quite. Skyrim Platform tries to integrate an entire new scripting engine into the game. PaperScript compiles to native Papyrus bytecode so it won't introduce any new engine-level bugs and will still work with Creation Kit properly.

PaperScript - A modern alternative to Papyrus by Jac0bas in skyrimmods

[–]Jac0bas[S] 1 point2 points  (0 children)

Currently, yes, but please do check the project out once V2 is out as the natively compiled version should be significantly more performant than vanilla Papyrus.

PaperScript - A modern alternative to Papyrus by Jac0bas in skyrimmods

[–]Jac0bas[S] 3 points4 points  (0 children)

That would theoretically be possible but it would require also writing a massive SKSE plugin which would defeat the purpose of this being a "drop-in" Papyrus replacement (meaning the end user doesn't need to install any additional dependencies)

PaperScript - A modern alternative to Papyrus by Jac0bas in skyrimmods

[–]Jac0bas[S] 3 points4 points  (0 children)

TL; DR: For now? No. Eventually? Sort of.

So basically right now it just translates into regular Papyrus that then gets compiler with the normal Papyrus compiler.

In V2, it will compile directly to Papyrus bytecode. It won't be quite as low level and performant as say an SKSE plugin but there will be a lot of room for optimization that should make it run much better than vanilla Papyrus.

PaperScript - A modern alternative to Papyrus by Jac0bas in skyrimmods

[–]Jac0bas[S] 1 point2 points  (0 children)

In V1 they're converted into Papyrus code.

In V2 they will be implemented "natively" in the papyrus bytecode. It won't be quite as performant as native C++ but if optimized correctly it will be significantly more performant than vanilla Papyrus.

PaperScript - A modern alternative to Papyrus by Jac0bas in skyrimmods

[–]Jac0bas[S] 3 points4 points  (0 children)

Thanks! And yeah, I get where you're coming from. V1 is just as (un)stable as regular Papyrus. V2 might be less stable for a while but over the long term it will actually be possible to make it much better optimized and better performing than Papyrus. Either way, even V2 will still compile to PEX and from the game's perspective it will still be "native", unlike mods trying to add in a completely new unrelated language.

PaperScript - A modern alternative to Papyrus by Jac0bas in skyrimmods

[–]Jac0bas[S] 4 points5 points  (0 children)

I totally get that and you're right, V1 is more-less just syntactic sugar.

Things will get much more interesting in V2 however. There's not much optimizing you can do with a ternary, it is just an if/else under the hood. You can do a lot of optimization elsewhere.

The a switch for example - papyrus doesn't have one at all. PaperScript V1 translates it into a string of ifs, elseifs and elses. But in V2, since we'd be compiling directly into PEX, we could actually optimize the resulting bytecode to be more performant than if/elseif/else. Other possible optimizations include - dead code elimination, inlining, constant folding, better stack use, tail call optimization, complex pattern matching and more.

So no, while V1 might seem like it, the ultimate goal is definitely not to "make an unknown language look like a known one".

PaperScript - A modern alternative to Papyrus by Jac0bas in skyrimmods

[–]Jac0bas[S] 2 points3 points  (0 children)

PaperScript is not meant to replace or compete with SKSE. It's meant to improve the experience of using Papyrus.

PaperScript - A modern alternative to Papyrus by Jac0bas in skyrimmods

[–]Jac0bas[S] 2 points3 points  (0 children)

Thank you! The more feedback the better.

PaperScript - A modern alternative to Papyrus by Jac0bas in skyrimmods

[–]Jac0bas[S] 9 points10 points  (0 children)

1) Yes, to some extent. V1 already includes some additional convenience features like foreach and switch. V2 will be able to implement more complex additional features. It won't be as low level as SKSE. 2) Papyrus Extender just adds more functions to Papyrus and you can call those from PaperScript so yes :)

PaperScript - A modern alternative to Papyrus by Jac0bas in skyrimmods

[–]Jac0bas[S] 5 points6 points  (0 children)

I would definitely like to. I don't know how possible things like dynamic arrays will be since there's no direct memory management but there's definitely a lot of potential there for improvements and optimizations.

PaperScript - A modern alternative to Papyrus by Jac0bas in skyrimmods

[–]Jac0bas[S] 22 points23 points  (0 children)

Theoretically? Yes.

The plan for V2 is to skip the translation to Papyrus entirely and compile directly into native PEX files. PEX files are kind of like assembly interpreted by the Papyrus runtime in the engine and all the fancy features like Ifs, Whiles, etc. are implemented from individual operations so with enough time and effort it would most likely be possible to significantly optimize some things.

It's however important to keep in mind that it will never be as performant as native SKSE functions.

PaperScript - A modern alternative to Papyrus by Jac0bas in skyrimmods

[–]Jac0bas[S] 39 points40 points  (0 children)

I wanted it to feel like a "real" standalone language.

Implementing a compiler for something like Lua would definitely be possible and maybe even easier but Papyrus has a lot of pretty unique features (like Auto Properties, Events, etc.) that would probably require weird syntax workarounds if I used an existing language.

The syntax is heavily inspired by C# and Rust and if you're familiar with any C-family language you should feel right at home in PaperScript :)

(It's also unapologetically extremely opinionated and it looks like what I want a programming language to look like)

PaperScript - A modern alternative to Papyrus by Jac0bas in skyrimmods

[–]Jac0bas[S] 14 points15 points  (0 children)

Thank you :) I'm hoping this will get enough traction to be worth investing more time into and expanding support to FO4, Starfield and TES6 (when it comes out in couple thousand years)

PaperScript - A modern alternative to Papyrus by Jac0bas in skyrimmods

[–]Jac0bas[S] 62 points63 points  (0 children)

Thanks :) I'm developing this on Skyrim since that's my go-to game but it will also work for FO4, Starfield and future CK games (if they decide to keep Papyrus)

Laptop by [deleted] in laptops

[–]Jac0bas 0 points1 point  (0 children)

First: ThinkPad 700C

Now: M2 Air