return to table of content

Ask HN: 9-yo son wants to build a game, I'm lost. What can I do?

fn-mote
49 replies
1d15h

Understand that you're not going to finish what you start. Do things that are fun. Keep a notebook of ideas. Talk about plans and what you want do. Spend time with him. Even if almost none if it ever makes it into code, the imagination part will be going wild.

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.

arcastroe
4 replies
1d13h

When I was ten years old, I played a lot of web games built on Flash technology and asked my parents how I could build my own. My parents sat me down and taught me the very basics of how to code. I didn't learn very well from them, but they also bought me a textbook and I learned great from that. By age 12, I had recreated a lot of the games I was fond of, pacman, snake, space invaders, etc.

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.

rmetzler
2 replies
1d10h

Yeah, when I 10 or 12 years old, I found a book with simple games in Basic. I had fun copying from it and learned a bit of programming.

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.

PakG1
0 replies
1d9h

I remember in grade... 3? a kid at school was showing me books from the library about how to make a game in Basic. Then one day he finally had it going. It was amazing to see. I can't remember what it was, but it would have been the simplest thing. But it was still amazing.

F-W-M
0 replies
1d8h

Modding her favorite game could proof a entry drug to the industry.

NoGravitas
0 replies
1d3h

MIT's Scratch is very good for making the equivalent of flash mini games. My 9yo loves making animations and platformers on it.

GuB-42
4 replies
1d6h

YOUR SON DOES NOT WANT TO LEARN TO CODE

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.

sumtechguy
1 replies
1d4h

Interesting thoughts.

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.

doubled112
0 replies
1d4h

This resonates.

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.

zeta0134
0 replies
1d4h

For a lot of kids (myself included), the deepest and strongest desire was not to code, though that's how the effort can manifest. The desire is to then show the end result to someone (often a parent/authority figure) for recognition. It comes right back to the relationship dynamic, and this can be an intensely strong motivator.

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.

mattmaroon
0 replies
22h52m

He might. When I was around that age, I had an Atari that had a feature where you could write your own code. I think it was sort of a version of basic.

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.

wodenokoto
3 replies
1d9h

That reminds me: When I was about 9 or 10 I created the sequel to Zelda a link to the past. With colored pencils. On paper. Dozens and dozens of sheets of paper.

That game was amazing. I can’t believe Nintendo didn’t call me up, but instead decided to make a 3D game

als0
1 replies
1d7h

That 3D game is pretty good, to be fair.

dudeinjapan
0 replies
1d3h

I dunno I thought it didn't have enough fetch quests.

Blaine0002
0 replies
1d6h

buried in a hard drive somewhere, I still have hand drawings of a game we were gonna make on RPGMaker that was about dark vs light. crazy to think back on.

taskforcegemini
2 replies
1d10h

there are 9 year olds who want to learn to code, don't stop them if they do

oblio
1 replies
1d6h

The kid didn't ask to code, he wants to make a game.

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.

Avicebron
0 replies
1d5h

This is how I started! Close to 2 decades ago

soci
2 replies
1d10h

I wish I had read your comment 5 years ago when my son wanted to build a utterly complex game in Scratch. I ended “coding” the game, almost on my own, because it was boring for him, and the result did not resemble what my toddler wanted/imagined. Of course he was imagining an AAA game built in Scratch… If anything good, the learning for him was building games is hard, and lost interest trying further. Great advise!

underdeserver
0 replies
1d5h

Not sure that's good. Yeah it's hard to build a AAA game, but you can still have a lot of fun building a smaller game, and people put out really impressive stuff in Ludum Dare (a 72-hour build-a-game-from-scratch event).

mempko
0 replies
1d4h

I learned programming as a child using basic because I wanted to make games like super mario. My first game was a pick your own adventure novel. Just text. My second game was an RPG, all ascii. I eventually build a 3D engine in basic (yeah, i know). If the kid finds programming fun, then starting with scratch won't deter them. If they don't like programming but want to make a game, then yeah, I can see how finding out how hard it is will deter them!

sebzim4500
2 replies
1d3h

YOUR SON DOES NOT WANT TO LEARN TO CODE

You are probably right, but when I was 9 I definitely wanted to learn to code.

startupsfail
0 replies
1d3h

When I was as 8, 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.

mtillman
0 replies
1d3h

Kids can build games pretty easily now with Scratch. I’ve several friends whose kids are doing this at that age and a couple are writing scratch in school. It’s pretty easy these days.

aleph_minus_one
2 replies
1d8h

He doesn't want to CODE. He wants to make a game. Like every kid. [emphasis mine]

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. :-)

kingkongjaffa
0 replies
1d8h

Yeah I was about 9 or 10 and an techy relative was trying to teach me binary while I was playing command and conquer red alert on a windows 98 machine.

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.

icoder
0 replies
1d7h

When I was ~9 (maybe 8, maybe 10) I picked the GW-Basic book from shelf (my dad had that for some reason) and started reading. I was fist thick and mostly a summation of commands, so it did not made a whole lot of sense, but hey, I had a day off from school (or was on sick leave) and had already finished the (much thinner) MS-DOS book. And I just loved computers.

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.

welfare
1 replies
1d4h

Wow, this is great advice. I never thought about it this way.

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!

jollofricepeas
0 replies
1d4h

Me and my son created a choose your own adventure console game using Repl.It and Python.

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.

walledstance
1 replies
1d6h

Absolutely this. As a middle school teacher of many years I feel like I have some knowledge on this subject. Almost all children want to spend time with an adult. In my classroom the activity we do together doesn’t matter to my students, besides the attention I give them during the activity. For kids, adults are treasure troves of attention, and they want that attention. Give it to them in positive ways and you will see the relationship grow. Don’t worry about whether or not you produce something in the end, it was the relationship that mattered to the child from the get go. Really only adults, through social conditioning, are worried about producing something. Kids just want to feel important and feel part of a healthy, positive relationship.

startupsfail
0 replies
1d3h

Just checking, you also do pay attention to what kids are actually learning and if their skills are improving? Some of the kids want to learn, not just engage in an attention seeking game, feeling important and healthy relationships with adults.

lubujackson
1 replies
1d11h

What a great response. To follow, this doesn't preclude anyone's child from jumping head first into programming, just that "producing" a game isn't really the goal but "making" it is. My 9 year old son makes mini RPGs on paper. Like he draws hit points and a monster and does attacks and marks damage as he plays. It's awesome. Sometimes "making a game" doesn't need to be programming at all.

ssss11
0 replies
1d10h

Yeah good points (and the parent).

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.

jstummbillig
1 replies
1d6h

Understand that you're not going to finish what you start. Do things that are fun. Keep a notebook of ideas. Talk about plans and what you want do.

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?

pizzaminded1
0 replies
1d6h

IMHO this can be used more generally - look at pet-projects that people are making in their free time. There is no such thing (in most cases) as deadline or "finish", because there is always something that can be added, improved or taken care in any way. Keeping all ideas in a notebook allows you to review them with other contributors, and even when project would be abandoned, this would allow to refresh memory when someone decides to come back later.

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.

burrish
1 replies
1d10h

This ! Learning to code will come after, spending time with your son writing down ideas might be more fun at first and it's a good time to teach him that games are thoughts first and then coded after.

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/

antupis
0 replies
1d8h

you can also make games with Scratch eg https://scratch.mit.edu/projects/888899999/ . Another option is Replit that also has plenty of games ready https://replit.com/community/games

JR1427
1 replies
1d7h

Wow, great answer!

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.

Aeolun
0 replies
1d5h

My son severely abuses my inability to play computer games anything less than one hour by always wanting to play with me :)

samstave
0 replies
22h59m

NOTEBOOK

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.

rodolphoarruda
0 replies
1d3h

Yes. My then 10 y.o. son also wanted to build a game. At least that's what he told me. So we went out together to learn how to do it in Roblox. We eventually learned we needed to be coding in the Lua programming language, which is by itself cool as we are Brazilians. We took some classes together but then I saw my son suffering as he tried to get along with abstractions and the development process itself. He quickly found out it had nothing to do with playing games! So the lesson we learned was, as the parent commented, my son and I just wanted to do something fun together. That's basically it.

paraxion
0 replies
1d3h

Thankyou. And thankyou to OP. I have exactly the same situation as them, and spend a lot of time beating myself up that I can’t help him realise his never-ending torrent of creative flow. But you’re right: I need to immerse myself in it with him. Thankyou.

makach
0 replies
1d7h

This comment is so incredibly important.

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!

lelanthran
0 replies
1d6h

I did this, we produced a board game eventually, using dice for monster spawn and dice for monster hit, and hitpoints, etc.

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.

gofreddygo
0 replies
8h29m

YOUR SON DOES NOT WANT TO LEARN TO CODE (right now)

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.

drakonka
0 replies
1d6h

This. When I was a kid my best friend and I made our own Pokemon game by drawing our own Pokemon cards and assigning various nuts (still in shells) to each one. My Charizard was an almond and her Mewtwo was something like a pecan, for example. We created our own arena on cardboard and would "battle" by knocking our nut-Pokemon against each other - the Pokemon that got knocked out of (or overshot) the borders of the arena lost, and eventually the loser of the set would get to pick an opponent's Pokemon (nut and handmade card) to confiscate.

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.

cptaj
0 replies
1d3h

This is some mountain kung fu master level of advice. Good job, sir

anonzzzies
0 replies
12h56m

I wanted to learn coding at 8 to make games, not necessarily with my father. It was begin 80s so bit different; I went to halls were they sold inventory from burnt out stores where I got books and mags for pennies and so I learned basic (and basicode), asm and pascal. After that my parents brought me to meet-ups. I wanted to spend time with wizards who could teach me software/hardware, not my parents per-se (although my father did work at a IT firm, programming was not what he did).

adastra22
0 replies
1d8h

I was going to post about game engines worth exploring to get this project off the ground (bevy, Godot), but then I read this post. OP, this guy gets it!

Erratic6576
0 replies
1d7h

kids need to spend fun time doing creative stuff with their family members for their healthy development. They are somehow aware of it and they ask for it.

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

keyle
12 replies
1d12h

I've used many engines and shipped many games, including commercial titles (I don't derive a salary from the game industry, though).

I think I'd recommend something like GameMaker. I've never used it myself, but it's a self contained IDE that has everything to make decent 2D games.

I'd advise against the pitfall that 3D games lure you into. That includes engines that are 3D with a 2D "mode". There is so much leaky abstraction, and the doco will be intermingled with 3D all over the place, leading to frustration and unnecessary complexity.

If a game is fun in 3D, chances are you could write a game in the same vein in 2D and carry the idea and execution across. 3D games are beyond ridiculously hard to execute on by oneself (well), and require exponentially more work to complete.

There is no gain, in terms of discovering the joy of making games, in diving in 3D first.

If you prefer a more programming centric approach, with no IDE, I recommend Love2D. It's a joy to use, well documented.

If you want a full blown low level approach, I recommend Raylib. It's fantastic and fun to use as well. But at this point, you're swimming in the deep end.

Also worthy of note is PICO-8. It's a fantasy console that can be easily ported on 'open' console (such as the ambernic), making your game feel alive, being played on a hand-held console. But as for the learning experience, I found it to be more of an expert's getaway retreat, rather than a good first choice for an engine. That said there is enough material out there and small enough API, to pick it up rather quickly, all batteries included.

montroser
3 replies
1d12h

Strong +1 for PICO-8. My nine year old kid got right into it.

sgu999
1 replies
1d6h

This and TIC-80 recommended bellow really feel more like a fun challenge for a programmer than a creative tool for a kid. Was it the first time your kid was exposed to any kind of programming?

montroser
0 replies
17h59m

True, was not the first exposure, and I still did a good lot of hand holding at the beginning.

livrem
0 replies
1d9h

Or the more free TIC-80. I have paid for both, but never used either enough to be able to say one or the other has any significant advantages.

https://tic80.com/

helboi4
2 replies
1d8h

I used to use GameMaker when I was exactly 9 so I would definitely recommend it. Scratch always seemed like it was not at all made to acheive any sort of playable game but GameMaker has a low barrier to entry but can make real stuff. I would try my best to convince him that he might have to learn to make something scaled down and 2D first, and as others have suggested, talk to him about his bigger vision game and brainstorm it for the future. That was definitely what I was doing at that time - making simple stuff and really enjoying actively dreaming about the bigger stuff.

paavope
0 replies
1d6h

I also started off around the same age with GameMaker; if it’s even half as good still as it was in the 2000s, can definitely recommend it!

In the beginning all I did was fool around with the example games and tutorials, and that got me started well. Like taking a bouncy ball game, changing sprites, playing around with changing things in the existing logic and every now and then accidentally stumbling upon an interesting mechanic.

The drag and drop interface is really nice for starting out; eventually I got into the scripting part and found out that I had kinda learned “coding” along the way

kfrzcode
0 replies
1d5h

psh RPGTK for life

EsportToys
2 replies
1d12h

Seconded for Love2D, here's a sample of how simple it is to quickly whip up something in it:

https://github.com/EsportToys/wireworld-love

orthoxerox
1 replies
1d11h

I was going to write that Love2D had an unusual drawback if you wanted to teach it to a 9-year-old: lots of third-party libraries had sexualized names.

However, this is outdated, and none of the recommended libraries can raise unwelcome questions with their names: https://love2d.org/wiki/Category:Libraries

Twey
0 replies
1d5h

On that page I see entries such as:

  - Grease
  - HUMP
  - Lovetoys
  - Löve Bone
  - Gspöt
  - Möan
  - fLUIds
To be fair, I doubt most children will question the names! And this is a small enough subset of the libraries that one can just avoid them.

lloeki
0 replies
1d7h

A good thing about PICO-8 is that it is a complete and closed environment, in that you do not need anything else and there's nothing to be added later on along the way.

It removes a ton of moving parts squarely outside the "I want to make a game from my notes" goal, like "Oh I discovered that Lua lib" or "which text/image/sound editor can I use" or formats or whatnot.

kfrzcode
0 replies
1d5h

Side thread: do you have suggestions for "validation testing" when it comes to gameplay -- not playability or fun factor, but more ... objective and mathematical? I'd like to "lint" the game, so to speak, as a formalized system in various states and I'm curious about how that is done in game dev

tharkun__
11 replies
1d17h

Let him?!

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.

welfare
7 replies
1d17h

His vision is a “survival zombie game where you have to find and repair cars to escape the zombies”

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!

tharkun__
2 replies
1d17h

Yeah totally see the gratification bit. You can help him of course and try to steer him towards incremental improvement.

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.

thunderrabbit
1 replies
1d15h

