Ask HN: 9-yo son wants to build a game, I'm lost. What can I do?
My son hasn’t really showed any interest in computers until now. He’s been spending a lot of time over the last couple of weeks designing some sort of a game (on paper) and now he wants me to help him build it, whatever it is. I don’t want to let him down but I also know how much work that goes into a game (he specifically wants it to be 3D).
I’m a decent developer, although I’ve not done game development professionally I did tons of demos on the 90’s so I feel I know the basics of 3D math but I’m pretty sure he will lose interest if I try to teach him x86 assembler :)
Joke aside, what can I do? This sounds like a great project for us to explore together and hopefully he can grow interest in software design and development.
Are there development kits I can start with (unity?)
How do I keep the project “contained” so he feels that he accomplished something but still feels we developed something close to his vision?
Thank you HN.
390 comments
[ 2.6 ms ] story [ 952 ms ] threadhttps://scratch.mit.edu/
?
If thats too basic for his idea - unity, unreal engine and godot are good hard options.
My suggestion will be for both of you to create a blank project, and then use gpt4 to understand the enviroment gradually.
My dad taught me scrath when i was about the same age and having access to chatgpt as a way to quickly learn how to do the things we wanted woul have amplified the experience so so much!
Like don't make this too complicated. My dad, when I wanted to learn programming literally just gave me some "starter BASIC program" and let me find out things from there. No internet, nothing. Oh and a set of like a gazillion 3.5" floppies with Borland C and a book accompanying it.
I made a super cool looking password entry screen with ascii art that was started by autoexec.bat before showing the start menu. Super secure lol (i.e. not at all but super cool and fooled all the other kids).
I'd recommend Roblox for him to start if he really wants to make a game. Zero math required unless he wants to do those parts. Lots of help online, in some cases probably from kids his age actually. And you can but don't have to program things properly instead of just using the UI.
Also, you didn't mention what his vision is. So we can't really say if 'let him loose' is likely just gonna frustrate him or what.
That said, one of the best learning experiences I had was when I broke the computer completely. I was playing around with those autoexec.bat settings and suddenly I could not get it to start at all anymore. My parents were gone for the evening. I had I think like 3 or 4 hours until they'd come back and I definitely didn't want to tell my dad that "I broke the computer". I tinkered and tried things for hours and like minutes before they came back I got it to boot into a DOS prompt again. I was so proud. My dad never knew. R.I.P.
Yeah I know, that’s how I started as well. Got some old 8086 and zero instructions on how to use it.
But he’s not curious in the same way I was, maybe it’s the time right now. Kids expect immediate gratification, or maybe he needs a bit of a push.
I looked at Roblox studio, that looks promising. Thanks!
With Roblox he will definitely be able to just use pre-made (of not super awesome looking) cars and zombies. In fact the Roblox tutorials come with a pretty good looking Zombie actually. With animations and all. They also have some official item collections which included high and low poly stuff.
You can help him put together a simple version in a couple days tops probably. Like something that's literally just car that won't drive, some zombies that walk towards the player location if in range, he has to long press to "repair" the car and escape. First version done.
Then expand from there, like have an actual "broken car" model vs "working car". Start adding houses and streets and an "escape zone" you gotta reach etc.
That said, don't underestimate his curiosity. I thought my kids wouldn't get past that either and now I sometimes glimpse or they show me what they've been working on. I just showed them some 3D software like Blender, they got a tablet and a cheap graphics tablet for the PC. And I do see them doodling around with it, trying things. Just like we did. But with cooler tech. Just today actually I told one of them when they were on the tablet how I watched Star Trek as a kid and always wanted to "live long enough that I'd have something like the P.A.D.D.". And look here we've had iPads for "forever" now and the kids think it's normal to have.
He can blow up (just super size) the models and maybe find some "motor" asset someone made and published to actually put under the hood or just next to the car, which he needs to repair too. A blown out tire? Go find rubber or a new tire? Lug it back to the car first. A jerry can asset someone made that he needs to find at a gas station (maybe someone already made that asset) to fill up the car. Like "if Jerry can is in inventory - inventory is already pre built in roblox just use it - then long pressing the action key will fill up the car". Find a "lead pipe" asset to use as a weapon. To begin with use one of the premade with animations and everything swords. The learn how to make your own.
Since it's all for learning nobody has to care about asset licensing or money. When he does, it's a teachable moment.
emphasis on solving problems and surviveing rather than crime.
* https://kenney.nl/assets
* https://kenney.nl/starter-kits
The asset range includes 2D & 3D and in a variety of graphical fidelity/style from 1-bit to low-poly--including sets which are designed to work together.
The "Starter Kits" are a more recent development which aim to get you something working out of the box with Godot which you can then customise: https://github.com/KenneyNL/Starter-Kit-3D-Platformer
I'm pretty sure you'll find both cars and zombies to start with... :)
(Another person who shares high-quality free assets worth checking out is Kay Lousberg: https://kaylousberg.itch.io )
Then, even if the language would be different, they can transfer to a proper game engine like Unreal.
But publishing the game in Roblox for real could still be a good thing (or not). Just don't expect to "get rich fast". It can teach that even you have a cool game, nobody is gonna find it and you'd have to stand out. In the end it's a bit like YouTube. Same exploitative relationship. You might make money. Most won't. Many will feel lots of pressure for no reward. And even with reward the pressure might become too much.
It won't be 3D, but the reality of life is that sometimes you have to move incrementally--and that's a big part of programming :T
[0] https://godotengine.org/showcase/
[1] https://docs.godotengine.org/en/stable/getting_started/intro...
[2] https://gdquest.github.io/learn-gdscript/
https://godotengine.org/showcase/rpg-in-a-box/
For a 9yo, you might need to help. Take that opportunity.
Indeed. Quality time with yer kid and learn a potentially useful, maybe even profitable new skill right alongside 'em? Win, win.
https://roblox.com/create
Disclaimer: I work for Roblox Corp.
You also don't need Lua knowledge.
The games can run on desktop, mobile, and even console. Built-in multiplayer. Huge community. Lots of tutorials. It's pretty amazing, to be honest.
https://en.wikipedia.org/wiki/List_of_video_game_genres
demonstrate how complex even the simplest graphics games can be:
https://github.com/flightcrank/pong
build an appreciation for the math involved.
cut the project into pieces; get a cursor character moving; then intercepting objects. then start working on eye candy.
work the skeleton of the game first, then start dressing things up.
The issue I see in starting in Unity or an equivalent high-level abstraction (e.g. threejs.org), is that it doesn't build strong fundamentals in how you think about solving problems. Many kids these days think they are "coding" when they are really just modifying a collection of examples and starting points (which has fueled the burgeoning industry of summer camps teaching "Minecraft modding"). As is the case for many other skills, great amateurs make great professionals.
* Simple games, tic-tac-toe (naughts and crosses), hangman, pong.
* Pair programming
* An activity you do together.
It’s an opportunity to be peers because neither of you has expertise or experience.
It’s an opportunity to learn together.
Don’t let it be “Once, my dad and I…”
Good luck.
If programming, I would nix the idea of a 3d game, and get him to do the concept as a 2d game of some kind, eg a platformer, or top-down, in Scratch.
Scratch is quite limited (IMHO wrongly, and in the wrong ways), and you need all kinds of hacks to get some things to work, but sometimes they make things quite easy, for example, you can make a 'scrolling platformer/tilemap' type game without having to code a tilemap, by setting a huge background image, and scrolling it around.
Moving to 3d, there's either a huge jump in conceptual complexity (3d math, etc), and/or a load of learning the tool - eg unity, godot, roblox, etc, a lot of the work is operating the 'studio' and 3d design parts; actual programming can sometimes be just a small part of the project.
On the programming track, as a next step from Scratch, I would (and have!) choose lua/love2d, or even fennel/love2d. Love2d is a simple library/framework, and Lua is much simpler than python, and you will (are forced to) learn the basics, for example there's no built-in object-orientation, you make it yourself, so you learn how such systems actually work.
https://www.nintendo.com/en-ca/store/products/game-builder-g...
The app has tutorials and built in games to get him to work up to making a game.
Surely, his current game is too ambitious for him to pull off but this will get him making something and thinking about programming.
There is also RPG Maker depending on the style of game: https://www.rpgmakerweb.com/products/rpg-maker-mz is the latest, https://www.rpgmakerweb.com/products/rpg-maker-2003 is the oldest and cheapest.
Do you have any experience with Dreams on PlayStation, for comparison? My son and I have been using and enjoying Dreams but I do feel that he would be better off with something a step down in terms of complexity and challenge. GBG looks like it could be the sweet spot.
But seeing GBG being mentioned, I wish I had that growing up. Looks like the perfect way to get started.
If it's just level building, then Super Mario Maker 2 (also Switch) and Levelhead (Steam, more accessible on Switch). There's also BQM (Steam,Switch) for isometric dungeon designing.
Fully 3D online game engine with multiplayer. Most of the game is made in the interactive click and drag mode, but has modes for extra logic and ultimately a full JS scripting engine if needed. Kind of like Roblox but far simpler on the dev side.
This shows the end to end development of a soccer game: https://youtu.be/6a1NmNhoO0M
My 10 year old was able to figure out how to make some fun stuff with it.
Unity has a pretty good debugger and graphical language.
Also somehow need to help develop tolerance for a great deal of thumbing through giant directories of names of things, skimming abstracts, and uncertainty in general.
There are some really spectacular (given the limitations) 3d games, but they're the exception. However, the IDE is built-in, it's basically lua, and you can load/view/edit the source code for all the published games.
https://www.lexaloffle.com/pico-8.php
Some newcomer-friendly tutorials: https://nerdyteachers.com/PICO-8/Bitesize_Games/
I think for a newcomer this is where loading an existing game (like Celeste...) and just changing sprites or updating logic gets you some of the non-built in features for free - but at that point you're more modding someone else's game more than creating your own. I can see how that path could be a non-starter for some folks (no matter their age).
Get him started with combining mods for Minecraft. Then he’ll learn about collisions, debugging.
Then there are scripts for Minecraft mods to modify items/recipes.
Eventually that will be too limiting, at which point you throw him bodily into InteliJ and see if he floats.
https://www.kodugamelab.com/
but since 3D is a requirement, godot seems the more appropriate option. Although, I would say too early.
Have made many small games with/for the kids (6yo and 10yo) in Scratch and using microbit+LCD and Makecode Arcade-compatible. Start small, grasp the basics before starting on something big.
Look at what he's really doing. He doesn't want to CODE. He wants to make a game. Like every kid. Emphasize the creative part just like he wants. Do things on paper, just like he is doing.
Let me get this one point across: YOUR SON DOES NOT WANT TO LEARN TO CODE (right now). HE WANTS TO SPEND TIME WITH YOU and explore ideas at the speed of his imagination.
Enjoy it.
Talk about the game while you go for evening walks or drive to/from school.
He will enjoy every minute of it even if nothing is ever produced.
Maybe the bar was lower for my interests at the time (flash mini games vs AAA 3D games as described here), but just offering a different take: Maybe your son _would_ very much be interested in learning to code. Though starting with 2d retro games might be easier.
My daughter is currently more interested in playing existing games instead of creating her own. I would probably look into how to create something in Roblox if this would fit for the game.
I’ve made Super Mario levels on paper with my 7 year old son for the last couple of years that he LOVES. we make a small Mario character and long landscape oriented map… cardboard or butchers paper roll work well.
He rarely actually plays the level even. We spend time drawing obstacles and baddies. Then he comes up with tons of new baddies with new powers from his imagination.
It’s a great pastime.
I would have recommended Scratch [1] for a first introduction instead of hoping into code right away, but since he is 9yo he will most likely want to hop on big game engine like he sees his favorite youtubers doing.
so while you guys are thinking about ideas, you should look up and compare engine in this thread and learn one, then teach him and make the game/prototype together later.
[1] - https://scratch.mit.edu/
I'd argue that the even safer bet is to start by using a game editor.
For example Warcraft III had a great map editor with which Dota was created.
It's probably the easiest way to get someone started. Advanced configuration requires scripting so it's the very next step to programming.
That game was amazing. I can’t believe Nintendo didn’t call me up, but instead decided to make a 3D game
Well, I as a child (say: 6-8 old) was really rather thinking deeply how a suitable way (what programmers would call "data structures" and "programming abstractions", "design of a programming languages" - but of course on a child's level) might look like so that the computer can "understand" and precisely execute my game ideas; my games as executable files would rather be the central side product of this.
I also (I am really not lying or boasting!) was thinking as a child (just to be clear: this was my child's imagination; from my present knowledge I know of no suitable way to make this actually work) how if the abstractions are there, one could easily "combine" existing games to make new games - perhaps even partly automatically by a computer:
Imagine this: using some photo editor, you can use the magic wand or lasso tool to select some part of a photo, and copy-paste this part into another photo. Why isn't it possible, if you, say, wrote both a space shooter game and an economic simulation game to select and copy-paste some part of the latter into a former to turn the space shooter into a space shooter that also contains economic simulation aspects?
The "best actually existing" (really bad) approximation of this that I have seen in life is how the GURPS tabletop role-playing game system (https://en.wikipedia.org/wiki/GURPS) enables (in principle) to "copy-paste" elements from one role-playing setting into a whole different "incompatible" one (but it is not that you would want to do this for your typical role-playing session :-) ).
Yes, this is how a 6 to 8 years old child (the former me) thinks about game development. :-)
And I was thinking how does code translate into something like red alert. I didn't have anyone to guide me to fill in the dots at the point though and it was just before internet was common everywhere and before google was a household name in England at least to me.
Luckily when my dad came home he explained that we actually had GW-Basic on the computer (an IBM XT my dad had bought second hand from a friend's dad who was IN computers). That's where it all started. My dad could keep up for a bit but soon I had to rely on whatever the local library offered, and later a floppy disk that somehow made its way to me (copy by copy) full of useful TXT files and examples. Oh internet where were you.
So I feel a bit reserved towards the 'YOUR SON DOES NOT WANT TO LEARN TO CODE' screams that seem only based on very, very little context. But I do agree with the general advise, best to not jump to conclusions and go by their (the kids) pace.
My Dad was a software developer. But for various reasons, he never initiated and practically never taught us anything about software development: but made sure that books were available, so that if it interested us, we could figure it out ourselves.
Well, I and my two elder brothers were each copying things from that BASIC book by the age of six or seven, and making up our own stuff within a couple of years, and we all ended up software developers. (None of my other siblings were at all interested.)
Most children around these ages probably don’t want to learn to code. But, as my dad puts it, there are some that, when they see what is possible, find the notion of making computers do what they want irresistible. We three all definitely wanted to learn to code.
I can apply this to some situations I have with my daughter. I have a tendency to get over-excited when she shows interest in my interests, and try and push her to do the things with me.
Moving their hands for precise ability and their whole bodies, or sitting down to draw or read, might be more urgent than sitting in front of a computer, though
We made a game within Minecraft, a story and a treasure map and a treasure.
Don’t overcomplicate it.
10years later my son showed me his multiplayer, 3d unity game he made for fun. I was blown away!
I love video games and went on to work in game dev for more than a decade, but that was still one of the most fun things I've ever played.
Do you think of this advice as specific to working with your kid(s) or do you feel it applies (or should apply) more generally? If so, in how far?
In this case however, having some quality time with son is the most important thing, and putting a deadline would affect the fun for the worst.
Maybe he does, but he doesn't know it yet. Do not force him, but you can show him. That's actually how I got into coding. Like every kid, I wanted to make a game, but progressively, I found that I had more fun coding than actually making the game. In the end, I went in so many tangents I didn't complete my game, but who cares?
Everyone is different. Maybe he just wants to imagine stuff, maybe he really wants to produce something, or maybe he wants to code, or write, or draw, whatever. Maybe that's an opportunity to see what he is really into. For me, it turned out to be code. People, kids and adults alike don't just want to "learn to code", they have a motivation and code is what gets them there. You need a starting point. For adults, it is often making money, but for kids, making a game is probably the most common.
Makes me realize I never wanted to learn to code. I never set out for it. I want to learn to code things now, but back then? I wanted to make an executable that did something. Sometimes it was a game. Sometimes it was some weird graphical screen saver like thing. Coding was just to make it happen. That became something interesting too, eventually.
It is something we as programmers forget. Why we did it in the first place. It usually shows up when those analyst show up and want some program. Cant they see how amazing our code is? /s When what they want is a program that does something.
I started coding pretty young (Perl probably ruined me at 12), and what I realized as a teenager was that I didn't really enjoy programming, it was just the means to an end. I wanted to make the computers do something.
I'm a system administrator now. Turns out that most of the problems I wanted to solved had capable people already working on them.
Those years of coding give me such an advantage when things go wrong, though. I've never regretted it for a second.
As I matured, coding eventually became my own thing, and I started to enjoy it as something I could escape to that nobody around me really had to understand. But when I first started dabbling in it, you bet my Dad heard just... hours, and hours, and hours of my rambling. Mad props to him for listening, even if in hindsight I realize he barely had any interest in the subject and found it hard to keep up. You did good, Dad.
I made primitive games. They weren’t much more than shapes and colors and sounds, but I was able to make it do things. And that was before there was an internet where I could find help. I didn’t know anyone who had ever written a line of code.
I think one might be surprised what a 9 yr old boy could do these days programming.
Pretty much nethack, but using his dungeon designs which he spent hours designing with graph paper.
I did it this way because that's how I designed my first game, on a C64, in 1986, at age 10.
He gets to design monsters, treasure, items, dungeons, etc.
Tabletop implementation is the fastest way to actually play it.
I put on my engineering hat and saw a "problem" to be solved and a "solution" being a finished game...
And it's mutual, I want to spend time with him on something he's passionate about, but I made it into a problem I can solve.
Thank you!
It gave us time to go over programming fundamentals but for the most part we just had fun and came up with wacky content for players to progress through. Later, we went back and added static images.
One of the most satisfying things for him was being able to spin up his retro game at school for his friends to play.
You are probably right, but when I was 9 I definitely wanted to learn to code.
Five years after that I was on equal footing with a few adult software engineers around me (my parents and their friends).
Playing/hacking/working with professional-grade code (leaked Quake code in particular) really helped me to form a good style. Wish I’ve received more code review hours even on kiddies projects.
Funnily enough some of the code I’ve written at 8-9 (a menu system for a primitive graphics editor) I’ve reused five years later in a project that had users and significant money returns.
NOTEBOOK
NOTEBOOK
---
THe ONLY successful devs who've built shit you touched, common: PERSONAL NOTBOOK.
Make them write.
What makes a successful comedian: WRITING.
NOTEBOOK is the most underrated Human Tool.
If you want to be an author, CREATE. WRITE.
This. 100% this.
He wants a game, that he can tell himself and everyone that it is His and he wants you to do it for him. He does not want coding to show up in the way!
Take this as a chance to show him that he can build things, the way he wants it. Make an effort and let him see it. Give him a taste for it. There's wisdom in that quote about longing for the vastness of the sea to make good sailors.
There will be joys in small wins. It will surely never complete. But he and you both will cherish the wild imagination that comes with something like this.
But all of these video games are not going to just CODE themselves. =/
Programmers and coding on game engine:
The Definitive C++ Book Guide and List? - stack overflow https://stackoverflow.com/questions/388242/the-definitive-c-...
Best Lua Books for Beginners and Advanced Developers - turing https://www.turing.com/kb/best-lua-books-to-learn-embedding-...
Unreal Engine 5 Revealed! | Next-Gen Real-Time Demo Running on PlayStation 5 - youtube https://www.youtube.com/watch?v=qC5KtatMcUw
Best Unreal Engine Books For Aspiring Game Developers - whatpixel https://whatpixel.com/best-unreal-engine-books/
3d animators and content assets:
Best 3D Modeling & Digital Sculpting Books - Concept Art Empire https://conceptartempire.com/best-3d-modeling-books/
Final fantasy X/2 - Cascada Everytime we touch (slow) - youtube https://www.youtube.com/watch?v=fuFF_6bg4T4
3D Animator Job Description, Salary, Skills & Software https://www.cgspectrum.com/career-pathways/3d-animator
Dead Fantasy Full HD all Part (1, 2, 3, 4, 5, 6) - youtube https://www.youtube.com/watch?v=EHA3opXjcd0
The Art of Fighting Game Animations: A Step-by-step Guide - ArtStation https://www.artstation.com/blogs/gamepackstudio/4wON/the-art...
Good luck even making a video game without doing CODE part of it. =/
How Much Does It Cost to Make Unreal Engine Games? - medium https://medium.com/@burnsana2/how-much-does-it-cost-to-make-...
Fox Engine:
Metal Gear Solid 5 Fox Engine Tech Demo - youtube https://www.youtube.com/watch?v=_18nXt_WMF4
Metal Gear Solid 5 Red Band Trailer (E3 2013 ) - youtube https://www.youtube.com/watch?v=NL4ZxDWLwpM
CRYENGINE:
CRYENGINE 5.6 Tech Trailer - youtube https://www.youtube.com/watch?v=vUyWwqY-pYc
Crysis 3 | 7 Wonders Episode 3 "Cause and Effect" - youtube https://www.youtube.com/watch?v=DSyb6YyaSag
next-gen:
Why next-gen games have next-gen prices - arstechnica https://arstechnica.com/gaming/2006/12/8479/
Is a Realistic Water Bubble Simulation Possible? - youtube https://www.youtube.com/watch?v=O-52enqUSNw
How Games Have Worked for 30 Years to Do Less Work - youtube https://www.youtube.com/watch?v=CHYxjpYep_M
game history:
How Much Does It Cost to Make a Video Game? - techspot https://www.techspot.com/article/771-cost-of-making-a-game/
The true story of the worst video game in history - engadget https://www.engadget.com/2014-05-01-true-story-et-atari.html
Mario:
How Super Mario Helped Nintendo Conquer the Video Game World - history https://www.history.com/news/super-mario-history-nintendo-do...
History of Super Mario (1985 - 2020) - youtube https://www.youtube.com/watch?app=desktop&v=JO86YAiYFjc
Nintendo HQ:
Nintendo’s old and new HQ (headquarters) in Kyoto - sharing kyoto https://sharing-kyoto.com/See-Do/magazine/td008279
Tour inside Nintendo headquarters in 1970 - beforemario http://blog.beforemario.com/2018/11/nintendos-office-and-fac...
Arcade Game:
Arcade Game: Popeye (1982 Nintendo) - youtube https://www.youtube.com/watch?v=hErObuqvlHs
Mario Bros. (Arcade) Playthrough - youtube https://www.youtube.com/watch?v=Qn5z1x9N_jE
Game Studios:
The Biggest Video Game Design Studios and Game Publishers of All Time - gamedesigning https://www.gamedesigning.o...