Live data from Hacker News

Type system of Fortnite's Verse language

brianmckenna.org

101–110 of 159 posts

Re: Type system of Fortnite's Verse language

#101
post #61

Earlier quoted context omitted.

this comment is wrong on multiple levels - this reduces fortnite’s audience to 12 year olds. the average age of a fortnite player is an adult - fortnite custom mods / modes are nearly all developed by adults (the people who will write in this language) - verse is designed to be used more widely than just fortnite in other games by other game develoment professionals (that are nearly all adults) i don’t understand how…

The game acts like it is designed for kids. It follows all the obnoxious gen Z trends, everything is in superbright colors, and speaks their design language. Hard to imagine that its userbase isn't mostly kids.

That's because attracting kids to your game means they'll stick around long enough to afford spending on it.

Kids' TV shows tend to have secondary audiences of their parents. I think this wouldn't apply to games as much but maybe there's some of that.

Re: Type system of Fortnite's Verse language

#102

Earlier quoted context omitted.

C/C++/C# are indeed often used for game programming but when it comes to gameplay logic scripting there's a lot more options. Lua, blueprint, lisp, angelscript, unity's graph language etc..

Yeah, Lua is super common. Not exactly sure why, but it really is.

It's ridiculously easy to code in.

Lua started out life as a simple language for extending larger projects and then repeatedly broke backwards compatibility to make the language simpler. For example it's lexically scoped now but it wasn't to begin with.

Contrast with python, which started out life as a simple beginner friendly language, then added lots of complexity, then had the totally botched transition from 2.7 to 3 and is now growing a static type system.

Lua is also very easy to embed in other systems. Like sqlite.c levels of easy to embed.

Re: Type system of Fortnite's Verse language

#103
post #5

Earlier quoted context omitted.

