The Verse Programming Language | GDC 2023

  Рет қаралды 54,090

Unreal Engine

Unreal Engine

Жыл бұрын

Watch the recording of Epic Games’ tech talk from GDC 2023, ‘The Verse Programming Language’.
An exciting future of interconnected next-gen experiences and virtual worlds could be within reach, but it will require a robust universal programming language to come to fruition-one that is scalable, open, and transparent.
This talk introduces programmers to Verse, a new programming language that will initially be launched for Fortnite as part of UEFN and later rolled out to other Epic tools-and beyond.
We explore how the language will have a number of guarantees codified into its bedrock that we believe are key to general programmer success in a future of interconnected virtual environments.
You’ll get a quick tour of the language’s key features, a taste of the interesting things you can do with it, and a look at where we see the language going in the years to come.
We’ll also cover what makes the language unique, discuss sample code, and do some Q&A.
#Verse #ProgrammingLanguage #UnrealEditorForFortnite #UEFN #GDC2023 #EpicGames #Fortnite #UnrealEngine #GameDevelopment #Metaverse #VirtualWorlds

Пікірлер: 254
@fkknsikk
@fkknsikk Жыл бұрын
It's about time the world had a programming language rated T for Violence.
@mrjean9376
@mrjean9376 Жыл бұрын
Lol, for sure programming is violence at some point
@Alperic27
@Alperic27 Жыл бұрын
Yeah… perl is back!!! … another unending clusterfuck of cryptic redefinitions of simple symbols… all that is missing are more of these xxxxx: … and then of course, icing of all icings… the ability to redefine everything in a local context… … cant wait 😀😀😀… to see that … just one tiny criticism though: verse … what that for a name… franckenpyskell would have been a much more worthy name for this marvell of modern genetic cloning… the violent genetic cloning is what prompted the classification… plus… the syntax is even more violent on the eyes than rust… imho
@plagiats
@plagiats Жыл бұрын
Can't wait for the soon upcoming job offers requiring years of experience in Verse
@shayneoneill1506
@shayneoneill1506 Жыл бұрын
Lol. I remember when the IOS sdk first came out and I started seeing jobs asking for "5+ years in IOS programming". You could always spot when the HR manager instead of someone from IT had written the job requirements. That said I've also had people try and accuse me of lying when I tell them I had been using python since the 90s (Its actually a pretty old language, certainly older than JS, Java and so on)
@adamodimattia
@adamodimattia 6 ай бұрын
hahaha, so true
@Zumito
@Zumito Жыл бұрын
I need someone with 10 years of experience in Verse
@dansadler
@dansadler Жыл бұрын
I guess now I understand why they were forced to put a "violence" warning in the start of the video.
@Danta1ion
@Danta1ion Жыл бұрын
too hard for teens to understand it lol
@TYTYTY81
@TYTYTY81 Жыл бұрын
Time stamps 0:00 Intro 7:00 Specifics of the language 26:25 Future plans 27:45 Verse API 39:00 Q & A (more than 30 minutes!)
@APaleDot
@APaleDot Жыл бұрын
55:46 "Everybody's code could potentially interact with anybody else's code" Is it just me or does this sound like an absolute nightmare?
@lennysmileyface
@lennysmileyface Жыл бұрын
The bugs
@pXnTilde
@pXnTilde Жыл бұрын
Well, that's the problem they want to solve, right?
@adamz8314
@adamz8314 Жыл бұрын
not t going to work anyway.
@TheBigWazowski
@TheBigWazowski Жыл бұрын
The implication is that they hope to find a way to do that securely
@jsonkody
@jsonkody 2 ай бұрын
Thats the IDEA - it's nightmare in languages that are not made for this - so they made the Verse so it is NOT nightmare ;) Basically any pure functional oriented language with static typing would be order of magnitudes better in this than 'normal' procedural / OOP languages You need to be functional and immutable to be safe(r) AND you need static typing to make contract/api of how your program is working.
@marcfruchtman9473
@marcfruchtman9473 Жыл бұрын
Not Touching this until it makes it into Unreal Engine 5 for standalone desktop, with no server dependencies.
@zoldyg7979
@zoldyg7979 Жыл бұрын
Bro is it worth it for me as a beginner to dive in It and Unreal engine , cybersecurity all fields interest me , i plan to self-taught, what do you think on these field , and what would you recommend i start with as a beginner?
@marcfruchtman9473
@marcfruchtman9473 Жыл бұрын
@@zoldyg7979 Unreal Engine has amazing Tutorials. My advice is first ask yourself, are you willing to spend "years" learning it... if not, then you probably should pick something else.
@Hector-bj3ls
@Hector-bj3ls 6 ай бұрын
Only 8 minutes in and they already fucked it up. First guy: "We want a language that is familiar and similar to C#, Typescript, Java, Kotlin, etc..." Second guy: "So, the language has semantically significant white space like Haskel or Python."
@TapetBart
@TapetBart 27 күн бұрын
Funnily enough you can write haskell with brackets and semi-colons.
@borasemiz9512
@borasemiz9512 Жыл бұрын
Like everything about unreal engine, this will also have a limited documentation.
@half_real
@half_real Жыл бұрын
sic Copilot X on it, it's supposed to add docs for functions
@NUCLEARARMAMENT
@NUCLEARARMAMENT Жыл бұрын
Is this meant to fill the gap left by not having a C#-like language inside UE? It feels like it could be the spirtual successor of UnrealScript that was last used in UE3/UDK.
@kazioo2
@kazioo2 Жыл бұрын
If that was the case they would just adopt C# or another popular fun language. Verse feels more like something new created to do thins that weren't possible before - native transactions, internet-level variables and multitasking, multi-device code execution etc. Seems more next-genm GaaS oriented than a typical scripting language. A risky experiment, not a typical tool for a known old job.
@heinrich6294
@heinrich6294 10 ай бұрын
@@kazioo2 it this is like more high level type than scratch xD. So many functions implemented
@runninggames771
@runninggames771 4 ай бұрын
@@heinrich6294no its not. Do you know how to read?
@fytubevw
@fytubevw 9 ай бұрын
I love the 8 Queens puzzle -sort of thing, with Verse's Minesweeper example. Sometimes defining the goal (or setup) is much more comfortable than thinking about the nitty gritty 'real world' with algorithms, or algorithm-like thinking even. :)
@officialnickname
@officialnickname Жыл бұрын
I find the syntax a bit too "clever" and therefore hard to read. With the way this language works it seems like it omits many language features that you can already omit with other languages but shouldn't in order to keep your code readable. For example if you have a complex condition, it makes sense to put that in a bool variable, name it what is does and then put that variable in the if head. This way you can just read the variable's name, instead of having to analyze the whole condition everytime. Same with that minesweeper code. Cool that you can put all of that code in one for loop. But why would you do that? Who would want to read that kind of code?
@TheBigWazowski
@TheBigWazowski Жыл бұрын
For the “bool” point, it sounds like maybe you don’t like their “failure” system, which behaves similar to Rust’s Result system. If so, you can still have complex conditions that you store in a bool. You would just have to have written your function to return a bool, rather than “fail”. “Failure” is more of an exception system where you only throw upon an unexpected error that is unrecoverable from your current scope. I think it’s common to like terse syntax for exception handling because it can obfuscate the code. You may disagree
@APaleDot
@APaleDot Жыл бұрын
I'm already seeing performance issues with this. For instance, you made array access a failable expression, which builds bounds-checking as a core assumption in the logic of the program. That means that not only do you incur a couple extra operations every time you want to access an array, each access _is potentially a branch!_ And it's not like you can just turn the feature off as an optimization, because it seems like many features of the language _depend_ on this branching in order to function.
@APaleDot
@APaleDot Жыл бұрын
@meatandmeat First of all, how do you know? Is there documentation or something? Secondly, what happens if I modify the array inside the loop? Is the compiler going to stop me from doing that like in C#, cause that would force me to constantly copy arrays.
@fuj1n
@fuj1n Жыл бұрын
Scripting languages are supposed to be safe, if you want to penny pinch that much, stick with C++.
@TheBigWazowski
@TheBigWazowski Жыл бұрын
The impact of bounds checking is not a concern for the vast majority of code in a codebase, only the hot paths. Mostly because the branch predictor will typically assume an in bounds access. An out of bounds access should be an ultra rare occurrence since that indicates a software bug. When accessing it inside a hotpath, you should be able to structure your code in such a way that either the compiler can optimize the bounds checking or using an “unsafe” api that you “manually” bounds check. There’s also hope for this to be executable on user/client side, so bounds checking is a nearly non-negotiable security requirement
@sttate
@sttate 4 ай бұрын
@@fuj1n I know this is late, but is Verse not intended to replace C++ eventually?
@cold_ultra
@cold_ultra 11 ай бұрын
Not a fan of the syntax, but any text format replacement for blueprints is wellcome
@Lycam
@Lycam 9 ай бұрын
They could make a bluescript, a typed version of blueprint and call a day. Instead they are creating rust/kotlin another new language which solves the same things
@cold_ultra
@cold_ultra 9 ай бұрын
​@@Lycam yeah... like, you can see it! blueprints do have some sorte of 1 to 1 mapping to a text format. It sill would be a new language, but immediately accessible to everyone that used blueprints before.
@bashful228
@bashful228 Жыл бұрын
@25:50 the failable indexes for array is a bit like list comprehensions in Haskell. interesting .
@Demnus
@Demnus Жыл бұрын
Love how ESRB rated this stuff as VIOLENCE!
@lennysmileyface
@lennysmileyface Жыл бұрын
Boy I do love typing redundant : and everywhere
@APaleDot
@APaleDot Жыл бұрын
I don't mind the colon to indicate types. Makes some things easier to parse at a glance, but OnBegin():void= is horrendous.
@lennysmileyface
@lennysmileyface Жыл бұрын
@@APaleDot I just don't know why we need to use a token that requires 2 keys to type when you could just make it a space like many other languages or something else that just requires 1 key. Yeah putting modifiers in inside function declarations hurts my eyes. If the idea is to make me type more keys it's doing a good job.
@APaleDot
@APaleDot Жыл бұрын
@@lennysmileyface One advantage is just to the compiler. Punctuation makes it easier to distinguish between various expressions. I mean, imagine if functions just used a space instead of parentheses. The compiler would have to check if every single expression was a function. One advantage is shown in this video: You can specify that something is a declaration without having to write out the type, which is useful if the type is obvious. Compare foo : SomeReallyLongClassName = new SomeReallyLongClassName() to foo := new SomeReallyLongClassName() C++ uses auto for this purpose but personally I think the "walrus" operator is cleaner. Ultimately, I think syntax is the least of this language's problems. People will adapt to syntax.
@tastysnak
@tastysnak Жыл бұрын
This is great! So much information in the one video. Am going to have to get used to arrays being mutable data structures though. 😳
@MattOstgard
@MattOstgard Жыл бұрын
I'll wait for the performance focused variant language, Inverse.
@ymi_yugy3133
@ymi_yugy3133 Жыл бұрын
The vision for the language looks quite exciting, though the syntax seems a bit clunky in some areas. That said I'm a bit doubtful whether they can actually pull this off. The language looks incredibly ambitious from a design perspective. They are making a lot of decisions based on still unproven hypothesis. I would be kind of surprised they were able to realize their vision without having to do a major redesign of the language. This is made even harder by the insanely hard and resource intensive engineering that is needed to actually make this language useful. Just look at the monumental effort Google has to put in to build and maintain V8.
@fkknsikk
@fkknsikk Жыл бұрын
Well if we've seen anything it's that Epic doesn't shy away from major redesigns and they have a lot of resources. With time it could actually be quite useful.
@tronophono913
@tronophono913 Жыл бұрын
@@JosephSeed Because Apple has a history of abandoning technology after signing contracts. Like firewire, that was a huge mess. Less dependence on a company the better.
@Alperic27
@Alperic27 Жыл бұрын
Only one small criticism … franckenpyskell seems to me much more worthy of this magnificient genetics experiment … .. plus i think it is also missing the ability to redefine all the symbols to means something else locally … .. 🤦‍♂️🤦‍♂️🤦‍♂️🤦‍♂️🤦‍♂️🤦‍♂️🤦‍♂️🤦‍♂️🤦‍♂️
@Alperic27
@Alperic27 Жыл бұрын
OnBegin():void = … what kind of brain tumor makes a mind produce that for a method signature and make the same mind call it ‘simple for everyone’ … 🤦‍♂️🤦‍♂️
@davidzwitser
@davidzwitser Жыл бұрын
@@Alperic27 I think this is something you can get used to quite quickly and will actually find quite readable
@Shrooblord
@Shrooblord Жыл бұрын
So finally the language that was promised when SkookumScript got absorbed reveals itself! I'm excited to see how this project matures. I was a huge fan of Skookum --- I hope Verse will give me similar vibes :)
@highdefinist9697
@highdefinist9697 Жыл бұрын
Does it still provide any relevant advantages compared to coroutines/UE5Coro/etc.?
@shayneoneill1506
@shayneoneill1506 Жыл бұрын
@@highdefinist9697 Watch the video dude.
@sirinath
@sirinath 5 күн бұрын
Also get other big tech companies including those outside gaming on board and as collaborators. This will make it more successful.
@marchaubenstock
@marchaubenstock Жыл бұрын
Is this the Epic's objective-c equivalent? Oh boy
@chickenstrangler3826
@chickenstrangler3826 7 ай бұрын
Nay sayer.
@TapetBart
@TapetBart 27 күн бұрын
Well i hope it is like their Swift instead then.
@blastygamez
@blastygamez Жыл бұрын
Tbh it’s better then I expected
@mariab2613
@mariab2613 Жыл бұрын
Sounds great, I wanna use it. So, where is documentation?
@flixfort
@flixfort Жыл бұрын
That is awesome!
@jc-ol9mb
@jc-ol9mb Жыл бұрын
i have no real coding experience, i have only ever coded a few lines in a class many moons ago, i found this easy to follow, maybe being in my mid/late 40's im not to old to learn to code😉well done
@sirinath
@sirinath 5 күн бұрын
Also ability to run without a VM though in there can be a VM for some cases.
@lennysmileyface
@lennysmileyface Жыл бұрын
I don't know why I would want my games connected to a metaverse.
@amirhm6459
@amirhm6459 Жыл бұрын
For me personally, what I am thinking is, I will get more publications, self-growing software because everyone else can improve my game by editing or expanding public functions, and very flexible income opportunity from the deep transaction system. With note, if this metaverse is going well
@danielsmith5626
@danielsmith5626 Жыл бұрын
43:55 I'm surprised they didn't double down on objects like in smalltalk.
@sirinath
@sirinath 5 күн бұрын
Most of the UI should ideally be moved into /Verse.org/ so this can be used in non gamming applications without having to use the gamming engine which most likely not open sourced.
@sirinath
@sirinath 6 күн бұрын
Structure, module, classes are types so why make a distinction? You can treat them the same and have a unified syntax. This will make the language more powerful as you can use all these in place of generics.
@ymi_yugy3133
@ymi_yugy3133 Жыл бұрын
What about compile times? Looking at Rust or C++ a sophisticated type system seems to be a recipe for slow compile times, which is a bit of a non starter for a scripting language.
@SterileNeutrino
@SterileNeutrino Жыл бұрын
That's the problem with dynamic languages - you can write code that will bite you at runtime extremely quickly. I would say good IDE-language integration, leaving out the "#include" and other horribad ideas made out of desperation rather than foresight, and fast CPUs can definitely put you into the "fast enough" comfort zone. Note that I'm not sure whether the difference between scripting and non-scripting languages is valid nowadays. You can script in F#...
@ymi_yugy3133
@ymi_yugy3133 Жыл бұрын
@@SterileNeutrino the complexity of the type system isn’t necessarily about whether a language is dynamic. C and Go both have very simple type systems and compile quite quickly, despite having static types.
@TheBigWazowski
@TheBigWazowski Жыл бұрын
They did mention potentially making an interpreter. Which potentially you could use while developing and just compile for release
@digitalspecter
@digitalspecter 11 ай бұрын
C++'s slowness doesn't come from "a sophisticated type system" because there isn't one. It's slow because of how it handles headers and templates. Look at Ocaml for example that actually has pretty great type system and it compiles really quickly.
@heavymetalmixer91
@heavymetalmixer91 9 ай бұрын
@@digitalspecter Don't forget that last week all the three major C++ compilers got support for modules, now only CMake remains and the C++ compiling times (and header guard bugs) wil decrease.
@LeiffNathanAMendoza
@LeiffNathanAMendoza Жыл бұрын
great Q&A awesome questions... kudos!
@Kinos141
@Kinos141 Жыл бұрын
Maybe I will like Verse once its documentation is fully written. Right now, it's not my fav language.
@sirinath
@sirinath 5 күн бұрын
Another area to think about is effect system.
@sirinath
@sirinath 5 күн бұрын
This would be great. Is it also consider making at least subset of the the language a systems programming language. Esoterically a better and safe C/C++, Rust replacement.
@sirinath
@sirinath 5 күн бұрын
Make the whole language syntax macro driven over the theoretical primitive so in case uses don't like the given syntax this can be changed locally in a well scoped manner. Also mix and match different syntax again limited in certain scopes.
@firstname9150
@firstname9150 Жыл бұрын
Where is SPJ? Don't even see his name in the credits (unless I missed it)
@thewitheredstriker
@thewitheredstriker Жыл бұрын
It's in the middle
@DLVRYDRYVR
@DLVRYDRYVR Жыл бұрын
Cool 😎
@SterileNeutrino
@SterileNeutrino Жыл бұрын
So is it like Curry ("A Truly Integrated Functional Logic Programming Language") but with a "mainstream" push? It took about 50 years for "functional programmming" to start being considered by "industry", let's see how this fares. Hell, some people consider Prolog to still be "research", which says a lot.
@emmettbrown6418
@emmettbrown6418 Жыл бұрын
Is yet another specialized programming language needed?
@lionelt.9124
@lionelt.9124 Жыл бұрын
C# would've been sufficient.
@jamesc9168
@jamesc9168 Жыл бұрын
The syntax is actually pretty good after using it for a bit... I like it better without the curly braces. I think it needs better linting in VSCode though... and a way to write CLI programs with it (VM? Interpreter?)
@Headshots_fn
@Headshots_fn Жыл бұрын
First, so will UEFN eventually be as advanced as UE5 and 6?
@cojocaruernest5406
@cojocaruernest5406 Жыл бұрын
I am like 7 months in python and its libraries ... man , i really do not need anything else right now 😁
@eigenfield
@eigenfield 10 ай бұрын
As stated, why those Rust decorations when the compiler can deal with them, is the explanation.
@Adiazpolo
@Adiazpolo Жыл бұрын
reminds me of unrealscript
@serrion1394
@serrion1394 Жыл бұрын
Can we have verse in rider? XD
@retrodad9390
@retrodad9390 Жыл бұрын
Thanks for the video, really hoped we could use Rust instead because of the huge ecosystem.
@DigitalSavior
@DigitalSavior Жыл бұрын
Doesn't seem very C# inspired at least in regards to syntax.
@crim3522
@crim3522 9 ай бұрын
Meanwhile Unity: Has no Jump function in Character Controller
@rakshit500
@rakshit500 Жыл бұрын
Will this verse language replace C++ in UE ?
@SnakeEngine
@SnakeEngine Жыл бұрын
No, it will be complementary.
@abhijitleihaorambam3763
@abhijitleihaorambam3763 Жыл бұрын
Wtf is with the syntax.
@lennysmileyface
@lennysmileyface Жыл бұрын
var wtf:String[is this] ?int)
@TheBigWazowski
@TheBigWazowski Жыл бұрын
I feel like most of the syntax is pretty familiar if you’re familiar with statically typed languages with generics like (C++, C#, J***, …)
@bojordan64
@bojordan64 Жыл бұрын
Was only half listening in the background, but its neat that it will print all parts of Sommer Ray. Powerful.
@muneebhero1159
@muneebhero1159 Жыл бұрын
The best in the west
@Michael-gf2dy
@Michael-gf2dy 3 ай бұрын
Coming from C++/BP to Verse feels like going from a Tesla to a Horse Cart. Things that take 10 seconds in BP, such as attaching one Actor to another, take a lot of time and effort in Verse. In its current state, it's not really a good language for programming gameplay. Those who endorse Verse, are usually newer developers without much experience or knowledge of what it takes to code complex and intricate gameplay systems. But yea, no offense to those who jump on it for the UEFN money. In times where you need to fight for every wishlist on Steam, it's great that we have a metaverse platform now with millions of potential players. So Epic is on the right track overall, and I'm somewhat hopeful for the future. :)
@figloalds
@figloalds Жыл бұрын
"The language does also support squiggly braces if you don't like syntactically significant indentation" THANK YOU KINDLY At first I thought it was going to be trash from the examples I glanced, but now I like it
@jensge994
@jensge994 Жыл бұрын
Just out of uni or self tought?
@cyanuranus6456
@cyanuranus6456 Жыл бұрын
What Programming Language is Unreal Engine Written in?
@matthewaustin5548
@matthewaustin5548 Жыл бұрын
C++
@eigenfield
@eigenfield 10 ай бұрын
Traditional anti-modern C++
@xirtus
@xirtus 3 ай бұрын
verse + gpt
@jackstarsky3268
@jackstarsky3268 Жыл бұрын
The syntax just looks ugly to me with things like 'set' and array with squiggly braces, class definitions look confusing. Being inspired by so many languages why not just make it as simple as doing things on other programming languages(the reason why python and javascript became popular). And it runs in a VM like with blueprints, so if you want to write performant game, you still gotta do c++. it would have been better to just do extensions by which devs can write code in languages they are familiar, instead of learning a whole new system that still does not solve c++ problem in UE. As great as everything is world class in UE, I guess not being able to write performant comfortable code will always be an issue
@ChrisCarlos64
@ChrisCarlos64 Жыл бұрын
C++ is a great skill to learn if you wish to and it can go beyond UE4/5 even if you're willing to take it. However I think the new language isn't hot looking, but I'm not bothered too much by the syntax than I am by just knowing a new language has an uphill battle to convince people to use it first, documentation needs to be up to par to help newcomers, and it needs to be performant to some degree than the already available tools out there.
@pto2k
@pto2k Жыл бұрын
What if Epic releases a trained GPT AI model that can write verse inside UEFN to take care all the :=[?](?){?}: stuff ?
@cryzenx.
@cryzenx. Жыл бұрын
Amazing Tim sweeney
@klovvin
@klovvin Жыл бұрын
Why create weird new syntax?? Just use JS style of C# or anything anybody uses
@not_amanullah
@not_amanullah 2 ай бұрын
@varuntnindia
@varuntnindia Жыл бұрын
He becomes the Architect of the Metaverse -> the Metaverse becomes conscious -> The AI creates a persona for itself based on the looks and speech pattern of the original Architect -> It uses Metaverse to trap humans into a sustained state of immersion -> It renames Metaverse as Matrix and gives itself the purpose of debugging anomalies!
@sixiangyang
@sixiangyang 6 ай бұрын
希望verse更加易懂,简洁
@DenninDalke
@DenninDalke Жыл бұрын
I don’t think this will go very far, it started the wrong way already. If there’s a need to design a new language, the syntax needs to be much simpler than the existent alternatives, otherwise, why would you create something that it’s even more complex and awkward than C++ itself, it’s just easier to stick to C++ then, of course C++ isn’t a script, but the syntax could be similar, because that’s the syntax most of the languages already uses, from C#, Java to JavaScript, they all have similarities to C++, I’m not saying they should use an existing language, they could just make it more similar to something people are already familiar. They’re creating a barrier to themselves, look at what Mojo language is doing, they’re not reinventing the wheel, they’re using a well known syntax to leverage the performance they want to achieve, zero-barrier. Verse seems so wrong to me, why you need to create a whole new language, when everything being proposed here could be done completely with just new APIs, not a new language! If the goal was creating a new language so easy that it would sounds like a “Verse” what they came up was a syntax built on top of curse words from an alien civilization. Why would you ask your users to learn something so completely different when there are so many languages out there people are already familiar with, that doesn’t share almost anything in common with Verse, that’s wrong, just wrong…
@mysticfakir2029
@mysticfakir2029 Жыл бұрын
I completely disagree. Firstly, the syntax IS simple. Secondly, We need a flexible, expressive language to take us into the future. Understanding the core fundamentals of programming gives you the ability to pick up new languages fast. If you want to cut corners then you will be left behind. I recognise a lot of great decisions being made by EPIC in designing The Verse here. We need a language that can write books like Harry Potter as well as The Sun Also Rises. Don’t blame the tools.
@TheBigWazowski
@TheBigWazowski Жыл бұрын
I think it’s mostly cause people hate the angle brackets . If they could find a nicer syntax for overriding and effects, I think it would go a long way, which I think is doable since they’re really more like metadata about the function than it’s in/out signature
@eigenfield
@eigenfield 10 ай бұрын
Programmers long enough, doesn't care much of the syntax but instead in the underlying flow or feel of the language. This Verse language is giving us new flows and it is hammering down the repetitive and error prone scaffolding associated with scalability. I don't think that an existing language can be extended to do all this, without getting mangled later on down the road
@user-sr1sj8hk3m
@user-sr1sj8hk3m 8 ай бұрын
There are indeed many programming languages ​​that are more obscure than C++, but no programming language is more complex than C++.
@RigelOrionBeta
@RigelOrionBeta Жыл бұрын
How do you expect people to spend time learning this new language when you have spent so little time documenting your c++ engine code? That goes for all of your documentation, really. UE is a great engine, but the documentation, across the board, is garbage, especially for code. I can't imagine learning and using a new language with bad documentation. Do better in this regard. You are incredibly fortunate that you have an enormous and die hard community that fills these gaps for you. Do you expect them to do this for your new language too? I hope not.
@lennysmileyface
@lennysmileyface Жыл бұрын
The amount of times I look up something in the documentation and find absolutely nothing about how to use it.
@Anonymous_Man
@Anonymous_Man Жыл бұрын
The best UE documentation is the Python API... which makes sense because the python API only works for editor tools so it's the least useful. Just UE things 🤣.
@necuz
@necuz Жыл бұрын
Yup, that's a programming language.
@bashful228
@bashful228 Жыл бұрын
how many ads? never had more ads on a single video than this @unreall! so much for education...
@highdefinist9697
@highdefinist9697 Жыл бұрын
I feel like this is a bit late, considering that C++ now has coroutines, and can do all those "wait until one/some/all finished"-type commands with only moderate effort (basically, you just shift around coroutines between different Unreal tick functions), while being very efficient. Considering there is also Unreal Mass (if you want performance and some composition-expressivity at the cost of conciseness), and of course Blueprints (if you want ease of use and... not much else), I am not sure for which use case this is not just good for, but significantly better than the alternatives - but who knows, I would like to be proven wrong.
@CyberWolf755
@CyberWolf755 Жыл бұрын
This slots in between BP and C++. Where it can get the iteration and simpler syntax like BP, with the easier source control and writing of text format files. BPs will stay in UE, especially for animation and control rig, but Verse will be geared for easier gameplay logic, AI and such.
@highdefinist9697
@highdefinist9697 Жыл бұрын
@@CyberWolf755 Well, if you were to write the scripts they wrote in C++, they would look almost the same - the main difference being way more curly brackets for the lambdas. Some things would even be simpler, for example you would not need as many deferred removals of objects, as C++ automatically destructs objects when they go out of scope. The main thing missing in C++ before C++ 20 were really latent operations, but that is no longer the case. Now, in practice, C++ has a couple of downsides, like tedious debugging of coroutines, slow compile times, potentially confusing memory allocation etc... but Unreal actually comes with a lot of stuff to make these things a lot easier, so... yeah. I just don't see the benefit of Verse. The best I can realistically see coming out of this is Unreal Engine Developers taking some inspiration from this system to remove some more rough edges associated with using C++ in Unreal.
@bashful228
@bashful228 Жыл бұрын
its both scripting, server and application language with seperate implementations for a start. function programming roots was what Simon Peyton jones claimed here: kzfaq.info/get/bejne/bplifali1J2nm2w.html but the release notes don't reflect what he was foreshadowing.
@user-sb8jb2rp5m
@user-sb8jb2rp5m 3 ай бұрын
Might this language be created by influencing of MetaVerse?
@MusikArsenal
@MusikArsenal 5 ай бұрын
Based on my experience with Verse in UEFN, it is an incredibly buggy, limited, restrictive and horrible language so far. Especially having to nest tons of if clauses for nothing else but querying optionals, broken generics without mutables, lack of casting and so on.
@ZZZXYZ
@ZZZXYZ Жыл бұрын
Any video courses yet on Verse?
@duncsi968
@duncsi968 Жыл бұрын
51:40 its why you come here ( ͡° ͜ʖ ͡°)
@bra5081
@bra5081 Жыл бұрын
Hmm sounds promising but the syntax can easily become unreadable...
@noahlederer8587
@noahlederer8587 Жыл бұрын
welcome to functional programming 🥲
@anilaxsus6376
@anilaxsus6376 Жыл бұрын
@@noahlederer8587 i dont think the syntax is unreadable because its functional programming, i think people implement it that way
@LtdJorge
@LtdJorge Жыл бұрын
Another lang to learn...
@davidrichards1302
@davidrichards1302 3 ай бұрын
Verse == Smalltalk MMO
@zombi1034
@zombi1034 Жыл бұрын
Sorry, UE is already complicated enough, I don’t feel like learning a completely new language on top of it😂😂 Maybe in 50 years when I eventually learned most of UE and have free brain capacity again
@folgorem
@folgorem 3 ай бұрын
continue with unreal tournament
@sabiplaypuzzles7332
@sabiplaypuzzles7332 6 ай бұрын
Is Tim Sweeney having a delayed midlife crisis? He's already a legend. But apparently he wants to go down in history as the Tim Berners-Lee of the metaverse.
@thomase5286
@thomase5286 Жыл бұрын
more people will use blueprints no teaching req
@aL3891_
@aL3891_ Жыл бұрын
For new language there is an incredibly high bar for utility and this just doesn't show that and nebulously claiming no other language is "scalable" enough doesn't cut it. You call it "open" but it can only be used in unreal engine, there is no open spec, let alone a compiler/runtime implementation available. To me this just look like a method to lock developers into the epic ecosystem. You could have added support for one of the many open source languages out there, with incredible performance, support and actual open development that people have been asking you to do for years, but instead you're reinventing the wheel. its also kind of funny how you say its timeless while naming it after a concept that is already fading in terms of mindshare
@grimfairytail4804
@grimfairytail4804 Жыл бұрын
Let’s go!!
@bigmikeolan4154
@bigmikeolan4154 Жыл бұрын
ok
@APaleDot
@APaleDot Жыл бұрын
They're calling it Verse because they want it to power the metaverse? Who actually cares about the metaverse? Why would you design a language for games around some fringe concept that most people are not going to care about. It's like building a language around the internet-of-things. People are already designing new languages that are fast and universal, perfectly acceptable for games. You could have used Rust or Odin or Jai, but you chose to just make a new language that has no utility outside your ecosystem under the assumption it will power the "metaverse". If anything, it just relegates the metaverse to be even more fringe than it already is.
@kookiemunster-ni4yg
@kookiemunster-ni4yg Жыл бұрын
Um, a verse is part of poetry. Maybe before writing the whole thing you could have just run a quick dictionary search? Verse (noun): writing arranged with a metrical rhythm, typically having a rhyme. Also this Verse language is apparently designed to be integrated in other applications/engines since it's an opensource project, so there goes the "universal" argument as well.
@APaleDot
@APaleDot Жыл бұрын
@@kookiemunster-ni4yg Yes, I am aware of what a "verse" is, smh. It doesn't negate all the garbage they spewed about the metaverse. It's clearly a play on the word. Not sure what you mean by the "universal" argument. My point is they are trying to insert themselves on the ground floor of this "metaverse" concept so they can have substantial control over the space. But building a language that most people aren't going to use in order to serve that function, negates the whole point of it.
@kookiemunster-ni4yg
@kookiemunster-ni4yg Жыл бұрын
​@@APaleDot I'm not at all a fan of the metaverse so please don't think I like the unnecessary (and frankly embarrassing) insistence on the metaverse support. I totally agree with the idea that the metaverse could be a factor in the naming of "Verse" but I was just highlighting that the word by itself does exist and makes sense for the name of a programming language. As for the "universal" thing it was in response to what you said: "People are already designing new languages that are fast and universal..." You pointed out that they could have used Rust or Odin etc. My point was that they are introducing an open language that can be integrated into engines other than just UE so it's supposedly not just for their own ecosystem. Also having your own language means you can make relatively quick changes based on feedback. Now whether or not that actually becomes a thing we'll have to wait and see. Personally I don't think it's going to be adopted by the industry too much, if at all. It'll very likely just stay in use by people who are into UEFN.
@APaleDot
@APaleDot Жыл бұрын
@@kookiemunster-ni4yg Well Rust and Odin are both open-source. You can use them in whatever project you want. But it seems like they are using the metaverse as a reason to design a whole new language with all these features to ensure that anyone's code can interoperate with anyone else's and it just sounds like so much snake oil. To me it seems like they know they are the 2000 pound gorilla in the room and are trying to mark their territory. Like, "This metaverse is going to change everything so let's make it _our_ language that runs it, rather than any of the new languages I mentioned (which are built for performance), so then we'll control the ecosystem." I don't know if you're familiar with the concept of Chokepoint Capitalism, but it's basically that. I understand having a custom scripting language for an engine. It's a little annoying, but it often makes the language simpler and gives the engine developers more control over features in the language. But they are clearly trying to make this THE new thing that everyone uses even outside their engine, and I am not impressed.
@MiklosHajma
@MiklosHajma Жыл бұрын
@@APaleDot That's the same feeling I got when I watched this video. And that whole for loop syntax nightmare is through a kind of macro? How debuggable is this? Oh my.
@ZZZXYZ
@ZZZXYZ Жыл бұрын
I am stuck in wonder if this is a great pivotal moment.
@prasannak1999
@prasannak1999 Жыл бұрын
So there will be no c++ in near future guys??..
@Cordis2Die
@Cordis2Die Жыл бұрын
Hmm
@Shawak9
@Shawak9 Жыл бұрын
So many colons! I'm getting dizzy just looking at it.
@zhenzhang3451
@zhenzhang3451 Жыл бұрын
when you develop something please ask your customers ..... why put money on this?........
@miatribe
@miatribe Жыл бұрын
Almost feels like learning US's flavor of cpp at this point is pointless?
@L.archeDeNoe
@L.archeDeNoe Жыл бұрын
It looks nice
@SnakeEngine
@SnakeEngine Жыл бұрын
In order to create a timeless language that "can do everything", you will have to establish new math that is not based on set theory. But it is hard to break from cultural indoctrination as almost everything taught in academia is based on set theory. Just by its syntax, it is evident that the proper way of abstraction is not there. You are repeating the same mistakes as every supposed "game changing" language did.
@emmanueloluga9770
@emmanueloluga9770 Жыл бұрын
So what would be the most readily available option to resolving these mistakes? In lieu of the fact that we are not using new maths based on set theory
@ulrich-tonmoy
@ulrich-tonmoy Жыл бұрын
Its ok for game engine to create their own language as keeping uptodate with these scripting language is harder than creating one for yourself but please kindly make the syntax simpler or similar to simple and popular language like Python, C# or JS/TS or make it more simpler not harder like bullshit
@BlandonDu
@BlandonDu Жыл бұрын
Can not see the reason why the syntax looks so weird comparing to other major c likes, other than raising the learning curve, can not see other meaningful points.....
@TimBrownYoutube
@TimBrownYoutube Ай бұрын
The syntax & style choices are very tragic
@sirmalof3255
@sirmalof3255 Жыл бұрын
First!
@Sweenus987
@Sweenus987 Жыл бұрын
Not liking this syntax
@Rehd66
@Rehd66 7 ай бұрын
Join the club
@jeffclark5206
@jeffclark5206 3 ай бұрын
So instead of just using C# you went and invented something that makes no sense? I cant wait to see how hard it is for people to learn this, everything is going to be an unreadable mess.
@PaulNelligan
@PaulNelligan Жыл бұрын
I really find myself wondering as a game developer; how will this change the gaming industry?, are we all just going to be developing tiny parts of a big system now? Will traditional gaming die off? Will world-building become a relic of the past?
@ImBananaElite
@ImBananaElite 6 ай бұрын
In the long term it's probably Unreal that is going to become a relic of the past.
@techpriest4787
@techpriest4787 Жыл бұрын
Yet another programming language... Good luck competing with C# and Rust.
Why Isn't Functional Programming the Norm? - Richard Feldman
46:09
Did you believe it was real? #tiktok
00:25
Анастасия Тарасова
Рет қаралды 54 МЛН
路飞被小孩吓到了#海贼王#路飞
00:41
路飞与唐舞桐
Рет қаралды 68 МЛН
Nutella bro sis family Challenge 😋
00:31
Mr. Clabik
Рет қаралды 13 МЛН
Async Rust Is A Bad Language | Prime Reacts
28:46
ThePrimeTime
Рет қаралды 90 М.
Epic’s Vision for the Metaverse | State of Unreal | GDC 2023
8:33
Maximizing Your Game's Performance in Unreal Engine | Unreal Fest 2022
41:53
Learn the Most IMPORTANT Topic in Verse (UEFN)
6:40
Pi Equals Three
Рет қаралды 6 М.
Ditch your Favorite Programming Paradigm
6:08
Code Persist
Рет қаралды 171 М.
I Made the Same Game in 8 Engines
12:34
Emeral
Рет қаралды 3,9 МЛН
Project Optimization in UEFN | Unreal Fest 2023
37:05
Unreal Engine
Рет қаралды 13 М.
The Unreal Engine Game Framework: From int main() to BeginPlay
27:22
Alex Forsythe
Рет қаралды 199 М.
MEGA BOXES ARE BACK!!!
8:53
Brawl Stars
Рет қаралды 36 МЛН