18 ms·
OSS Game Engines are increasing their stars on GitHub due to Unity's missteps
- throwuxiytayq 3y agoI'm actually kinda excited to start learning some of these. How nice of Unity to force me out of my comfort zone!
- TulliusCicero 3y agoGodot is quite easy to learn as far as general purpose game engines go. Lots of material around too, I know a lot of people like GDQuest and HeartBeast. Their subreddit and discord are also popular.
- thelastparadise 3y agoGodot seems to be the clear winner in all this.
- benabbottnz 3y agoI’ve been enjoying all the new discussions, comparisons, and content surrounding open source game engines. Even if it’s clickbait or shallow content, it still raises the awareness of these tools.
- TulliusCicero 3y agoSad for Unity devs' predicament here, but happy to see Godot gaining increased interest. It's still not as mature as Unity, of course, but they're making steady progress, it definitely seems to be headed in the right direction.
- andybak 3y agoThis rather dampened by enthusiasm for Godot: https://sampruden.github.io/posts/godot-is-not-the-new-unity/ https://sampruden.github.io/posts/godot-is-not-the-new-unity... It's carrying a lot of performance baggage and there seems to be no sense of urgency in fixing it.
- TulliusCicero 3y agoYeah, it's true that raw performance doesn't seem like a major priority for the Godot community. If it was, GDScript probably wouldn't be the default language. There also seems to be a lot of defensiveness around GDScript's weaknesses. Personally, I found that signals were very slow for communicating node to node, was dropping information because it could take longer than a frame.
- JuanPosadas 3y agoGDScript is much faster in Godot 4.
- Winsaucerer 3y agoIt's something that is known and a work in progress: https://www.reddit.com/r/godot/comments/16lti15/comment/k16982q https://www.reddit.com/r/godot/comments/16lti15/comment/k169...
- andybak 3y agoThis subthread is new since I read through and it is much more encouraging. Shame it got lost among all the people claiming there wasn't a problem.
- badsectoracula 3y agoFWIW from the comments i've seen on Reddit it seems that some of the reasons he brought up for wanting to do so many raycasts are already covered by Godot's functionality (in C++). Also IMO unless you want to share C++ plugins with others (via GDExtension), if you are making a game with it you'd want to modify the engine itself for any non-trivial functionality anyway. Again, the situation he describes sounds like it would be much better done by writing the reusable controller itself as a node written in C++ inside the engine itself (not via GDExtension) that uses the fast physics API directly. Basically what he describes is an issue only in specific situations and not something that would really stop someone from making their game.
- peremptor 3y agoIm not well versed in game programming, however I have some knowledge on how to properly structure your software architecture in other domains. In regards to third party dependencies I agree with what Uncle Bob says, which is to keep them as far away from your stuff as possible. Only introduce a hard dependency if you have to. In my current project I have been doing that and I enjoy the flexibility that this gives me. For example I can exchange the DI framework for the whole project in a matter of days if need be. Which leads me to my question with the Unity debacle. Is it not possible in game development to also structure your architecture that way ? Is the extra work not justified if you have deadlines ? Or is there just a lack of common interfaces that can serve as proper abstraction ? I am really interested if someone with more insight on game development could shed some light on that. Thanks.
- PlunderBunny 3y agoMy very limited understanding (speaking only as a professional software developer but not a game developer) is that there’s very rarely an abstraction that’s common across multiple libraries in the same domain, or that, in order to make an abstraction that could be adapted to different libraries, you would have to give up a significant amount of performance.
- Dudester230602 3y agoYes, it is possible, but you need to use a game framework not a game engine. Example of a game framework: http://www.monogame.net http://www.monogame.net. Still, if you don't map everything all the time, common value types will propagate through the codebase.
- orthoxerox 3y agoEven if you code against MonoGame/XNA or a similar framework, migrating to another framework is not a trivial task unless you have written an abstraction layer beforehand, cf. Player.cs from Celeste.
- zadokshi 3y agoCan you abstract away your website so it can run on node.js or angular? Game development is typically very tightly linked to a mess of proprietary tools and products and platforms. It is the game engine itself that abstracts away for example) the payment/subscription api. If you were to write your own game abstraction layer we would call what you did a game engine. Secondly, performance (frames per second) is key in game software. Imagine if you wrote a lightweight abstraction layer for a physics/gravity engine. You’re effectively writing code to slow down your game FPS. Thirdly, game development is often done by young beginner programmers, who often don’t even know programming yet. They get into game programming by following online YouTube tutorials in a specific game engine. If you know the importance of abstraction your already too high paid to work in a game development position :)
- lucb1e 3y agohttps://nitter.net/OSSInsight/status/1703087927763542305 https://nitter.net/OSSInsight/status/1703087927763542305 Which just links onwards to https://ossinsight.io/collections/game-engine https://ossinsight.io/collections/game-engine with a screenshot: https://nitter.net/pic/orig/media%2FF6KVDQPb0AAi4Lj.jpg https://nitter.net/pic/orig/media%2FF6KVDQPb0AAi4Lj.jpg If you click through to pull requests or issues created, the trend is between modest and potentially not statistically significant (there's also a lot of red digits). The stars graph from godot is vertical since last month though, especially given that they already had the most stars by far (67k in August, compared to 43k for the runner-up pixijs) and an account has only one star to give so that's a lot of new interest.
- DonHopkins 3y agoI shared that screen snapshot on John Riccitiello's facebook page, and thanked him: "Thank you for your substantial contribution to open source gaming engines, at the expense of your own company!"
- Snafuh 3y agoGodot actually has a bit of an issue with too many PRs. Lots of them are just small changes, usability or documentation changes, but they still have to be reviewed. They need steady funding to have a team of capable full time devs. Their fund seems a step into this direction.
- dzonga 3y agoquick qn for game dev's ? why was C# adopted for game dev ? compared to java given that they're both similar langauges which use a vm. I do understand that C# has a better native interop story. than java. and probably the only notable jvm based game was minecraft
- Kipters 3y agoI'm not a gamedev, but my hypotesis is that one of the reasons is that Mono license at the time was way friendlier than risking having Oracle on your neck. Modern C# also has more features that help avoid allocations, which in turns reduce GC pauses, which are the biggest enemy of a game
- deleted 3y ago[deleted]
- Maken 3y agoI think its adoption was mostly influenced by XNA. A lot of small (and big) games used the XNA libraries, and by extension the .Net framework and C#.
- qwytw 3y agoIIRC they were using Python initially. Turned out it was way too slow (also it was the mid 2000s). They hired the guy who created Boo (a python like programming language) and switched to Mono (I'm not sure why they picked it instead of JVM I guess it was possible related to licensing but because they just had people who were experienced with it). Also C# wasn't even their primarily programming language until 2012-2014. It was UnityScript (JS like syntax running on Mono). The idea was that C#/static typing was too scary/complex for most of their uses.
- orthoxerox 3y agoUnity and XNA, but mostly Unity. Unity used Xamarin to target iOS and Android, so this meant using C#. As Unity's popularity grew, so did the use of C# in gamedev. XNA was a very well-designed game framework (not engine) that allowed many people to get into indie gamedev without learning C/C++ and SDL or OpenGL. Java had nothing comparable, libGDX was released only in 2014. If you followed one of the indie stars and tried to emulate them, you were quite likely to learn XNA or one of its reimplementations.
- gmerc 3y agoMissteps implies accidents. This was not accidental, it was an attempt at extracting rent - retroactively.
- courseofaction 3y agoPurely conjecture, but somehow I suspect that private equity has crunched the numbers and decided it's time to milk this one dry.
- xbmcuser 3y agoThey are making a billion dollars loss a year. So with no vc cash available they need to get profitable if they want to survive. You can argue this is wrong way to go about it but they do need to get profitable.
- qwytw 3y agoMassive over hiring and random acquisitions are there main reasons why are they here. If they hadn't increased their headcount by 5k and continued focusing on their core products the company would already be profitable (even if revenue would be lower). At this point it's too late to significantly cut costs, so yeah seems like they pushed themselves into a corner. The sad part is that it was already perfectly obvious where were they heading after they IPO'ed.
- usrusr 3y agoTrying to run a publicly traded company like a VC bonfire - what could possibly go wrong.
- plagiarist 3y agoWhy would they even IPO if they are bleeding money as fast as they were? Was it one of those SPAC pyramid scams just to get fresh money from people?
- pjmlp 3y agoStars are not feature parity.
- zerr 3y agoFreedom-wise, Unity is a Delphi/PowerBuilder/Clarion/ColdFusion of game development. The "free as in beer" licensing was the main reason it stayed relevant until now.
- drones 3y agoHad an audible chuckle the other day when I saw humble bundle's current massive Godot sale. Hopefully with this increased attention we can draw new programmers to gamedev with an approachable language like python.
- qwytw 3y ago> approachable language like python Python doesn't really scale though and it's fine only for simple games/scripting (on top of a game mainly built with another language). If you're serious about game development you'll have to switch to C# or C++ eventually. Also I don't see how C# is not "approachable" (C++ is another manner). If you're serious about programming you'll have to figure out static typing at some point anyway (and types is something you have to understand anyway when working in Python even if you can avoid that for some time).
- thelastparadise 3y agoThis is often said, but is it really true? Im thinking of libraries like torch, tensor flow, or pandas. I'm not sure rewriting torch client code from python to c++ would typically be that much faster as most of the work is already being done on the GPU and is highly optimized (much like a game).
- jillesvangurp 3y agoIt's true right now though there are a lot of people working on different ways to get python to have near native performance. I'd say it could be a fixable problem. I was listening Lex Friedman's podcast featuring Chris Lattner a few months ago. He's is working on Mojo, which is basically a fast superset of python that can be fast (if you opt in to a few things) and worst case just falls back to being as fast as regular python. The intention is to give people enough means that they can optimize such code to be actually fast or just run it as is. I'm not much of a python developer myself, even though I do have to deal with it occasionally. I liked the point that he made that, for whatever reason, there are just a lot of people using python and getting access to that community of people is a good way to get traction for your tool or technology. He was talking about machine learning specifically. A lot of the experts in that field are using python. Of course all the difficult bits and bobs are outsourced to native libraries. His vision is that a lot of that stuff should be written in mojo/python and that there are no good reasons why that should be any slower. Probably removing the gil will help (everything blocking is not cool). And the language could use some better primitives for dealing with things like co-routines. They are kind of nice to have in asynchronous code bases like games or UIs. But those are things that could be fixable and might benefit the rest of the ecosystem.
- chess_horse_L 3y agoYeah, and everyone will be back to Unity in a month. People need to make a living, y'know. They need to make games/assets NOW, not in 3 years once those engines are ready. For example, I see my Twitter timeline full of people slowly realizing that Godot is not Unity 2, and complaining about the UX, GDScript, C# and performance problems. So, they either have to live on that hill and contribute to Godot (And sometimes these problems are by design! Godot is made to be slow so it can have more usability, just check out the creator's Twitter), or, y'know, they can (And will) just go back to Unity and keep making stuff, even if they at any moment they'll put a knife on your throat.
- gmerc 3y agoUnreal is a viable option for most people. Epic is the devil we know.
- chess_horse_L 3y agoIt's not. Most of Unity games are mobile games, or indie games that don't require the GPU usage bloat Unreal has in order to achieve better graphics. If Unreal was ever an option, developers would've been using it instead of Unity in the first place.
- catapart 3y agoIn case anyone cares, this commenter is absolutely incorrect; Unreal does support mobile development, and it obviously uses a more lithe package than its full GPU stack. Using only the UI objects, 2D is pretty simple and I haven't had any major package size issues. Using a 3D context to render 2D as planes in the scene, I can still get a package down around 70MB with optimizations left on the table. It's harder to work with 3D-as-2D, but that's why I use the UI system. It's robust. I certainly like Unreal, myself, but I can't say it's an easy move from Unity to Unreal. That aside, one of the very first options you see is whether to scope your game for mobile or for "desktop", so I'm not sure why this commenter thinks that Unreal would not be an option for mobile development. It sucked before UE5, so maybe that's the hang up, but so did a lot of things.
- softwaredoug 3y agoIf the OSS game engines want to monetize their work, won’t there be a pressure to switch to a pseudo-open source license, then push for some kind of licensing structure ala Mongo, Terraform, and Elastic? I just wonder if they become popular, either the companies that use them organize into a foundation to maintain the code. Or the grunt work has to be paid for somehow.
- justinclift 3y agoBlender seems like a good example of gaining traction + keeping honest. Hopefully Godot follows in their footsteps more than those other ones.
- Macha 3y agoIt's not clear that they are out to monetise, or they may not have made a FOSS engine to start with. Some (Godot, for example) have deliberately set up their ownership and governance structures to make such a source-available/open core pivot if not impossible, then very difficult.
- d--b 3y agoWhy is heaps.io never in those lists? It’s not event in the wikipedia page.
- Nezteb 3y agoI love Heaps! In general, game engines without builtin GUI clients aren't as "popular" on these lists. I do recall Heaps initially not having a huge focus on beginner-friendly documentation (and lots of warnings about stability in general). I'm not sure if this is still the case. Other than Nicolas, there aren't many other devs working on it that I've seen.
- mightyham 3y agoI'm still not fully convinced that Unity's new pricing is unfair. The retroactive aspect of it is certainly troubling and I've seen some fair points about how policy implementation will likely be messy. Moving onto the pricing itself, I've only seen it brought up on a couple occasions that the actual stores these games are being sold on are taking a way larger cut in most cases then what Unity is asking for (For reference, Steam, Apple, and Playstation: 30%, Google: 15%, Epic and XBox: 12% -- please correct me if I'm wrong about any of these). The flat pricing model will disproportionately effect cheap mobile games, which I suspect was on purpose. Even then, I hardly see this as a problem. Just scrolling through the top games on any mobile store, most of it looks like low quality crap produced by large companies that figured out a successful formula for virile games. The only empathetic party I can figure in this mess is indie mobile game developers, which seems like a pretty small category of Unity users, certainly not commensurate to all the huff people are making.
- lesuorac 3y agoSo? This isn't the first time unity made drastic changes without warning. Sure, people are upset above the new pricing but they're really also very upset about the rug pull. Sure many people love free stuff. However, 1) Unity isn't free 2) People understand that businesses need to make money. If Unity instead explained that they're losing money hand over first and need to change things up and here's a bunch of ideas I bet Unity could've landed a run-time fee without all this complaining.
- stuckinhell 3y agoIts the install tracking and fees related to non revenue metrics that really has people super mad. The install tracking will be borderline malware based on Ironsource's reputation. All they needed to do was take a cut of revenue. Without that, people wouldn't be as mad.
- AlexandrB 3y agoIndeed. As a user who has played Unity games in the past this change makes me want to stay the hell away from games built on Unity in the future. There has been little transparency on how they're tracking installs and what other data they're harvesting while they're at it.
- karaterobot 3y agoThis is incredible news for those projects. What is the current exchange rate between Github stars and money?
- butz 3y agoRemember the time when each game company had their own engine? And that led to many technological marvels, like RollerCoaster Tycoon by Chris Sawyer, to name one. Now innovation in game engines seems to be stalled, as big ones are just looking how to push more ads, instead of more polygons. Maybe building own game engine will become a thing again?
- maccard 3y ago> And that led to many technological marvels, like RollerCoaster Tycoon by Chris Sawyer, to name one. Game engines for modern AAA games are too big and complex to be just one person these days. > Now innovation in game engines seems to be stalled, as big ones are just looking how to push more ads, instead of more polygons This is just nonsense. Unreal 5 shipped with Nanite and Lumen for 'more polygons', and have been adding features to it over the last 3 releases. Unity shipped a bunch of features (I'm not as familiar with unity) related to raytracing in their most recent release.
- nottorp 3y agoCan you make a 3D isometric perspective game easily in Unreal? Can you do it in Unity? Do you have to fight against the scene graph or whatever they use high level to do that?
- gamblor956 3y agoIn both cases, that's literally just a flag for the in-game camera.
- cultofmetatron 3y agoleave it to modern MBA's who see all businesses in terms of numbers on a spread sheet to send perfectly good dairy cows to slaughter for a short term payday. harvard business school has ruined this country with their elitist graduates.
- nottorp 3y agoDo those stars come with donations?
- KronisLV 3y ago> Do those stars come with donations? Some of them, yeah! Godot has almost doubled how much money it gets from the community: https://fund.godotengine.org/ https://fund.godotengine.org/ (though that sum should probably be much, much higher) Here's their stats from a week ago: https://web.archive.org/web/20230912192257/https://fund.godotengine.org/ https://web.archive.org/web/20230912192257/https://fund.godo... Sadly, those figures are for perhaps the most popular open source engine that's friendly to indie developers, which means that other engine developers really can't count on much funding at all being there. Reminds me of: https://staltz.com/software-below-the-poverty-line.html https://staltz.com/software-below-the-poverty-line.html
- mellosouls 3y agoCoco's Creator bucking the trend and dropping downwards, any obvious reason?
- bullen 3y agoI think this is the death of the versatile engine. Now we will make purposeful engines, eventually one genre will lead the way into what companies call metaverse. VR might be too complex. Only persistent multiplayer is interesting long term. The licenses will have to be "source available" until eventually when money has dissappeared and copyright has been abolished; everyone can finally work on the same game. I predict novelty games (Minecraft, Slay the Spire, Project Zomboid, etc.) made with Java will increase until X86 becomes too expensive to run. Risc-V is the outlier.