Godot Engine Web Editor
editor.godotengine.org
editor.godotengine.org
Interesting to see this progress, and unlike the myriad of other web based software looks like they've done a pretty good job of making it feel native like in the browser. I don't feel too threatened by Godot's progress here, fortunately our engine occupies a fairly specific niche that doesn't overlap too much with Godot's market and would allow them to co-exist.
It does look a little heavy (12.5mb transferred/77mb resources to load cold) and is slower to load than I would expect. Doesn't appear like HTTP2 is supported which would probably speed things up nicely.
For anyone wondering what's the point of this, browser based software is incredibly beneficial to educational institutes especially in the Covid environment - we for example are getting educational institutes who typically use Unity and other software moving to us because it's far easier to get remote classrooms set up with their wide variety of devices students have at home.
I do think the future of software is in the browser. There are just so many advantages. Not to everyone's liking of course but I do feel it's inevitable. We went web only as it has the huge advantage of one code base to maintain, I would assume a large risk on Godot's part here is having to maintain multiple code bases.
If their customers are also asking them for hosted Godot, maybe they should also offer that as another product offering, at a competitive price, and then use that as a sales funnel into their other products? That is usually the way it goes with these open source bits.
Anyway, I'm just saying that free software can be a competitor and that you can lose to it even if you can, technically, embed their source code. Even if software was perfectly composable that would be true, but it's even more possible given that you can't always just plug in any new features godot releases. They may even be implemented in different languages, for all we know.
Different languages actually isn't as bad an issue with this type of thing, as the idea with running it in the browser is that it all compiles down to Javascript or WASM.
Just to be clear, I'm not saying that they are incorrect in assessing that godot is not a threat. They seem to consider they have other features beyond godot's scope which is what differentiate them in the market. What I am saying is that free software can certainly be a threat to a business. In fact, it can be even a larger threat than a single competitor, because it can turn your product into a commodity.
To put it another way, if the actual problem to the business is that they are falling behind on feature velocity and don't have the head count to keep up, re-using some features from open source code could actually help there.
You may lose some costumers that only cared about it being web based and who are willing to learn another engine. Not only that, a single guy decides to host the game engine in the cloud and charge really cheap for it. Now, if you want to compete in price, you probably have to fire all your game engine devs and significantly downsize. Either that or have vastly superiour features to justify your higher price in the eyes of the costumers. All that threats your company's existence.
I'm not saying it's impossible to compete, but the more overlap between your product and a free software product, the bigger the threat will be.
The part that makes game engines both interesting and difficult is they made a series of discrete trade-offs to support the use cases of the types of games they ship. This is true from tooling workflows to rendering stacks to core engine layout like if they do heavy arena allocation or more open world dynamic entities.
We extended the engine we licensed with some fairly reasonable features and even doing the uplevel was a brutal, 4-6 month process to reconsile those changes.
I don't know enough about the implementation of C# and Swift to say for sure, but it does seem like the open sourcing of that would making it easier to do things like port some standard library component or algorithm over from one to the other, or perhaps do something like building a Swift implementation for the CLR.
There's a reason that they say performance is the most leaky abstraction.
I get what you are saying and it definitely applies to the core architecture of the product, but if you have a large number of customers each with their own needs then I would be surprised if there were zero parts of the product that were modular or interchangeable.
You'd be surprised. Game engines are extremely monolithic.
There are some modular components and techniques (eg pathfinding, rendering, physics engine), but most of the effort that goes into an engine like Godot is integrating these components to their specific architecture. While the component is transferable (eg you can always use the Bullet engine in your own project), the integration work isn't.
It's interesting, but depressing that we keep letting these greedy humans lock us into things. We keep wasting time fighting them and each other.
Edit: Typo and Grammar
Being able to play game demos in the browser before installing the full version if you like it would be nice.
But for developers themselves I think it would be really cool to see the output of the tutorial you’re following before you start. It would be pretty motivating to see what’s coming and I think it could help get across some of the concepts which can be difficult in game dev.
Unity's WebGL export is a good start too but the bundle size is huge (they did release a leaner, pared down version but it's still got a ways to go in terms of load speed).
(Wasn't sure what "prodigal" means in this context. Any chance you means "canonical"?)
[1] http://blog.archive.org/2020/11/22/flash-back-further-though...
By prodigal, I mean that this is something FLOSS enthusiasts have been waiting for literally decades.
While I think it's cool shouldn't they spend their resources on the desktop engine?
I like the idea of a web-based Godot - reduces barrier to entry, and makes for lots of interesting possibilities - collaborative game jams?
Browser-based games are a perfectly legitimate platform, and tend to have fewer clicks than desktop package distributions. Namely, one click.
Hell, there's nothing stopping this from replacing HTML5/flash games.
1) Allows godot in schools etc where installing binaries can be problematic.
2) Provides more focus on improving the html5 target.
From what I understand the editor is a "game". Both the desktop editor and web editor are created in the engine, so improving the engine will improve the web editor too. The web editor is the html5 export of the editor "game"
To put the actual game editor on the web makes even less sense. It's a cool technical feat, and the author may have thought of it as 'free', as some commenters have alluded to, given that there is already a web export, but anyone with a bit of experience knows that nothing is free, and certainly not a project like this. At the very least it's a months long effort (the author himself stated as much in the blog post), even before factoring in continued maintenance.
I love it as a technical feat, but I'll agree it doesn't make sense from a 'business' perspective (for lack of a better term, given it's an open source project).
Why not?
The usual answer is "performance", but that's a non-answer. Not all games need cutting edge levels of performance, web performance for accelerated graphics is actually pretty good as once a shader is on the GPU there's very little practical difference between web and native, and most importantly nothing pushes performance to improve quite like developers trying to maximize performance. If we don't try to make web games (or any other performant apps) then there's no reason for browser vendors to work on improving the situations where things are slow.
If Godot's devs think web is an interesting and fun thing to target then they absolutely should be making tools like this.
Try to play https://slither.io
The performance is horrible even in simple games.
Runs at a couple hundred FPS if left uncapped, and has very good netcode.
iOS and everything on it using Webkit though, I'm sure there're some issues.
That's not neccesarily a bad thing but you can't complain if you're trying to run cutting-edge apps on a conservative browser.
This comment goes beyond browsers - it's such a bummer when I try to play a game I like or one that someone recommended and then "oops, we don't support your device/browser...".
At least on Desktop - it's not that much of a burden to have a second browser installed for certain apps, is it?
I use Firefox for daily browsing but I've got Chrome and Edge for those times I want to run something that Firefox doesn't support (which is fairly rare). I imagine it's much less rare with Safari.
Like you say, you like Firefox but say if you want to video chat in Microsoft Teams, they'd tell you "video is not available in your browser".
Some games are only available on Android, others only on iOS. Or you are on a Mac but you can't play because someone opted for the easy way out saying "Macs are not for games" even though I am certain what I want would run just fine, if it was available.
These as examples of gatekeeping and the fix is definitely in the hands of developers to make their stuff portable and working everywhere.
Apple is famously slow or simply refusing to implement features that Chrome, Edge and Firefox have adopted. Many of these features are critical for certain applications. Gaming being one of them.
How is this a developer's fault?
1. I need feature x - either to implement an aspect of my app at all - or at least to do it in a way that doesn't require a large amount of extra work and cost. 2. Feature x exists in every major browser except Safari 3. I choose to exclude Safari.
My only options as a developer are to spend a ton more time or cash (assuming it's even possible at all) or to build something different.
And this might be a solo project or a project with no realistic hope of paying for my time.
I think it's unfortunate that you can't have rock solid cross browser gaming yet (and Safari is not the only offender, but it's by far the largest). But that's not a reason to just shut it all down for the next decade until that's possible.
It noticed just a few days ago that is wasn’t working on my iPhone because mobileSafari decided to stop reporting itself as safari and only as “mobile safari”.
That points to your code doing browser agent sniffing. There are much better approaches to feature detection these days, precisely because of the issue you've encountered. I can recommend https://developer.mozilla.org/en-US/docs/Learn/Tools_and_tes... as a good place to start.
It is hard to interoperate with the page, and it will keep changing on that point for a while, but that's not something that games do. For games it's all drawing on some element, what is very well defined already.
The rise of web games, way back when, was to blow off some steam at work. With the rise of monitoring software, that niche has been filled with mobile games that can waste time at work, on the bus, on the toilet, at the dinner table and while watching the television.
Flash games are where I started making graphics and learning programming, so this is a wonderful introduction for younger people to programming (Godot doesn't come with a suite of drawing programs like the stolen version of the Adobe Suite that I "liberated" as a script kiddy a thousand years ago). They can readily host them for cheap or free and show them to their friends, but as for business viability, you're very right.
Apologies for the length of this.... it kind of got away from me =)
Now everyone has phones.
This unlocks so much, in terms of being able to build games via the web browser without students needing to download software is pretty amazing.
Although the games are also available through the appstores or for direct download, those channels are not as accessible for many people, especially those on the other side of the digital-divide. No smartphone, tablet, or home PC? Then turn to the web instead: our evidence-based and award-winning games are used by educators in classrooms, by parents at home, and by young people who access them via public libraries.
The web is the best outlet for these games because it is by far the most accessible of platforms. These games are also much safer from a privacy perspective via the web than installing an always-on & always-tracking game from Google Play.
And though these are not AAA games and they don't include microtransactions or advertisements that merely means nobody is getting rich from them. But that isn't our goal. Our goal is to drive positive change in the most efficient way possible.
Genuinely free video games via the web is how to safely reach and empower hundreds of thousands of young people around the world about issues important to them.
All due to how browsers block access to drivers or specific cards.
Could you share some more info?
Also excellent for ease of adoption with beginners due to zero install overhead.
Well the UI started, but it failed to load any sample.