Ask HN: 9-yo son wants to build a game, I'm lost. What can I do?
387 points| welfare | 2 years ago
My son hasn’t really showed any interest in computers until now. He’s been spending a lot of time over the last couple of weeks designing some sort of a game (on paper) and now he wants me to help him build it, whatever it is. I don’t want to let him down but I also know how much work that goes into a game (he specifically wants it to be 3D).
I’m a decent developer, although I’ve not done game development professionally I did tons of demos on the 90’s so I feel I know the basics of 3D math but I’m pretty sure he will lose interest if I try to teach him x86 assembler :)
Joke aside, what can I do? This sounds like a great project for us to explore together and hopefully he can grow interest in software design and development.
Are there development kits I can start with (unity?)
How do I keep the project “contained” so he feels that he accomplished something but still feels we developed something close to his vision?
Thank you HN.
Some comments were deferred for faster rendering.
fn-mote|2 years ago
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.
GuB-42|2 years ago
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.
walledstance|2 years ago
lubujackson|2 years ago
arcastroe|2 years ago
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.
wodenokoto|2 years ago
That game was amazing. I can’t believe Nintendo didn’t call me up, but instead decided to make a 3D game
soci|2 years ago
aleph_minus_one|2 years ago
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. :-)
lelanthran|2 years ago
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.
burrish|2 years ago
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/
rodolphoarruda|2 years ago
sebzim4500|2 years ago
You are probably right, but when I was 9 I definitely wanted to learn to code.
drakonka|2 years ago
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.
Erratic6576|2 years ago
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
makach|2 years ago
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!
taskforcegemini|2 years ago
unknown|2 years ago
[deleted]
jstummbillig|2 years ago
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?
welfare|2 years ago
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!
gofreddygo|2 years ago
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.
anonzzzies|2 years ago
paraxion|2 years ago
nemo_taiwan|2 years ago
But all of these video games are not going to just CODE themselves. =/
JR1427|2 years ago
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.
adastra22|2 years ago
samstave|2 years ago
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.
cptaj|2 years ago
keyle|2 years ago
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.
helboi4|2 years ago
lloeki|2 years ago
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.
EsportToys|2 years ago
https://github.com/EsportToys/wireworld-love
montroser|2 years ago
xtiansimon|2 years ago
If your son is copying something else he's seen someone do, or if he's really into games and his friends also share this interest [1], then you can't beat the 2D approach. If you can find the right software, then you help him learn the software and he goes to town. He will need to adjust his ambition to what he can accomplish with the software. He already knows what he likes, and you're there to help him participate and get out of the way. ahaha
My other idea is there is an educational angle to "games" as a collection of skills and knowledge: problem solving skill of breaking a goal into parts. All games are in some form about probability, and *probability modeling* animations can be really cool. (I saw this post on reddit today [2]). Modeling is a great skill or tool in your toolbox. You can go really fast with this approach, and get to an abstract but interesting outcome. Maybe something that involves using a keyboard or mouse for interactivity and probability. If he loses interest, then maybe it wasn't going to last anyway, but you planted these educational seeds which can grow later.
[1]: I remember when I was his age, and I had five friends who lived six blocks from my house next to a park. We would get together to play touch football. I remember going over to this one kid's house trying to get him to come out and play football in the park, and he was showing us this 'computer' thing he had, Commodore64. I remember not having any of it, and we left. haha. That was _not_ my introduction to computers.
[2]: https://www.reddit.com/r/oddlysatisfying/comments/19bgdvr/th...
kfrzcode|2 years ago
Pet_Ant|2 years ago
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|2 years ago
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.
gnu_lorien|2 years ago
Lariscus|2 years ago
[0] https://godotengine.org/showcase/
[1] https://docs.godotengine.org/en/stable/getting_started/intro...
[2] https://gdquest.github.io/learn-gdscript/
zeroonetwothree|2 years ago
shermozle|2 years ago
For a 9yo, you might need to help. Take that opportunity.
ghufran_syed|2 years ago
ghuroo1|2 years ago
pharmakom|2 years ago
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|2 years ago
conductr|2 years ago
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|2 years ago
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.
jacknews|2 years ago
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.
earlyriser|2 years ago
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|2 years ago
adamredwoods|2 years ago
Children can download other people's games and experiment there. Scratch also has pre-made art, sounds, music.
https://scratch.mit.edu/
blooalien|2 years ago
[1]: https://godotengine.org/ [2]: https://gdquest.itch.io/learn-godot-gdscript
livrem|2 years ago
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.
rednab|2 years ago
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!
Charon77|2 years ago
It's pretty low barrier to entry thing
follower|2 years ago
* "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
killerstorm|2 years ago
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.
jhatemyjob|2 years ago
aaron695|2 years ago
[deleted]
McKayDavis|2 years ago
https://roblox.com/create
Disclaimer: I work for Roblox Corp.
jkelleyrtp|2 years ago
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.
zhivota|2 years ago
welfare|2 years ago
nickcoury|2 years ago
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|2 years ago
vyrotek|2 years ago
My 10 year old was able to figure out how to make some fun stuff with it.
primitivesuave|2 years ago
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.
somethoughts|2 years ago
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/
galbar|2 years ago
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
throwaway71271|2 years ago
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.
tharkun__|2 years ago
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.
Lariscus|2 years ago
welfare|2 years ago
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!
I_Am_Nous|2 years ago
kybernetyk|2 years ago
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 :)
signaru|2 years ago
Haven't used it though, since I already had programming experience and just ended up using SFML in C++ or Monogame in C#.
cthulberg|2 years ago
chris-orgmenta|2 years ago
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|2 years ago
imperialWicket|2 years ago
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|2 years ago
netghost|2 years ago
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.
siliconc0w|2 years ago
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|2 years ago
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.
jvmboi|2 years ago
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|2 years ago
73556|2 years ago
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!
toddnni|2 years ago
Nowadays supports 3D also, but that is recent feature and will definitely evolve for some time.
everythingabili|2 years ago
Also, lots of good tutorials on YouTube and a friendly community.
weinzierl|2 years ago
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.
apexedison|2 years ago
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.
ecliptik|2 years ago
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
kuon|2 years ago
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|2 years ago
Scarblac|2 years ago
Tempest1981|2 years ago
joeld42|2 years ago
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.
somethingsome|2 years ago
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.
atoav|2 years ago
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.
livrem|2 years ago
[1] https://kenney.itch.io/assetforge [2] https://kenney.itch.io/kenney-shape [3] https://kenney.nl/assets
unrealp|2 years ago
I have used it often, found it easy, has necessary functionality for graphics and interfacing.
debacle|2 years ago
https://www.youtube.com/c/CodeMonkeyUnity/videos
gloosx|2 years ago
a-saleh|2 years ago
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.
Kye|2 years ago
atwrk|2 years ago
bathyspheric|2 years ago
https://arcade.makecode.com/
https://core-electronics.com.au/gamego-handheld-console-code...
chaosprint|2 years ago
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.
OscarTheGrinch|2 years ago
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|2 years ago
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
jmccarthy|2 years ago
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.
slackr|2 years ago
mikelabatt|2 years ago
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.
crq-yml|2 years ago
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.
unknown|2 years ago
[deleted]
jamager|2 years ago
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 :)
melvinroest|2 years ago
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
Silphendio|2 years ago
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.
lencastre|2 years ago
unknown|2 years ago
[deleted]
nottorp|2 years ago
>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...
tmaly|2 years ago
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.
kosolam|2 years ago
kosolam|2 years ago
pvaldes|2 years ago
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.
quan|2 years ago
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|2 years ago
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/
willguest|2 years ago
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.
tnecniv|2 years ago
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.
BeefWellington|2 years ago
It's quite extensive and he's very open and encouraging with his community.
scotty79|2 years ago
TheJoeMan|2 years ago
willguest|2 years ago
[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.
klocksib|2 years ago
https://www.kodugamelab.com/
blah-yeah|2 years ago
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/
cracrecry|2 years ago
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|2 years ago
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.
vanpet1985|2 years ago
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.
chmod775|2 years ago
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.
127|2 years ago
Projectiboga|2 years ago
gbraad|2 years ago
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.
meristohm|2 years ago
haunter|2 years ago
lodevalm|2 years ago
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
unknown|2 years ago
[deleted]
JansjoFromIkea|2 years ago
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|2 years ago
raxxorraxor|2 years ago
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.
simple10|2 years ago
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.
WimYedema|2 years ago
protocolture|2 years ago
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.
naasking|2 years ago
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.
PaulHoule|2 years ago
https://scratch.mit.edu/
?
throwawayqqq11|2 years ago
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 :)
ryandamm|2 years ago
nemo_taiwan|2 years ago
The Definitive C++ Book Guide and List? - stack overflow https://stackoverflow.com/questions/388242/the-definitive-c-...
Best Lua Books for Beginners and Advanced Developers - turing https://www.turing.com/kb/best-lua-books-to-learn-embedding-...
Unreal Engine 5 Revealed! | Next-Gen Real-Time Demo Running on PlayStation 5 - youtube https://www.youtube.com/watch?v=qC5KtatMcUw
Best Unreal Engine Books For Aspiring Game Developers - whatpixel https://whatpixel.com/best-unreal-engine-books/
3d animators and content assets:
Best 3D Modeling & Digital Sculpting Books - Concept Art Empire https://conceptartempire.com/best-3d-modeling-books/
Final fantasy X/2 - Cascada Everytime we touch (slow) - youtube https://www.youtube.com/watch?v=fuFF_6bg4T4
3D Animator Job Description, Salary, Skills & Software https://www.cgspectrum.com/career-pathways/3d-animator
Dead Fantasy Full HD all Part (1, 2, 3, 4, 5, 6) - youtube https://www.youtube.com/watch?v=EHA3opXjcd0
The Art of Fighting Game Animations: A Step-by-step Guide - ArtStation https://www.artstation.com/blogs/gamepackstudio/4wON/the-art...
Oh is this what you want or what your son want?
runeblaze|2 years ago
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#.
captain_nemo|2 years ago
The Definitive C++ Book Guide and List? - stack overflow https://stackoverflow.com/questions/388242/the-definitive-c-...
Best Lua Books for Beginners and Advanced Developers - turing https://www.turing.com/kb/best-lua-books-to-learn-embedding-...
Unreal Engine 5 Revealed! | Next-Gen Real-Time Demo Running on PlayStation 5 - youtube https://www.youtube.com/watch?v=qC5KtatMcUw
Best Unreal Engine Books For Aspiring Game Developers - whatpixel https://whatpixel.com/best-unreal-engine-books/
3d animators and content assets:
Best 3D Modeling & Digital Sculpting Books - Concept Art Empire https://conceptartempire.com/best-3d-modeling-books/
Final fantasy X/2 - Cascada Everytime we touch (slow) - youtube https://www.youtube.com/watch?v=fuFF_6bg4T4
3D Animator Job Description, Salary, Skills & Software https://www.cgspectrum.com/career-pathways/3d-animator
Dead Fantasy Full HD all Part (1, 2, 3, 4, 5, 6) - youtube https://www.youtube.com/watch?v=EHA3opXjcd0
The Art of Fighting Game Animations: A Step-by-step Guide - ArtStation https://www.artstation.com/blogs/gamepackstudio/4wON/the-art...
Good luck! Oh, is this what you want or what your son want? >=P
liampulles|2 years ago
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.
FloNeu|2 years ago
dukeofdoom|2 years ago
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
mquirion|2 years ago
And since the camp was thru the community college, it was very affordable. I think it was $150 for the week.
Wowfunhappy|2 years ago
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.
aantix|2 years ago
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.
RecycledEle|2 years ago
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.
okhan|2 years ago
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/
kritr|2 years ago
LargoLasskhyfv|2 years ago
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...
taeric|2 years ago
kraquepype|2 years ago
imnes|2 years ago
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
mmikeff|2 years ago
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.
Freeboots|2 years ago
Possibly Minecraft too.
jot|2 years ago
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/
bitpow|2 years ago
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|2 years ago
Benjaminsen|2 years ago
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|2 years ago
brudgers|2 years ago
* 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.
ciroduran|2 years ago
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.
aksss|2 years ago
jasonjmcghee|2 years ago
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.
AshleysBrain|2 years ago
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!
sixhobbits|2 years ago
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/
junon|2 years ago
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.
nitwit005|2 years ago
In that case, just go find the tool that seems to require the least programing for what they want to build.
ldenoue|2 years ago
Nothing fancy: https://apps.apple.com/us/app/popmath-lite/id303258911
kevin_nisbet|2 years ago
Even if not sticking with games I think it’s possible to learn a lot from the series.
danielvaughn|2 years ago
falcor84|2 years ago
caseyf|2 years ago
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
julianozen|2 years ago
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)
acheong08|2 years ago
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.
coffee|2 years ago
imnes|2 years ago
https://archive.org/details/lukecool_gmail_GCS
akaike|2 years ago
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
literallyroy|2 years ago
GolDDranks|2 years ago
mattl|2 years ago
greysphere|2 years ago
fillskills|2 years ago
CodeWriter23|2 years ago
theGnuMe|2 years ago
It’s cognitively a lot to handle so
theoriginaldave|2 years ago
You can probably get that far in a day or two. And if interest persists, advance to customized Minecraft or Roblox.
otachack|2 years ago
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.
emjoes1|2 years ago
bald42|2 years ago
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.
MarcScott|2 years ago
https://projects.raspberrypi.org/en/collections/unity
khaki54|2 years ago
mansoor_|2 years ago
triptych|2 years ago
quickthrower2|2 years ago
onehair|2 years ago
Going straight to 3D is going to feel like a chore after a few minutes and stomp his drive
briffid|2 years ago
Though my child built several games in Scratch around this age.
unknown|2 years ago
[deleted]
dcchambers|2 years ago
pathartl|2 years ago
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.
mo_42|2 years ago
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.
Fire-Dragon-DoL|2 years ago
It's available on steam
TomK32|2 years ago
im3w1l|2 years ago
chasil|2 years ago
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)
spacecadet|2 years ago
joesb|2 years ago
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.
AtypecastA|2 years ago
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
threeboy|2 years ago
sfifs|2 years ago
Levitating|2 years ago
[1]: https://scratch.mit.edu/
sureglymop|2 years ago
frankleeman|2 years ago
wschlender|2 years ago
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.
Unfrozen0688|2 years ago
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.
swiftcoder|2 years ago
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|2 years ago
0: https://en.wikipedia.org/wiki/Tower_defense
nicoburns|2 years ago
Heyso|2 years ago
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.
seunosewa|2 years ago
jfrej|2 years ago
[1] https://www.pixicade.com/
jetbalsa|2 years ago
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.
bombcar|2 years ago
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.
andsoitis|2 years ago
ystad|2 years ago
I think unity is reasonably simple to start with. Seen 11 year old use it
rpmisms|2 years ago
wildpeaks|2 years ago
Even something like changing a texture is already magical when you never experienced programming.
madou|2 years ago
jbgt|2 years ago
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!"
bluescrn|2 years ago
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
INTPenis|2 years ago
tommilukkarinen|2 years ago
pipeline_peak|2 years ago
> How do I keep the project “contained” so he feels that he accomplished
Something super simple like Frogger. Jump movements might be too advanced.
ilzmastr|2 years ago
ncr100|2 years ago
Doesn't have to be (AT ALL) pretty. Just meaningful.
fermigier|2 years ago
kissgyorgy|2 years ago
ghdjnrn|2 years ago
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
rolph|2 years ago
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.
3523582908|2 years ago
nazka|2 years ago
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…
idrios|2 years ago
Woshiwuja|2 years ago
eggdaft|2 years ago
globalnode|2 years ago
ivanb|2 years ago
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.
andretti1977|2 years ago
picadores|2 years ago
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.
schwartzworld|2 years ago
djmips|2 years ago
lfkdev|2 years ago
boringuser2|2 years ago
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.
abrookewood|2 years ago
kovacs_x|2 years ago
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.
mkaszkowiak|2 years ago
Eventlessgaming|2 years ago
zubairq|2 years ago
whiterock|2 years ago
spintin|2 years ago
This way you focus on the ideas and build something usable at the same time.
mtillman|2 years ago
cheerioty|2 years ago
fooker|2 years ago
You'll pickup the scripting in no time and your son will bamboozle you with ingenuity in a month.
bentt|2 years ago
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.
lgkk|2 years ago
jmac01|2 years ago
mesozoic|2 years ago
johncoltrane|2 years ago
anthk|2 years ago
syntaxing|2 years ago