Putting the 'role' back in role-playing games since 2002.
Donate to Codex
Good Old Games
  • Welcome to rpgcodex.net, a site dedicated to discussing computer based role-playing games in a free and open fashion. We're less strict than other forums, but please refer to the rules.

    "This message is awaiting moderator approval": All new users must pass through our moderation queue before they will be able to post normally. Until your account has "passed" your posts will only be visible to yourself (and moderators) until they are approved. Give us a week to get around to approving / deleting / ignoring your mundane opinion on crap before hassling us about it. Once you have passed the moderation period (think of it as a test), you will be able to post normally, just like all the other retards.

To Unity Developers: Will you switch engines?

duskvile

Fabulous Optimist
Joined
Jun 3, 2023
Messages
200
I'm learning Unity and it's going prety well. I don't understand Unreal code at all. What should I do for hobby practices? Is there a chance Unity retracts this price increase ?
 
Joined
Oct 26, 2016
Messages
1,914
Its also useful to review an engine in terms of the game you are making.
Godot is an open source program, the fact that it is not there yet is a bad excuse for not using it.

It's a valid enough excuse. If I have to build everything I need myself, my game would take ten more years. Now that there is C# support it's starting to become feasible, but I still can't use it.

I think Stride might outpace it and be useful earlier. Its full stack C# architecture is really cool and it's even faster than UE. When I'm done with TJS or Unity forces my hand, I'll start to seriously explore that one.

Disclaimer: I hate cpp. Programming in C++ feels like going back in time and not in a good way like with C.

The_Sloth_Sleeps how is C# a downside? It's not inherently less performant than C++, in fact quite the opposite. .NET is pretty sleek and the cpp header hydra is infamously bloated and convoluted.

Out of the box Unity isn't fast, but if you reach a level where you have to manually optimize it doesn't really matter what engine you use. If you want to talk to the GPU, you still need to juggle buffers of float4s in good old C anyway. HSLS, GLS, Shaderlab, all the same. Doesn't matter if you do the rest in cpp or c#. At least C# is programmer-friendly.
It has a few downsides. Quite bloaty syntax and stylistically OOP. It has a GC which kicks in and creates stuttering, I'm told you have to object pool to get around this. Memory copying is kind of yucky as well, you can't always be sure what you own, lack of pointers is the problem. When you are doing things like load/save game, creating objects from templates, networking this comes up.

Having said that, I use it because I consider it the best "power" to "ease of use" ratio for desktop.
 

MalcolmR

Literate
Joined
Jul 16, 2023
Messages
48
Is there a chance Unity retracts this price increase ?
There is a decent chance Unity will completely retract its new fee system and implement the most robust ToS protections imaginable. If you look at a very similar situation from recent history, Wizards of the Coast spent a month insisting that it would go ahead with its illegal retroactive update to the OGL and screw over publishers. Its update was very similar to what Unity is doing with its ToS. They didn't show any indication that they would back down until they suddenly gave up and did a complete 180 out of nowhere. They not only walked back their changes to the OGL, but they also put the SRD 5.1 under the Creative Commons 4.0 license. They had to do this because any other license/promise made by them wouldn't be trusted. I was working on a 5e goldbox game at the time and I was very concerned about the future of my game. I even made a Pathfinder 2e fork of the game thinking that the SRD was dead, but in the end, the SRD 5.1 became incredibly safe to use and it's the PF2E license (the ORC license) that's now sketchy and potentially dangerous to use. My PF2E fork turned out to be a month of wasted development time, though I did learn some interesting things in the process.

I'm learning Unity and it's going prety well. I don't understand Unreal code at all. What should I do for hobby practices?
Since you're a hobbyist and won't be releasing any commercial projects in the very near future, I'd wait one month before making any decisions. It's quite possible that Unity is under a tremendous amount of pressure now internally and needs just a bit more time before they cave. And if they do, I predict that it will be a lot more than a simple reversal of the fee structure. On the other hand, if they decide to destroy their company, Godot seems like a great long-term investment for someone who doesn't need to ship anything anytime soon.
 

ADL

