Re: ODP: [godot-tutors] Looking for peer reviewing of teaching material. |
[ Thread Index | Date Index | More godotengine.org/tutors Archives ]
At the School4Games we have started out with C# and Unity for years
until two years ago I introduced the students to Godot in a lecture
on game engines and a little over a year ago we switched to the
engine completely for the first semester. My advice based on my experience, on the motivation of the students, on how many non-programming students I managed to teach the basics to and on feedback I got from students later is pretty clear: stick to GDscript, leave out C#. The worst thing you can do in a tutorial is while teaching one thing correctly teach lots of others incorrectly, and with C# you will always be in danger of doing that. Unity tutorials (even the official ones) and books regularly have examples that follow anti-patterns. C# is so complex and full of features that you at least need to tell people to ignore about a third of the file, or worse you'll have to explain advanced topics before you can get to the basics. At the very least you need to additionally explain the using-keyword, visibility modifiers, variable types, the override keyword and if you're using GD.Print() you would even have to explain static functions or ask people to ignore the fact that GD isn't an object for now. You would be investing the extra time just for those users that are unwilling to learn GDscript but that are still motivated and intelligent enough to get through a C# version of the tutorial. My advice is don't advertise with GDscript, just call it "learning to program with Godot" or something, and then start out by explaining how every principle that you learn in GDscript can be transferred to C#, and that starting with a simple language allows you to divide and conquer the difficulties. I doubt that someone who doesn't understand that would understand C#. Let's pick one of the most basic things for example: If you want to define that a Player has hitpoints and a name and can be told to jump in GDscript you say var hitpoints var name func jump(): print("wheee") while in C# you say public int hitpoints; public string name; public void jump() { GD.Print("wheee") } So in GDscript you can explain that "var" is the word for "has", as in "the player has hitpoints", and that "func" is the name for "can be told to" as in "the player can be told to jump". In C# it's a line that starts with an (optional) visibility modifier and a type name but doesn't have brackets behind the variable name (and no curly braces either, we'll skip that for now, but you'll see it quite often, because that's basically a function that looks like a variable). I know that for some of my students the simplicity of "var = has" and "func = can be told to" was what I needed to get them to follow the explanation, and that was with me in the room personally reacting to them. So I really don't expect many people to be able to stick with a C# tutorial and not be willing to stick to a GDscript tutorial. The only thing where I can see a C# version of the tutorial being helpful is for people that already know C# and want to see some quick and simple examples for the Godot specific attributes, syntax etc., but for those a table with examples (GDscript on the one side, C# on the other) would make more sense and be easier to write. Or you could think about a separate course on C# for people who know GDscript, so you can focus on the additional features. Lars Kokemohr Am 23.10.2017 um 08:15 schrieb Chris
Bradfield:
|
Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |