by welfare on 1/18/24, 12:21 AM with 378 comments
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.
by fn-mote on 1/18/24, 3:19 AM
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.
by keyle on 1/18/24, 5:30 AM
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.
by Pet_Ant on 1/18/24, 2:40 AM
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.
by Lariscus on 1/18/24, 12:44 AM
[0] https://godotengine.org/showcase/
[1] https://docs.godotengine.org/en/stable/getting_started/intro...
by ghufran_syed on 1/18/24, 5:21 AM
by pharmakom on 1/18/24, 8:25 AM
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.
by conductr on 1/18/24, 2:28 PM
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.
by jacknews on 1/18/24, 2:40 AM
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.
by earlyriser on 1/18/24, 12:55 PM
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.
by blooalien on 1/18/24, 6:34 AM
[1]: https://godotengine.org/ [2]: https://gdquest.itch.io/learn-godot-gdscript
by rednab on 1/18/24, 9:05 AM
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!
by Charon77 on 1/18/24, 4:57 AM
It's pretty low barrier to entry thing
by McKayDavis on 1/18/24, 12:50 AM
Disclaimer: I work for Roblox Corp.
by nickcoury on 1/18/24, 2:46 AM
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
by primitivesuave on 1/18/24, 1:01 AM
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.
by somethoughts on 1/18/24, 7:32 AM
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.
by galbar on 1/18/24, 7:58 AM
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!
by throwaway71271 on 1/18/24, 10:09 AM
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.
by tharkun__ on 1/18/24, 12:29 AM
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.
by kybernetyk on 1/18/24, 2:46 PM
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 :)
by signaru on 1/18/24, 5:08 AM
Haven't used it though, since I already had programming experience and just ended up using SFML in C++ or Monogame in C#.
by chris-orgmenta on 1/18/24, 5:15 AM
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.
by imperialWicket on 1/18/24, 2:55 AM
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/
by netghost on 1/18/24, 7:24 AM
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.
by siliconc0w on 1/18/24, 5:35 AM
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.
by jvmboi on 1/18/24, 10:03 AM
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.
by 73556 on 1/18/24, 12:28 AM
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!
by toddnni on 1/18/24, 5:04 AM
Nowadays supports 3D also, but that is recent feature and will definitely evolve for some time.
by weinzierl on 1/18/24, 6:08 AM
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.
by apexedison on 1/18/24, 12:49 PM
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.
by ecliptik on 1/18/24, 6:10 AM
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.
by kuon on 1/18/24, 9:41 AM
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...
by Scarblac on 1/18/24, 9:26 AM
by joeld42 on 1/18/24, 5:56 AM
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.
by somethingsome on 1/18/24, 6:28 PM
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.
by atoav on 1/18/24, 7:17 AM
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.
by debacle on 1/18/24, 5:59 AM
by gloosx on 1/18/24, 10:26 AM
by a-saleh on 1/18/24, 11:28 AM
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.
by Kye on 1/18/24, 12:30 AM
by bathyspheric on 1/18/24, 5:41 AM
https://core-electronics.com.au/gamego-handheld-console-code...
by chaosprint on 1/18/24, 8:56 AM
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.
by OscarTheGrinch on 1/18/24, 1:29 PM
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...
by MrDresden on 1/18/24, 11:38 AM
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!
by jmccarthy on 1/18/24, 5:25 AM
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.
by slackr on 1/18/24, 6:43 AM
by mikelabatt on 1/18/24, 2:46 PM
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.
by crq-yml on 1/18/24, 5:31 AM
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.
by jamager on 1/18/24, 8:52 AM
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 :)
by melvinroest on 1/18/24, 9:58 AM
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
by Silphendio on 1/18/24, 5:11 PM
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.
by lencastre on 1/18/24, 8:01 AM
by nottorp on 1/18/24, 10:10 AM
>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...
by tmaly on 1/18/24, 9:58 PM
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.
by kosolam on 1/18/24, 10:52 AM
by pvaldes on 1/18/24, 8:44 AM
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.
by quan on 1/18/24, 1:44 PM
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/
by pwillia7 on 1/18/24, 12:12 PM
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/
by willguest on 1/18/24, 12:44 PM
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.
by tnecniv on 1/18/24, 5:23 AM
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.
by BeefWellington on 1/18/24, 6:55 AM
It's quite extensive and he's very open and encouraging with his community.
by scotty79 on 1/18/24, 8:04 AM
by willguest on 1/18/24, 12:43 PM
[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.
by klocksib on 1/18/24, 2:59 AM
by blah-yeah on 1/18/24, 10:11 PM
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/
by cracrecry on 1/18/24, 9:28 AM
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.
by vanpet1985 on 1/18/24, 10:12 AM
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.
by chmod775 on 1/18/24, 10:20 AM
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.
by 127 on 1/18/24, 1:27 PM
by Projectiboga on 1/19/24, 5:51 PM
by gbraad on 1/18/24, 3:06 AM
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.
by meristohm on 1/21/24, 7:03 PM
by haunter on 1/18/24, 10:05 AM
by lodevalm on 1/19/24, 2:03 PM
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
by JansjoFromIkea on 1/18/24, 10:56 AM
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.
by raxxorraxor on 1/18/24, 4:14 PM
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.
by simple10 on 1/18/24, 5:36 PM
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.
by WimYedema on 1/19/24, 2:59 PM
by protocolture on 1/18/24, 11:26 PM
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.
by naasking on 1/18/24, 3:03 PM
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:
JavaScript in the browser is an easy environment to setup and play with for this kind of thing.
by PaulHoule on 1/18/24, 12:25 AM
?
by throwawayqqq11 on 1/18/24, 7:03 AM
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 :)
by ryandamm on 1/18/24, 2:55 AM
by nemo_taiwan on 1/21/24, 10:04 PM
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?
by runeblaze on 1/18/24, 6:28 AM
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#.
by captain_nemo on 1/21/24, 10:00 PM
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
by liampulles on 1/18/24, 8:48 PM
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.
by FloNeu on 1/18/24, 8:17 PM
by dukeofdoom on 1/18/24, 5:06 AM
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
by mquirion on 1/18/24, 3:23 PM
And since the camp was thru the community college, it was very affordable. I think it was $150 for the week.
by Wowfunhappy on 1/18/24, 1:32 PM
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.
by aantix on 1/18/24, 2:59 PM
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.
by RecycledEle on 1/18/24, 8:59 PM
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.
by okhan on 1/19/24, 6:01 PM
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/
by kritr on 1/18/24, 4:49 PM
by LargoLasskhyfv on 1/18/24, 4:23 AM
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...
by taeric on 1/18/24, 3:26 PM
by imnes on 1/18/24, 3:17 PM
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.
by mmikeff on 1/18/24, 9:45 AM
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.
by Freeboots on 1/18/24, 11:59 AM
Possibly Minecraft too.
by jot on 1/18/24, 7:26 AM
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.
by bitpow on 1/18/24, 1:56 PM
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
by Benjaminsen on 1/18/24, 6:15 AM
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/
by brudgers on 1/18/24, 2:24 AM
* 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.
by ciroduran on 1/18/24, 12:58 PM
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.
by aksss on 1/18/24, 7:11 AM
by jasonjmcghee on 1/18/24, 10:50 PM
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.
by AshleysBrain on 1/18/24, 10:35 AM
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!
by sixhobbits on 1/18/24, 7:25 AM
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!
by junon on 1/18/24, 11:24 AM
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.
by nitwit005 on 1/19/24, 6:15 PM
In that case, just go find the tool that seems to require the least programing for what they want to build.
by ldenoue on 1/18/24, 5:55 AM
Nothing fancy: https://apps.apple.com/us/app/popmath-lite/id303258911
by kevin_nisbet on 1/18/24, 9:21 AM
Even if not sticking with games I think it’s possible to learn a lot from the series.
by danielvaughn on 1/18/24, 2:10 PM
by caseyf on 1/18/24, 2:07 PM
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
by julianozen on 1/18/24, 11:57 AM
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)
by acheong08 on 1/18/24, 7:28 AM
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.
by coffee on 1/18/24, 10:41 AM
by imnes on 1/18/24, 3:14 PM
by akaike on 1/18/24, 5:51 PM
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
by literallyroy on 1/22/24, 4:16 PM
by GolDDranks on 1/18/24, 1:11 PM
by greysphere on 1/18/24, 7:20 AM
by fillskills on 1/20/24, 6:38 PM
by CodeWriter23 on 1/18/24, 6:02 PM
by theGnuMe on 1/18/24, 1:55 PM
It’s cognitively a lot to handle so
by theoriginaldave on 1/18/24, 3:31 PM
You can probably get that far in a day or two. And if interest persists, advance to customized Minecraft or Roblox.
by otachack on 1/18/24, 2:52 PM
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.
by emjoes1 on 1/18/24, 3:19 PM
by bald42 on 1/18/24, 2:18 PM
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.
by MarcScott on 1/18/24, 5:47 AM
by khaki54 on 1/18/24, 12:45 PM
by mansoor_ on 1/18/24, 9:12 AM
by triptych on 1/18/24, 3:09 PM
by quickthrower2 on 1/18/24, 5:14 AM
by onehair on 1/18/24, 9:13 AM
Going straight to 3D is going to feel like a chore after a few minutes and stomp his drive
by briffid on 1/18/24, 5:56 AM
Though my child built several games in Scratch around this age.
by dcchambers on 1/18/24, 3:19 PM
by mo_42 on 1/18/24, 6:37 AM
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.
by Fire-Dragon-DoL on 1/20/24, 6:42 PM
It's available on steam
by TomK32 on 1/18/24, 11:15 AM
by im3w1l on 1/18/24, 9:47 AM
by chasil on 1/18/24, 6:09 AM
Smalltalk also began as a language for children, but grew far beyond that.
Logo is not 3D.
by spacecadet on 1/18/24, 10:53 AM
by joesb on 1/18/24, 9:01 AM
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.
by AtypecastA on 1/18/24, 10:42 AM
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
by threeboy on 1/18/24, 7:22 PM
by sfifs on 1/18/24, 3:36 PM
by Levitating on 1/18/24, 10:30 PM
by sureglymop on 1/18/24, 8:33 AM
by frankleeman on 1/18/24, 9:17 AM
by wschlender on 1/18/24, 5:30 AM
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.
by Unfrozen0688 on 1/18/24, 3:34 PM
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.
by swiftcoder on 1/18/24, 10:08 AM
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...
by nicoburns on 1/18/24, 2:39 AM
by Heyso on 1/18/24, 2:33 PM
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.
by seunosewa on 1/18/24, 3:15 PM
by jfrej on 1/18/24, 4:36 PM
by jetbalsa on 1/18/24, 5:58 AM
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.
by bombcar on 1/18/24, 2:58 AM
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.
by andsoitis on 1/18/24, 2:50 AM
by ystad on 1/18/24, 5:32 PM
I think unity is reasonably simple to start with. Seen 11 year old use it
by rpmisms on 1/18/24, 5:21 AM
by wildpeaks on 1/18/24, 4:35 PM
Even something like changing a texture is already magical when you never experienced programming.
by madou on 1/18/24, 6:01 AM
by jbgt on 1/18/24, 6:30 AM
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!"
by bluescrn on 1/18/24, 2:23 PM
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
by INTPenis on 1/18/24, 12:04 PM
by tommilukkarinen on 1/18/24, 5:59 AM
by pipeline_peak on 1/18/24, 6:21 AM
> How do I keep the project “contained” so he feels that he accomplished
Something super simple like Frogger. Jump movements might be too advanced.
by ilzmastr on 1/18/24, 6:27 AM
by ncr100 on 1/19/24, 9:08 PM
Doesn't have to be (AT ALL) pretty. Just meaningful.
by fermigier on 1/18/24, 8:39 AM
by kissgyorgy on 1/18/24, 8:34 AM
by ghdjnrn on 1/19/24, 2:19 AM
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
by rolph on 1/18/24, 1:00 AM
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.
by 3523582908 on 1/18/24, 2:11 PM
by nazka on 1/18/24, 11:07 AM
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…
by idrios on 1/18/24, 5:03 AM
by Woshiwuja on 1/18/24, 11:10 AM
by eggdaft on 1/18/24, 7:44 AM
by globalnode on 1/18/24, 6:22 AM
by ivanb on 1/18/24, 5:53 AM
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.
by andretti1977 on 1/18/24, 6:04 AM
by picadores on 1/18/24, 9:44 AM
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.
by schwartzworld on 1/18/24, 1:28 PM
by djmips on 1/18/24, 2:43 AM
by lfkdev on 1/18/24, 1:24 PM
by boringuser2 on 1/18/24, 3:12 PM
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.
by abrookewood on 1/19/24, 1:04 AM
by kovacs_x on 1/18/24, 2:05 PM
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.
by mkaszkowiak on 1/19/24, 12:31 AM
by Eventlessgaming on 1/18/24, 2:13 PM
by zubairq on 1/18/24, 12:05 PM
by whiterock on 1/18/24, 10:19 AM
by spintin on 1/18/24, 11:07 AM
This way you focus on the ideas and build something usable at the same time.
by mtillman on 1/18/24, 3:17 PM
by cheerioty on 1/18/24, 6:39 AM
by fooker on 1/18/24, 6:04 AM
You'll pickup the scripting in no time and your son will bamboozle you with ingenuity in a month.
by bentt on 1/18/24, 2:19 PM
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.
by lgkk on 1/18/24, 7:20 AM
by jmac01 on 1/18/24, 6:25 AM
by mesozoic on 1/18/24, 8:11 PM
by johncoltrane on 1/18/24, 2:37 PM
by anthk on 1/18/24, 3:34 AM
by syntaxing on 1/18/24, 2:55 AM
by corethree on 1/18/24, 5:25 AM
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.
by p0nce on 1/18/24, 12:34 PM
by swozey on 1/18/24, 2:56 PM
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.
by shaunpud on 1/18/24, 5:35 AM
by endigma on 1/18/24, 2:37 PM
by nemo_taiwan on 1/21/24, 10:37 PM
But that seems delusional wanting the glory without any hard works into them. =/
Programmers and coding on game engine:
The Definitive C++ Book Guide and List? - stack overflow Best Lua Books for Beginners and Advanced Developers - turing Unreal Engine 5 Revealed! | Next-Gen Real-Time Demo Running on PlayStation 5 - youtube Best Unreal Engine Books For Aspiring Game Developers - whatpixel
3d animators and content assets:
Best 3D Modeling & Digital Sculpting Books - Concept Art Empire Final fantasy X/2 - Cascada Everytime we touch (slow) - youtube 3D Animator Job Description, Salary, Skills & Software Dead Fantasy Full HD all Part (1, 2, 3, 4, 5, 6) - youtube The Art of Fighting Game Animations: A Step-by-step Guide - ArtStation
All good video game devs will put in those CODES along with those ART. >=)
by Lord_Zero on 1/19/24, 3:42 PM
by reactordev on 1/18/24, 2:14 PM
It’s easy, it’s simple, it’s designed for learning.
by pksebben on 1/18/24, 4:09 PM
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)
by jsonmathsai on 1/18/24, 5:25 AM
by stuaxo on 1/18/24, 10:01 AM
by FloorEgg on 1/18/24, 6:34 AM
Designed to teach kids 7-11 programming while building 3d vr games
by masfoobar on 1/18/24, 10:16 AM
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.
by JJseiko on 1/18/24, 2:54 PM
by shmerl on 1/18/24, 9:12 AM
by everyone on 1/18/24, 10:52 AM
Scratch Roblox Godot Unity
by b20000 on 1/18/24, 4:33 AM
then do your best to help but make it clear he choose i difficult path
by janet-catcus on 1/18/24, 12:25 PM
by wesleyd on 1/18/24, 1:02 PM
by seaourfreed on 1/18/24, 1:45 PM
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
by AzzyHN on 1/18/24, 2:57 AM
by soferio on 1/18/24, 6:21 AM
by d--b on 1/18/24, 11:53 AM
The right answer of course is to ask ChatGPT to build it for you!
by rmrfchik on 1/18/24, 1:20 PM
by icemelt8 on 1/18/24, 8:36 AM
by FearNotDaniel on 1/18/24, 9:22 AM
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!
by catlover76 on 1/18/24, 12:34 AM
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
by exolymph on 1/18/24, 12:26 AM