At the same time… the language is interesting , and I’m sure it’s technically very well designed, but I’m not sure it’s a good fit for the task they’ve got. The apparent goal is for this to allow anybody to democratically contribute to Fortnite (a game most popular with a fairly young audience), but the language feels very technical and not-beginner-friendly to me. For example, it’s fairly symbol-heavy (making it int…

A lot of this type-system stuff is not really relevant to the Fortnite modder audience. If you look at the kind of code used in more practical examples ( https://dev.epicgames.com/documentation/en-us/uefn/learn-cod... ) it doesn't do very much of this -- it's basically Python crossed with Java. Well, they have also inverted the usual capitalization conventions for seemingly no reason. Class names are lowercase_with_u…

> lowercase_with_underscores

aka snake_case

> UpperCamelCase

aka PascalCase

But yeah I agree it’s curious that they use these the other way around from what I am used to in Python and Rust.

Re: Type system of Fortnite's Verse language

#104

Earlier quoted context omitted.

Hubris. "Look at us, we have these LANGUAGE EXPERTS working for us". As a result the only presentations these people do are about how great their new Yet Another Language toy is. Compare this to, say, Jonathan Blow talking about design decisions for his language: https://www.youtube.com/watch?v=uZgbKrDEzAs

I'm confused by this example, Jonathan Blow sounds identical to LANGUAGE EXPERTS here. If anything the difference stems from humor, but they're both doing the exact same thing - arguing Yet Another Language is better.

> I'm confused by this example, Jonathan Blow sounds identical to LANGUAGE EXPERTS here.

No, he doesn't. He lists what problems he's running into, the challenges he faces and what his language is trying to do to mitigate that.

The two presentations I've seen on Verse are: "look at this python-like language and its syntax" and "look at the types in this language!".

We've yet to see anything of any substance that actually describe the whys and the whats of the language beyond "oh yea we use STM to code for multiple servers" (which is a nonsensical statement)

Re: Type system of Fortnite's Verse language

#105

Earlier quoted context omitted.

Or they might be just creating a Yet Another Language precisely because they are luminaries of functional programming. Those often tend to chase a yet another unattainable dream of "the one true functional language". When you type the words "the really know what they are doing" when talking about a language for game programming , I would expect people who know about game programming first, and about language design s…

> I would expect people who know about game programming first, and about language design second. Well, one of the authors is Tim Sweeney. > There's a reason C/C++ and even C# are the go to languages for game programming, and not Haskell. It's interesting that you list those because none of them were originally designed for games. Well, C++ sort of was if you consider network simulations to be game-like. I share your…

> It's interesting that you list those because none of them were originally designed for games.

And yet, people are using those.

So, an introduction of a "programming language for game programming" should at least have:

- what are the challenges in game programming

- how they are solved or not solved by existing languages, and why people are using them

- what exactly this new language is bringing to the table, and how it solves those problems

What we've seen so far "loom at this amazing language that solves everything! Let's look at syntax and types".

> But I think you're also underselling the expertise of the people involved.

Or people are overselling the expertise and are blinded by the bright names

> Also, my impression is that Verse is mostly intended as a game server language.

See, you only have impressions and don't thinks, because there's really nothing about what the language really does, and what problems it aims to solve. Beyond some poorly executed marketing fluff.

Re: Type system of Fortnite's Verse language

#106
post #88

Earlier quoted context omitted.

Isn't that true of Python as well?

Long ago I evaluated a few scripting languages to add to a Doom engine, I think I considered Ruby, Lua, Python, JavaScript, and Squirrel. I ended up choosing Lua because: - easy to embed - good ecosystem (in particular needed Lua GObject Introspection for pangocairo) - usable from C (not just C++) - not white space sensitive - skills translate to programming in the large - it's fast A lot of games let you write littl…

As a non-programmer: when you say slowest, do you mean most verbose? Or, most runtime overhead? Or, something else?

Re: Type system of Fortnite's Verse language

#107

Earlier quoted context omitted.

A lot of this type-system stuff is not really relevant to the Fortnite modder audience. If you look at the kind of code used in more practical examples ( https://dev.epicgames.com/documentation/en-us/uefn/learn-cod... ) it doesn't do very much of this -- it's basically Python crossed with Java. Well, they have also inverted the usual capitalization conventions for seemingly no reason. Class names are lowercase_with_u…

> lowercase_with_underscores aka snake_case > UpperCamelCase aka PascalCase But yeah I agree it’s curious that they use these the other way around from what I am used to in Python and Rust.

I'm just guessing, but snake_case might be inspired by dependently typed programming languages, where there's no strict boundary between terms and types.

PascalCase for variables reminds me of unification-based programming languages like Prolog.

Re: Type system of Fortnite's Verse language

#108
post #19

Earlier quoted context omitted.

STM is the Haskell people’s hammer solution to everyone else’s nail problems.

Well, most everyone else is using duct tape, bailing wire and spit to solve those problems.

This doesn't explain what STM has to do with it.

On the other hand you have Erlang thesis from 1980s which is still true: https://erlang.org/download/armstrong_thesis_2003.pdf (updated in 2003)

Re: Type system of Fortnite's Verse language

#109
post #82

Earlier quoted context omitted.

If I remember correctly, one of the main original reasons was that it was super easy to embed.

Isn't that true of Python as well?

It’s not super difficult to embed python, but it ain’t easy. It is also very slow and insists on stat’ing a million files all over the disk when starting up.

It’s also hard to stop python code from doing things it really shouldn’t, like calling os._exit.

Oh, you also have to deal with linking against the right crt on windows.

Re: Type system of Fortnite's Verse language

#110

Earlier quoted context omitted.

this comment is wrong on multiple levels - this reduces fortnite’s audience to 12 year olds. the average age of a fortnite player is an adult - fortnite custom mods / modes are nearly all developed by adults (the people who will write in this language) - verse is designed to be used more widely than just fortnite in other games by other game develoment professionals (that are nearly all adults) i don’t understand how…

I'm not necessarily saying you are wrong here in the case of fortnite, but do you have data to back up that the average fortnite player is an adult? It seems like in general it tends to be wildly more popular with younger people, generally kids and teens - although i don't have data for this either, just based off what I've personally seen.

My anecdata, my teenagers won't play it, despite liking it [privately], because it's for "little kids" -- by which they mean Primary School (7-11yo) children.

They are ridiculously sensitive to their perceived age groups for games.

Post reply on HN