Prophet
Joined
Oct 23, 2017
Messages
3,751
Location
Nantucket
I've been prototyping with Unity for fun with the intent of moving to something else eventually.
Godot is not ready for what I'm doing but it's a safe bet to invest your time in. Give it another five years and it will be extremely competitive with what Unity is now thanks to all the funding and extra resources coming their way.
O3DE is much better for 3D than Godot and multiplayer at the moment but lacks documentation.
Unreal is nice but 5% is a lot on top of storefront fees and taxes. I know it only applies after the first million but wittingly taking on an additional royalty is inherently off-putting.
Was really hoping that Gabe would deliver on the whole "Source 2 will be available to anybody, free as long as you're on Steam" by now.
 

pakoito

Arcane
Patron
Joined
Jun 7, 2012
Messages
3,093
Feels like most of the posts here are focused on PC-only releases. I would like to make a 2D game that I can play on the go on mobile (native or web) and has a nice last 20% of project development leading up to release, and none seem to be there.

Godot with c# has a poor dev stack and 4 doesn't support mobile or web yet, GDScript is proprietary tech based off untyped python that makes software developers gag. Haxe and C# based frameworks are powerful and have an okay UX, but cannot do UI or export for shit. JS engines can handle 5 things on screen tops. I did 6 years of native mobile and'd rather headbutt a sword than go back.
 

Justinian

Arcane
Developer
Joined
Oct 21, 2022
Messages
254
Feels like most of the posts here are focused on PC-only releases. I would like to make a 2D game that I can play on the go on mobile (native or web) and has a nice last 20% of project development leading up to release, and none seem to be there.

Godot with c# has a poor dev stack and 4 doesn't support mobile or web yet, GDScript is proprietary tech based off untyped python that makes software developers gag. Haxe and C# based frameworks are powerful and have an okay UX, but cannot do UI or export for shit. JS engines can handle 5 things on screen tops. I did 6 years of native mobile and'd rather headbutt a sword than go back.

Have you tried Gamemaker?
 

pakoito

Arcane
Patron
Joined
Jun 7, 2012
Messages
3,093
Feels like most of the posts here are focused on PC-only releases. I would like to make a 2D game that I can play on the go on mobile (native or web) and has a nice last 20% of project development leading up to release, and none seem to be there.

Godot with c# has a poor dev stack and 4 doesn't support mobile or web yet, GDScript is proprietary tech based on untyped python that makes software developers gag. Haxe and C# based frameworks are powerful and have an okay UX, but cannot do UI or export for shit. JS engines can handle 5 things on screen tops. I did 6 years of native mobile and'd rather headbutt a sword than go back.

Have you tried Gamemaker?
Worse than GDScript. Nope.
 

Shinji

Savant
Joined
Jan 10, 2017
Messages
316
Feels like most of the posts here are focused on PC-only releases. I would like to make a 2D game that I can play on the go on mobile (native or web) and has a nice last 20% of project development leading up to release, and none seem to be there.

Godot with c# has a poor dev stack and 4 doesn't support mobile or web yet, GDScript is proprietary tech based on untyped python that makes software developers gag. Haxe and C# based frameworks are powerful and have an okay UX, but cannot do UI or export for shit. JS engines can handle 5 things on screen tops. I did 6 years of native mobile and'd rather headbutt a sword than go back.

Have you tried Gamemaker?
Worse than GDScript. Nope.
Have you tried Defold?
 

pakoito

Arcane
Patron
Joined
Jun 7, 2012
Messages
3,093
Feels like most of the posts here are focused on PC-only releases. I would like to make a 2D game that I can play on the go on mobile (native or web) and has a nice last 20% of project development leading up to release, and none seem to be there.

Godot with c# has a poor dev stack and 4 doesn't support mobile or web yet, GDScript is proprietary tech based on untyped python that makes software developers gag. Haxe and C# based frameworks are powerful and have an okay UX, but cannot do UI or export for shit. JS engines can handle 5 things on screen tops. I did 6 years of native mobile and'd rather headbutt a sword than go back.

Have you tried Gamemaker?
Worse than GDScript. Nope.
Have you tried Defold?
Active forums, Lua scripts, programmer-oriented docs. Games already launched on Steam and other platforms. Damn, this may be good enough.

  • Engine supports reactive-style Lua scripting for low overhead and great performance
  • Asynchronous communication between game objects
Ho-lee-sheet, this engine may be made by software engineers rather than graybeard gamedevs.

EDIT: Untyped Lua: https://github.com/defold/defold/issues/6398 aaaand we're back to GDScript. At least it helped me discover LUAU, Roblox Lua with algebraic data types.
 
Last edited:

