Hello Everyone,

I’ve got a 10 year old daughter who loves making games in scratch, but she’s starting to run into that boundary where it stops working for you, and starts working against you.

She wants to make an adventure game in the vein of a trimmed down “legend of Zelda: link to the past”

I’ve looked at snap and gamefroot as potential next steps. Would consider a “true” language like JavaScript or python, but I’m worried she would be daunted if the ramp is too steep (maybe with the correct libraries/frameworks?) The immediate feedback and low ramp scratch offers are still important.

Anyone have any wisdom to share? Or point me to something I’ve missed?

Thanks

—- Update:

After some good discussion with my daughter, we’re going to try gamefroot (a proprietary, enhanced scratch) first.

She really wants to check out Gadot too.

Thanks everyone for the thoughtful comments and the help.

  • I’m a developer at one of the big 4 tech companies, someone who found themselves eventually becoming an engineer (I didn’t study computer science at college/university).

    Python is great at teaching some fundamentals but I personally don’t like how the language feels like things have been tacked on over time. To me it really feels like scripting language that has been later tweaked to try and support more fully fledged features that other languages have.

    To give you some examples of my frustrations:

    • it’s not strongly typed, so there are often times in big codebases you don’t know what the type of data you’re handling easily. As opposed to something like c/c++/c#/java/rust

    • classes feel a little like an afterthought personally and are a bit weird compared to other object oriented languages like c# and java

    • this is petty, but the fact that using spaces instead of tab or vice versa when you’ve used the other throughout prevents your program from compiling is ridiculous. Whoever thought using whitespace to enforce compilation is a madman!

    Given I primarily write in C#, I’ve found it a really nice language to learn object oriented fundamentals and using interfaces properly, abstract classes etc. etc. Learning these would give a strong foundation for other languages much easier and concepts which will definitely be used in game development and would allow her to work with well known game engines later in life if she desires.