Thank you for simplifying the "repair" process to long press. That's amazingly helpful for me to think about ways to create a minimum viable product.

tharkun__
0 replies
1d15h

And the fun thing: it's literally just a property of the standard "action" in Roblox. So super simple even if he doesn't use Lua but just the UI. I.e. instant gratification. And he can change the number and Roblox will automatically show a progress indicator for the "action". (yes I've done some developing coz the kids wanted me to build a game for them. "daddy, daddy, I found this pink cow! You gotta put it in!" - I never finished coz it got boring but it was a lot of fun).

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.

rolph
2 replies
1d17h

Grand Theft Auto: the Dead Rising.

worthless-trash
1 replies
1d12h

Now you have my attention.

rolph
0 replies
1d12h

just throwing out an idea; basic mechanics of GTA but during the chaos as the rising first commences.

emphasis on solving problems and surviveing rather than crime.

follower
0 replies
1d12h

Whatever platform/engine(s) you end up trying, you both might enjoy looking through the game assets that Kenney shares with the world for free:

* 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 )

Lariscus
1 replies
1d17h

Word of warning about Roblox, it is home to child labor exploitation, gambling and chat rooms rife with predatory behavior. They allow young game developers to sell their creations and take a 70% cut of their revenue; that is if they let you cash out at all. I recommend caution and at the very least be involved in what your children are doing in Roblox.

tharkun__
0 replies
1d17h

Seconded on the money part. I'd treat it as just a game engine to scratch the itch of learning and steer them towards actual programming in Lua.

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.

I_Am_Nous
0 replies
1d17h

I second Roblox. They now have "magic generative AI" which can generate Lua code from comments. You can use it as a tool to learn as you go :)

Charon77
6 replies
1d13h

As much as I hate to say it, Roblox Studio is the way, especially seeing it has to be 3D.

It's pretty low barrier to entry thing

follower
2 replies
1d12h

The YouTube channel "People Make Games" has a couple of reports that I'd suggest parents consider watching first before going down that road:

* "Investigation: How Roblox Is Exploiting Young Game Developers": https://www.youtube.com/watch?v=_gXlauRB1EQ

* "Roblox Pressured Us to Delete Our Video. So We Dug Deeper.": https://www.youtube.com/watch?v=vTMF6xEiAaY

picadores
0 replies
1d8h

The kid with the burned out stare in the first video hits so hard.

Arbortheus
0 replies
1d9h

That assumes the kid is going to become some major Roblox game developer. If they just want to do it for fun and learning I don’t see the issue.

jhatemyjob
1 replies
1d12h

Yeah, a mod for Roblox, Garry's Mod, or Minecraft is the safest bet. Maybe there's another game I forgot

jetbalsa
0 replies
1d12h

Garry's Mod + Wiremod is really easy to get into if you use Basic Gates or even Expressions, Its how I learned to program when I was 12 (back in Gmod 9)

killerstorm
0 replies
1d6h

My daughter figured out how to do something in Roblox on her own (i.e. without my help) when she was 10 y.o. or something like that. So yes, the barrier is pretty much non-existent.

And it's possible to make pretty decent games with it. Like I saw FNAF on Roblox recently. If somebody told me it's a standalone game made by professionals in Unreal engine, I would have believed. It looks good.

Pet_Ant
5 replies
1d15h

Nintendo Game Builder Garage for the Nintendo Switch will get him started.

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.

darkteflon
3 replies
1d15h

Game Builder Garage looks really interesting, thanks for the suggestion.

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.

cityzen
1 replies
1d13h

If you have tried Dreams, I would recommend Little Big Planet. It has a game builder that is a step down from Dreams but they were both designed by the same company, Media Molecule. Not to mention LBP is just a magical game all around!

addandsubtract
0 replies
1d7h

I came into this thread with the intention of recommending LBP and possibly Dreams, although the latter is a big step up in complexity. LBP lets you do wonderful, creative things in 2.5D without any coding knowledge.

But seeing GBG being mentioned, I wish I had that growing up. Looks like the perfect way to get started.

Tourniquet
0 replies
1d10h

I'll also highly recommend GBG. My eldest had a good time building very creative things when he was about 9, and my younger son who is 6 has built a 3d platformer. i haven't a clue how to program it, but they pick it up easily! Also, they both love Scratch (not Jr) on a browser. Not 3D, but a great outlet for their ideas.

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.

gnu_lorien
0 replies
1d11h

I want to second Game Builder Garage. I recently went through the tutorials in this game with my six-year-old and it's been an amazing introduction. There are also a bunch of tutorials and games you can find the codes for online if he wants to go further once done. I've haven't found anything else that simplifies 3D game making the way this did.

Lariscus
5 replies
1d17h

Just download the Godot engine[0] it's free and there are lots of tutorials on Youtube. The documentation[1] also has a tutorial that shows you how to create a small 2D and 3D game. To learn programming with gdscript there is this free course by gdquest.[2]

[0] https://godotengine.org/showcase/

[1] https://docs.godotengine.org/en/stable/getting_started/intro...

[2] https://gdquest.github.io/learn-gdscript/

zeroonetwothree
2 replies
1d15h

I would say this is beyond the vast majority of 9 year olds (and also adults lol)

phone8675309
1 replies
1d15h

Oh bollocks - looking at the Learn to Code From Zero link and it looks like just a modern version of those old "Learn to program a game in BASIC" books that were everywhere in the 80s when I was a kid.

cityzen
0 replies
1d13h

There is a nice wrapper on top of Godot called RGP in a Box, I think it's around $30 but will kickstart any game dev on Godot with some nice features... out of the box!

https://godotengine.org/showcase/rpg-in-a-box/

shermozle
1 replies
1d12h

This. My son has been doing some amazing things with Godot.

For a 9yo, you might need to help. Take that opportunity.

blooalien
0 replies
1d11h

"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.

McKayDavis
4 replies
1d17h

My kids were able to make complex 3D games at 9yo with very little help using Roblox Studio. It’s free.

https://roblox.com/create

Disclaimer: I work for Roblox Corp.

zhivota
1 replies
1d15h

Funny because right now my son is busy building a "Doors" clone in Roblox Studio. I don't think it will have any logic but he loves just building the map so far. He's 7.

jabroni_salad
0 replies
1d3h

You dont need much logic to make a good parkour map. Watch a couple episodes of MXE if inspiration is needed.

welfare
0 replies
1d17h

Thank you. Will look into Roblox studio

jkelleyrtp
0 replies
1d4h

Yeah, got into software thanks to roblox. Way easier to get started than most of the suggestions in this thread and caters from everything from building maps to writing code (if you want to do that). Lua is pretty easy to pick up but you can use TypeScript or Luau if you want.

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.

swiftcoder
3 replies
1d8h

This seems to be in the complete opposite direction of other suggestions here, but the majority of my pre-teen gamedev experience was in the StarCraft I and WarCraft III map editors. These days the StarCraft II map editor would get my recommendation.

Why? Because you start from the base of a working game, and incrementally add the specifics of your desired gameplay. In other engines you'll start with more or less a blank slate, and not only is that intimidating for newcomers, but it also comes with a large delay between building something, and being able to interact with the result.

The Blzzard map editors are incredibly powerful. They've spawned multiple entire genres (Tower Defense and MOBAs both originated as custom maps).

They have an accesible scripting system that is kind of a blend between a visual and a text-based programming language. They have an extensive content library built in, so you don't have to learn 3D modelling before you get started on gameplay...

gverrilla
1 replies
1d7h

TD games didn't originate in WarCraft, from my understanding[0].

0: https://en.wikipedia.org/wiki/Tower_defense

swiftcoder
0 replies
1d7h

Yes, I guess it's more fair to say the genre was pretty much dead by the late 90s, and it was rekindled by those custom maps (as the wikipedia page alludes to)

heavyset_go
0 replies
1d8h

IMO this is a good solution.

nickcoury
3 replies
1d15h

Plugging my friend's side project: https://quickga.me/

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

nmfisher
1 replies
1d15h

This looks cool. What's the history behind the company - is it independent?

nickcoury
0 replies
1d15h

It's just him so far. Built in his spare time over the last several years.

vyrotek
0 replies
1d14h

QuickGame is pretty great.

My 10 year old was able to figure out how to make some fun stuff with it.

taeric
2 replies
1d3h

Mario Maker. Pretty much full stop. After that, Scratch has some good facilities to make games, as well. But starting at low level dev kits is just not where you want to be.

kraquepype
1 replies
1d2h

RPG Maker as well, my daughter had fun with that at a young age.

taeric
0 replies
1d2h

I saw another post mentioned more games like Minecraft. There are a surprising number of options nowadays. I just got the kids Super Dungeon Designer and I think they are enjoying it. They also liked Sound Shapes.

Big point is essentially do not burden the kids with general coding, asset creation, or other software development style things. They want to make fun things and play with them, move to a content creation paradigm.

kuon
2 replies
1d8h

With my son we hooked a python API to minecraft, you can then write some kind of bot. He really had fun with it. Being able to see things in a 3d world he knows with 2 lines of code is what got him hooked. He learned python to build things, not to learn to code.

I think you should use a platform with immediate results like this and forget about coding. There is also dreams on ps5 which is great. Try to find a way to scripting or modding a game he loves. It is really rewarding.

Also, talk about it when you are with him, in commute, at dinner...

makz
1 replies
1d2h

this is only for the raspberry pi version of minecraft, right?

kuon
0 replies
22h23m

No, you have mods to make it work on the java version. I had to tinker a bit and use an older version. I am sorry, I do not remember all the details. But I think you need to install a bukkit server and use a mod.

jvmboi
2 replies
1d8h

Your situation is very tough because you want to encourage this but also you have to be realistic and that's what your kid probably doesn't want to hear.

I always try to get across to my daughter of seven that you can't scale a mountain in one step just as you can't eat a cake in one bite and that trying to do that is guaranteed to be a miserable experience that's going to put you off the activity forever.

I don't think I've quite managed this yet but if I was you I would try to convey that a 3D game is a master level achievement that, while totally possible eventually, you simply have to work up to. And then maybe somehow pivot him into Scratch, Gamemaker or other such tools where he can start learning in a playful and fun way.

grumpy_coder
1 replies
1d2h

A good starting point for making actually working games is text. I used Twine with my kids relatively successfully. https://twinery.org/

jvmboi
0 replies
8h56m

Twinery looks neat. Thanks for the tip.

jetbalsa
2 replies
1d12h

I would say Garry's Mod + Lua Scripting / WireMod

Easy to get into since its rather old at this point and its easy to get bootstrapped with simple logic in WireMod, Its how I learned programming, has multiplayer and really supports messing around.

nirui
1 replies
1d11h

I modded a game (tho not hl) for many years, I come here to opposite this.

I think since the kid is interested in building a game that they designed themselves, it's better to handover a (simple) game engine to him. A game engine enables way more possibilities than modding. You can add multiplayer over websocket/webrtc, you can write your own shader, you can write your game logic however you want etc. All of that without the overhead/limitation of a modding environment.

Also, out in the wild the job opportunity for Garry's Mod developers is very scarce, if any. Just something to think about if op wants to do some carrier development for the kid while having fun.

jetbalsa
0 replies
1d3h

Oh for sure, I would not suggest doing HL2 Engine Modding, I had suggested it because it has the lowest barrier of entry to get started for a someone that young. Basic Wiremod can make some rather complicated contraptions. and once you start going down the Lua route with a custom gamemode you can just about make anything, I've seen mario clones to RTS done with Garrysmod gamemodes

imperialWicket
2 replies
1d15h

It falls short on your 3d request, but for someone new to things I'd go down the pico-8 rabbit hole.

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/

mikepurvis
1 replies
1d13h

My 9 and 12 year old have both played a fair bit with Pico-8, and while the music and sprite tools are neat, I think there's a lot that it leaves on the table. The Lua environment is a fun puzzle for seasoned developers to reason about how to make the most of it, but for a novice, stuff like physics, collision detection, and an entity system out of the box is more like the right starting point. You need a lot of boilerplate to get a sidescroller off the ground in Pico-8.

imperialWicket
0 replies
1d2h

This is a great callout.

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).

earlyriser
2 replies
1d5h

My kid (10yo) started programming in Scratch 2 years ago. He have been doing stuff in Scratch, dabbling a bit with the Microbit and doing some mods for Minecraft. A while on pico8, but he doesn't enjoy it.

I'd suggest start with something really small for programming. Like most of Scratch basic challenges. Also, for modeling, checking the 2 or 3 basic MCreator videos plus Blockbench tutorials is enough to start creating mods in Minecraft, something simple as adding a new mineral is a groundbreaking moment.

I asked for permission to share his website with his games https://emiliomg.xyz The cactus/dinosaur game is a perfect starter project that could be rough, but also you can conitnue adding game juice to the infinite.

jahnu
0 replies
1d5h

+1 for Scratch. I have had success with my kids (8 & 10) too. They can almost instantly build something they can reason about.

adamredwoods
0 replies
8m

+1 Scratch! My son started with it, then expanded into Roblox/Lua.

Children can download other people's games and experiment there. Scratch also has pre-made art, sounds, music.

https://scratch.mit.edu/

danielvaughn
2 replies
1d4h

I’d recommend getting a PS5 and buying Dreams. It’s a fantastic tool for making games, and allows you to bypass the 3D math. Seriously, it’s incredible.

falcor84
1 replies
1d4h

I recall hearing that they discontinued it. Is the community still going strong?

danielvaughn
0 replies
1d3h

The community is still around. Eventually the online services will be shut down, which is just...super sad. But the game itself will always be available, which includes the creation tools of course.

blooalien
2 replies
1d11h

Godot [1] is a very nice game engine. There's a game on Itch.io that teaches the scripting language it uses [2], and a ton of great tutorials on YouTube for beginners and experts alike.

[1]: https://godotengine.org/ [2]: https://gdquest.itch.io/learn-godot-gdscript

livrem
1 replies
1d9h

I played around a bit with Godot with one of my kids around that age some years ago and I think it was good. We actually started with Scratch, but that quickly got annoying for both of us, with all the dragging around of boxes on the screen to write scripts instead of just typing in a few lines of text.

We used the intro tutorials from https://kidscancode.org/. Looks like those have not been updated to Godot 4 though. I still have working installations of Godot 3 and Godot 2, and the differences are not THAT big, but maybe it makes sense to start with the latest version anyway.

blooalien
0 replies
12h24m

Godot 3 has more "goodies" available (for now) around the web and in the Asset Library, but that's changing quickly. Godot 4 has some more modern features and other improvements which (depending on your project intent) may make it the better choice. It honestly depends entirely on what you're attempting to create, but at this particular point in time either one will likely get the job done. Sooner or later Godot 4 though will be the preferred version to choose, so it can't really hurt to start learning it now. :)