MalcolmR

Literate
Joined
Jul 16, 2023
Messages
48
Keep in mind that no subscription-based game engine is safe because subscription fees have to be flexible in order to match inflation. This effectively creates a back door that allows the owners of the engine to screw you over by changing the licensing terms to something much worse.

The revenue split model doesn't have this issue because it's based on a percentage that can be constant regardless of inflation. This means it's not a big risk for a company to completely lock in the license legally and make it immune to retroactive changes. This is the only reason Unreal Engine is even on my radar. It's also important to keep in mind, though, that the revenue split thresholds will not increase with inflation, which ultimately benefits the owners/licensors. In the case of UE5, the thresholds I'm talking about are the $1,000,000 total revenue threshold and the lesser-known $10,000 quarterly threshold. These numbers are effectively shrinking over time because of inflation. That is, $10,000 now could be worth $5,000 or less in 10 years, so the threshold will be reached sooner. Even though this seems like a negative for the developer, it at least financially incentivized the owners/licensors not to update their license.
 

Modron

Arcane
Joined
May 5, 2012
Messages
10,056
He's not wrong, I remember when unity first came out and triple A videogames with top of the line graphics were recommending a 1.7-2.1 ghz dual core processor and unity required 2.4 ghz quadcore as a bare minimum to even run games with 3D graphics that games from '94 put to shame.
 

beardalaxy

Novice
Joined
Jun 10, 2023
Messages
95
I don't use Unity, but just wanted to say you should all come to the dark side and try to force fuck your games into RPG Maker.

Joking aside, I have been urging people to stay away from Unity for a little bit now. Their CEO is a cock and they have made a lot of questionable (at best) business decisions, especially recently. It sucks that this will inevitably push a lot of Unity devs to Unreal, because we are already looking at the Unreal singularity becoming a reality more and more with each passing day. I did have an easier time with Unreal over Unity when I was looking into it, though. I still haven't looked much into Godot but I want to as soon as I finish my current game, because I feel like if I could learn how to use that in a decent enough timeframe I would rather use it for the next game idea I have instead of RPG Maker.
 

negator2vc

Scholar
Joined
May 1, 2017
Messages
314
Location
Greece
Feels like most of the posts here are focused on PC-only releases. I would like to make a 2D game that I can play on the go on mobile (native or web) and has a nice last 20% of project development leading up to release, and none seem to be there.

Godot with c# has a poor dev stack and 4 doesn't support mobile or web yet, GDScript is proprietary tech based off untyped python that makes software developers gag. Haxe and C# based frameworks are powerful and have an okay UX, but cannot do UI or export for shit. JS engines can handle 5 things on screen tops. I did 6 years of native mobile and'd rather headbutt a sword than go back.
GDScript supported for quite a while static typing and while Godot 3 (my favorite version for now) don't have all the later GDscript improvements even Godot 3 GDscript is a very capable scripting language.
Since you want to make a 2D game Godot 3 is more than capable to meet your needs and support mobile & web.
 

pakoito

Arcane
Patron
Joined
Jun 7, 2012
Messages
3,093
Feels like most of the posts here are focused on PC-only releases. I would like to make a 2D game that I can play on the go on mobile (native or web) and has a nice last 20% of project development leading up to release, and none seem to be there.

Godot with c# has a poor dev stack and 4 doesn't support mobile or web yet, GDScript is proprietary tech based off untyped python that makes software developers gag. Haxe and C# based frameworks are powerful and have an okay UX, but cannot do UI or export for shit. JS engines can handle 5 things on screen tops. I did 6 years of native mobile and'd rather headbutt a sword than go back.
GDScript supported for quite a while static typing and while Godot 3 (my favorite version for now) don't have all the later GDscript improvements even Godot 3 GDscript is a very capable scripting language.
Since you want to make a 2D game Godot 3 is more than capable to meet your needs and support mobile & web.
The kind of static typing supported by GDScript is not the one you want in a language. It's a 90s Java engineer's belief of what a type system is, so it's class-based, supports is-a inheritance instead of algebraic types and intersection types, and has no type-level operations. It restricts the language rather than making it more expressive like TS, Rust or Haskell does; and C++ tries to do. It's ignoring all improvements since the 70s, and the kind of "I know better" hubris that lands you on Go.

It's better than no typing at all, but it's so very basic.
 
Last edited:

Krice

