[HN Gopher] Godot 4 Beta 1 ___________________________________________________________________ Godot 4 Beta 1 Author : f47il Score : 215 points Date : 2022-09-15 18:04 UTC (4 hours ago) (HTM) web link (godotengine.org) (TXT) w3m dump (godotengine.org) | [deleted] | pwdisswordfish0 wrote: | It would be nice if we brought the rule back where it's against | HN guidelines to post submissions for every new version of some | software. Every Godot thread ends up with the same comments | posted, none of them particularly interesting or insightful. And | in this particular case, it's not even an official release; it's | just a beta! | andrewmcwatters wrote: | I disagree. I want to see more actual software on Hacker News. | This is a space for "hackers," is it not? | | While Godot fairly established, there are up-and-comers in | software development, and one of the few ways I will ever know | about these people and their projects are by Show HNs and | product update submissions. | | It may be dozens of releases or years before I even hear about | a project, and this type of comment clearly comes from a place | of not knowing at all what it is like to work so hard on | something nor knowing at all how to promote a product. | | People have an aversion to promoting and advertising, but I | want to see "WAYWO?"! | | I'd far more* rather see that than political nonsense, bullshit | tech opinion articles, and news completely unrelated to the | hacker or business space. | | Edit: Further, with respect to Godot, the authors continually | make more progress on the codebase and there is a lot to talk | about. Not just specifically with Godot and their | prioritization of software features, but how the developers and | contributors are having an impact on the hobbyist and | independent developer scene. | | I have gripes with the space as it currently is, and I know I'm | not the only one. I want to read those opinions here. If you | don't like it, don't upvote it. | | For example, why have they in the past prioritized their own | programming language? Decades old game engine codebases have | rich features like material sounds, and fully integrated | multiplayer features, but almost no open source game engines | feature these things. Instead, they all focus on shallow flashy | features like PBR workflows. I want to talk about those things. | | Another comment here mentions a custom physics engine that is | being introduced. That's interesting! And further discussion is | warranted over whether or not that is something that developers | care about! What about other features like native split screen | support? There's so much in this space to discuss. | [deleted] | derac wrote: | Godot has a large number of integrated multiplayer features | from low level primitives to higher level interfaces. It also | has support for p2p with webrtc. | | https://docs.godotengine.org/en/stable/tutorials/networking/. | .. | runevault wrote: | This isn't merely some milestone. This is a 2-3 year major | rewrite of the engine with a rewritten render pipeline/engine, | a heavily updated scripting engine+language, and a lot more. | People (I admit, myself among them) have been chomping at the | bit to see Beta 1 where the API/etc stability is guaranteed | barring major bugs forcing them to revert things. | TulliusCicero wrote: | This comment makes no sense. If it was some random alpha | release of Godot (there have been more than a dozen) then sure, | but this is the first beta release, which means it's now | somewhat stable. That's a big deal, considering how much | rewriting as been going on. | spookie wrote: | What's wrong with posting milestones of a great open source | project? | terafo wrote: | Godot 4 entering beta is quite an important thing since that is | update that has been in works for a couple of years now and | adds lots of new capabilities to Godot. | jay_kyburz wrote: | I hope to be the one to post LOVE 12 when its out. LOVE is a | far superior game engine in every way! https://love2d.org/ | m0llusk wrote: | I actually agree with the idea of restraint, but this is a | colossal release with literally dozens of major highly | anticipated features and a huge load of bug fixes and | performance optimizations. Given the development time frame and | resources this is a spectacular delivery. Also highly recommend | checking out the code base directly as the team have done a | great job of keeping the sources well organized and clear. | KMnO4 wrote: | Ultimately it's the HN community that collectively votes on | what makes it to the front page. | hitpointdrew wrote: | 100% this, lets leave rules and mods out of it as much as | possible. Let the community decide. | [deleted] | jokoon wrote: | I tried the gdnative thing and implemented a few classes, but | there doesn't seem to be a lot of difference with gdextension. | japhib wrote: | I think the main difference is that GDNative only had access to | Godot's scripting API, so it could only manipulate the same | stuff that GDScript or C# already could. So in 3.x, if you | wanted to manipulate engine internals, you had to "engine | extensions" which had to be compiled with the engine itself. | But with GDExtension I think you're supposed to be able to do | _everything_ that "engine extensions" could do, but without | having to re-compile Godot itself. | lbotos wrote: | Early pandemic I was playing around with making a network shooter | in godot but I got hung up on a good way to make a shared lib for | the client/server "projects". Anyone solve that or have tips? It | seemed like I either needed to make a mono repo and toggle the | build for client=true but I really wanted to make 3 repos, | client, server, and game-core-lib. Would love tips/guides if you | have them! | andrewmcwatters wrote: | In my experience, you're better off having a single codebase | with client/server/shared code and using either the equivalent | of ifdefs or conditional blocks gating execution for these | states. | | Unreal uses a different architecture where the codebase allows | you to define who owns what, but it's ultimately the exact same | thing, and more confusingly done. Further, they have some actor | states which are never actually used. | | Unsurprisingly, Unreal's networking model is unpopular. They | also struggle with an architecture that has been unreliable by | design since the late 90s, but now I'm digressing. | | One codebase, split execution. If you use this traditional | model, you can also avoid shipping server binaries to users if | you so desire. | | For reference, I am the author of Planimeter Game Engine 2D. | intelVISA wrote: | Yeah you can easily compartmentalize client/server with | ifdefs but it's pretty hideous. Do serious shops on MP titles | stick with UnrealNet? I find it performs poorly even with | some of the bandaids like Replication Graph. | andrewmcwatters wrote: | Unreal's default multiplayer architecture is unreliable by | design and Tim Sweeney's whitepaper on its design from | 1999, IIRC, talks about it in plain language. It's | dramatically different than the Quake family of engines | which reliably replicates entity states. The fact that he | does not think of clients as being capable of having | accurate replicable state is jaw dropping and appalling to | read. It's, well, like reading a dissertation of provably | wrong statements. | | Serious shops hack around the fact that Unreal uses a | variable timestep. Because it uses a variable timestep and | uses an RPC design that does not align state changes with | frametimes, you, by definition, cannot make say, a reliable | first-person shooter. Every game that uses Unreal must use | cone projection and proximity hacks on top of the RPC | system to attempt to make a reliable first person shooter, | because you cannot guarantee the state of actor positions | and inputs coming from the same frame of execution. | | Beautiful game engine though. Absolutely unreliable, | though. | | If you ever wondered why FPS games on modern versions of | the Unreal Engine had multiplayer that felt so bad, it's | because the engine isn't designed from the ground up to be | accurately replicated to clients. | | The design issue is systemic, so it may never be fixed, and | Unreal engineers have decided it's too difficult or | laborious to tackle. | lbotos wrote: | Thanks! I think it makes sense, as a non-game programmer it | felt "weird" so appreciate the confirmation from your angle. | keyle wrote: | I'm very excited for Godot 4 beta. | | I shipped games on Godot 3 and the idea of having Vulkan and | better culling is really attractive. | | When I tried the alpha fairly early on the editor was completely | unusable on macOS. | cmdrk wrote: | Fantastic news. I'm really looking forward to Godot 4.0 exposing | more of the ENet wrapper into GDScript etc. I've been writing a | game server in Erlang and very much looking forward to offering | ENet as an option in addition to WebSockets! | japhib wrote: | Whoa, that's interesting -- does ENet have a good integration | with Erlang, or something like that? I'm interested in both | Elixir/Erlang and Godot, but haven't seen an opportunity to use | them together previously. I'd love to hear more details about | this project of yours, and how the Godot 4.0 release impacts | it. | ummonk wrote: | Impressive stuff. Starting to have the table stakes features that | would need for a modern game. | runevault wrote: | I played with Godot back in the early 3.x timeframe (3.1? 3.2?) | and then fell away and spent some time with Unity. But between | some of Unity's missteps and Godot getting dotnet 6 support it is | time to give it another go, plus a bunch of nice changes to | gdscript that might make it something I'm okay with using | (functions are first class citizens now unlike before where you | just passed the name of the function as a string which always | felt incredibly gross). | | Though based on the discord conversation there are still a lot of | bumps even in the beta so I would not expect smooth sailing yet, | but lets see if it is any good. | | For anyone interested, the main documentation on their site is | still pointing at 3.x. If you want the docs for 4.0 start here | | https://docs.godotengine.org/en/latest/index.html | prox wrote: | Yeah callables are a great addition to 4! | malikNF wrote: | from the article, | | >>As much as we love exciting new features, we also want to see | people create games on the full spectrum of devices for everyone | to enjoy. | | This is one of the main attitudes of the Godot team I really | appreciate a lot. It might be easy for people in more developed | nations to upgrade their hardware every few years, but there's | people still playing games running on computers from 2002 and | before. I used to know of a player who used to play (an old | MMORPG) games on a computer he aimed a table fan at to keep it | cool. The whole casing was open, it was kinna funny to look at it | and it had hardware he got as a birthday gift more than 10 years | ago. He played that old MMORPG because newer games wouldn't even | start on that old thing. But most people who played that MMO were | in the same boat, it was one of the very few ones they could run. | | The requirements for some of the games coming out these days is | sometimes so insane a lot of people from around the world are | unable to play them. I always found it funny how we had so much | developer time wasted on supporting ie6 because a small | percentage of people were unable to upgrade their browsers, but | when it comes to gaming, all bets were off and you are now | expected to spend a few grand a year on upgrading your computer | to play newer games. And don't get me started on the bandwidth | costs to play some of the new games. | tmpz22 wrote: | Even seemingly simple games are clocking in at 100GB+ in disk | space. I think in terms of performance many games are setting | the floor at the Nintendo Switch or the Steam Deck, often | ripping out features to get it to run on those platforms (CIV6, | 2k etc). | | This is one reason I really admired Valheim (~1GB). Though even | that game had CPU issues (also its an indie title so...). | throw10920 wrote: | Optimization levels of many newer games are terrible. | | Low-poly, visually simplistic games like Fortnite, Risk of Rain | 2, Valheim, and Deep Rock Galactic barely run on a friend's | computer (that was made only 5 years ago). Visually more | complex games like League of Legends run buttery smooth on the | exact same hardware. | | (ironically, he says that Valorant, made by a non-Epic company, | apparently runs _significantly_ better than Fortnite, made by | Epic - even though both are using the Epic-made Unreal Engine) | Thaxll wrote: | [deleted] | KaoruAoiShiho wrote: | I think Fortnite is UE5 while Valo is UE4. | intelVISA wrote: | Valorant has a solid engineering team and invest heavily in | optimization, can't speak for the others. I could be | misremembering but there was an interesting bug that was | featured in an Unreal profiling case study where a Fortnite | font was eating ~2ms (or similarly obscene) CPU budget. | TulliusCicero wrote: | DRG should run fine on a gaming PC from five years ago I | think (a mid-range GPU from then would be like a GTX 1060). | | Actually, I think basically all of these games should run | fine on that sort of hardware, as long as the quality isn't | turned up high. Did they just build a really cheap machine or | something? | throw10920 wrote: | Core i3-5015U with Intel integrated 5500. | | Yes, that's a low-end processor. No, it doesn't matter, | because the fact is that there are several other games that | look better and run _much_ better on the same hardware. | TulliusCicero wrote: | C'mon man, of course an iGPU is gonna do poorly with PC | games. | | It absolutely does matter that integrated GPU's have | usually been terrible at running games, and that one is | no exception. | throw10920 wrote: | > It absolutely does matter | | You literally did not read my comment. | | I just explained why it doesn't matter - because there | are _other_ games that run faster _and_ look better on | the exact same hardware - and you completely ignored it | without providing a single counterargument. | | That is _existence proof_ that that hardware, weak as it | is, is _more_ than capable of providing that performance | for that graphics quality. | sph wrote: | > Fortnite, Risk of Rain 2, Valheim, and Deep Rock Galactic | | Those games are low poly but NOT visually simplistic. Memory | tends to play tricks and we remember older games looking | better than they actually did, so we imagine lower polygons = | 2005 tech game. Those games you've mention run on advanced | and heavyweight fragment and vertex shaders to create a | specific look (cartoony graphics in Fortnite, there's a | million effects on screen a dozen levels in a Risk of Rain | game, etc.) | | They might have the same poly count of Old School Runescape | (but not really, as the models are actually quite complex) | yet everything else is 20 years ahead of that game tech and | complexity wise. | | Also not sure what your friend's PC is like, because a 5 year | old PC can play all of those games with ease, though perhaps | not at max settings. A 1080 ti from 2017 can run RoR2 at ~190 | fps at 1440p. https://youtu.be/TdfE3n8YLYo | TulliusCicero wrote: | They responded to my comment: it's an integrated GPU, and | not one of the decent ones. | | The CPU is an ultrabook-class i3 too, of course games play | terribly. This is a surprise to exactly zero people. | throw10920 wrote: | This logic doesn't hold up. | | > Memory tends to play tricks and we remember older games | looking better than they actually did | | We compared what League of Legends, Valorant, and | Inscryption look like _now_ with what those other games | look like _now_. There 's no rose-tinted glasses involved - | this is an apples-to-apples comparison. | | > Those games you've mention run on advanced and | heavyweight fragment and vertex shaders to create a | specific look | | If that same look is being created in a far more performant | manner by other games, then that means that the game is | poorly optimized. | | > cartoony graphics in Fortnite | | Same effect class as Valorant and League, with lower visual | fidelity, _and_ worse performance. | | > there's a million effects on screen a dozen levels in a | Risk of Rain game | | Risk of Rain is incredibly laggy in the _menu_ , with | _zero_ mobs on screen and a single small scene as the | background. | | > yet everything else is 20 years ahead of that game tech | and complexity wise | | Again, see Valorant, LoL, and Inscryption. | | > Also not sure what your friend's PC is like, because a 5 | year old PC can play all of those games with ease, though | perhaps not at max settings. | | Core i3-5015U with Intel integrated 5500[1] - so, 7 years | old. Yet, it can still run League and Valorant at >60 fps | with default settings, and 20-30fps Inscryption and Dota 2 | with reduced settings - meanwhile, Fortnite, DRG, RoR2, and | Valheim are _all_ slideshows with _all settings turned all | the way down_. | | The claim that "these new games are just so much more | involved than older games" simply doesn't hold up against | the reality that there are _recently-released games that | look better and perform better simultaneously_ than these | examples. | | My lived experience, my understanding of computer graphics, | and knowledge of things like the GTA Online incident[2] | _strongly_ indicates that this line of reasoning is | incorrect. | | [1] https://ark.intel.com/content/www/us/en/ark/products/84 | 698/i... | | [2] https://nee.lv/2021/02/28/How-I-cut-GTA-Online-loading- | times... | dgunay wrote: | Not gonna excuse Fortnite since I've personally had terrible | experiences with it on top-end hardware, but from what little | of it I was able to play it has much larger environments & | draw distances to contend with. The tight lines of sight | Valorant & other tactical shooters have can be an advantage | when it comes to rendering optimizations. | Reubend wrote: | I think writing their own physics engine might be wrong way to go | here. I understand that Bullet leaves a lot to be desired, but my | instinct is that the complexity from their own engine will leave | a lot of edge case bugs that need to be ironed out over time, and | that games using their own physics engine will suffer from a lot | more quirks in the meantime. | dljsjr wrote: | A few years ago, as someone who has worked on physics engines | for robotics simulations, I would have agreed with you. But now | a lot of people are doing greenfield physics engines for games | and having it work out pretty well. There's a ton of | established academic and conference literature in the area now | and it's not nearly as scary as it used to be. | | For example, Horizon: Forbidden West uses a custom physics | engine that started out as one of the core dev's fun side | projects: https://github.com/jrouwe/JoltPhysics | | Physics engines (at least game quality physics engines) are | starting to drift in to "solved problem" territory and there's | enough literature now that you can get something reasonable | going yourself after doing some weekend reading. | | Edit to add: Godot has had its own engine available for a long | time, so it's not a totally new effort. It's a heavy refactor | and a large improvement but the bones for this were laid years | ago so some of that technical debt you're describing has | already been paid down. | Dracophoenix wrote: | How complicated were the physics engines you worked on? How | exactly did they differ from turnkey solutions like Bullet, | Havok, etc.? | dljsjr wrote: | Lots of simulators for robotics use ODE or Bullet, | actually, and they're quite good for lots of things that | you might want to simulate. But there are some people who | would argue that they aren't the best for it, especially | for simulating legged locomotion, because of the way | physical constraints such as joint limits are enforced (via | Lagrange multipliers). A popular alternative formulation is | Featherstone's Method[1], which is becoming more widely | available and goes by other names sometimes; for example, | Rust's `rapier` physics engine refers to this type of | dynamics model as "reduced coordinates" (they don't yet | support it, but it's on their roadmap). Featherstone's | method is becoming more popular but it's still not widely | used in a lot of physics engines because most physics | engines are targeting games and Featherstone's doesn't | always have the best performance characteristics, instead | favoring physical fidelity. Bullet can run using | Featherstone's Method, by the way. One of the few FOSS | engines I know of that supports it out of the box. | | Additionally, there are people in robotics who like to say | that simulators are like lightsabers, you haven't become a | true Jedi until you've built your own, so there's a _lot_ | of home grown physics simulators in robotics. | | [1]: | https://en.wikipedia.org/wiki/Featherstone%27s_algorithm | Buttons840 wrote: | I've briefly looked into physics engines and they seem to | require a lot of trade-offs. If a rock meets a hard place, | what should happen? Gamers have seen the hilarity that can | ensue. Designing your own engine allows you to make those | trade-offs with the end goal in mind. You can do things like | set global force or speed limits, because you know your | game's design and the appropriate limits. | worble wrote: | I reckon they're thinking long term here though, if they don't | change it now then likely the only time they could change it is | when a theoretical Godot 5.0 comes out in who knows how many | years. | | It sounds like it's got bugs that need fixing either way, so at | least for their own engine they're not reliant on anyone else | to get those fixes out (or have to use hacky workarounds as | would most likely be the actual fix). | runevault wrote: | From everything I heard the existing physics engine was | already buggy/hard to work with, which is harder to fix | because either they had to fork it and then maintain compat | themselves or ensure all their changes got accepted upstream. | At some point it can easily make sense to just go your own | way, and I can't fault them for deciding to do so. | Quot wrote: | One of the benefits of 4.0 is also the modularity of it with | GDExtension. The major parts of the engine (including the | physics) can be swapped with replacements without the need to | recompile the entire engine. I'd usually say that is a long | shot for community run projects, but even Bevy engine has | community made extensions for separate physics engines. | | https://bevyengine.org/assets/#physics | | Forgetting about extensions, though, I see your point and | almost agree, but Godot has shown that they will put in the | work to improve their project, even if that means removing | features like they did with visual scripting. Their physics | engine will definitely be rough at first, but based on their | past work, I believe they are willing and able to maintain it. | sylware wrote: | For the elf/linux target, I hope the build containers have a | really, really old glibc (dunno which version it is) and the | "-static-libgcc" and "-static-libstdc++" are defaults. | adamrezich wrote: | haven't used Godot in a couple years but it's good to see the | progress on their tile system for 2D games! it was terrible last | I checked, yet pretty crucial for making many kinds of simple 2D | games | cridenour wrote: | This is great. | | I've been building my game on the Godot 4 alphas and the | improvements in networking and rendering have more than made up | for any instability or keeping up with changes. That said, more | stability will be welcome and a focus on bug fixing instead of | feature proposals will be key to a strong 4.0 release. | dopu wrote: | HN hug of death? godotengine.org is offline for me at the moment. | Regardless, really looking forward to trying it out! Here it is | on the wayback machine: | | https://web.archive.org/web/20220915181526/https://godotengi... | runevault wrote: | I think this goes beyond just HN. Their discord was also | buzzing since last night when the tag got updated on the main | branch. | japhib wrote: | In the discord they said it's pretty typical for the website to | go down a bit when they @everyone like they did for this post | cridenour wrote: | Their web hosting has been pretty awful the last month or two. | Multiple days of downtime for critical pieces. I know they get | it free from tuxfamily but this certainly feels like they're | getting what they pay for. | moffkalast wrote: | What, the whole five of us? Impossible. | [deleted] | abledon wrote: | Logo change in Godot 5 ? | intelVISA wrote: | Been meaning to pick up Godot one of these days, how does it fare | on the wasm/webGPU front? ___________________________________________________________________ (page generated 2022-09-15 23:00 UTC)