bentt
2 replies
1d4h

I am a professional game developer and have been in the industry for 25 years. I am a few years ahead of you with a 14 year old son whose interest in computers and gamedev I've been cultivating since he was around 4.

What I find interesting about your post is that your son is designing on paper. He may be a Game Designer at heart and not a technologist, so you'll have to tease that out. The difference would be whether what he really wants is to learn to build, or to have his thing built.

As a Game Designer, he'll be more interested in the rules, the world, the story, the Game as it lives in his mind.

As a Game Developer, he'll be more interested in the tools, the technology, the experience of playing it on the computer, and hopefully the struggle of iteration and building!

There is a high likelihood that, at 9 years old, what he is envisioning is totally unrealistic for you guys to attempt to build. You are cursed with the skills of a competent developer who is up for a challenge, so you might think it's reasonable to attempt. I'd be careful here. This isn't up to you to "not let him down". Sure, you're Dad and you're awesome, but even John Carmack would hesitate to guarantee he could make good on a 9 year old's first game design. :)

It also sounds like you're unfamiliar with game tech, so this will be a learning experience for you. Are you up for it for its own sake? Or are you just trying to make good on your son's vision? That is a big hill to climb to just have your son look at what you made and go "meh".

So if you think it's interesting to try out, and you guys want to give it a go, I still think the best starter pack for gamedev is Tom Francis's series on Unity on Youtube called "Make A Game In Unity With No Experience".

https://www.youtube.com/playlist?list=PLUtKzyIe0aB3TZfe2wsIg...

Mind you, this is a 3 year old series. Unity is an evolving platform. Stick to what Tom is using and you'll be okay.

zoomablemind
1 replies
1d3h

Solid advice!

I think at this age kids just naturally want to have their footprint in the digital world. Games is just an obvious space.

On the same subject, when my 5yo came up with a very detailed comic story, all hand drawn in a span of two days, we just scanned the drawings and put them in a video sequence.

Sure, the grand vision was some real action, but seeing his work digitized and animated has served it's inspiratory purpose.

Also, it gave this 5yo some ammo in conversations with his peers who would brag about "creating their own game in Roblox".

bentt
0 replies
1d2h

Yeah that's great that you were able to translate what your kid did to a video. I bet he was stoked!

A friend of ours helped his daughter get set up to do do Lego time lapses with an iPhone. Also a fun way to make something.

Pretty soon there will be AI tools where a kid can just type in a few things and get a game out of it. (There probably already is.) That'll be fun for them for a bit at least.

atoav
2 replies
1d11h

Before working on a game certain skills need to be there. I would first start with a small project that helps building those skills.

Modelling: Blender is a good start. There are tons of tutorials on the subject. With blender you can creat backdrops, models and animations for games

Game Engine: I would nowadays start with Godot, there are equally many tutorials

Programming: I recommend doing something using processing.org, this is a simple IDE with a powerful library that can be programmed using Python/Javascript/Java. This is one of the easiest ways to draw something in a window using code.

Edit: I think the most important thing is that you go through this together with him. The way is much more important than the goal. If you do this right, you will most important) spend time with your kid, and teach them how to tackle a thing that even daddy isn't sure about doing. Discover things together with your son, let him try things even if you already know better. The right motivation is much more important here than getting to something good.

And it is hard to say remotely which part about games motivates your kid. Maybe it is the visuals, maybe it is the programming (this is more rare), maybe it is the result. If it is the latter a specialized 2D-engine would be a good start.

unrealp
0 replies
1d10h

Seconding use of Processing. It was written for electronic arts, new media art, and visual design communities with the purpose of teaching non-programmers the fundamentals of computer programming in a visual context.

I have used it often, found it easy, has necessary functionality for graphics and interfacing.

livrem
0 replies
1d9h

For a kid it might make sense to use something simpler than Blender. I like Asset Forge [1] and Kenney Shape [2], both made by "Asset Jesus" Kenney. Or just use the free assets he has made [3].

[1] https://kenney.itch.io/assetforge [2] https://kenney.itch.io/kenney-shape [3] https://kenney.nl/assets

toddnni
1 replies
1d13h

GDevelop. My son has used that happily. Meant for no-code development, so no real programming experience there, but good to get something out quick.

Nowadays supports 3D also, but that is recent feature and will definitely evolve for some time.

everythingabili
0 replies
1d1h

Came here to recommend GDevelop too. I taught my 10 year old GDevelop and she preferred it to p5js (Javascript programming) and it's a lot more powerful than Scratch coding. (but is visual too, like Scratch)

Also, lots of good tutorials on YouTube and a friendly community.

siliconc0w
1 replies
1d12h

Start with 2D and something like gamemaker, stealing sprites from games like metal slug. If they aren't familiar - setup a mame or snes emulator and go to town.

The key is to reduce the barrier to entry and get something emergent to happen. Like a zombie shooter where a shot zombie stumbles into a fire barrel that adds "fire" to anything it touches. This could create a flaming zombie that spreads fire to the other zombies. Boom, the kid is hooked and before you know it you're paying for expensive and dubious game design curriculum cursing my existence.

duskwuff
0 replies
23h22m

stealing sprites from games like metal slug

No need. There's a ton of free sprite packs available online nowadays, most of which will be easier to work with than a decades-old arcade system.

signaru
1 replies
1d13h

Back when I had zero experience coding games, I strongly considered Construct2 (https://www.construct.net/en , now Construct3) since it seemed particularly aimed at beginners, requiring no coding experience and using visual scripting.

Haven't used it though, since I already had programming experience and just ended up using SFML in C++ or Monogame in C#.

cthulberg
0 replies
1d8h

Construct is awesome! Much of the app logic can be done simply by dragging and dropping, you can add javascript if you need advanced functionality, the editor is fast and provides that instant gratification so useful in the early stages of learning.

scotty79
1 replies
1d10h

Maybe this will help: https://www.alice.org/

TheJoeMan
0 replies
1d4h

I wish this was higher up, this is similar to scratch with full 3D. I loved Alice around age 9 and made plenty of simple 3D games!

pharmakom
1 replies
1d10h

Wow, you could be describing me at 9. I even did the pages of design drawings all over the place!

what worked for me is to start with Game Maker from YoYo Games.

You can get started with drag- and-drop GUI blocks, but eventually move to a Basic-like scripting language. You can only make simple games but it is powerful enough for commercial 2D projects. Hotline Miami was made in Game Maker, for example.

Do not embark on managing a project for him!

The scope will be impossible and lead to disappointment. Instead, try to be a guide through tutorials and help if he gets stuck on a specific problem. Interest will wane in a specific idea and he will hop to a new one. This is fine, because the objective is to learn to have fun. Be a teacher not a producer.

This was my gateway to “real” programming, CompSci and a career.

przemub
0 replies
1d3h

Same! I think you could even download a version from around 2010, there still should be tutorials available which I was able to follow at their age.

kosolam
1 replies
1d7h

Hey! Been there exactly. It’s an opportunity for you to catch if you can. I suggest firstly to explain him things as they are that it will take a long time, will require to learn a lot of new things and a lot of work. If he takes on this then you will be partners in this venture and will study together how to build his game. Next regarding 3d I suggest you together with him to check the few development environments that exist for games in order for you and him to understand how much learning and effort will it take in each env. Then you can evaluate and choose from what exists today. In our case we decided to settle on a simpler 2d game first in order to achieve some results quickly. Targeting 3d in the second game. So we choose to use Construct for the first game and we actually delivered it to the Play Store (it was important to finish). We didn’t finish the second and third games but they were already started in Godot and then Unreal Engine, respectively. This is our experience. Your mileage may vary.

kosolam
0 replies
1d7h

Also, it must be his game. And you are helping him build his game..

ghufran_syed
1 replies
1d13h

Besides the many useful suggestions below about which software to use for this assuming he wants to make a COMPUTER game, I would also explore what is his idea? Could you just "build" it with cardboard, a board drawn on a computer and printed out and various physical pieces? Or at least, do that for a prototype of the core part of the game and gameplay? I think it would be useful to learn the concept of a "minimum viable product" in this context (or rather, "minimum quantum of utility" to get away from preconceived ideas about what a "product" is..). Being able to get it to a point where people can first actually try to play it is really useful, and lets you get feedback early without all the overhead of the actual computer programming (if needed)

ghuroo1
0 replies
1d6h

your comment should be way higher. producing a video game requires time, time that a 9 year old should not spend on a computer or video game console.

dcchambers
1 replies
1d3h

Why not try to build the game together in a sandbox game like Minecraft, Gary's Mod, Little Big Planet, Mario Maker, etc. The limitations of those sandbox engines make it more fun, there's no (or minimal, simplified logic) programming required, and you can instantly see results and have fun.

pathartl
0 replies
1d2h

I'd also say this. The technical aspect of a game compared to the actual game design is a very different sort of problem. Specifically with Minecraft you could design a game using mods like Create.

For inspiration I would point to the creator TangoTek. Over the past year he designed a deck building dungeon crawler in vanilla-ish Minecraft using redstone. It's a great series to see how you can design a game in almost any environment.

cracrecry
1 replies
1d9h

I would say NO to my child wanting to make a 3D game. It is just too hard and boring for most 9 years old children.

A kid knows what she wants but not what the price that she will have to pay for getting it. Today they are interested in something, tomorrow something else, specially if it is hard work, like 3D. Young children have not the mental abilities to endure hard work. They should be playing and having fun.

When they grow up and have friends and are happy in a healthy enviroment then they can endure healthy hard work later.

Simplicity and immediate feedback is the most important thing for a kid. Forget Unity, Unreal or other environments that require at least a 14 year old and complex rational skills.

I volunteer teaching young children things like 3d printers, mill machines(they can not access dangerous machines until they grow up, but they can design things)... Most children are just going there so they play with their friends. 1 in ten will become an engineer.

I will just use Pico8 or Scratch to focus on the design of the game and SIMPLICITY. Teach him basic skills like writing and drawing and basic music and sound, and basic programming so they can introduce real life asserts there, in 2D..and specially game design, to design fun games prototypes.

Start doing something basic that is funny in 2D. If he does not loose interest, raise the bar. Since and repeat.

This is like if he wants to be an Orchestra director. You start teaching him the musical notes, having fun with melodies, then harmony...

Games are designed with minimal proof of concepts, that have no textures, sound recorded with the phone, with a basic dynamic of the game. You test that your basic prototype is fun. Only then you add textures and better sounds, or sophistication.

3D modelling, inverse kinematics and Mocap, painting and assigning textures in 3D, it is just so hard and little reward for a kid, with long periods of delayed gratification.

cardanome
0 replies
1d7h

Starting with 2d games is very good advice however if the child is mostly interested in 3d, well not the most helpful advice.

Some people here forget that children are way more tolerant of not understanding things than adults are. They just want to get a quick taste not necessary dedicate their life to the study of game development.

I think something like RPG in a Box https://rpginabox.com/ is nice if the child likes Minecraft-style graphics. Alternatively modding an existing games is something that might be of interest. Also blender is perfect for those that are mainly interested in the 3d graphics aspect, as it allows to focus on certain fields like modeling first and has an amazing game engine that can be solely driven by logic bricks: https://upbge.org/#/

Still, I think even something like Unreal should not be ruled out if the child is dead set on making a "real" game (9 years is a bit pushing it but with help it might work out). For a visually-motivated child that has access to beefy computer, Unreal is the perfect tool to get things done early and fast. Load the starter template and they have a character they can walk around with in the first minute. Grab some free-for-the-month asset packs and they can make decent looking levels in a day or two that they can show friends and be proud of. And if they get to the point of needing logic, the visual scripting language is more than enough to make complete games in it.

Unreal is a monster of complexity but but perfect for just hacking together a quick asset-flip demo one can feel good about. They will learn about the realities of game dev soon enough, let them have some fun.

conductr
1 replies
1d3h

Firstly, the other comments about his interest being bonding with you. Definitely leverage as much as you can prior to building anything. But I suspect he actually DOES want to play his idea. He thinks you’re a programmer so could help him, so that’s why he’s asking you. IMO that is.

Secondly, I think you be honest with him and say games are hard and not something you specialize in but if he really want to invest some time learning you’ll help him solve problems and you can do it together. Make sure he’s not just your boss tossing ideas/designs that you have to go implement. Start by googling different frameworks and watching/reading tutorials together. Basically show him the process you’d go through if this was your idea to learn game development. Look into unity or godot, vet solutions, play with some demo apps. Watch some of the videos of people building simple games. Building the basic rollaball game will give him an idea if it’s even something he wants to continue with. Also look for assets that complements his game’s style/theme. Asset development is a common road block so if you start with a character rig and an environment that looks something like what he’s after it will give you some momentum on the actual game mechanics/story/etc. I think if you approach it as a team of equals willing to figure this out, you can’t really lose but don’t expect him to have the fortitude to complete it. Put in as much effort as he does.

sophacles
0 replies
1d3h

Yes! Some of my favorite memories with my pops involved him saying "I don't know, let's figure it out".

E.g.:

Me: "dad can we make lava?"

Dad: "I don't know, it has to be really hot"

Me: "We have a torch, thats really hot, will that work?"

Dad: "I don't know, go find a rock I'll get the torch"

20 minutes of heating a rock later

Me: "I don't think this is gonna work, its not even glowing yet"

Dad: "yeah you're probably right. wanna see something cool tho?"

Me: "Yeah"

* Dad puts the rock in the "safety bucket" of water we had there in case somethigng caught on fire. It steams and hisses and the water gets hot *

Me: "COOL!"

Other good memories include failed attempts to fix broken toys, the time we went on a quest but failed to locate the source of a stream, the rainy day we went fishing in a drainage ditch (where there would never be fish), and so on.

chris-orgmenta
1 replies
1d13h

You both might enjoy simondev on youtube: https://www.youtube.com/watch?v=PPwR7h5SnOE&list=PLRL3Z3lpLm...

Three.js, so very accessible and you can have games load up within 2000ms. You can use the corresponding github codebases - I loaded up his minecraft demo successfully a while back.

skirmish
0 replies
1d11h

Three.js seconded for young children. I followed "Game Development with Three.js" with my daughter when she was around 10, and we both had good time. The approach in the book is very interactive: make a change and see immediate results, this works very nicely with impatient young ones.

bitpow
1 replies
1d4h

My son started making games in Scratch at around 8 or 9. He eventually graduated to Pico-8 and at 12 that is still his preferred tool for making games.

A few threads here recommend pico-8, however, you said he specifically wants the game to be 3D.

The developer of pico-8 has another project named Voxatron which is similarly accessible like pico-8, but for 3D gaming.

Worth a look: https://www.lexaloffle.com/voxatron.php

bit_shifter
0 replies
2h12m

Voxatron is what came to mind for me given OP's requirements. I own it but still haven't used it myself, but given it's from the same group as pico-8, I would bet it fits the bill perfectly.

andsoitis
1 replies
1d15h

Unity. Here’s a tutorial to build a simple 3D game that requires no prior programming experience: https://m.youtube.com/watch?v=n0GQL5JgJcY

meltyness
0 replies
1d15h

OOP, Events, and Algebra.

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.

Scarblac
1 replies
1d9h

Scratch is fun, and people make games in it. My kids also loved just fooling around in it, moving sprites and stuff. You can start exploring it together and then he'll take over.

Tempest1981
0 replies
1d8h

Scratch also has a community -- you can explore others' creations and see how they work, which is a great way to learn, imo.

Kye
1 replies
1d17h
atwrk
0 replies
1d10h

+1 for RPG in a Box, my 10yo loves it. RPG in a box provides everything to start with simple games (map editor, visual scripting, voxel editor, sound editor, ...), and the minecraft-like/retro style helps managing the kid's expectations. And there are a bunch of great tutorials on youtube.

JansjoFromIkea
1 replies
1d7h

Options I see:

1. Games with highly modifiable level building tools: Game Maker's Garage, Mario Maker, LittleBigPlanet and (a big step up) Dreams 2. actually playing some indie games with them to try and give them an idea of what's remotely feasible 3. if the latter gets them interested in 2D possibilities focusing on pixel art and having you piece the bits together 4. if they're still interested start looking at some game making tools; they might want to just focus on pixel art or music or who knows what at that point instead too?

Really the hardest bit I see is shifting their thinking on what a game is; atm it's probably ramming in every idea they have when it needs to be focusing on one idea and refining the hell out of it.

Eric_WVGG
0 replies
1d3h

absolutely Game Maker Garage

GolDDranks
1 replies
1d5h

Use Multimedia Fusion or Construct. The former is what I started with, and the latter is a modern iteration of that. Alternatively, Game Maker. If he hasn't been interested in computers before now, don't ruin the momentum, start from quick and easy, then introduce Lua scripting and if he's still interested, consider Unity or Unreal.

mattl
0 replies
1d3h

Multimedia Fusion is now Clickteam Fusion. They have a free version you can try. I will say though, if you're not running Windows you're going to have a bad time with it. Their "Mac" version is a 32-bit Wine set up running the Windows version and doesn't work at all on anything modern.

Benjaminsen
1 replies
1d12h

We are making a games creator that uses GenAI to make games from human input over at frvr.ai. It’s been a hit with my 10 year old nephew after the initial learning phase.

We show the full source of what you create so you can also use it as a tool to learn coding. (A use case we will support better in the future)

Happy to grand you access if you sign up and submit a developer application at https://beta.frvr.ai/creator/

Benjaminsen
0 replies
1d11h

Whoops just saw the 3D requirement which we do not support yet. For that I would go with Struckd which works on both mobile and pc

zubairq
0 replies
1d6h

Great read. I really understood that the value here is in spending time with your son, and if your son learns to code then that is a byproduct!

ystad
0 replies
1d

Well, I think this is a great way to get them interested in computers, analytical thinking and spending time with you. It's like going out fishing with you son.

I think unity is reasonably simple to start with. Seen 11 year old use it

wschlender
0 replies
1d12h

You could start with a text adventure.

It's how I started back in the 90s, and it's so simple he could do most of it himself.

It'd let him focus on story, basic programming (if-statements) and if you wanted to add 3d you could generate some 3d images with one of the cool new AI tools.

willguest
0 replies
1d5h

You are welcome to use the framework I made. It's called ICVR - Island Collective Virtual Reality. It is a Unity-based framework and has all the modules for creating a simple running, jumping, throwing type mechanics. It is designed for VR and PC and works on standalone devices. As a demo, i made a tenpin bowling simulator that is discoverable on the interwebs.

[see github -> willguest -> ICVR]

If you pair it with another (also FOSS) repo, you can self-host it on the Internet Computer. That means cutting out fees from hosting providers and has security built in. This is not a requirement, but it's quite snazzy.

I am fairly busy person, but would be happy to give pointers. The setup in Unity is also automated and, to get a simple scene going, no coding is necessary. There are a bunch of assets to get started there too. If, as you say, you are already a dev, this wouldn't be much of a learning curve for you.

willguest
0 replies
1d5h

You are welcome to use the framework I made. It's called ICVR - Island Collective Virtual Reality. It is a Unity-based framework and has all the modules for creating a simple running, jumping, throwing type mechanics. It is designed for VR and PC and works on standalone devices (Quest 2 type). As a demo, i made a tenpin bowling simulator that is discoverable on the interwebs.

https://github.com/willguest/ICVR

If you pair it with another (also FOSS) repo, you can self-host it on the Internet Computer. That means cutting out fees from hosting providers and has security built in. This is not a requirement, but it's quite snazzy.

I am fairly busy person, but would be happy to give pointers. The setup in Unity is also automated and, to get a simple scene going, no coding is necessary. There are a bunch of assets to get started there too. If, as you say, you are already a dev, this wouldn't be much of a learning curve for you.

wildpeaks
0 replies
1d1h

Game modding, especially Minecraft, would spark his curiosity and it would feel so rewarding to see something he created in a game he knows.

Even something like changing a texture is already magical when you never experienced programming.

whiterock
0 replies
1d8h

I used the program Gamemaker with its GML language when I was his age. Fond memories of days and months creating my silly games in this :)

wesleyd
0 replies
1d5h

dotbigbang.com makes it pretty easy to (i) create games and (ii) play them with other people.

weinzierl
0 replies
1d12h

My then eleven year old and me built one in Godot. I can not recommend it enough.

The fact, that you can get to something, that has graphics and sound quickly, is just awesome.

That it is beyond being an obvious toy (like Scratch) but used by grown-ups to make real stuff is a form of motivation you should not underestimate. I showed my daughter the Tesla app as an example, which was made in Godot back then.

Finally, GDScript is similar enough to Python, that it will facilitate learning that later, I hope.

We started this almost two years ago and came to a playable result quickly. We are still working on it to eventually publish it on the app store.

vanpet1985
0 replies
1d8h

I was the same 9 years old back in the 90s waiting to do 3d games, except my dad was not à technical person at all, so I was on my own. My memory is: - 3d math was too complicated and not fun. - a 3d game requires lots of 3d models/assets, which I wasn't able to create, buy or find. - I still was able to follow à tutorial about directX to rotate a triangle with rainbow colors: not satisfying, I wanted to do games. - What solved my frustration was Flash. Easy to understand and to make finished games (for a 9yo, we're not talking masterpieces) - Today, making a 3d game is probably within reach using an engine such as Unity or Godot, and downloading free assets.

As a parent, don't do much more than exposing him to available options. If he's smart, he'll find a way to make a game. It only took me 20 years and a full career.

triptych
0 replies
1d3h

I found a site that seems like it would be fun to try to build games in ( outside of Roblox or Minecraft) called Dot Big Bang https://dotbigbang.com/social they have a GUI builder but also coding and it's 3D out of the box.

tommilukkarinen
0 replies
1d12h

We made an Android game whack a mole. I prepared it so far that she only had to make drawing routines and click handling. I always stopped the session soon, as it requires lot of capasity from the Child and is tiring.

tnecniv
0 replies
1d13h

I advise doing what the others said. Encourage him and have fun and don’t worry about whether or not a game gets made. When he’s playing games, you might point out how you think the developer implemented things (even simple things).

I got into coding when I was 13. The only game I ever really made was a top down shooter with SML because I 1) learned that games are hard work 2) had no idea where to get assets besides ripping sprite sheets which I didn’t have the attention span for 3) I found more joy in the coding itself than making a game. I always had some dinky project going and it was almost never a game. Hell, I had more fun making a GameBoy emulator than making games!

These days, now that I know what I’m doing, I have an idea for a game I’d like to make. I wonder if I’ll ever get around to it? It’s ambitious, but I think doable solo (minus the art). It’d probably be a 5-10 year project. A big part of the reason I haven’t started it is I know how much not fun parts there are involved, like tuning algorithms.

tmaly
0 replies
20h29m

If it has to be 3D, Roblox is probably your best bet. There is a book Coding with Roblox Lua in 24 Hours: The Official Roblox Guide that is a good start. But for ages 9, it is going to be a steep learning curve.

If he is flexible, I would highly recommend starting with the Scratch programming language. You can make decent 2D games and there is a lot less cognitive overhead.

throwawayqqq11
0 replies
1d11h

Sorry, i dont have time to read the whole thread. A quick search for "blender" revealed just one hit. Here is my unprofessional take.

Use blender as a gateway for his visual ambitions. You can use his drawings as a background and sculpt something pretty from that blue print. Then get to animations, then the blender game engine, then python. Just as options ofc.

Blender looks frightening at first, so you might to learn some before to overcome the first hurdles but there are also alot of kid friendly tutorials out there.

Good luck :)

Edit: Working with blender is actual fun and this graphical approach has also the advantage for nudging him very slowly into this monumental task :)

throwaway71271
0 replies
1d8h

I think making a pico8 game is cool, there are many many guides for shmup games or rogue like games or adventure games, also lua is quite fun to learn, and there is a lot of fun in coming up with the assets for the game, making sounds and etc.

https://www.lexaloffle.com/pico-8.php https://www.youtube.com/results?search_query=pico8+tutorial

Another option is to make a Roblox game, their studio is very accessible and the scripting is quite straight forward (e.g. if you step on this object it moves)

I have spent 2 years teaching my daughter and I thought python and pygame are nice, but we made lots of other games, and lots of turtle based generative art (you can also get some basic game ideas from there, like snake or tictactore or whereiswaldo):

https://github.com/jackdoe/programming-for-kids/blob/master/...

I think the curve of excitement is quite steep at start, and then it gets super boring, so if you can reduce the scope as much as possible, and manage to get to some playable state its amazing, if you use godot or some other engine you can make the game playable on web so he can share it with his friends its really nice.

threeboy
0 replies
23h5m

ClickTeam Fusion 2.5 (the Five Nights at Freddy engine) is a "no code" game engine where you define interactions between the different game parts with essentially a big spreadsheet - your son may be able to tinker with it and realize his ideas in it easily.

theoriginaldave
0 replies
1d2h

Scratch itself can be fun for kids just making characters and objects move around like an animated cartoon, then add game elements like navigating the character through a maze, then adding stuff like kicking a ball through a goal.

You can probably get that far in a day or two. And if interest persists, advance to customized Minecraft or Roblox.

theGnuMe
0 replies
1d4h

Roblox studio works pretty well. I’m sure there will be some AI code assisted game creator programs too.

It’s cognitively a lot to handle so

syntaxing
0 replies
1d15h

I’m surprised no one suggested this. I haven’t tried it but would Roblox Studio be an option?

swozey
0 replies
1d3h

Can't contribute much I only write text games (mud engines) but my parents were super uninterested in my interest in computers as a kid in the 90s so it's great you're helping.

I didn't think too much of it back then as a kid but considering I was 8-9 and unknowingly learning how to break into a high paying engineering field and I had to beg them to buy my HTML and Dreamweaver books from B&K just blows my mind. One of those things where you get older and you're kinda like, wtf mom, you wouldn't buy me a $19.99 engineering book? What was I supposed to do, wait another 8 years until I had a job and could buy it myself? Do I need to go mow lawns for a month? Ridiculous. I had to pirate/warez all my software from super sketch russian sites because there was no way they'd buy me Dreamweaver/Netobjects.

Sounded like a lot of money as a kid and they were by no means low income so its just a huge wtf as an adult who knows what $20-30 costs compared to the benefit even with inflation.

I was always just "Playing on the computer."

I didn't know what the actual languages (java etc) meant back then and the internet was awful for learning. I only knew irc, not bbs, and was just making websites etc not knowing how to go further, nobody I knew outside of irc was into computers.

sureglymop
0 replies
1d9h

I would say start with something like pico 8. It's not necessarily 3D but is easy and has a huge community around it. You'll quickly be making small games so there will be confidence boosts. And eventually you can embark on creating the game he wants to make.

stuaxo
0 replies
1d8h

Someone mentioned Unity3D, PlayCanvas is also a solid option.

spintin
0 replies
1d7h

I would say begin with 2D and code it in Java from scratch with Graphics2D.

This way you focus on the ideas and build something usable at the same time.

spacecadet
0 replies
1d7h

Start with paper and pencil, "Umbra" is a great sci-fi pen and paper single or 2 player drawing game that introduces mechanics and is creative. Then move onto complex dice table tops or jump straight to Pygame! Pygame is great, I use it to make non-game python interfaces too.

somethoughts
0 replies
1d10h

This could be of interest if it has to be 3D. I haven't tried it myself but Code Combat generally has a series of "wizard style" tutorials.

https://codecombat.com/roblox

If he's ok starting with the basics of coding and 2D game development then Code Combat's original Game Development 3 Course Series is pretty good to start with if you want him to go autonomously with out basically having him type out/copy pasting what you are doing.

https://codecombat.com/play/game-dev-1

If they are willing to do 2D and can follow a tutorial I'd recommend microstudio.dev using Lua/Python/JS or Microscript.

https://microstudio.dev/tutorials/

somethingsome
0 replies
23h59m

Maybe my advice will not be popular but, I teach 3D programming professionally, and I think the best start is to stay away from code (at the beginning)!

Just use unreal engine, its pretty neat and powerful, it will be a very nice bounding experience to learn a (complex) software together! Don't be intimidated by all the menus, most kids at 9 can do pretty advanced stuff when they really want it.

I advice to download directly a free (official) game tutorial (in unreal engine) and start to play with it, you'll have professionally made assets available, levels already designed and even some game mechanics and a step by step tutorial.

When, and only when, the general procedure to make a game is understood (terrain creation, what are assets, movements, etc..) you can start with blueprints (block programming), you will be able to reach good quality games just with it. After a while (years maybe), you can start c++ ;)

Note: differently than other advices, I say go directly 3d,the barrier is lower than you think with a good engine, and if he wants 3d, no need to bore him with 2d first.

Note 2: A friend of mine teached 3d programming with shaders to children of 12-17 yo with great success.

Note 3: some people advice Godot, I find it a neat engine, free, open-source mentality, and all that and it's very promising, BUT, you will find way less resources and community. As it's for someone young, ressources, tutorial material without code, and generally widely disponible online help is crucial to maintain a high engagement. You're not trying, at the moment, to teach him open source, but game creation, he will have plenty of time to switch if needed.

soferio
0 replies
1d12h

Https:\\Scratch.mit.edu

slackr
0 replies
1d11h

https://arcade.makecode.com/ Is great fun to use and made for kids. The forum (forum.makecode.com) is well moderated and safe too.

sixhobbits
0 replies
1d11h

We did some tutorials and a book[0] on using KaboomJS. One of them is a "3D" game but probably not in the sense you mean.

They probably need updating as Kaboom had a few updates, but I was surprised by how much the writers enjoyed making the games. A bit like building Flash games but without needing to add in all the free vulnerabilities.

Let me know if you try them!

[0] https://makejsgames.com/

simple10
0 replies
1d

My 9-yo son has been making games with GameMaker https://gamemaker.io/

It's a popular framework for creating 2D HTML games and publishing them on sites like Crazy Games.

GameMaker has a lot of great tutorials and templates that makes it easy to get up and running. I usually just set him up with one of the existing game templates and let him loose on customizing the characters using the built-in tools. Then I help him customize the game interactions. GameMaker has two modes: one for visual flow editing and one for directly editing the code. It's a great onramp to learning to code with a super low barrier to entry.

shmerl
0 replies
1d9h

Text adventure might be an easier way to start.

shaunpud
0 replies
1d12h

When I was looking into easy game development Phaser [.io] was a decent contender.

sfifs
0 replies
1d2h

Scratch. It's the perfect programming language for kids that age and especially makes programming games easy and natural. I've taught about a hundred kids that age programming over the years through scratch. The ones who get inclined eventually move to python.

seunosewa
0 replies
1d3h

First step: study the game and learn what it's about. You use of the phrase "whatever it is" suggests that you've not done this yet. Showing interest in the game is probably more important than actually building it.

seaourfreed
0 replies
1d4h

Start with Scratch. You can build full side-scrollers there. They bring in other kids. Your son will get people playing, testing, giving great feedback. He will build followers.

The goal should be to get him in the feedback look for quick wins, and repeat.

Scratch is built for 9 year olds. Games is where all kids tend to go. It has very good side scrollers.

Wait until he masters while loops, variables, state transitions and 2D graphics before going beyond Scratch. Scratch = open source, massive community, designed for kids. Includes flow diagram programming and source code. Progress for kids

schwartzworld
0 replies
1d5h

Love2d is very approachable. Although not 3d, there is a version of it for developing 3D games. It uses lua, which a lot of his friends will be familiar with via Roblox.

ryandamm
0 replies
1d15h

Scratch is great. Let me also plug using an LLM to help code a game; I got good mileage on an Arduino project with my son by having him talk to the ChatGPT app and pasting the resulting code into the IDE. Great experience for everyone.

runeblaze
0 replies
1d11h

Maybe he can also get interested in game design! Game design is an interesting topic all by itself and there are many books to learn from :). He seems more like the game design type from what you have said.

I suggest something that is really low-code, not Unity, perhaps Smile Game Builder (for 3D) or RPG Maker (more powerful, but 2D) if what he imagines can be somewhat fitted to RPGs. Construct 3 is also quite good -- all mentioned are great tools to bring out his imagination without becoming an exercise in 3D math and engineering.

When he is 12 or 13 maybe then try Unity + Bolt and then progress into Unity + C#.

rpmisms
0 replies
1d13h

I accomplished this at about his age using Scratch, cannot recommend it highly enough.

rolph
0 replies
1d17h

establish an awareness of 'gameology':

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.

rmrfchik
0 replies
1d5h

Show him Scratch. My 8 years old started to discover Scratch and in few month developed small funny games (like Clickers, Maze walkers or Side scrollers). Games are full of nonsense from programmer's point of view, but 1. It's working! 2. It gives fun! 3. Supports interest in programming.

rednab
0 replies
1d9h

As others have also mentioned, the most important thing you can do is show interest and engage with your son and his ideas. And that really requires only your time and maybe a pencil and a bit of paper.

Figure out what kind of game this is and what part of the design process he's most interested in. Maybe it's not so much the game but he just wants to design cool game characters and have them walk around?

If you both do want to make a computer game, I think the various Make-A-Game games, many of which have already been mentioned, are your best bet. Game Builder Garage or Super Mario Maker (Switch), Wonderbox: The Adventure Maker (Apple), RPG in a Box or Super Dungeon Maker (PC), Roblox, whichever is the best match to your son's ideas.

Unlike some others here, I would recommend against switching to 2D. From a didactic perspective it absolutely would be the way to go as it makes a great many things a lot more manageable, but from experience you run a big risk of losing engagement and interest, especially as your son explicitly wants 3D. For a lot of kids in that age group, 2D just isn't cool.

I'd also recommend against full-blown development environments like Godot or Unity, at least until he's just a bit older. When he gets to that point, Unity does have some neat templates made especially for kids, where they get kind of a starter game and a walk-through on how to build it out.

Whatever you decide, have fun and good luck!

reactordev
0 replies
1d4h

Grab a copy of PICO-8 and get cracking…

It’s easy, it’s simple, it’s designed for learning.

raxxorraxor
0 replies
1d2h

Depends on how complex your game tries to be, I honestly would try some JavaScript in the browser just because it is so easily accessible and almost immediately nets results. Three.js for rendering and the logic you would need to implement yourself.

I only dabbled in game development and have no experience with engines like Unity. I do 3d modelling thoughg and know a bit about asset pipelines. There is quite a lot to learn, even with supposed ready engines like unity.

There are some example games, here is something made for Google:

https://beinternetawesome.withgoogle.com/en_us/interland

I am sure there are tutorials for similar games.

quickthrower2
0 replies
1d13h

Roblox is not a bad choice. Janky graphics but it is very expressive. For example minecraft in roblox is quite impressive

quan
0 replies
1d4h

During the holiday season in December, I got my 9yr old son into programming by making games with LLM. We made a few browser games, and by the end of it he could write the prompt himself, copy the code to the right places, understand what a function does and add objects to the game by modifying an array.

What I learned is llm gives you the activation energy, you just type a few sentences to get the momentum going. To get the reward feedback cycle going you’ll want to add graphics as early as possible.

The most difficult part is to be by his side and ready to jump in whenever a missing coma breaks the entire game. You’ll also need to keep scope under control, I’d alway steer him away from doing any complicated animation. There’re plenty of opportunity to teach but be realistic that it’s not real programming

Here’s an example that I put online so he can share with friends: https://mquan.github.io/k.ai/coin-collector/

pwillia7
0 replies
1d6h

Chat GPT would be a good place to start but you should sit with him or he won't get very far I imagine. I've written some about little daily coding projects with Chat GPT and building games. You can use Bing for GPT4 if you don't have a plus subscription.

https://reticulated.net/dailyai/making-games-with-bing-chat-... https://reticulated.net/dailyai/daily-experiments-gpt4-bing-...

It can handle 3d too, but that can take a lot more work in my experience. Maybe being able to share screenshots now would improve it. Here's a made up music instrument simulator built on three.js https://pwillia7.github.io/echosculpt3/

pvaldes
0 replies
1d9h

1) Choose a type of game

2) Don't reinvent the wheel

I would suggest to take advantage of the library of open source games with source code available to explore. Maybe you could improve an open source game instead to create a new one

If is an adventure game, you could just design a new campaign for Wesnoth.

My advice would be to make a role game. With cool design and some bits of still 3D here and there.

It can use a mix of techniques, so you can take advantage of it to teach your child lots of new concepts.

Is easy. Much less frustrating than trying to recreate Saint Andreas type games. You don't need to mess with physics or how to make your characters walk an jump without glitches.

Can be finished in a weekend. Just a good history, several pictures of locations and some cards of characters to interact around. You can start with really simple rules and a few characters and call it a day. Mission accomplished.

Can be expanded. Add it more and more rich and interesting later, so your child will be entertained for much more time.

Is creative. Ask your son to design characters and monsters first and then draw the cards yourself. You could use an image manipulation program or use Stable diffusion to give life to your child ideas in realistic characters and cards, and your son will absolutely love it.

3) Don't use copyrighted material to create your game. Is teaching the wrong lazy lesson to your child. If you need a location background just use your own photos. Remember Flappy bird and use the game as an opportunity to educate your child in good practices.

4) If you feel brave, use blender for creating a small 3D scenery, or mm3d/freecad etc to draw detailed maps of buildings and areas.

protocolture
0 replies
19h1m

Off to a good start if he has planned some of the game on paper. I would try and get him to do the following:

1. Take his notes and make a basic game design doc. If its 3d, focus more on what the main character can do than anything else.

2. From the design doc, see if theres any free or free adjacent unity plugins to do what he wants.

2a. If he tries out a feature and he doesnt like it, send him back to the design doc, seeing as thats what he sees his role as.

3. Make yourself more of a systems integrator. You will probably need to learn some stuff, like blender scene importing, and basic game logic. But its pretty easy these days to knock something at least fun to demo together from the unity store.

primitivesuave
0 replies
1d17h

I created this Scratch proof-of-concept for 3D pong (https://scratch.mit.edu/projects/1881311/) over a decade ago when I used to teach kids. I also found several other examples on the Scratch website which show how to build 3D graphics on a 2D canvas. After many years of teaching kids to code, I would say the best introduction for a 9 year old is to start with block-based environments to build structural thinking fundamentals, before introducing him to typed programming languages.

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.

pksebben
0 replies
1d2h

I'm seeing a lot of parenting advice here that is probably true, but has the potential for a catastrophic downside.

It is likely that a 9 year old isn't interested in the work that goes into game dev, yes, but it is possible that any given 9 year old has a much richer understanding of the world than one might give them credit for.

If your son is one of those, one of the worst things you could do is to coddle them and avoid the hard work of learning. Kids who are indicating that they're ready to expand their universe are in a fragile state of motivation, and it's easy to kill that by deciding for them "what they are capable of".

Of course, you don't wanna push the issue if they're not in that place (which is also fine). Maybe _try_ treating them as a co-creator, with all the attendant admissions of what is and isn't known ("I'm not sure how we could do that, buddy, but here's where we can start looking"), and if they don't respond with the appropriate level of motivation and energy, then default to making something in roblox or whatever.

To answer your specific questions:

- unity is really not a bad starting point, it's very batteries included

- rather than keeping the project contained, build your way up to the vision with smaller "practice" projects

- start subscribing to premium GPT. For total beginners to code there really is no better tool (I know I'm gonna catch flak for this, but having a tight feedback loop with some working code is preferable to doing everything the "right" way when you're self-teaching)

pipeline_peak
0 replies
1d12h

GameMaker is ideal, or at least something easier. He’s 9 after all, Unity would be way too advanced.

How do I keep the project “contained” so he feels that he accomplished

Something super simple like Frogger. Jump movements might be too advanced.

picadores
0 replies
1d8h

well, two things. Version Control and something working but similar.

Means, you teach them how to get back to the working start state. Then you check out the repo: https://github.com/topics/2d-platformer-game

And you help him to modify it. Add and expand it. Modding is the way to get into gamedev, without the demotivating problem of having nothign to play and long workhours without reward at the start.

p0nce
0 replies
1d5h

PureBasic, microStudio, basic4GL... I'd say no OO or complexity need apply.

otachack
0 replies
1d3h

Pico-8! There are also zines people have made with straight up "type this in and it'll make a game" like many HN-friends here have gone through with BASIC and other languages.

Seeing how young your kid is they may fall off it but I think pico-8 is immensely accessible to anyone and contains all the tools needed for making a game.

onehair
0 replies
1d9h

Well, tell him one needs to take baby steps before they start running. Tell him 2D is how all the programmers start, and they all start from using https://www.scratchjr.org

Going straight to 3D is going to feel like a chore after a few minutes and stomp his drive

okhan
0 replies
26m

I got into making games around that age, back in the mid 90s. I used a tool called Klik and Play which didn't require any coding, everything was visual. It really clicked with me, I had a lot of fun and learned a great deal.

Klik and Play is ancient history now, but the company that made it is still around, might be worth a look: https://www.clickteam.com/

nottorp
0 replies
1d8h

Ok this is where I'm going to whine about those 8 bit computers that booted to basic. They were perfect for 9 year old me - i just needed to be shown how to put pictures on screen and read the keyboard and then I went wild on my own.

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.

Don't think so. Find a simple framework and let him experiment on his own. It will be very hard for you to abstain from teaching him everything you know and overwhelm him (source: various attempts on teaching my daughter everything i know :)

Personal opinion: scene graph (even if 2d) based frameworks that are targeted at amateur game developers, like gamemaker, are too complex and dedicated to productivity not ease of use. A beginning kid may be better served even by ... SDL. If you don't try to teach him metaprogramming and advanced data structures and just let him write BASIC in C++.

Edit: Oh I missed the 3D part. As others said, maybe convince him to start smaller. Or get him to do a mod for a 3d game with good tools...

nitwit005
0 replies
12m

Since this is a developer forum, and people will tend not to bring it up: See if what they actually want to do is make art for games. It sounds like they've been busy doodling on paper. Games are often basically just pictures, music, and other creative assets glued together.

In that case, just go find the tool that seems to require the least programing for what they want to build.

nicoburns
0 replies
1d15h

https://gamemaker.io is excellent (or at least was 10 years ago). It's not open source, but it has a free version, and is more beginner friendly than something like Unity or Godot.

netghost
0 replies
1d11h

I'd really advise against going down the 3D path first. Not just because the math gets harder, but there's all the additional overhead of assets. A 3D game will require an environment, 3d models, etc. Maybe you can scrounge those, but unless he's really interested in the art aspect it's going to make it a lot harder.

Just to get things going, try out a 2D game engine. Love2D is great if you're okay with Lua. Browser based engines have a great iteration loop. On that front Kaboom.js could be a really quick way to get something fun that you could iterate on or use as a protoptype (look past the silly assets, it's pretty well thought out).

I saw some recommendations for Scratch, which might be fun for something simple, but it's really challenging (as far as I can tell) to scale up to non trivial games.

Taking a step back, see what part of this motivates him. It's an awesome opportunity to channel interest into something creative, focus on that. It might mean cutting scope somewhere, but he'll get more out of it if you can mine that vein of interest.

nazka
0 replies
1d7h

1. Avoid 3D at all costs

2. Keep it simple

3. Start with the funniest and smallest things to do and increment. Like making the character being able to move around or being able to attack with a sword than different weapons, etc…

naasking
0 replies
1d3h

You can start with simple physics simulations. Ten Minute Physics channel has some great basic intros:

https://youtu.be/oPuSvdBGrpE?si=3HNjgo-_lruGgAaq

