#thread because I still want to make my case but there's a real conversation

1 messages ยท Page 1 of 1 (latest)

void verge
#

position.x += speed * delta is much more readable, position in Unity is a struct - you can't do transform.position.x += speed * Time.deltaTime, and that confuses people

#

extends Node3D is much easier to intuitively grasp than : MonoBehaviour

#

@export again makes more intuitive sense than [SerializeField] or public

#

to unity's credit, update does make a lot more sense than _process, what the hell were godot thinking with that one lmao

#

I still think GDScript is easier to grok than C# and I will die on this hill ๐Ÿ˜‚

granite idol
#

anyways my point is - this is all pretty much one-to-one
there's no "weird extra bits" that come up, they'd be complained about if they were there lol

of course the example code isn't one-to-one, but that's more of how the unity library is designed
if we were to compare the languages, i'd opt for something that more closely match semantically even if it's not valid semantically, so something like:

class Move : MonoBehaviour {
    [SerializeField] float speed = 5;
    void Update() {
        transform.position.x += speed * Time.deltaTime;
    }
}
```vs```py
extends Node3D

@export var speed: float = 5.0
func _process(delta: float) -> void:
    position.x += speed * delta
```i think it's more clear here that it's nearly one-to-one
the main discrepency is the `class`, which gdscript just has as the entire file, so it's not something that c# just has extra, it's just not stated in the gdscript version
void verge
#
 transform.position.x += speed * Time.deltaTime;```
you can't do this though!
granite idol
#

i know, i mentioned that

void verge
#

oh missed that

#

curly braces and semicolons also aren't a thing people who aren't familiar with programming immediately grok

granite idol
#

extends Node3D is much easier to intuitively grasp than : MonoBehaviour
i think neither would be intuitive to a beginner, without the context of OOP as a whole, so even though you can read the first one it's kind of a moot point imo

void verge
#

mm I can be persuaded of that

#

sure

mighty ledge
granite idol
#

not gonna do that for parity to properly compare the languages

granite idol
void verge
#

no but it's just another thing to learn

#

which ok you kinda have to learn in godot too

granite idol
#

for semis: absolutely agree with that, but it's such a minor thing that i don't think it makes a real difference

void verge
#

I've only taught maybe a dozen people, all under 15, but I can say that semicolons in particular make a difference ๐Ÿ˜‚

granite idol
void verge
#

frustration for "why won't it run oh right I forgot the thing gah"

granite idol
#

that's not a beginner thing though lol

#

-# *cries internally*

void verge
mighty ledge
void verge
#

yeah but people who are just starting out hate errors ๐Ÿ˜‚

#

I really have to fight to prove the point that errors are better than things just not working quite correctly lmao

#

we love errors, errors tell us what to do

#

to be clear I really do prefer unity and C# lmao

#

I just have an easier time getting non-programmers on board with gdscript

granite idol
#

oh, yeah, the intimidation aspect is definitely a thing

#

i have taught people before in a personal context, and semis have never really been a specific painpoint?
a common mistake sure but it's really easy to resolve and with a few tries you start to self-diagnose so it never became an actual issue

void verge
#

I think for me it has just been exasperation on the part of the person learning, a feeling of "this is an alien language". I guess it hasn't been a problem problem, they haven't given up

granite idol
#

-# to me the main pain of semis is switching between languages that use it and ones that don't and frying my muscle memory lol

weak bobcat
#

counterpoint to all of this:
if someone making a game chooses an engine because they struggle with semicolons, or braces, or really any of these points above, they shouldnt be making a game yet. They're going to struggle with logic in any language. They likely aren't going to publish an actual game either.
I havent seen comparisions about godot vs unity in awhile, so I dont know what it does in modern day, but from what i know its a lot more limited or isnt as good for 3d.

void verge
#

I fight that every time it comes up, learning the fundamentals in a boring terminal setting puts people off and is quite a high barrier. Learning fundamentals while making a game is fun

#

10 years ago you're absolutely right

#

no questions. Current attention span is zero though

#

kids these days shakes fist

#

people can and do learn by doing

mighty ledge
#

not for the lack of attention span tho, I simply prefer working on something I need and figuring things out as I go

#

however, I do agree with bawsi's take too, if the main reason you'd chose an engine is {} or ;, then you are worrying about wrong things

void verge
#

learning an engine because of that wasn't my whole point ๐Ÿ˜‚

#

it's just a way to get into making a thing with slightly less friction

#

godot also has fewer features - which means it can do less, but that's actually a good thing in this case

#

it's tiny, <250mb on my mac - where Unity is what, 8gb min?

granite idol
#

eh, 6

#

but point taken

mighty ledge
#

honestly, I think that when choosing the engine, the single most important thing is how that engine functions, as in how you make stuff work (e.g. game objects+components in unity)

granite idol
#

doesn't godot have the same model?

mighty ledge
#

I found it extremely easy and intuitive to get a hang of the unity architecture, while even with a few years of unity experience I couldn't figure godot out

granite idol
#

just unreal where you script on objects directly

mighty ledge
void verge
granite idol
#

ah lmao

#

maybe i should get into godot for fun sometime

void verge
#

some people say it feels much more "streamlined" than unity, I disagree and think it has clunky FOSS UX but a significant amount of people tell me it's really nice to use

#

I am certain I have unity stockholm syndrome so I'm inclined to believe them xD

mighty ledge
weak bobcat
#

The size of the engine really doesn't matter though on any modern computer. People might have pieces of junk and yea in that case godot works better.

void verge
#

a lot of kids learning game dev are on their crappy old laptop with 128gb storage

weak bobcat
#

We'd be talking super cheap laptops

void verge
#

or a school computer

#

or on a metered internet connection

#

(or anywhere in australia lmao)

mighty ledge
#

to be completely fair, dom is right here, godot seems to have a much more optimized editor

#

yes, the 6gb editor size won't make a diff for most people but that doesn't mean it's not worse than what godot offers

weak bobcat
#

I doubt I could even find a laptop with 128gb storage these days. Modern day computers can handle unity.
We're really talking about a small small subset of the population here. We see lots of school students in here who simply are using their own pcs and often people who are literally in school and asking us questions. Because they take pictures of their school computer monitor

void verge
#

the real big sell of godot for beginners is that you can't do anywhere near as much with it, the point about storage size was a minor one at best ๐Ÿ˜‚

mighty ledge
void verge
#

the main difference between a 6gb engine and a 250mb one is many many features that you have to learn

#

my usual advice to beginners is to try both and see which you prefer

#

they really shouldn't be making actual games at that point anyway

weak bobcat
#

I'm not saying that godot isnt easier, or has less to learn. I'm saying a lot of these points just dont apply to many people.
Sure people might pickup godot instead of unity because of language, or because its lightweight. Though a ton of people basically flip a coin, pick an engine and stick with it for awhile. I did see a bit of the start of the conversation, and it did develop purely into a language vs language thing. This is what beginners are reading, thus they think its best to consider the language when choosing an engine.
Also beginners really arent going to try both.

#

They would have little reference for even knowing what to compare in both