10 ms·
It’s time to make that indie C# game in Godot
- prophesi 4y agoMaybe it's because writing C# in Unity is really just using the Unity SDK and not writing actual C# code, but I wouldn't want to hop over to Godot just because it supports C#, as learning it was born out of necessity and was never an enjoyable experience. I'd be much more interested in their GodotScript or plugins for other languages I'm familiar in.
- throwawaycuriou 4y agoWould be popcorn to see Epic make a saucy donation to the Godot project at this time.
- yomkippur 4y agoWhat if I want to create my own Roblox, how would I do that here? Is there a 3d engine/game engine where I can tweak the editor and distribute to my end users? The point is so that I can lean on the community to create the content and I would just focus on maintaining game servers, and adding moderators.
- jsiaajdsdaa 4y agoIt's time to make that indie game in three.js actually
- plaguepilled 4y agoGodot is a joy to use on its own, but when you also consider how it's licensed and doesn't require some awful launcher, it starts to feel like a breath of fresh air. Any time a company tries to make me feel like I'm at work, I stop wanting to make games with their product.
- mbrodersen 4y agoGodot without console support is a hard pass for most pro game developers.
- pipeline_peak 4y ago> It’s no secret that Unity is painful to use: it’s slow to open, and it often pauses to re-scan the entire project while you’re trying to work Is this actually true? I always figured Unity's selling point was being lighter and easier to use than unreal. Godot looks like Unity from 2008, it's easy to boast efficiency when you have a limited product.
- Entinel 4y agoAnyone who used Unity 2.x in 08 would tell you Godot is far beyond where Unity was in 2008 in terms of features and stability.
- scottymac 4y agoEspecially for 2D features.
- BoorishBears 4y agoAs someone who did I'd say it's a silly comparison. Godot has a decade of advancements in technology on Unity 2.x, things are generally "nicer" than when Unity started
- johnfn 4y agoThe quoted statement is 100% accurate. Unity is very slow. When I worked on Unity with a larger project, I'd often have to wait 10+ seconds for Unity to rescan the entire project every time I switched windows from my IDE to Unity, or every time I ran the project. In similar project sizes, Godot was always lightning fast. > Godot looks like Unity from 2008, it's easy to boast efficiency when you have a limited product. Unity does have more features - like more obscure 3D features - but that has nothing to do with how Unity deems it necessary to rescan the project tree all the time. Also, when I used Unity, I never used these extra features, so even if this were true, how come all users have to pay the price for features that only a few of us will use? Honestly, core Godot is very full-featured, and in my experience the central abstractions are much better thought out than those in Unity. I feel a lot of the FUD around "Unity has more features than Godot" comes from people that like seeing a long list of features, not from people who actually need those features.
- Zhyl 4y agoWith 4.0 getting more and more advanced features [0] and Unity merging with an Ad company [1], Godot is looking like it could be an attractive proposition for a lot of Unity shops. [0] https://news.ycombinator.com/item?id=32003065 https://news.ycombinator.com/item?id=32003065 [1] https://news.ycombinator.com/item?id=32081051 https://news.ycombinator.com/item?id=32081051
- Thaxll 4y agoGodot is an amateur project compared to Unity, it's not even close. What game actually shipped on Godot? I can't cite a single major game on it. https://godotengine.org/showcase https://godotengine.org/showcase Looking at any of thoses games looks bad tbh it's like weekend project / low indie games.
- no_time 4y ago>What game actually shipped on Godot Cruelty Squad is probably one of the best selling Godot game yet its missing from that page.
- carbadtraingood 4y agoSonic Colors remaster, iirc? The games in that showcase look pretty decent to me? Plenty of games I play look like that, lol.
- idle_zealot 4y agoIf I'm remembering correctly the new UI elements in the remaster were done in Godot, but the actual game was not. The new Godot menus are slow and unresponsive, so Colors isn't a great showcase for Godot.
- bogwog 4y ago> weekend project If Godot lets you make games like that in a weekend, then it's lightyears ahead of Unity.
- 4y ago
- disintegore 4y ago> One is an industry behemoth and the world’s most popular game engine, while the other is a free, 30 megabyte program developed by passionate developers in their free time. I was under the impression that Godot had at least two full-time devs working on it. Between their patreon revenue and the grants they've received they can definitely afford a small team on payroll. It's still important to stress the comparison in scope between Unity and Godot, but the latter is definitely more than a hobby project at this point.
- brundolf 4y agoAt least one of them, the original creator, is full-time (I follow him on Twitter). Not positive about others but it's certainly possible
- jolexxa 4y agoThat's a good point, I can edit that for clarity in the article (especially since I mentioned Godot's Patreon support later in the article). I was assuming that the Patreon support didn't amount to full time support for all the devs that contribute, but I don't know if that's true or not. Either way, it seems a lot of people have contributed without sponsorship, but the main devs are (hopefully) compensated.
- prox 4y agoThere are at leasts two full time devs and a handful of other devs on paid projects (by way of Patreon and a few large donations of companies like Epic)
- blt 4y agointeresting, what is Epic's stated motivation for funding a "competitor"?
- prox 4y agoAs I understood it reading the news, it is more like a grant for innovation, so just a PR opportunity for Epic. I don’t think they are worried that much. I think Blender got the same grant as well, and maybe others.
- BlargMcLarg 4y agoC# hasn't been an issue for me at all bar a few oddities. Some things not working properly in C# (think some plugins or something back a while ago). Some code not directly mapping from GDScript to C#, causing huge object count issues. For reference, I've been using it since 3.1 in a hobby context. Really, it's not the developers you have to worry about. It's everyone else. Godot is made with developers in mind, but there's much more to do than wiring signals and writing code. If you can't map things one to one from a different program or close to that through a plugin, you're either giving yourself more work, or forcing not just developers, but artists to relearn processes too. The small stuff will get fixed over time.
- sfteus 4y ago> If you can't map things one to one from a different program or close to that through a plugin I've only used Godot in a hobby context, but the full on C# support compared to other engines is pretty amazing. Just as a proof of concept I imported an open source C# library I've worked on that's designed to play old DOS music formats, created a small wrapper node with control functions, and I was able to control it as expected from within GDScript nodes right out of the box. Only issue I would have seen down the road would be cross-platform compatibility since the library itself was Windows only. Caveat: I can't say I've ever got far enough in Unity to say if the C# support is of a similar scope. Godot just "clicks" better for me, so I've gotten way farther with it than anything I've done in Unity.
- BlargMcLarg 4y agoYeah, that works well. Most libraries do work depending on target platform. With C#, you can write your entire logic outside Godot and just use Godot as a graphical interface if you so desire. But that's the point. We're discussing things from a developer point of view. This happens almost every day by now. That's not the issue. The issue is how everyone else struggles with Godot compared to Unity, if at all. When even basic particle patterns require diving into shader logic in 3.4 or loads of trial and error, that's a pretty hard sell for non-technical people.
- Mattish 4y agoThe problem with Godot is still it's age, and the lack of proven projects which many people are working on at once. Myself and plenty of others at small or above size studios would have to make a huge leap into Godot and hope you don't run into any scaling issues. Not just from a project point of view, but integration on the artistic side. LTS versions of Unity despite the known "un-fun" of it, are stable in a sense. Godot is moving fast, that isn't always a good thing for stability. I'd love to jump on the new shiny and fun engine! But having to make the definitive choice for a company to make their next project in? Unfortunately just isn't there yet. "It's fun as a dev" just isn't a compelling argument for literally everyone else who isn't the engineer, compared to the number of all size studio pumping out Unity projects(Some even being successful!).
- singhrac 4y agoDo you think Blender overcame this challenge, or is it still a sticking point in the VFX industry? I know they're at very different levels of maturity but I'm curious if the open projects ended up helping with ironing out these kinks.
- nivenkos 4y agoBlender was already a well-developed product before it was bought collectively (crowdsourced) and made a Free Software project.
- withinboredom 4y agoRemember when fun and popular games were made by very small teams taking a chance? There was a particular whimsiness about them that I miss.
- TaupeRanger 4y agoThose teams still exist but now they get drowned out by the enormous number of new games that poor into the space month after month.
- curioussavage 4y agoI was really tempted to try out the c# support but I opted first for the rust godot bindings and then the nim bindings. Nim is working fantastically. I was a bit worried because the bindings are not really actively developed but from my experience so far I think they just don't need much work.
- jayd16 4y agoHopefully the async/await story gets fleshed out. Unity just made the default scheduler run on the main thread. That's pretty much all it takes but it would be nice if it was built in.
- 202206241203 4y agoAlso check MonoGame - used by Stardew Valley etc.: https://www.monogame.net https://www.monogame.net It's a framework not an engine though - more programming from scratch rather than scripting pre-existing things in a visual editor.
- pleb_nz 4y agoWhat support like for macos?
- jolexxa 4y agoI use it on macOS and Windows, and it is lovely! I even have Steamworks.NET integrations working on both platforms with it. It can be a bit tricky to setup the `.csproj` correctly to resolve native dependencies, but not anything impossible.
- pleb_nz 4y agoThanks, can you suggest resources that would be useful in seeing up on macos?
- jolexxa 4y agoIf you don't mind me tooting my own horn too much, I have some docs about project setup in the readme for a test framework I made for C# Godot games. It has some notes about mac-specific things, since that's my primary machine. https://github.com/chickensoft-games/go_dot_test https://github.com/chickensoft-games/go_dot_test You can also look at the way that project itself is setup, and the `.csproj` files. If you need more help, feel free to join our Discord (link in the blog)!
- marcodiego 4y agoSome excerpts: > At first glance, Unity is so laughably ahead of Godot in sheer number of features supported that it seems comical to compare the two. > In practice, Unity requires 3rd party tools for tweens, timers, and networking, all of which Godot includes out-of-the-box. Still, I’d argue that it doesn’t actually matter for the vast majority of us indie game developers.
- aikah 4y agoYes indeed, it's time to move from Unity to something else because I don't want to pay for that kind of people's salary: > Devs not baking monetisation into the creative process are “fucking idiots”, says Unity’s John Riccitiello https://mobilegamer.biz/devs-not-baking-monetisation-into-the-creative-process-are-fucking-idiots-says-unitys-john-riccitiello/ https://mobilegamer.biz/devs-not-baking-monetisation-into-th... If he talks in public like that, imagine how this guy talks to his employees behind closed doors...
- hertzrat 4y ago> I’ve seen great games fail because they tuned their compulsion loop to two minutes when it should have been an hour. Nobody tries to hide anymore that a lot of game companies just create skinner boxes
- BoorishBears 4y agoHe didn't say that. "mobilegamer.biz" is betting on you not reading before getting outraged, and it looks like that paid off.
- jibe 4y agoFull quote for context: Riccitiello: Ferrari and some of the other high-end car manufacturers still use clay and carving knives. It’s a very small portion of the gaming industry that works that way, and some of these people are my favourite people in the world to fight with – they’re the most beautiful and pure, brilliant people. They’re also some of the biggest fucking idiots.
- debacle 4y agoUnity is suffering because it can't find a way to make DOTS/ECS first class without completely redoing basically everything. That's my biggest complaint with Unity at this point. So much is built around the GameObject implementation that when you start using ECS you can feel the friction - you're writing a lot more code, you're doing things in a way that feel like swimming upstream, and there's less support + documentation. How does Godot compare? Are highly threaded features out of the box? I would use Unreal but the C# Unreal interfaces I've seen are very immature.
- idle_zealot 4y agoGodot also seems to be built in a way that creates friction for ECS style game logic. It's built around scenes that are trees of nodes that each have associated behavior and signaling/message passing between nodes.
- UnpossibleJim 4y agoThere is an ECS port for Godot named Godex, but it isn't hugely mature: https://github.com/GodotECS/godex https://github.com/GodotECS/godex I haven't used it, though I've been curious about it. As far as better options for ECS game engines go, I'd go with Bevy (personally), but you'll have to learn Rust (which I'm a proponent of anyway). https://bevyengine.org/learn/book/introduction/ https://bevyengine.org/learn/book/introduction/ But both of these are still in "Beta", if that's even the proper term for their development cycle, at this point. They work, technically, but they could use some help, to my understanding.
- Mikeb85 4y ago> How does Godot compare? Are highly threaded features out of the box? Ish. But Godot very much embraces OO. Everything is a node extending another node with messages passed between. But IMO it's OO done right.
- debacle 4y agoOO doesn't matter if you want to simulate 100k objects at once without slowdowns.
- TaupeRanger 4y agoHow's networking in the recent Godot versions? Anything innovative or extra helpful in that space?
- cridenour 4y agoThe new MultiplayerSynchronizer and MultiplayerSpawner nodes in Godot 4 (still in alpha, beta soon) make life so much easier. I'm going to be submitting a demo for using them hopefully next week - but generally you just check some boxes for properties to be synced at spawn or continuously and set the network authority for each of them (aka Player 2 is master of his object, but Player 1 is master of the rest of the world) and it does the rest.
- aschearer 4y agoI'd love an alternative for 2D games to Unity but I haven't found one that has the breadth of features as well as demonstrated high quality games. It doesn't help that Godot fans constantly push their engine-of-choice every chance they get. We get it, you're excited... Show, don't tell. Build super high quality stuff and prove it's time to stop waiting.
- binarynate 4y agoPeople are overreacting to Unity's acquisition (technically a merger) of ironSource and Riccitiello's comments on monetization. Many developers want to make money from their games, so I think it's positive and worthwhile for Unity to give them tools to do that. As for Unity's market cap, the market as a whole has taken a beating over the past few months. As someone who works with Unity and sees the enormous value it provides, it just strikes me as a great time to buy their stock while it's low.
- deleted 4y ago[deleted]
- wilg 4y agoI tend to agree, but I do really worry about Unity's technical roadmap. There are so many half-baked systems that rarely get updates, 3 confusing choices of render pipeline, and there's not robust well-utilized implementations of common gameplay elements like Unreal has.
- caconym_ 4y agoIronsource is a malware vendor. I'm not sure in what sense you think people are overreacting, but I think that fact alone is worthy of a raised eyebrow or two. Unity has merged with a malware vendor.
- languageserver 4y agoI miss XNA
- adamrezich 4y agoMonoGame is still a thing! and many games you've heard of were made with it https://en.wikipedia.org/wiki/MonoGame#Games https://en.wikipedia.org/wiki/MonoGame#Games
- e4m2 4y agoAlso FNA (https://fna-xna.github.io https://fna-xna.github.io), which is aimed at 100% compatibility with existing XNA 4.0 code.
- WorldMaker 4y agoI do too some days. I keep meaning to do a deep dive into MonoGame to see where it is today and where it may be going.
- jolexxa 4y agoI first started learning C# and XNA before college to make a game for my Zune HD. That was my first exposure to OOP. Ah, those were the days...
- 999900000999 4y ago>You can also use C#’s events, which are strongly typed, but if you need to interface with node events, you should use Godot’s signal system. Nope. Nope. Nope. Nope, I wasted 2 hours of my life trying to get these signals to work in GD script. I'm going to try some other open source engines, but trying to jerry-rig an extra language on top of a relatively immature engine isn't a very good idea. Now I imagine if Microsoft decided to come out of an engine, they could rationalize supporting six or seven languages. But if you're already a small project, what ends up happening is the other language support just isn't as good
- nchi3 4y agoWhat didn't work for you? I remember thinking events were surprisingly easy to use with GDScript when I tried the Godot 4 alpha earlier this year.
- 999900000999 4y agoCompared to Get component with Unity, sending messages isn't all that great. I'm looking at some other OSS engines now
- dimgl 4y agoWhat? This is not at all what the author is describing (or even what you're insinuating is bad in Godot).
- cain 4y agoWhat issues did you have with GDscript's signals? I've been using Godot for > 2 years and had no issues with them.
- bj-rn 4y agoCheck out https://github.com/stride3d/stride https://github.com/stride3d/stride It's MIT and fully written in C#.
- wilg 4y agoUgh, not more C#! I hope one of these projects takes off: https://github.com/migueldeicaza/GodotSwift https://github.com/migueldeicaza/GodotSwift https://github.com/kelvin13/godot-swift https://github.com/kelvin13/godot-swift Excited to try Godot in a couple of years when it's more mature. Hopefully they can be the Blender of game engines – where it started rough and now is better than Maya or other alternatives.
- metaltyphoon 4y agoWhy Swift, when searching only, you can see that it performs much worse than C#?
- kitsunesoba 4y agoC# isn't the worst but out of the newer languages I've tried it's probably the one I'm least excited to write. Swift or Kotlin would definitely be preferred.
- weberer 4y agoGodot's default language is GDscript, which is similar to Python. I'd highly recommend that to new people switching to Godot. I think C# is just cruft for people coming from Unity and stuck in old habits/frameworks.
- TulliusCicero 4y agoI tried GDScript and hated it, ended up manually porting what I wrote to C#. GDScript currently only has partial support for static typing, which makes things a much bigger pain in the ass. Using C# was a breath of fresh air after that.
- wilg 4y agoYeah, I don't want a weird scripting language like Unreal Blueprint or GDScript or Lua. C# beats all of those by a mile. I want a robust, ergonomic, high-performance, compiled language like Swift.
- 4y ago
- citizenkeen 4y agoI feel like now is a terrible time to use C# in Godot, since they're (AFAIK) switching from Mono in 3.X to .NET Core in 4. I love Godot and I use .NET in my day job, but I feel like C# in Godot has always been a second class citizen.
- _gabe_ 4y agoWhat's wrong with .NET core? It's the future of .NET afaik and it has multiplatform support and it's open source. > .NET (Core) -- A cross-platform and open source implementation of .NET, rethought for the cloud age while remaining significantly compatible with .NET Framework. Used for Linux, macOS, and Windows apps.[0] [0]: https://docs.microsoft.com/en-us/dotnet/core/introduction https://docs.microsoft.com/en-us/dotnet/core/introduction
- adamdusty 4y agoI think gp is saying that since it switch from mono to core before you will be able to finish a game, you might have a bad time when they switch implementations.
- eropple 4y agoIt's certainly possible that that's the case, but I've seen a lot of projects go from Mono to .NET Core without much of a hiccup, too. Probably worth pricing in some slack time to deal with it if it's a problem, but I struggle to think of changes from Mono to .NET Core which would be threatening to the ability to finish a project.
- Shadonototra 4y agoC#? sad People literally learnt nothing at all Want to stay away from unity? You should also stay away from C# and Microsoft https://exceptionnotfound.net/the-catch-block-80-the-dotnet-drama-strikes-back/ https://exceptionnotfound.net/the-catch-block-80-the-dotnet-...
- viktorcode 4y ago> Using async and await with C#’s Task can be a bit of a headache with Godot, especially if you don’t realize that that most ways of executing an async Task in C# starts a new thread (or recycles one from the task thread pool). Unity makes it much easier though.
- overgard 4y agoAs much as I'd like to use Godot, there are two features missing that I really don't think I could do without: - Asset store. I totally get it, handling payments, curating, etc. are a huge task... but man, I'm a coder, and I don't have the funds to pay an artist or a musician full time. Being able to just go buy a pack of trees for $20 or something is a huge timer saver. - Animation re-targeting. It seems like there's a 3rd party plugin for this but it also seems like it hasn't been updated in a year. In unity I can buy a big pack of animations for pretty cheap and reuse it on almost all my humanoid characters. That's huge. I think this can be done in Blender or Maya, but it's so seamless in the engine compared to using a 3rd party tool.
- giancarlostoro 4y ago> - Asset store. I totally get it, handling payments, curating, etc. are a huge task... but man, I'm a coder, and I don't have the funds to pay an artist or a musician full time. Being able to just go buy a pack of trees for $20 or something is a huge timer saver. Heh I mentioned this in another Godot thread a few days ago. It sounds like a potential YC funded startup for anyone inclined and something that could be with the knowledge and collaboration of the core maintainers of Godot as a simple means to fund Godot.
- sergiotapia 4y agoThis doesn't sound like a good VC backed company. Bootstrap it, make healthy profits and grow at a normal pace.
- devmunchies 4y agoThis seems like a good way for Godot to monetize, while keeping core engine development incentives insulated.
- giancarlostoro 4y agoIt would be good if Godot adopted it into its UI, it technically has the UI for it. Then the company donates a reasonable percentage to Godot. You might see them never need to ask for donations again.
- wkirby 4y agoI've been using Godot for hobby projects on-and-off for a while now, and overall I vastly prefer it to Unity. The scene hierarchy of Godot is a better mental model (for me) than the GameObject/MonoBehavior ever was. That said, I have a _few_ items that I think are absolute showstoppers for solo-dev side projects. 1. The asset pipeline is simply not as clean as Unity's. The ability to drop a .blend file in the project in Unity is so underrated. In Godot FBX imports are unreliable, texture imports misbehave frequently, and rigging goes wrong even in the recommended file formats. There's a lot less clarity around the path to getting real assets in game, which can be a major pain point for solo devs. 2. Along the same lines, there is no equivalent of Unity's mecanim. With Unity, if you can model and rig a character in Blender, you can pull free mocap or other animations from the asset store and get to work. In Godot you're still best off authoring your own animations for each character. This drastically increases the amount of time spent making assets. 3. Godot is in a weird spot version wise for anyone who wants to use C#; the beta version of 4.0 is rapidly approaching, and guarantees to break any project you start in 3.x --- but 4.0 still doesn't come built with C# support. Hopefully this gets resolved soon.
- hitpointdrew 4y agoWhy not just use the native GD Script? IMO is far easier and cleaner to read than C#.
- arminiusreturns 4y agoI'm so happy that I saw this coming and have been head first in master branch in order to be ahead of the curve. I have lots of things to learn still in 4 but I see clean piplines using latest formats like dynamic gltf in scene reload, meaning direct blender(et al)-godot pipelines. Global illum is so off the charts pretty. Perf is a pain point but when you start using multimeshinstances things make more sense. Updates sometimes corrupt scenes, keep your source of truth models in gltf 2. Shader language wizards are the future. Vulkan is the coolest thing since sliced bread. Context: My game project has been going since 2013, on godot since 2018.
- seneca 4y agoBoy, there sure are a lot of pro-Godot and anti-Unity posts on HN today. Some marketing group is having a fieldday.
- strangeattractr 4y agoSo you believe the pro-Godot disposition on here is confected by malicious actors?
- seneca 4y agoNo, not at all. It unsurprising that an open source project has positive mindshare. I just think that the spree of articles, all with the same anti-Unity bent, being posted within hours of each other isn't a coincidence. That doesn't mean people don't genuinely like Godot, just that it looks as if someone has an agenda to make sure that's the case.
- krapp 4y agoApart from one repost of this article, search tells me there have been five Godot articles in the last month, none of which have had anything that looks like an "anti-Unity bent," and no others were posted on the same day. The only ones that got any traction (besides this one) were about fog volumes and UI design. I think maybe you're conflating pro-Godot comments in recent threads in reaction to news about Unity with articles being posted and seeing a hidden agenda that isn't there.
- rfrerebe 4y agoThere is a book that actually tells you not wait for Godot : https://en.wikipedia.org/wiki/Waiting_for_Godot https://en.wikipedia.org/wiki/Waiting_for_Godot
- luxuryballs 4y agoI’m in the midst of making a 2d game in monogame and was toying with switching to Unity, thanks for sharing this. Man I wish I could find some resources on how to do 2d shaders in monogame though, like making sprites wave in the wind/water without needing a ton of sprite frames, hard to find this kind of thing.
- KronisLV 4y ago> Godot doesn’t fight you when you’re building scenes. Making a scene feels a lot like creating a class using composition, and scenes can even inherit from other scenes (using another scene as the the root node of a scene allows you to inherit from it and override its properties in the editor and in code), allowing you to express patterns you’re intimately familiar with from object-oriented programming. I personally find the approach of nodes everywhere a bit odd. In my mind, you'd typically use nodes for objects that are supposed to represent some sort of an object or concept within the scene, whereas the scripts would be the ones that actually give said object any number of behaviors, such as a certain group of functionality per script. So you might have something like the following: EnemyObject PathfindingBehavior ShootingBehavior TalkingBehavior Unity kind of vaguely got that "right" (e.g. in a way that's subjectively intuitive to me) with its component system. Whereas in Godot you can only have one script per node, which would mean that in practice I'd have something like: EnemyObject PathfindingObject PathfindingBehavior (attached script) ShootingObject ShootingBehavior (attached script) TalkingObject TalkingBehavior (attached script) It kind of feels like it would be nicer to be able to attach a number of scripts to the object that I actually want to control, instead of having Nodes that I don't really see much of a use for, apart from them being script containers. Of course, maybe that's just because I'm used to the GameObject pattern that Unity uses, an entity-component system (of sorts), though that implementation has gotten a bunch of critique as well, with DOTS apparently being a better ECS approach, though also unfinished in certain aspects. Just felt like sharing my thoughts on that particular aspect, which some might find curious and which might take a bit of getting used to (though personally not having a separate "prefab" concept and instead having more or less everything be a node is also pretty freeing, I have to say). With a bit of love, using C# could also be pretty amazing, since GDScript does have certain limitations (performance comes to mind, for when you need it to be decent for number crunching but don't want to/can't use C++ due to knowledge or other restrictions, C# has your back there) and curious design choices (the integration with the engine is super nice and the Python like syntax is great, but having to define singletons in the editor IIRC is a bit silly https://docs.godotengine.org/en/stable/tutorials/scripting/singletons_autoload.html https://docs.godotengine.org/en/stable/tutorials/scripting/s...).
- everyone 4y agoHow easy is building to mobile in Godot? I have been a Unity dev for years and my main reason for using it is that I can build to most platforms with relative ease from the one engine.
- T-A 4y agoI'd like to see a comparison of Godot and Stride (formerly Xenko): https://www.stride3d.net/ https://www.stride3d.net/
- orthoxerox 4y agoAnd formerly Paradox, if I'm not mistaken. It's one of the worst marketed game engines I have seen. Two rebrandings and practically zero social media presence. People are still starting more new projects with XNA than with Stride. I would be promising asset compatibility with Unity and shouting about that everywhere if I were Stride.
- didibus 4y agoI'd also recommend people check out Defold: https://defold.com/ https://defold.com/ I'm not a game dev, but its the engine King uses that they completely open sourced, and I think it can be a good alternative.
- mdaniel 4y agoMaybe that's typical in gaming situations, but it has a weird license: https://github.com/defold/defold/blob/1.3.4/LICENSE.txt https://github.com/defold/defold/blob/1.3.4/LICENSE.txt ("the Defold License version 1.0")
- didibus 4y agoThey don't allow re-selling the engine or editor, that's why. Technically it doesn't meet the open source definition because open source should allow people to commercialize the source code. Defold allows you to see the source, modify it, and make contributions, but even those modifications cannot be commercialized. You are free to use it to make paid games, or make and sell plugins, etc.
- dcow 4y agoSeriously curious to those in the gamedev community: how does Unity acquiring an ad company materially effect the feature set and platform that Unity currently provides? Is it one of those "Unity has been going downhill in slow-mo for years now and this investment is proof that they aren't interested in fixing real issues that indie devs have--writing's on the wall..." type of thing? From the outside, just seems like business as usual to me... I genuinely don't understand the pull people feel to entirely retool simply because Unity wants to do ads better. What am I missing?
- nitrixion 4y agoAs a dev that uses Unity on a daily basis, here is my perspective. If this was simply a matter of "Unity wants to do ads better" and they purchased an adtech company, I doubt there would be much discussion about it. That is not what happened. ironSource is not just an adtech company but a company that has built and distributed software that has been classified as malware by Sophos and Microsoft Essentials[1]. While this may be an overdramatic take, once ironSource is fully integrated with Unity and we update to the latest LTS version that includes ironSource software, I expect that we will want to virus scan our own executables built through Unity. I do not trust ironSource nor do I trust any software that integrates with it. Now, putting the malware concern aside, I also see this as a step in the wrong direction for Unity. There are MANY uses for Unity that are not games, that will never have ads, and that will never utilize anything from this acquisition. The concern here is that recent updates of Unity have made some of these features such that you cannot disable them. To me, this is yet another poor decision by the Unity team. As an aside, I recently started looking into their freshly released new Analytics platform and it is an absolute mess of a release. There are massive oversights in the implementation and bugs that prevent workarounds to those oversights. Unity is not looking like software worth betting your company's future on. At best, it is looking more like prototyping software before using a better engine. [1] - https://en.wikipedia.org/wiki/IronSource#InstallCore https://en.wikipedia.org/wiki/IronSource#InstallCore
- dleslie 4y agoAs someone who has a mortgage and children to feed ... Unity acquiring an ad company is encouraging. For years now Unity seemed to be lost and directionless; having them merge with an ad company shows that they're serious about focusing on creating a product that will help developers turn a profit. But you won't hear many "indie" developers say as much, because making money is uncool. That said, IronSource is sketchy as hell. I'm more concerned about _who_ they merged with then that it was an ad company.
- rubychill 4y agoI'm very much a hobbyist gamedev, mostly doing small personal projects or game jams when I have the time. I switched from Unity to Godot in 2016 when 2.0 came out and I haven't looked back since. I find Godot fits so nicely with how I like to make things compared to Unity or Unreal. It has that comfy feeling like Aesprite, sxfr, and bosca ceoil where the tool itself has an artistic expression. I agree with most downsides that people have in regards to Godot, lacking asset store, lacking in the amount of tutorials compared to other engine, lacking in completed titles at scale, etc. However for my purposes I've never found these to be a deal breaker, and if anything I prefer being part of the smaller community that Godot has - it feels more grassroots and aligned with my personal values.
- JetAlone 4y agoWith very little regard to language or engine, it's time to make that indie game T_T
- democracy 4y agoGodot is really great, and the GDScript is something you don't really need to "learn". It feels intuitive and easy enough to be productive from day one. The performance, compilation speed, binary build - very quick. If was I writing a "game engine" that probably the system I would've come up with. The GUI feels flawless, responsive, very easy to work with. Online/offline help/documentation is top notch. Would I use it if I am serious about gamedev as a job? Probably not. Version 4 is supposed to bring a lot of improvements and this is awesome. I am not sure I would invest into building a product in version 3 (as it will be deprecated if not by its team then by the plugin makers). Version 4 is not ready yet and specifically mentions to have "tons of bugs" once it's out. As a hobby game developer this is an truly great product to work with. I started with a few 2d tutorials and probably after a week felt really productive. Also it feels like 1st class citizen on Linux (tbh Ubuntu also made great progress here). The only really thing missing for me - in order to use my C++ simulation engine I need to re-compile C++ Godot sources along with my code? A bit too much for me at this stage. But didn't investigate it enough if there is an easier solution (version 4 is supposed to give more options). Using C# is as an option too. But they mention C# in terms of "support" is "secondary" whatever this means - without more experience it is hard to understand the implications. Unity is too mature and skills are there if you need to hire or outsource. Mobile publishers, for example (from what I've seen) only accept unity games. You can buy great plugins/assets for reasonable amount of money. Obviously with the money they have it is the product you want to base your business on if you develop professionally. If anything Unity should be compared to Unreal engine, not Godot from the perspective of developing professionally. Anyways it is really great to see an OSS product that is so close to the mature big commercial products that people have these discussions, run benchmarks and seriously consider switching to Godot. The quality of effort and skill I've seen people put into Godot development (and its plugins) is something unreal and too awesome be true. Go Go Godot!!!
- sylware 4y ago1 - vulkan godot backend is not mature yet. 2 - On glibc/linux target: it should generate pure and simple ELF binaries (not C/c++ binaries). It has the following implications: a - the static libstdc++ from gcc probably has to be forked that to "libdl" everything it needs from the glibc/posix libs. b - everything else from the system has to be libdl-ed too, even the libc symbols. c - third party libs must be libdl-ized too. d - ofc, usage of "-static-libgcc" and "-static-libstdc++" build options to mitigate ABI issues (got hit again by that and recently, c++ ABI nightmare). e - no C/c++ main() function, only the sysv ABI(ELF) entry point (which is basically main anyway). f - usage of system TLS variable, like errno, must be handled only via the sysv ABI __tls_get_addr() ABI function (I have to admit, I did not dive that much into this issue yet). g - proton is a money sink hole, massive and horrible software microsoft grade. To make it worse, it is said to include actual real software components from doz. Only consider it if your technical debt on doz OSes is too high (basically, you started to "think" "other platform ports" too late). If not mitigating those issues above: games using godot must be build on the oldest glibc as possible, that to avoid GNU symbol versioning issues. They should static link as much as the can, even some glibc libs (libm static linking is mandatory since GNU symbol versions here are madness). And conservatively build using the "-static-libgcc" "-static-libstdc++" options. rant on: Godot should not have been a c++ engine but a simple C/ASM one (should be able to compile with tcc/cproc/scc/pcc/etc), using the preprocessor for namespaces in order to avoid symbol collision, and using compile-time function tables and runtime function tables (for "fallbacks", like wayland->x11). The really guilty ppl are actually glibc and gcc devs, not the game devs. rant off.
- daveoc64 4y agoI'm surprised nobody has mentioned that Godot doesn't support consoles and seemingly never will: https://godotengine.org/article/godot-consoles-all-you-need-know https://godotengine.org/article/godot-consoles-all-you-need-... I'm not a professional game dev, but I can't see why you'd want to shut off that avenue.
- remram 4y agoThey might be reading HN, posted yesterday: Godot and consoles, all you need to know https://godotengine.org/article/godot-consoles-all-you-need-know https://godotengine.org/article/godot-consoles-all-you-need-... (discussion: https://news.ycombinator.com/item?id=32119337 https://news.ycombinator.com/item?id=32119337)
- deleted 4y ago[deleted]