They have tutorials on rigid body physics, fluid sims, etc. so those can all be fun projects to explore the basics with your kid.

Or you can start with a library that provides these and focus on making it interactive or game-like:

https://brm.io/matter-js/

JavaScript in the browser is an easy environment to setup and play with for this kind of thing.

mtillman
0 replies
1d3h

Just get a book on game programming using Scratch. This is what kids do these days in school too (US Southwest) so it’s good prep.

mquirion
0 replies
1d3h

Our local community college had a game dev camp in the summer, and that was a great start for my 9yo b/c it had a program for him to follow and kids like himself with whom to learn. Then this past holiday season we built a game together. I've built software for 23 years but never a game. He taught me so much! I taught him things like how to get something deployed so his buddies could see it online. Great fun.

And since the camp was thru the community college, it was very affordable. I think it was $150 for the week.

mo_42
0 replies
1d11h

I think you’re looking for an open source game that is small, can be built and run, and your son likes already.

From there he can start tinkering with code and assets.

That way your son directly sees the results of his work. Creating an entire game from scratch even with the best tools might be too much in the beginning and he will lose interest.

mmikeff
0 replies
1d8h

Depending on how complex his vision is, you might be able to do a chunk of this in side someone else's game, Roblox, MineCraft etc. I recall my daughter spending loads of time in Roblox games that other kids had made, so long as the game logic is not to crazy you might just need to arrange objects and let the existing 3d controls take care of the hard part.

Also, top commenter is right, the game won't get finished so aim for an achievable goal that is interesting in it's own right.

mkaszkowiak
0 replies
17h56m

I've used and had fun with Game Maker at his age - not sure how it fares with 3D though, there might be better alternatives nowadays :)

mikelabatt
0 replies
1d3h

My oldest son is 5, and I am having some of the same thoughts.

What system did you do the demos on in the 1990s? Might a "classic" system like that not be the "contained" environment you are looking for as a learning environment? And you are even good at that! Systems like the C64, Amiga 500 and Amiga 1200 are still references for current demoscene competitions. They are timeless, you can find them on eBay or emulate them, and your son will be able to show his skills on those even 10 years from now.

If you are afraid that these are not cool enough for your son, fear not. At retro events like VCF, Pixel Heaven, or in the dedicated area at Gamescom, children line up to play on those systems, and for some it is an element of great pride to be experts in them.

My answer to your question looks like this at the moment: I will start with a CBM 8032, after showing him how arcade games of the 1980s were. Then I will add a bit of color, sound, and maybe sprites, via a VIC-20 or C64. And then, if things go well, we can add multitasking and more OS and chipset features by exploring one of the last cool systems where you could try to master every secret: the Amiga.

It doesn't have to be "retro for life". But I think that learning with a "simple" past like this, also makes you better appreciate the present and the future.

mesozoic
0 replies
22h16m

See if you can make it in Roblox they have lots of easy to use tools it's pretty robust

melvinroest
0 replies
1d8h

This is going to be very opinionated advice. It might miss context, it might miss nuances but I know I'd do it and execute on it immediately.

Use Unity3D.

Specifically: hack a prototype together on your own in order to get your bearings a bit. Then, do it together with him.

If you want, we can also create a small Unity3D game together because it sounds like fun and I have not been doing that for the past 10 years.

When it comes to teaching programming, you want an interactive programming language. Like, JavaScript in Chrome dev tools is interactive or Pharo is interactive (though Pharo is niche so wouldn't recommend as a first language). Hooking up a debugger to a program makes any language more interactive.

Some stuff I made back in the day:

[1] A computer graphics engine (as someone mathematically challenged, haha): https://www.youtube.com/watch?v=PH6-dLvZEiA&pp=ygUMbWVsdmluI...

[2] Wind Hockey (in Unity3D took 50 hours not knowing anything about Unity3D before that other than one basic lecture of 60 min. at uni): https://www.youtube.com/watch?v=qTIZ-_UFXqQ

masfoobar
0 replies
1d8h

I would start off with the basics.

Now I enjoy making games - but I do not use 'off the shelf' products. However, if one of my kids at this age suddenly became interested in making a game, I would not bother showing them any programming by default. What worked for me might not be the same for him.

I have never used Unity or the like myself so it is a good opportunity to do so. In your case, use this excitment with your son and allow him the power and opinions on which direction to go.

I would start off by suggesting that - "there are 3 game engines I am aware of. Unity, Godot, and Unreal. Shall we spend this afternoon looking at them, installing them, and figure out what is best to use?"

This on it's own is not just an afternoon. It is (atleast) a weeks worth of content. Not only are you deciding which one to use, you are also looking at various tutorial websites.. likely how to "move things around" or setting 1st person or 3rd person perspctives, keyboard inputs, etc. Your son is learning a lot of things under the interest of his own game idea. In my opinion should keep him thrilled to continue.

Dont jump to the deep-end too early. He will likely loose interest.

In my world, I am interested in the logic of the game. Its the reason I became a programmer. However, and I think for most, when they are interested in making games -- it is about 'designing' a game. Coding is just one aspect, so find the areas that interest him the most when learning.

For all you know - this could be the starting point of him becoming a photoshop guy, or a blender guy, not just becoming a level editor guy.. or a programming guy.

Give him control and help guide him into the direction he wants to go. Maybe express interest doing the bit he isn't into doing just yet.

Just my 2 cents.

-- Edit: added some more content --

I became interested in "how does this work" when watching Street Fighter 2 for the first time.. along with many other games. It was not until I was 13 and seeing DooM for the first time I was like "I have to figure out how they do this!"

My era with these games, especially Quake with QuakeC, or Level Editors like Worldcraft, was my days of learning and figuring out games.

What I have learned is to not interject how I did things in the 90s when I was young compared to how the young can do it today. At a simple level, they have Scratch. They have Minecraft. They have GMod. They also have Godot, Unreal and Unity.

Point I am making (and believe is the same you and your experience) -- avoid interfering too much. That would be my priority.

mansoor_
0 replies
1d9h
madou
0 replies
1d12h

Do you have any web development experience? React Three Fiber + https://triplex.dev is a powerful combo that you can do cool things with. Albeit it is coding!

lodevalm
0 replies
4h24m

Hello,

I would like to share my experience with my son, who is now 11 years old.

I introduced him to video games using emulators of old video games when he was 5 or 6 years old. We played together, and naturally, he developed a strong passion for video games. Playing together with video games was a stepping stone from earlier games, like Lego.

As he grew curious, he started asking me questions such as, "Have you ever made a video game? How difficult is it? Can you teach me?" In response, I provided him with context on how computers work and found some engaging books from the 80s on computers with good illustrations.

Later on, when he had a basic understanding of mathematics, I introduced him to Scratch. After playing together, he began creating his own projects. As his interest deepened, he expressed a desire for more, after some searches I've found that there was a videogame called "Game Builder Garage" for the Nintendo Switch, which I gave him as a Christmas present.

Similar to our experience with Scratch, we started playing together, and eventually, I let him explore and create on his own, leading to impressive results. He also began playing Minecraft, another excellent resource for children to develop creativity when supervised by adults. We spent time building various structures together.

Now, he has asked me to teach him how to code. I was initially concerned that coding might be tedious and frustrating for a 11-year-old, potentially taking away the fun. However, I found a Python book titled "Python Coding for Kids," and we began coding together, following the initial chapters. To make it more interesting, he suggested creating stats for Dungeons & Dragons characters, and we collaborated on such projects.

While he may not yet be able to code independently, he has acquired foundational knowledge about how things work in the field of coding.

Most importantly, we had a tremendous amount of fun together, and I had the pleasure of witnessing his skills grow.

I would encourage you to follow your own path and find tools that match your child's abilities.

Daniele

liampulles
0 replies
21h39m

There is a piece of software called FPS Creator which I used when I was much younger to make 3d shooter levels, and it does not require coding. You can drag and drop assets, and there is existing scripted behaviour for enemies and doors, etc.

I see that company still makes modern equivalents https://www.thegamecreators.com/

But my general recommendation is to maybe start with something which is more of a 3d sandbox and level editor. That gets you the 80/20 value.

lgkk
0 replies
1d11h
lfkdev
0 replies
1d5h

You could go the Unreal route, will get you very far even wihtout code. Marketplace can be used to buy a lot of systems so you don't have to code them.

lencastre
0 replies
1d10h

If it helps this was in broad terms my offspring's journey into programming. But remember that everyone learns differently. When he was 8 or 9 we started tinkering with an arduino set. Not so much programming but mostly connecting electronic bits and see what happens. From then, our heir sped through a game programming with python book and asked for more... but the interest was not so much to build a game engine rather build a game on an established engine. After much YouTubing, our first born made a short list between Unity, GameMaker and Unreal -- Unity won. From there it was very much a self taught journey. 6-7 playable games have been released, from a tiny 2D sidescroller, a 2D dungeon crawler, a 3D FPS, a 3D survival game, a multiplayer game like Towerfall Ascension,... the Works. Importantly sounds and graphics are original. I'm quite proud of the accomplishments. Adjust your expectations because it takes time, measured in years, not weeks! For our case in particular, dedication, concentration, and a healthy dose of tolerance for frustration, really helps to chug along.

ldenoue
0 replies
1d12h

Back when my kids were 9 we made a simple math game called PopMath in html and it was using a basic animation loop to move bubbles around the screen. I then converted it into native ObjectiveC for the iPhone and it was a hit with them!

Nothing fancy: https://apps.apple.com/us/app/popmath-lite/id303258911

kybernetyk
0 replies
1d3h

Joke aside, what can I do?

nothing? I mean back when I was 9 I was sending level designs to Nintendo - which they replied to but said "thanks but no thanks". Then I decided to learn programming and got on with it. BASIC then Pascal then C - my parents both didn't have any clue about computers and the only help I really got from them was the computer they bought me and that they drove me to the local library so I could get programming books.

let him figure it out by himself. chances are he loses interest but also that he catches the programming fever. you can't really do anything as a parent other than helping with the logistics :)

kritr
0 replies
1d1h

Like a lot of people in this thread. I was 9 when I started using game maker. This wasn’t by chance, the good fortune of some willing parent who wanted to teach kids how to make games started a club at my elementary school. By the end of the year, I could put together most rudimentary 2d games I could imagine. I think more than anything, don’t worry about finishing, don’t worry about getting everything right, empower the kid to engage with their ideas and that’ll go a long way.

kovacs_x
0 replies
1d4h

minecraft or roblox for 3d. Maybe gamemaker or smth similar for 2D.

Anything else & you'll fail, because you're only one on the "team" understanding how things work! :D (not that it's generally a bad thing to fail.. there's always takeaway from that as well)

You can then build a minecraft plugin for some gameplay specifics.

everyhing else (unity, unreal, coding from scratch) will fail you way sooner than you think. imo.

klocksib
0 replies
1d15h

Check out Kodu Game Lab; it was a Microsoft Research project from a number of years ago, and is still maintained. Your son won't need to learn a language, but he will learn some of the core concepts from a visual paradigm.

https://www.kodugamelab.com/

kissgyorgy
0 replies
1d9h

Try to manage his expectations so you could do something simpler that he imagined and he would not be disappointed. And if he is still interested after the simple thing is done, you can explore it further.

khaki54
0 replies
1d5h

Looks like you're making a game then. Talk him into descoping the prototype to something that will work with scratch. Begin laying out the game, let him know the artwork and sound you need. Let him look over your shoulder, you will end up doing most of the work though. Invite him to any major design decisions

kevin_nisbet
0 replies
1d9h

It might be difficult for a 9 year old but there was an interesting series on YouTube or twitch called handmade hero. I didn’t follow it all the way through but the person hosting it did a weekly livestream and just started writing a game and engine from scratch in c. I don’t know if it’s still active but there are 600 videos in a YouTube playlist.

Even if not sticking with games I think it’s possible to learn a lot from the series.

junon
0 replies
1d7h

GameMaker is how I started as a kid. I know it's drastically different from 15+ years ago but at the time I installed it on a PC at the day camp I volunteered at and all the kids there were making silly little games all the time with it.

I make game engines from scratch for fun now, if that makes a difference. It all started with GameMaker.

The second is Scratch, but IMO GameMaker is just as accessible and is closed to a Real game engine than scratch is.

julianozen
0 replies
1d6h

Looking Glass is a scratch-like software designed to teach kids to code in a 3D environment

I don’t think it is quite like a video game. It more allows you to make a scene. Perhaps this can help scratch the itch and can let your child be in the drivers seat

https://lookingglass.wustl.edu/

(I also I used to be an HCI research for the team when I was an undergrad)

jsonmathsai
0 replies
1d13h

as with many in the comments, what worked with my son is Roblox create. THey can quickly transfer their imagination in blocks and figures and define the game they'd like to play!

jot
0 replies
1d11h

Not 3D but my 7 year old and I have been having loads of fun with DragonRuby[0]

He also wanted 3D but once we added some great looking dinosaur sprites (generated with DALL E) he was fully engaged. I'm a ruby developer and it's been a joy learning the differences between web and game dev.

Knowing that we can easily distribute on mobile platforms, web, Steam and Switch once we're ready has kept us coming back.

[0]: https://dragonruby.org/

johncoltrane
0 replies
1d3h

Your son doesn't care about building a game. He only wants to spend more time with you.

joesb
0 replies
1d9h

The game doesn't have to be started from scratch.

For example, get him to write game on top of Roblox. Or any other game that allow simple mod.

If you want to get more hands on, there are plenty of game engines that is simple to write, many are in Python.

If you have an iPad, there are lots of Game coding app, like Swift Playground.

joeld42
0 replies
1d12h

Pico-8

At first he might just browse and play existing games, then modify their sprites and tiles, then start digging into the code. It’s magic.

jmccarthy
0 replies
1d13h

I've built a few games with my son over the years. The fun part for us was all about fast iteration, and then laughing at the bugs together.

There are some other recommendations here for how to approach 3d, and he is specifically asking for 3d -- but I want to put in one more pitch for 2d: the fun-to-tedium ratio can be much higher.

I wonder if you could spend some time prototyping some of his ideas in LÖVE https://love2d.org/ -- if you show him the smallest sketch of something working, he might have an idea about what to add next.

Many years ago, on a flight, we went from 0 to game before we landed (with no experience) using LÖVE.

jmac01
0 replies
1d12h

Unreal engine. Just download it and let him go. Maybe even unreal editor for fortnite but that hasn't got much docs. Kids have unlimited time. Unreal has starter projects and loads of docs/YouTube vids to find out how to do basically anything. I got a cracked 3D application at 11 and I'm not in anyway computer expert. Kids are capable of way more than we give credit for.

jfrej
0 replies
1d1h

Since your son enjoys drawing, something like Pixicade[1] can help teach him basic concepts of game development without any programming.

[1] https://www.pixicade.com/

jbgt
0 replies
1d11h

A friend of mine's 9 y old used Scratch to build games.

He asked me "do you build games?"

"No, I wish, I don't really have an idea for a game"

"Well how about one where you chase zombies?"

"Haha ok."

"Well now you have an idea for a game. Go and make one!"

jasonjmcghee
0 replies
19h37m

Consider using some seriously modern tech (LLMs!) to make games with point and click/draw.

https://github.com/tldraw/make-real

This is a really fun project that uses GPT4 and TLDraw. People have made games with it- it’s super WYSIWYG and you can draw the state machines as a diagram with boxes and arrows, the UI directly, etc. I would have loved to have this as a kid.

janet-catcus
0 replies
1d6h

i would look into tic80, but as others have said: the time spent together is the product you want

jamager
0 replies
1d9h

To add another idea, perhaps suggest him to do first, as a trial, a physical version of it (a board game). Tell him that is a good approach to explore the design space, playability, etc.

It adds a different set of constraints, but it is like 10000X more manageable and pretty fun to build together, because the kid can actually do most of the prototype by himself. Quicker to test, iterate, etc.

Then maybe he is satisfied with this and will just want to make another different game :)