Arcane
Developer
Joined
May 29, 2010
Messages
1,333
I like all the whining about how difficult C++ is, how difficult this and that. Grow up. You are making shit ton of money with your shitty games, I would not complain that much. Try making a roguelike game from scratch in C++, no engine or fucking assets helping you.
 

Wilian

Arcane
Patron
Joined
Jan 14, 2011
Messages
2,825
Divinity: Original Sin
I'm learning Unity and it's going prety well. I don't understand Unreal code at all. What should I do for hobby practices? Is there a chance Unity retracts this price increase ?
Their new policy is outright illegal so they will have to retract.
 

scytheavatar

Scholar
Joined
Sep 22, 2016
Messages
438
I'm learning Unity and it's going prety well. I don't understand Unreal code at all. What should I do for hobby practices? Is there a chance Unity retracts this price increase ?

Let's be real now, even if they retract why would you want to stick to Unity? The whole incident is just one of the many evidence that the people running Unity are fucking idiots and will run the company to the ground sooner rather than latter. It's not the price increase that people are concern about, it's the manner the price increase was announced which broke people's trust in Unity. They obviously did not plan through this carefully if they think there's going to be an easy way to count the number of installs on PC.
 

Jeff Graw

StarChart Interactive
Developer
Joined
Nov 27, 2006
Messages
803
Location
Frigid Wasteland
It has a GC which kicks in and creates stuttering, I'm told you have to object pool to get around this. Memory copying is kind of yucky as well, you can't always be sure what you own, lack of pointers is the problem. When you are doing things like load/save game, creating objects from templates, networking this comes up.

Well, there's a bunch of strategies around GC. Mostly revolving around creating less garbage in the first place and allocating in a more contiguous fashion. Or you might manually call the GC. The most hardcore approach, that hardly anyone ever does, is to go into unsafe land and use pointers.
 

MalcolmR

Literate
Joined
Jul 16, 2023
Messages
48
For the game you are working on I question the value of UE considering you don't need bleeding edge graphics. A simple, free, open source engine should be better right?
That's a fair point. I don't need most of the advanced graphical features in UE5. I would most likely disable Nanite, Lumen and all the other cutting-edge stuff and just use the basic features of the engine.

What I want graphically is flexibility. I want the ability to dial in the exact look I'm going for with shaders, lighting and post-processing. The more options/sliders I have, the better. For example, in Unity, we had two types of built-in AO that had lots of options, as well as one incredibly good paid AO plugin with dozens of options for dialing in a specific look. While I haven't started testing UE5 yet, I'm hoping that it provides this level of flexibility.

The second thing I need is stability. I'm assuming UE5 is at least as stable as Unity and doesn't have all the major and minor bugs I'm finding in Godot every day. We'll see if it delivers what I need. I figure it's worth giving it a chance, and then if I don't like it, I can cross it off my list and won't have to think about it anymore.

At the moment, I'm still experimenting with Godot and regardless of what happens, I'll keep it as a back-pocket engine.
 
Joined
Oct 26, 2016
Messages
1,914
It has a GC which kicks in and creates stuttering, I'm told you have to object pool to get around this. Memory copying is kind of yucky as well, you can't always be sure what you own, lack of pointers is the problem. When you are doing things like load/save game, creating objects from templates, networking this comes up.

Well, there's a bunch of strategies around GC. Mostly revolving around creating less garbage in the first place and allocating in a more contiguous fashion. Or you might manually call the GC. The most hardcore approach, that hardly anyone ever does, is to go into unsafe land and use pointers.
Its not practical to create unsafe sections and do marshalling. I don't know if you can even use C# unsafe with most graphics APIs. You either have pointers or not. I like the basic C# syntax, not the newer OOP crap. Its stylistically nicer than C++ (which is an awful mess). Its a shame I think C# wasn't a revised form of C++.

However the reflection stuff is really useful, creating types and such that would take ages in C++ you can do in a few minutes. Yes it has its advantages but its also got lots of bloat and tacks onto these horrible frameworks.
 

voyn

Voyn Software
Developer
Joined
Sep 20, 2023
Messages
10
I was working on a RPG game for last 3 years on my free times using Unity unfortunately. So for this particular project, I won't switch engine. But next projects surely aren't going to be developed with Unity.
 

MalcolmR

Literate
Joined
Jul 16, 2023
Messages
48
FOLLOW-UP IMPRESSIONS OF GODOT

