Ask HN: My son (9yo) wants to learn to develop games
My 9 yo son wants to learn to develop games, and, as I developer myself, I'm more than happy to help him on this road.
I could start with the programming basics, the rendering loop and iterate from this, but it is quite complicated and will take quite some time before having some significant results.
Another approach would be to start by having to resolve gaming puzzle that requires development, starting with very easy levels and increasing in complexity. At some point (and if he follows through), he will have enough knowledge to be able to handle the complexity and the underlying of what a games is made of.
Another issue I'm facing is that we are French. It's a requirement for us to use resources in French for now as he improves his English along the way.
Here's what I thought I could do:
1. I thought about doing the learning myself, implement a course he could follow with increasing complexity. But I know myself. I'm not great on sharing knowledge, and I would dive too deep in complexity. Moreover, it would take time before having visual results (which is what he is looking for, of course), and might probably loose interest before having valuable results. 2. I thought about subscribing to online courses (Udemy, Coursera, etc) about game development. Problem is most of the courses are about Unity and C#. We are not there yet. (and not too many in French). 3. My best scenario for now is to create an account at either [CodingGame](https://www.codingame.com/) or [CodeCombat](https://codecombat.com). They apparently have a French version and hopefully the beginning would be not that hard. And since it's coding, I could help him. 4. Turn to HN and ask for better suggestions on how to do this :)
Thank you for your help!
31 comments
[ 3.5 ms ] story [ 75.0 ms ] threadThere is a localization in French, with every blocks being translated "If" become "Si", "When" becomes "Quand" and so on.
It provides a playground when you can move a sprite, play some sound, basic animation and management of inputs. It manages the event loop, rendering loop, etc. It is doable to some very basic games with a sprite moving/chasing others.
I think it is at the right level because it is very visual and you get the feedback immediately. This is actually used in some collège course as an introduction to programming.
Source: I have been in that exact same spot (same nationality, even). We toyed with Scratch and similar apps for a while, but we eventually switched to just doing more things together and less computer stuff.
On my end, I see this as a win-win; I get time to spend with my kids, share my passion and allow him to learn things he likes. If it leads to him not wanting to do this, we can find something else to share.
In ~70 lines, you have a Mario-like platformer with live code in the browser! https://elm-lang.org/examples/mario
You could use the turtle example as the basis for a racing game: https://elm-lang.org/examples/turtle
And there's even a WebGL implementation for 3D graphics! https://elm-lang.org/examples/first-person
> Another issue I'm facing is that we are French. It's a requirement for us to use resources in French for now as he improves his English along the way.
The Elm Europe community seems to be pretty large. I'd try reaching out to them and see if anybody has French resources.
I'm having one issue here is that ELM is not a language I know, so I'll have to learn it along with him in case he get stuck :D
You (or your son) can also email me at hello@taylor.town if you need help getting started :) I'll be happy to answer any questions you have
Best of luck!
If you learn to explain tech to a child, you should be able to effectively communicate with most stakeholders. It might be an opportunity for you to upskill together.
(But I'd be almost ready to start some kind of course based on his need and improve it for others :p )
2 birds with 1 stone?
He'll have to learn terminology anyway (loops, buffers, variables) etc. So, instead of calling your buffer variable `tampon`, call it `buffer`.
But I've started to work with him, and we went beyond what the early tutorials were asking to make him learn things while being in a given topic. I provided the requirements and explanation so they were in French.
I don't mind the code being in English though, my focus was on having the explanations in French ;)
At Christmas, he got Mario Maker 2, and he's completely crazy over it.
I think it's something I can help him make progress and take his enthusiasm as a fuel for his knowledge. Maybe he'll stay on and learn a ton, or at least learn the basics, whatever he wants, I'll be fine with it :)
>microStudio is a free game engine online.
>Create games, learn programming, play, share, prototype and jam!
But if all goes well, that might be something we'll learn!
Bonus, you can download it to inexpensive hardware and run it there, such as https://www.adafruit.com/product/4200