• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
Stulos

Guidance for my son...

43 posts in this topic

Hi everyone. I am coming here for a bit of guidance. My son is 10 years old and is very logically inclined. He wants to be a programmer and make games. So far he has spent a lot of time making things on Roblox and has delved a little into the scripting there but not much. He has also made some games with RPG Maker. He downloaded the Unreal engine and went through some tutorials but he needed a bit more instruction there and I wasn't sure if that was any place to start.

So basically, If you had a child who wanted to focus on learning how to program games, what path would you suggest? I'm looking for a generalized path through this as well as specific instruction books/programs. He is homeschooled, if that influences your advice. Any map at all through this maze would be super appreciated.

2

Share this post


Link to post
Share on other sites

I'd second Unity 3D, given it's fairly easy to learn and also used quite widely in the industry!

 

If that's too big a jump, I'd definitely say do as much as possible on RPG maker (that's what I was doing about a decade ago). And if you want to move that into 3D without any programming, try 3DRad (www.3drad.com). That's a great place to start because you can accomplish quite a lot without any code. When you're familiar with it's general workings, there's a 'script' object (in a C-like language) that you can use to start getting more advanced.

Edited by gchewood
0

Share this post


Link to post
Share on other sites

Thanks guys, that is super helpful. Going to check out Unity and see what some good courses are for general programming knowledge. Once again, I do appreciate it.

0

Share this post


Link to post
Share on other sites

By the way, my son is 12, not 10. I know how old he is I promise smile.png

 

That's what they all say.... that's what they all say... hah

 

No worries my friend. I'm 15 and also want to take up a career in game development/ game programming. I just started learning how to code 3 weeks ago. I've accomplished a simple text game about escaping a spaceship. It was difficult but once you get it and see all your hard work payed off. It's marvelous.

 

I'm learning the C# programming language so I bought a "for Dummies" book. 

 

The best advice I can give for you and your son is it depends on his learning style and how he wants to go about it.

 

Also programming does require some wicked math knowledge so, he should get good in math if he isn't already. Although most of it is theoretical and probability. A computer science major in college often has you taking "2" math courses usually Calculus.

 

As stated earlier the more knowledge pre- college the better really. Good luck to your son and may his programming dreams come true :D 

2

Share this post


Link to post
Share on other sites
I started doing some simple programming when I was around 12, mostly programming TI calcualtors. As I got older I got into more complicated stuff and was doing what some would concider college level stuff when I was still in high school. I didn't think of it as college level at the time, I just enjoyed doing it and wanted to develop my skills further. What I did wasn't all that well done but it challeged me and it worked. The point is don't hold back because something is not "fit" for his age, rather allow him tackle challenging projects based on his current skill level. Those are some of my thoughts.
1

Share this post


Link to post
Share on other sites

JavaScript is a nice language for starting on and it is also used in Unity, so could have immediate gameprogmming use. You and your son should check out Codecademy, it's got a nice bite size course on JavaScript that will teach you everything you need to know very quickly.

1

Share this post


Link to post
Share on other sites

Hi,

 

 

For a ten year old student of game development, I would encourage very simple application development first, especially programs which would be similar to those found inside of software games.  He should be developing applications like indexers, general user interfaces, simple vector graphics word games in console application form, and learning basic compiling into executable programs and files.  There are fun books which teach these things in simple game form to young students.  Most developers would highly recommend that the young pupil stay in the 2D graphics gaming area for a good 1-2 years minimum before getting to 3D graphics game development.  Jumping directly into 3D development would almost certainly result in many bad coding habits to be started which are difficult to retrain to good ones for a beginner or even intermediate level programmer.

 

Secondary, I would encourage an interest in math which can spare many lines of coding and also serve to teach the development of good coding framework upon which later coding is added. For example, a few lines of algorithm can set a pattern for efficient coding that plugs into it.   One good algorithm might spare the coder in thousands of lines of coding later with many benefits to it.

 

Eventually the game developer will need to consider how to expand in the 2D and 3D graphics art areas of game development. You may help your son to discover his own artistic strengths and weakness.  Each can be improved with practice. There are many paths to pursue such as art classes, tutoring, or assigning project yourself.  As for game development, the key is to assemble a work pipeline of software and tools to make game art and use a game engine to bring them into a game which was coded by the student.

 

Remind your son that above all he should nurture already existing passions and talents in game development to have fun with it.  This is the key to staying with it.

 

 

Clinton

Edited by 3Ddreamer
1

Share this post


Link to post
Share on other sites

I think an interesting first step into game programming could be using SDL to program a tile-based game. This would link nicely to the tile-based gameplay he's been used to from RPG maker. To achieve this, first teach him some general programming concepts, read enough C++ tutorials and try to grasp the concept of pointers.
Once that's done, there's plenty of decent SDL tutorials online. One I found particularly useful when I started out with SDL (and C++) was this one:

 

http://lazyfoo.net/SDL_tutorials/

 

Should be a decent foundation to getting acqainted with the game loop and 2D rendering concepts, as well as some basic game entities.
3D game programming would then be the next logical step, but will require alot more time since it relies on more advanced maths/algebra concepts.

1

Share this post


Link to post
Share on other sites

I suggest trying different programming languages with the goal of writing "Hello World!" programs.

Aiming for Unity right away is a little too much (the expectations would be too high).

 

Just installing IDEs, understanding the build process well enough to get a result and getting to compare the different approaches to similar problems ...

those things will show your son pretty soon if he has what it takes and if that is really something that he wants to get into.

He will get stuck, have to deal with outdated tutorials and figure out why he gets error messages. Starting with convenience products gives a false impression.

Programming is frustrating at times and a lot of research is required when you are stuck.

 

It also helps with the big picture thinking. It is totally possible to approach the topic from the wrong angle and not make any progress at all (while it feels like you do).

I think that is what talent is about. If you lack in that department then guidance / the chosen path will make a huge difference.

That is why I also suggest reading more general books (like "Clean Code") that give an idea of how programmers think.

And, of course, being a regular at Gamedev.net helps with that as well.

Once he picks a programming language for a larger project he can look for communities like "JavaCodeGeeks". Those have invaluable articles.

 

Last but not least even more general books like "The Seven Habits of Highly Effective People" or about learning (e.g. "The First 20 Hours") might help as well.

Edited by DareDeveloper
1

Share this post


Link to post
Share on other sites

You mentioned he's been scripting on Roblox, which is where I came from (I also started at 12). Because he has some Lua experience, I'd recommend looking at http://love2d.org/ which is a simple to use game engine for Lua.

2

Share this post


Link to post
Share on other sites

There's no nice way to say this. I see a lot of people on the forum who can't commit to making one game, and even admit to it.

 

If someone decides they want to do something around 3 - 6 years old, it becomes them. Children at this age will also experience augmented reality so whatever they think of becomes well-ingrained.

At any other age they might just be thinking, oh this will be a trial run to see if I can do it and enjoy it.

 

I'd say the hardest part is appreciating undeveloped games. Picturing one game in your mind, that impossible goal, and keeping it in your head for a decade, barely changing. Continuing to learn normally is a trivial matter, and for me it is merely a means to an end.

 

Like you were asking, if I had a child who believed they wanted the same path, I'd expect this much. 

 

Programming can be a handful to get started. I recommend teaching someone how to do some or all of the following:

1 type on a keyboard

2 compile and run their first high level programming language - some compiled languages need so many files and environment variables I still am not sure why

3 avoid infinite loops

4 guard against crashes, saving frequently, backing up saves in the same location

5 create backups, hard drives do die

 

Other than that, introduce them to new topics as usual, let their creativity blossom. A common thing game thinkers will do ( I always do, but now I try not to for longer than a few seconds) is they'll see something new and wonder what a game adapted version is, and they can have a lot of fun talking about it and making stuff up.

0

Share this post


Link to post
Share on other sites

This is coming from a person who started programming at 10 because he wanted to make games.

 

If I can go back in time, I would tell myself to "stop making games on your own stupid!" Most people will tell you "Make him download this" "Tell him to learn that". I think this is ill-advised. For example while it is possible to learn programming and game making by trying to do so with practice (I'm going to make a game in Unity!) It's going to be inefficient. Trust me, I've been there. I learned a lot, but if I had someone guide me, I would have learned a lot better.

 

I would personally recommend to have your son consider taking this course from Harvard provided by Edx: https://www.edx.org/course/harvard-university/cs50x/introduction-computer-science/1022 (It's free and online)

 

The reason is that CS50 does not only teach you how to program, it also inspires you. A person above stated that it is important to see results of your work. The people at Harvard know this, and they give you a lot of 'early wins' (The first problem set is a Scratch game! You could show him mine, might get him inspired:http://scratch.mit.edu/projects/2995632/).

0

Share this post


Link to post
Share on other sites

My suggestion is to take it easy, a 10 year old is what, 3rd grade? Making games involves math that is more complex that I who am 20 can't do. Plus, being 10 his mind is not developed enough yet, the scope of what could be understood and comprehended is small.

 

Hell, I only understood the meaning of some events that happened in my life when I was 15-16 let alone if I was 10.

-2

Share this post


Link to post
Share on other sites

I started making games when I was 12 using GameMaker, which is kinda like Unity but 2D so it's simpler.

 

It's nice since you can get results much faster and more visually than with the other engines and a lot of the heavy weight stuff is abstracted away.

 

It helped me a lot anyway.

 

The only catch is that it now costs at least $50 if you want to do anything bigger than Pong with it, so if money is an issue I'd recommend him to learn C# first and then afterwards learn Unity.

 

EDIT: And also, and this may sound obvious, regardless of what he chooses, praise for even the simplest looking accomplishments is nice since it's actually pretty hard, so when he excitedly shows you a ball that bounces around or a square you can move with keys, congratulate him on it.

Edited by arcademissile
2

Share this post


Link to post
Share on other sites
started programming at 10/11 in BASIC with nothing/noone to guide me except the manual that came with my families computer(computer manuals were a heck of alot better in those days)

 

 

Ah yes, that manual... what a wonderful friend he was.

Edited by ByteTroll
0

Share this post


Link to post
Share on other sites

I would suggest you stay away from anything that shortcuts the basics. Yeah Unity and other such programs are great and can teach him a lot. But, can cause a lot of harm at the same time. What I suggest is you get him interested in just pure programming. Java would be an excellent language for him to learn as it is not terribly difficult to learn and it can be treated as a blank canvas for his imagination. Also understand that he may not want to be a game developer in the future, and by teaching him Java you can open him up to a much larger world outside of games. 

1

Share this post


Link to post
Share on other sites

I hope this isn't too late, but I have a few things to contribute regarding game design.

 

I started programming around 2009. Before then I'd experienced web languages, and at a shallow level. The one lesson that I think I've learned is how to think like a programmer. Once that mindset is established, you need far less outside help in completing a task.

 

I started programming as a path to realise multi player in a game engine I'd found. About 4 years later and I'm nearly there. I'm going to base this in the context of the Blender Game Engine, because it's free and it offers different levels of intricacy regarding logic systems and its other features. It's easy to get started, but requires greater thought to create true masterpieces. 

 

The most important thing for a new developer/ game designer is interest. It's far quicker to learn about a new subject (or an old one for that matter) when you're invested in the education because it is the means to the end. Doing exercises is all well and good, but unless you have a natural interest in the topic in question (which I'd argue most programmers will eventually find) you don't make the same head way. So, when someone on the forums for Blender (blenderartists.org) describes their plans for a large game, unless it's an MMO (which is just too great a task for any programmer, besides an inexperienced one) then the journey is worth its time invested. I started out with the ambition to create an FPS, and I put it on hold, but only after learning a great deal. So this is my first point; Let ambition drive the learning process

 

Furthermore, it's important to understand that a game is divided into many different "components" that together comprise the experience. There are visuals; audio and game play mechanics, all of which have their own fields devoted to them. As a game designer, when working by one's self it can be a challenge to remain focussed on one of them. Sometimes, you needn't enforce that practice, but ultimately it's a choice most of us make. So, I would ask what interests your son has in the process of creating a game. It's often the process that enthrals us as much as the end result. There are many game engines that don't require any coding (the Blender Game Engine being one of them) but offer it if needs be. These shift the focus to the game assets, and the experience rather than the structure of the game logic (but this is not entirely the case). Conversely, focussing on the programming of the game logic can lead to great skills in mathematics, programming concepts and many other skills, but to the detriment of the assets of the game. It's not necessary to make the choice early on; it simply influences how long the game will take to make. 

 

It's also important to consider the support network behind the path he chooses. Blender's community is its strong point, and on the whole I believe we are supportive in every aspect. But this is definitely the case for other engines, it's just a point to consider. Working with others can really spur your development, and gives the experience a greater sense of value and depth than working by one's self. 

 

I think it is a good idea to create small games at first, which somewhat contradicts my earlier point. This is a different method of learning; an iterative process that best suits those with shorter patience. It's just as effective though, in its own way.

 

A quick response to the above; I started writing Python inside the Blender Game Engine, now I've branched off to C, C++ and found it a relatively painless (as painless as differing type systems can be) experience. I think it depends on the individual.

 

Simon Forsman has a very valid argument. Modern day games are the products of large swathes of developers working on all aspects of a game. The best advice to give a new developer is find your own niche, your own style that is within reach. And do this from the start.

 

I wish the best of luck to your son, as well as yourself! I hope you have a wonderful experience of it; it's added a depth to my thinking and feelings about many different aspects of thinking and knowledge, so I'd consider it time well spent.

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0