jacknews
0 replies
1d15h

Is the goal to learn to program, or just get his idea working?

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.

ivanb
0 replies
1d12h

You are a lucky parent.

I would start with Scratch and then move to a Basic with 2D drawing capabilities and then to Blitz3D which is a Basic with a 3D engine. Have a look at all the positive reviews.

imnes
0 replies
1d3h

I'd use one of the existing game toolkits that you can build a 3d game on top of, not try to build anything from scratch. If you want to go vintage this was a DOS app for creating DOOM style 3D games.

https://archive.org/details/lukecool_gmail_GCS

imnes
0 replies
1d3h

I wouldn't try to implement anything yourself. Use one of the game building toolkits already out there.

If you don't mind going vintage, this is one I used many years ago, it's for building 3D games similar to DOOM, for DOS. You might need a dos emulator to run it in if your OS is too new to support it. Fun to play with though.

https://archive.org/details/lukecool_gmail_GCS

im3w1l
0 replies
1d8h

I say make a mod for a popular and easily moddable game like minecraft or roblox. You will have a 3d engine and content for free - this is incredibly important. You need a quick MVP or he will lose interest. Then you can try to gradually add code and assets to make it closer to his vision.

ilzmastr
0 replies
1d12h

Even in 2021 you could use natural language, not assembly language: https://www.youtube.com/watch?v=Zm9B-DvwOgw

idrios
0 replies
1d13h

Rpgmaker, super easy to build a game with all the default assets that come with it, but also quite customizable, especially once you start exploring with downloading plug-ins or writing your own

icemelt8
0 replies
1d9h

MIT Scratch.

haunter
0 replies
1d8h

No one mentioned yet but Smile Game Builder is also an option https://store.steampowered.com/app/483950/SMILE_GAME_BUILDER...

greysphere
0 replies
1d11h

If they're super motivated by the 3dness, Id suggest try Spore with the Galactic Adventures. Spore is a great 3d editing program for someone to get introduced to and Galactic Adventures let's you put all the stuff you create together in a world, with basic scripting and ai, all in a very player friendly way. (Disclaimer, I worked on these)

gloosx
0 replies
1d8h

Back in the day when I was a kid, I was dreaming of my game too and I stumbled upon GameMaker. I don't know the state of it now but from my experience it was really easy to grasp even at a fairly young age without help of any adult. I wonder what could I achieve if there was a senior at my side to go through the hardest parts together, but it was definitely one of pivoting experiences in my life which led me to study the world of programming. It also made me realise that i can MODIFY and create ADDONS for many great games around like minecraft and ace of spades, so I started to create custom narratives and objects inside them. Sharing these on forums with other fellow modders and regular players created a very strong feedback loop and kept me motivated to do it for the rest of my childhood. In the end I did not create any really polished and finished game or big mod, but I make a living crafting business applications now and the temptation to let go of everything and start the next masterpiece of a game never leaves my mind :)

globalnode
0 replies
1d12h

build a 2d board game, something with a hex grid and units on top (somehow) then just tilt the board so you can get a sense of depth. bam, 2d -> 3d game. Id be impressed if i was 9.

ghdjnrn
0 replies
16h8m

Godot is free and does 2d and 3d.

I am not a game dev but there are a heap of YouTube/web based tutorials, free models and everything out there for you to get started with!!!!!

Good luck and enjoy the time with your kid

gbraad
0 replies
1d15h

Scratch, MakeCode, Godot

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.

galbar
0 replies
1d10h

My introduction to programming was when I was 10 with GameMaker. I found that the same company has a product with the same name that seems to be the spiritual succesor of it[0].

I allowed me to start with very simple no-code and move on to incrementaly add codes nipets here and there. Eventually I went crazy and tried to make a game fully with code, avoiding all the tools the engine gave me, just as an experiment (I was very proud of the resulting code-generated UI).

I made so many games with it as a kid! 100% recommended!

[0] https://gamemaker.io/en

frankleeman
0 replies
1d9h

Use scratch. My kid loves it, and despite him being only 6 when he started, he actually knows what he's doing. His games are mostly 'the cat flies through the air when it touches the cheese' (in other words, not really a game) but he has tons of fun.

fooker
0 replies
1d12h

Get Gamemaker start off right away.

You'll pickup the scripting in no time and your son will bamboozle you with ingenuity in a month.

fermigier
0 replies
1d9h

https://github.com/kitao/pyxel - "A retro game engine for Python", is quite popular in the education sphere, AFAICT.

exolymph
0 replies
1d18h

It sounds like the Replit ecosystem would be a good fit.

everyone
0 replies
1d7h

Any of these options would be fine.

Scratch Roblox Godot Unity

endigma
0 replies
1d3h

HeartBeast’s Godot 4 tutorials are a good place to start, along with GDQuest.

emjoes1
0 replies
1d3h

Others comments are great. I just wanted to throw out a couple of things my son and I enjoy - RPG in a Box which you can find on Steam is great as you can make a game without needing to write code but also supports scripting if he decides he is interested. Also doing the Build Box by Mark Rober is fun though a bit pricey.

eggdaft
0 replies
1d10h

A little off topic, but there’s a nice example of making a game with your kid in “Doom Guy” by John Romero. I enjoyed the book and it’s also a good accompaniment to “Masters of Doom.”

ecliptik
0 replies
1d12h

Check out Pulp [1].

In browser, comes with a scripting engine, sprite and font editors music editors.

It's for the Playdate, so is all 1-bit, with a focus on making a game to play right away [2] instead of getting bogged down in tooling or a complex modern development process.

There's an onramp to more complexity using a proper SDK with Lua or C too.

1. https://play.date/pulp/

2. https://www.youtube.com/watch?v=p4eLcP3hgJc

dukeofdoom
0 replies
1d13h

This is probably the best channel to get started. https://www.youtube.com/@ClearCode/videos

Tutorial how to make a mario style game https://www.youtube.com/watch?v=YWN8GcmJ-jA

Flopyy Bird https://www.youtube.com/watch?v=VUFvY349ess

Uses pygame and Tiled.

Step by step, a 9 year old could follow along

djmips
0 replies
1d15h

Despite the bad press, Unity is a good place to get started ( for you ) which can then let you team up with them. There are many available assets and templates to get going.

debacle
0 replies
1d12h

If it must be 3d, Unity is the right choice. Godot is great, but you will find less help on StackOverflow and YouTube compared to Unity. CodeMonkey has a fantastic library of videos that he keeps short, upbeat, and for non-programmers generally (or new programmers).

https://www.youtube.com/c/CodeMonkeyUnity/videos

d--b
0 replies
1d6h

Hahaha, everyone here is so 2020 :D

The right answer of course is to ask ChatGPT to build it for you!

crq-yml
0 replies
1d12h

Let me address that last point of project scoping: it's a great skill to teach, and the right way to do it is to introduce Venn diagramming. This is a serious tool for any kind of creative project.

The way to use Venn diagrams is to distill "the game" (which, for any pre-teen, and for most first-time adults too, is going to be a jumble of features and assets) into its absolute core: the big picture, philosophy, principles, themes, "design pillars". The core is the overlap of all the specific stuff: when you implement something, it has code, it has visuals, it has audio, and it should all relate to the core. So, Tetris, Sokoban, and Minecraft are all about "playing with blocks" at some level, but they differ in that the core also contains some other aspect of play. Every piece of media that works for its audience - they find it believable and engaging - is representable in the diagram.

So when your son asks for this or that feature, have him work through it on a diagram, filling in "what sound does it make" and similar kinds of details while you address the big picture parts that are hardest. Make lots of little diagrams. You'll eventually hit on one where you can reasonably hope to prototype it with your chosen tool. That's good enough, when you are 9 years old.

corethree
0 replies
1d13h

yeah why not just use unity.

Tell him the first step is to build a working game with 2% of all the features he wants.

Then you add features one by one. That helps with the accomplishment aspect. You guys may never reach 100%, but this is the most likely way to get there.

coffee
0 replies
1d7h
ciroduran
0 replies
1d5h

May I suggest Bitsy? https://bitsy.org/

Depending on your son's interests, he might be more oriented towards telling stories, Bitsy allows to write stories and dialogues. The tool has some restrictions on what you can do, so you can focus on the story and the conversations you can make (the dialogue tool is very good!)

The result then can be converted to html and uploaded to itch. Bitsy jams are very popular.

chmod775
0 replies
1d8h

Other than not having a software engineer parent, it reminds me of myself.

I didn't have any interest in computers until my dad bought a PC that came with Age of Empires 2.

Soon I tried to teach myself to code and failed miserably the first few times. While visiting a friend of my fathers (whom I am immensely grateful to), on a whim they gifted me a book that had introductions to ~10 different programming languages (setup, hello worlds + some). Over the next months I went through them one by one and nothing clicked.

When I was around 11, while sitting at a boring camping spot while my parents were off diving, I came to revisit the chapter on Windows batch programming and finally managed to make something work. The low complexity and easy setup helped a lot. By the time we came back from vacation, I had made a crappy note-taking app in batch on that 5kg "portable" 300MHz computer monster which my parents used to log their dives. You have no idea how proud I was about having made something.

I graduated to VBScript from there, then to Java (which came after in that book). For about 5 years I exclusively programmed in Java, in which I also made my first games (worms-like thing with stick figures, pong-like game where you have to hit blocks etc.), even though I had much bigger projects I attempted: for instance A multiplayer RPG in space, where you design your own physically simulated 2D spaceship and fly it around (I never got collisions in my handrolled physics engine working properly, but learned a lot teaching myself to read mathematical notation).

The point I'm trying to make is that they'll probably bounce off the first few times, and that's fine. Don't be overly focused on results. Even all my failures taught me a lot in retrospect. If they give up this time, then maybe a few months from now they'll want to try again, and it'll click.

Another important thing is treating them like an adult: They've set out wanting to do an "adult thing" - dumbing it down and turning it into a colorful kids activity is probably going to dampen their enthusiasm. If they are proud of something they accomplish, you're allowed to be too as a parent, if they fail, don't act like you expected them to and simply move on until they want to try again.

Don't be afraid to start something complex like Unity or Unreal. Even if they are huge complex monsters, getting something basic up and running in them is thankfully easy. Failure is okay.

cheerioty
0 replies
1d11h

My 6yo old is enjoying PICO-8 and GB Studio :)

chasil
0 replies
1d12h

The classical language for children from the early years was Logo.

Smalltalk also began as a language for children, but grew far beyond that.

Logo is not 3D.

https://en.m.wikipedia.org/wiki/Logo_(programming_language)

chaosprint
0 replies
1d9h

I picked up LOGO when I was 6 and leant Pascal and C later.

I didn't program for a few years because I wasn't interested in competitions. So I think interest is the most important, otherwise it will be easy to get lost and give up.

Later, I became very interested in programming, mainly because I came into contact with music technology.

I think since your child is interested in game development, it is a good choice to start step by step. For example, starting with threejs. I also recommend learning Rust and Bevy so you learn the underlying layers and ECS.

Last but not least, although it's not related to games dev but I sincerely invite you and your son to try Glicol (https://glicol.org), a music programming project that I am developing.

catlover76
0 replies
1d17h

I third Scratch.

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

caseyf
0 replies
1d4h

my kids and I have tried a bunch of the 2d options and we'd recommend Bloxels for making platform or top down 2d retro style games.

It's very fun to use and it includes everything you need - sound, pixel art editor.

We started playing with it in 2020 and my kids still pick it up and make new little games themselves, without my help.

Downsides: 1) there is no coding at all so you are limited by the features it offers 2) another monthly subscription

brudgers
0 replies
1d16h

* Simple language

* 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.

briffid
0 replies
1d12h

Geometry Dash! Its level editor is actually a full-blown game engine now.

Though my child built several games in Scratch around this age.

boringuser2
0 replies
1d3h

Remember when you were a kid and wanted a dog, and your parents (good ones) tried to emphasize that your ideas weren't realistic because you wouldn't put in the effort and responsibility required to have one?

This is the same scenario except your kid thinks he can more reasonably trick you into shouldering responsibility.

I wouldn't even sweat "learning to code" as a concept for his enrichment because A) he won't be able to meaningfully do so at his age and B) there's literally a zero percent chance "coding" survives AI.

Such a strange thing that people forgot how to parent.

bombcar
0 replies
1d15h

Does he Minecraft?

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.

bluescrn
0 replies
1d4h

Level 1: Minecraft, Super Mario Maker

Level 2: RPG Maker, Roblox, Dreams

Level 3: Game Maker Studio, Pico 8, Python/PyGame

Level 4: Unity/C#, 2D game from scratch with C/SDL maybe?

Level 5: Unreal Engine/C++, Build engine from scratch, Make 8/16bit game in ASM

blah-yeah
0 replies
20h16m