I've spent a lot more time with Godot since my original review, so I want to share my updated impressions.

THE GOOD

1. Similar to Unity/Easy to switch to


Even though it has been less than a week, I feel like I now have a good grasp of the basics of Godot. Most of the core engine is just like Unity and almost all my game dev knowledge carries over. This is evidenced by the fact that I didn't need to watch a single tutorial to get up and running; I just looked for Unity equivalents and found them, sometimes with the help of the documentation. I really think any experienced Unity user could do the same. In fact, the developer of Caves of Qud said he ported over the core logic of his game from Unity to Godot in 14 hours, and I believe him.

2. Fun

It truly is enjoyable to use this engine. The viewport controls feel smooth and responsive and the editor is so fast that it sometimes catches me off guard. For example, when I switch from Visual Studio to the Godot window, I instinctively wait for that 5-10 second compile time, wondering why it hasn't started yet, and then when I enter play mode, I stretch or check my phone thinking it will take 10 seconds, but nope -- the game has already started! These fast iteration times really make it feel like I'm getting a lot done, which makes the whole development process more enjoyable.

3. Features that aren't in Unity

a) Autoload


There's a great feature in Godot that eliminates the need for GameManager-style singletons or persistent additive scenes containing UI, etc. It's really easy to set up. You just go into Project Settings and choose the objects/scripts you want to autoload, and then it will load them in a parent scene automatically before everything else initializes. This feature feels really clean and I wish Unity had it.

b) MultiMesh

There's a node called MultiMeshInstance3D which lets you render a massive numbers of meshes with a single draw call. It has a built-in random scatter function that's accessed through the editor UI, but the node can also be accessed through code to render meshes in specific locations in both the editor and in play mode. In my Unity game, I used a plugin called GPU Instancer to handle this, so it's nice that I have a node in Godot that basically does the same thing. And Godot apparently has an even better option for extremely large numbers of instances called a "rendering server," but I didn't explore it.


THE BAD

1. Unstable


I stand by what I said before. Even though the editor hasn't crashed since then, I did end up losing a script again. It seems to always be the most recent script that has a chance of being reverted, so at least your old scripts are safe, I guess. Also, it is dangerous to move files around in the File System panel, especially any file that acts as a container (scene) or is referenced in a lot of places. One of the things I liked about Unity was that any bugs that I'd encounter might affect what I see in the editor/viewport, but my project files were always safe. Unfortunately, I don't get the same feeling from Godot.

2. Tons of Bugs

The 3D transform gizmo is buggy as hell. Multiselecting and moving several objects can make them bug out and move in the wrong direction. Holding control to force snapping sometimes just locks the object even though the viewport shows the coordinates it thinks its snapping to. Materials in embedded "scenes" (prefabs) will sometimes revert to their previous values and scaled objects sometimes get reverted too. I also found a dozen or so minor bugs that are mostly related to the editor UI. I've honestly never encountered any software this buggy before, and that includes early beta versions of Blender!

This is obviously pretty serious, but I'm actually more concerned by the fact that no one is talking about it. I've been reading posts and watching videos about Godot non-stop and I haven't seen anyone express concerns about stability.

Am I just incredibly unlucky and these bugs don't normally happen? Are Godot users not using it in 3D and are the developers not testing the 3D controls? Is no one making a complex/large game in Godot that uses deep nesting of scenes/prefabs or a large number of files? Are they just making simple 2D platformers or 3D demo scenes? Are experienced Godot users reluctant to talk about problems with the engine because it might drive away potential newcomers? Are newcomers reluctant to talk about it because they don't want to be rejected by the Godot community? Do I just have unreasonably high standards for software?

I can't say for sure what the reason is, but I'm clearly missing something because not being able to safely move files into subfolders is a deal breaker for me. In fact, I don't even care that Godot is missing some of the features of Unity. I can live without physics, good shadows and some of the post-processing effects. I just want a stable piece of software that I can rely on!

Thus ends my foray into Godot. I will try the next version when it's released to see if it's more stable. In the meantime, I'm going to continue my plan and give UE5 a shot to see if it's viable. Honestly, I'm not looking forward to it because I know how cumbersome and unintuitive the software will be compared to Godot, but in the absence of Unity, I have to at least give it a shot.
 

As an Amazon Associate, rpgcodex.net earns from qualifying purchases.
Back
Top Bottom