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:
I think showing multiple languages in one tutorial is likely to lead to confusion. Your target audience is likely to be overwhelmed already, so your goal should be to simplify - cut away everything extraneous besides the focus of the lesson. If that's coding in Godot, stick to GDScript.

At this time, C# is of greatest interest to programmers who know it already (likely coming from Unity), so they're not going to be the ones watching a "basics of gamedev" course. And the beginners would have to learn not just Godot but a C# ide (or at least VS Code) at the same time.

I'm still on the fence about VisualScript. It has potential but is still very rough around the edges.


--
Chris Bradfield
Founder, KidsCanCode
818-794-0522
Support our free video lessons:

On Sun, Oct 22, 2017 at 10:48 PM, Ivan Skodje <ivanskodje@xxxxxxxxxxxxxx> wrote:
While sitting in the train drafting out a plan - A question came up.
I have originally planned to write this course, using GDScript.
However I did plan to bring up C# and VisualScript in one module - comparing them and talking a bit about their history and possible future.

What do you think - Should I keep it like that, or should I add C# equivalent parts in each module where I use GDScript? (Keep in mind that anyone following this for one language will most likely skip the parts where we do it in the other languages they are not interested in).

Thanks for the feedback

Vennlig hilsen,
Ivan Skodje




-------- Original Message --------
Subject: Re: ODP: [godot-tutors] Looking for peer reviewing of teaching material.
Local Time: October 19, 2017 5:42 AM
UTC Time: October 19, 2017 3:42 AM

I'm not saying I wont contribute - however It probably wont happen at the same time as I work. It is hard to say right now, as I still haven't had a single day to sit down in this yet due spending 3h travel every day... Once I move closer to the capital of Norway, everything will become more stable.

That being said, anyone that are interested will be more than welcome to C&C and use/retrofit my course material into the official docs - when we get that far :)


Vennlig hilsen,
Ivan Skodje






-------- Original Message --------
Subject: Re: ODP: [godot-tutors] Looking for peer reviewing of teaching material.
Local Time: October 19, 2017 12:00 AM
UTC Time: October 18, 2017 10:00 PM

Anything you build for the community would be welcome, but I'd also like to second the recommendation that you consider contributing to the official docs. It's going to be the first place new users come, so it's important that we make it a comprehensive and welcoming resource.

There are currently far more tasks than there are volunteers to complete them. A lot of the work can't really be completed until we reach a feature-freeze stage - I've already had to rewrite some KinematicBody2D code examples to reflect changes - but drafts and first versions are certainly appropriate to contribute now.

Cheers,
Chris

--
Chris Bradfield
Founder, KidsCanCode
Support our free video lessons:

On Wed, Oct 18, 2017 at 10:37 AM, Ivan Skodje <ivanskodje@xxxxxxxxxxxxxx> wrote:
I dont think I could cover, or rather create 'the' godot game that would promote Godot that way.

Of course, I will do my best to create an open and worthy course. (Albeit slowly) :)


Sent from ProtonMail mobile



-------- Original Message --------

On Oct 18, 2017, 17:09, Leszek Nowak < leszek.nowak@xxxxxxxxx> wrote:

I would like to volunteer.
I’ll put as much time as I can into the process. I personally teach geometry by example using Godot. And it looks like we (department)  are going to use Godot to teach simulations (as modules) this semester.
Anyways I would love to help with your idea. Having good courses should guarantee steady increase in Godot users, which will secure Godot future.
As a side comment. A Godot biggest drawback at the moment is a lack of “serious” developers/studios using it. At some point we should invest some time in making state of the art, eye catching examples. Something that is targeted at people that know game development. Maybe the third course could address that?

 

Best regards,

Leszek Nowak

 

 


Wysłano: poniedziałek, 16 października 2017 06:45
Temat: [godot-tutors] Looking for peer reviewing of teaching material.


 

I have been on and off working for material for a Godot Engine Fundamental course (3.0).

The plan is to create 3 courses, where the first course is dedicated to learn Programming with Godot Engine / GDScript. Not very exciting, but very fundamental and important - especially if you are new to programming. Here you will learn the basics about variables, OOP, and so on. This does include theory on each topic, and not just "teach by example".

The second course will be dedicated teaching basic game development principles with Godot Engine. Nothing fancy, but you will get your feet wet and learn what you need to make your own 2D games.

The third course will be dedicated to 2D and 3D game development. This will be a bit more advanced, but we will go more in depth and work towards developing a "bigger game".

---
Why am I posting about this? Because I care that the learning material is excellent. I want people to be safe about learning good coding. Good working principles.
What I would like to ask of every single one of you, are volunteeers to peer review the materials, during and after creation.

Lately I have been busy due to getting a new job - dedicating my own time to learning everything I need in order to do a great job at ... my job. 

Now I am finally ready to go back in Godot, and - I figure while I spend 3 hours on the train rides, to write material for the course. 

Volunteers willing to review the material will get access to a Trello board, where I will post the content as I go. (I could go for Google Docs, but... well - let us try first and see how it goes).

Thoughts? Theories? Game theories? :P

Vennlig hilsen,
Ivan Skodje







Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/