I'd disregard people who claims your son doesn't want to code (Unless A. they know him personally and B. they've actually asked him).

I would introduce him to Udemy.com tutorials, such this one, where you learn to build a clone of the game Agar.io (www.agar.io) -- https://www.udemy.com/course/socketio-with-websockets-the-de...

I'd also search Udemy.com for the terms "game" and "3D game" and explore its catalogue of courses in the Skill Category "Game Design": https://www.udemy.com/courses/design/game-design/

bathyspheric
0 replies
1d12h

MakeCode allows you to begin with block code and slide into Python or Javascript. It has many resources available or you can make more sprites or tunes for your game. Even better, you can get a GameBoy-esque hardware to transfer your game too. I make a Sharks-With-Lasers game with my Year 7 students (11-12 yrs) and most find some aspect to enjoy. Larger frameworks can make it tough to get all the way to a game yiu can play yourself. Go for early success, then build on larger frameworks.

https://arcade.makecode.com/

https://core-electronics.com.au/gamego-handheld-console-code...

bald42
0 replies
1d4h

Thor Hall is talking about this topic all the time on yt/twitch and his site

https://www.develop.games/

You might check this out and most likely have seen some of his clips on YT already if you searched anything game dev related since he really blew up there recently.

b20000
0 replies
1d13h

break it to him that in life nothing is easy like he thinks it is

then do your best to help but make it clear he choose i difficult path

apexedison
0 replies
1d5h

We built an editor for making simple (but complete and fun) games to help young folks (or anyone) learn to code.

It's at sprig.hackclub.com

If your son shares the game publicly as a PR we'll send him materials to build a console that can play it. We've had hundreds of kids around the world share games you can check out in the gallery.

anthk
0 replies
1d14h

A new game for the Minetest engine.

andretti1977
0 replies
1d12h

Switch to 2D and use kaboom: https://kaboomjs.com/ it is incredibly simple but incredibly rewarding!

aksss
0 replies
1d11h

Wow, 9? That’s tough. I was just starting a 12yo on coding and it was hard to teach beyond what they were immediately interested in. I like the other comment that stressed the kid doesn’t want to learn to code, he wants to make a game and spend time with you. If anything, I’d find very quick 2D tools and sell him on it as a “draft” or proof of concept that you can convert to 3D later. Then focus on design and let his imagination run wild storyboarding it, etc.

akaike
0 replies
1d

That sounds lovely Why don’t you put coding and all the complicated stuff aside and try to build it in an interactive way? For example, there is a game on PlayStation called Dreams; check it out.

It allows you to create 3D games in a more casual and interactive way, without getting too complicated, although it also allows things to be made complicated if you want to.

Good luck

acheong08
0 replies
1d10h

He’s very young. I think starting with scratch would be nice. 3D is too complicated for a 9 year old and assets are expensive.

Side note: I was around the same age as your son when I was first introduced to Scratch. Although not a “real” programming language, it did help me grasp the logic and really gave me a head start years later when I actually started learning programming in Python.

abrookewood
0 replies
17h23m

No idea what it is like to program/develop on, but Roblox sounds like a good introduction - simple 3D games, good platform, basic graphics.

aantix
0 replies
1d3h

GPT with a really high level framework is your friend.

My really young kids and I were about to put out a Roblox “obby” in about four hours asking GPT when we got stuck. Their 3D environment helps as well.

a-saleh
0 replies
1d6h

What I did last time I had my kid over at work:

I need to work so I open my laptop to work.

I have a spare, that I connect to a monitor in an empty space besides-me and fire up https://www.microsoft.com/en-us/makecode

Let my kid choose some exercise. If she is stuck she asks me, or I ask her if I should help. We talk shop. She makes animated holiday-card.

I can still have reasonable ammount of focus at work, while at the same time it feels we are making a thing together.

I would avoid anything heavier - i.e. it is said that you don't really have mental capacity to fully understand coding until you are ~11? From other things - scratch exists, I had some success with laying around with Hedy with her, 3d modeling - I would go for tinker-cad that is very simple and geared to make 3d-printable stuff, or blender because it is free and I still remember how to use it from my uni-courses - as 3d modeling gives you immediate feedback-loop.

Wowfunhappy
0 replies
1d4h

OP, if you do want to go the route of actually helping him make something, I wonder if Dreams on Playstation would be a good fit.

Of all the accessible game creation tools I know of, this is the only one which:

- Is made for 3D by default.

- Is reasonably flexible in terms of the type of game you can create.

- Isn't Roblox (aka extremely exploitive).

The other tools suggested in this thread are great (I love Scratch, I use it extensively at my school), but they all fail the first requirement. And I suspect that is a requirement: if a kid is set on 3D, they usually really want that.

Woshiwuja
0 replies
1d7h

Godot or Gamemaker are probably your best choices. GDScript is much easier than C# and gamemaker even has the drag and drop system to be even easier. Or bring out the ol good rpgmaker

WimYedema
0 replies
3h28m

Nice idea! You may be interested in a repo I created for a small programming course I'm going to give at the school of my kids, also for 9+. It's not 3D, I figured that's way too complicated on a number of fronts to start with. It's a simple 2D platform game in typescript. The dialogue is in Dutch I'm afraid, but it could still serve as inspiration: https://github.com/WimYedema/alan-and-ada Oh, and I rely heavily on GitHub codespaces to give them a reliable working environment.

Unfrozen0688
0 replies
1d2h

Maybe he should figure it out? This curling cripples kids. Source: Me

I'm only good at the things I was forced to figure out myself, as no one else knew. Like the family computer, installing it etc. Then building my own, installing and troubleshooting Windows etc.

TomK32
0 replies
1d7h

Don't worry too much about 3D (though Godot will make it easy enough to switch from 2D to 3D and even combine both) but focus on fun instead: https://www.youtube.com/watch?v=Fy0aCDmgnxg

Silphendio
0 replies
1d1h

It depends on the kind of game he wants to make.

If it's about 3D scenery or physics, I would recommend Godot. Just import some 3D models, place them into a scene, add lights and physics, and you need very little coding to have a simple 3D game. You can add complex logic and UI later on.

If the focus lies on UI, NPCs, combat, or inventory, I would recommend GameMaker instead. It's 2D, but it's made for that kind of stuff.

RecycledEle
0 replies
21h28m

1. There are drag-and-drop systems that teach kids to program. MIT App Inventor, Scratch, and Alice come to mind.

2. Look for tutorials you can follow on YouTube and after several hours of your following it, show gim the tutorials. If you do not invest the time you will either give him links to BS artists, or (s)he will have a question you can not answer.

3. Ask questions as your learn using several generative AI chat bots. Show him the ine that works the best. Some will do OK, some will be awful.

Source: I'm a computer teacher.

Projectiboga
0 replies
36m

Looks like you will have a new hobby to share with the kid, try and enjoy yourself and help the kid to have fun with it all. Two tracks which aren't mutually exclusive. One he needs to get into blender to work with 3D images, I've been told there are lots of guides and tutorials. Second maybe start with a 2D old school game just to get a handle on the mechanics of getting something onto the screen. I'd suggest he needs to learn how to read and do research. His generation will want to watch video tutorials but those are time consuming vs what you actually learn. I'd guess the videos will be good to get an overview of all the parts of modern game development.

PaulHoule
0 replies
1d18h

How about using

https://scratch.mit.edu/

?

OscarTheGrinch
0 replies
1d4h

I'd start with Scratch. Lots of well meaning advice here but Scratch is still the best for kids to build code and quickly see the product dance on the screen. Quick iteration time is the key to building a feelings of accomplishment.

We started with the book "Scratch Programming Playground" by Al Sweigart.

Now we are doing youtube tutorials by Griffpatch. One of the latest is a simple 3D raycast Wolfenstein clone, which might interest your son. However I recommend a simpler jumping on point, like his Geometry Dash series: https://www.youtube.com/playlist?list=PLy4zsTUHwGJJnoXPSYlKQ...

MrDresden
0 replies
1d6h

I am no game developer but have over the past few years played around with GameMaker and their studio software[0]. I would imagine it to be one of the easiest ways to get started with making a 2D game.

Then there is also the option of not jumping directly into the coding bit, and rather cultivate in your son the ability to do on paper designs first.

This is a skill that would probably benefit him later in life as it is too often the case that we (software developers) get hyped for the act of developing before we have even decided on WHAT it is and HOW we should be developing.

Sounds like you and your son have a fun time ahead of you. Good luck, and have fun!

[0]: https://gamemaker.io/en

MarcScott
0 replies
1d12h

I don't know how helpful this is, but you might like to work through these kid focused projects with him, so at least he has some idea about game development.

https://projects.raspberrypi.org/en/collections/unity

Lord_Zero
0 replies
2h46m

code.org has a game builder and a course. Might be too much for a 9 year old, but if you learn it, you could have him tell you want to do. Theres even an art and animation tab.

Levitating
0 replies
19h57m

I am also going to highly recommend Scratch[1]. That is what got me into a programming around that age. You can even help him make a website to host his games on.

[1]: https://scratch.mit.edu/

LargoLasskhyfv
0 replies
1d14h

https://en.wikipedia.org/wiki/NetLogo

https://ccl.northwestern.edu/netlogo/

https://ccl.northwestern.edu/netlogo/faq.html <- look for 3D in there

And countless intros and courses of varying quality & complexity on youtube...

JJseiko
0 replies
1d3h

maybe Roblox? could be a way to implement the game your son conceived and could also be a gateway to more programming in the future

INTPenis
0 replies
1d6h

There are many simple game engines for kids, I'd start small just to show that he can do something. And if that piques his interest you can move on to an actual project with storyboard and planning together.

Heyso
0 replies
1d3h

Make him do some level design, for example he can create Doom levels.

It can also be paper/board games if he is into it.

He could make some rules variations to an existing game.

Nothing alarming here.

If he has peoples to play with, create a story, add some rules, play it with the body or lego or whatever.

Freeboots
0 replies
1d6h

Maybe look into Roblox. I don't actually know much/anything about Roblox, but I'm sure I've read about mods/games/whatever being built in it.

Possibly Minecraft too.

FloorEgg
0 replies
1d11h

C3d.io

Designed to teach kids 7-11 programming while building 3d vr games

FloNeu
0 replies
22h10m

Give him a pen an paper to lay out the rules of the game - it’s great practice to sort out the tasks and elements required to design a game and/or program - slowly introduce him to programming simple stuff like minesweeper and game of life… if he holds interest he will work his way into a game engine. Kids think a game is saying - it should be 3d and jumpy/shooty with a pink weapon that makes a ‚preff‘ sound… use this motivation to show them what planing - working hard towards a goal means. Lots of good lessons.

FearNotDaniel
0 replies
1d9h

I can't talk about what platform or SDKs are relevant. But I can talk about my experience as a kid approximately the same age wanting to write my own game. The tech was very different (2D, 8-bit, ZX Basic on a regular TV screen) but I somehow figured out a way to move one slow step at a time, and yet getting super excited every time each of those steps got me a tiny bit closer to the goal.

In my case, I wanted to write a Pacman clone. What is Pacman? An object moving around a screen, confined by the walls of a maze. Then there's some stuff about dots and ghosts and power pills, cherrys and levels, but let's take it easy - one step at a time.

What was the simplest possible thing I could do before I could make an animated figure move around a maze chasing ghosts? Just make him move around the maze? Too complicated. Just make him move around the screen on command? Possibly. How about if I start with a one line program that simply positions a character on the screen in the position I want. Great. I can look up that command in the API docs (i.e. the printed book that came with the computer) and run that one line program. Now, can I make him move? How do I write a simple loop that listens for keypresses, changes the desired position, then redisplays the character. Great, that works. Except I forgot to erase the old position so he leaves a trail behind. Excellent, my first lesson in debugging. And so on and so on.

Obviously depending on the platform the specific 'first things' you can learn/teach him to do, each one getting a tiny bit closer to the game in his head, will be different. But the trick I used to motivate myself back then was - imagine the whole impossible finished game as something that was composed of tiny little steps, each more complex than the last. I didn't know the words 'iteration' or 'user story' then but if I did I could have broken it down into tiny agile chunks. As a player, I want my avatar to appear on the screen at a known position, so I know where I am in the game.

As a player, I want my avatar to move in the right direction when I hold down an arrow key, so I can control my movements. As a player, I want to see the walls of the maze on the screen, so that I can see the challenge. As a player, I want the walls to stop my character from moving, so that it is more interesting to move around. As a player I want my character to look like a Pacman instead of the letter C, so that it is cooler to play. As a player, I want my character to animate while he is moving, so that it looks even cooler than before. etc etc

The great thing is, these are not necessarily sequential. If I got stuck on one of them, or bored trying to detect a maze wall and stop moving, I could move on to a little animation challenge, or try to add some music, or figure out what it takes to eat pills and keep score.

Of course, I wasn't doing this all on my own. My dad was there too, some of the time, and although he didn't have any programming experience (it was 1982 in the north of England, nobody did) he must have helped me with some of this breaking-it-down-and-figuring-out-the-little-problems part. Most of all it was lots of fun, and we somehow ended up with a decent working version in the end. I think they key takeout is: motivate and encourage him to find tiny challenges he can iterate on, while always retaining their connection to the bigger picture of the thing he wants to achieve. Good luck!

Eventlessgaming
0 replies
1d4h

I would say the best place to start from is scratch and then move to python or try Godot with your child (it depends on his learning capabilities)

CodeWriter23
0 replies
1d

Use the "crawl before you walk" metaphor and tell him to design it to 2d first and when that gets going, you all can look at 3d. You'll never do the 3d version with him but maybe he might do it solo... You guys might actually accomplish something. Valuable lessons to be had in risk containment, testing ideas, etc.

BeefWellington
0 replies
1d11h

If you haven't been exposed yet via Youtube shorts, there's a former Blizzard dev-turned streamer and indie dev named Thor Hall who has this resource site for this exact thing: https://develop.games/

It's quite extensive and he's very open and encouraging with his community.

AzzyHN
0 replies
1d15h

Scratch and Roblox, all the way

AtypecastA
0 replies
1d7h

Hi, welfare.

My approach: 2d first. QuickEdit+, HTML Canvas, CSS, Javascript. On mobile.

3d scenes in between.

Everything from scratch, mobile phone always there to be seized and used for enhancements or little proof of concepts...

Start with a corn maze. Generation, cursor giving direction, a moving dot forbidden to touch or even hit walls...

Hope that helps.

Christian, Dresden

Edit, typo: dirst/f

AshleysBrain
0 replies
1d7h

We make Construct: https://www.construct.net

It has a capable block-based alternative to coding suitable for young people/beginners, and a "Behaviors" system that can get instant results (e.g. a built-in Platform movement). It's mostly 2D focused but can do some simple 3D (like retro-style FPS). If they want to go further, you can do JavaScript/TypeScript coding too!

73556
0 replies
1d17h

Scratch is the first thing that comes to mind;

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!

3523582908
0 replies
1d4h

I recommend trying to build it in something like Minecraft or Roblox. They both have rudimentary environments that are already set up with things like 3D and controls, and can be programmed.

127
0 replies
1d5h

Godot is really good. GDQuest does really nice tutorials for it: https://www.gdquest.com/tutorial/godot/learning-paths/godot-...