
3D Game Programming for Kids, Second Edition
Create Interactive Worlds with JavaScript
- 372 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
About this book
Jump right in! Start programming cool stuff on page 1. Keep building new and different things until the very last page. This book wants you to play. Not just play games, but play with code. Play with programming. Because the best way to learn something is to have fun with it!
This second edition is updated from start to finish to make it even easier to get started programming in JavaScript. Every example has been updated to make it easier, with new example games to explore and new 3D effects that make your games even more fun! Want a red donut? You can make hundreds of them, spinning around like mad. Want to create a star field? Make a hundred or a thousand stars. Make them red, green, or blue. Explosions? Fireworks? Planets? It's up to you. And, using a code editor created especially for this book, you'll program right in your web browser. You'll see the results of your work and imagination right awayâright next to the code that you just typed! Along the way, you'll pick up a ton of programming knowledge, and dive in even deeper with some more advanced chapters.
Whatever you want to do, this book has your back. Best of all, you get to create awesome games and say, "I made this!"
Q&A with the Author:
1. Why a second edition?
I wrote the second edition for the very best reason possible: to help kids of all ages and backgrounds learn even better!
It finally felt like I could improve on the original. Web technologiesâespecially the ones that are used in this bookâhave continued to improve since the first edition came out. Plus, thousands and thousands of kids learned from the original. The feedback from many of them made it clear which sections of the book work and which could use some tweaking.
2. What cool new stuff is there?
Web browser technology has gotten a lot better since the first edition. That means lots of nifty stuff for readers. Some of the new features in the book include fire, star fields, and realistic terrain. We also use mouse and keyboard controls that let us zoom in and out and move through the games and simulations that we create.
More importantly, improved web technology makes 3D programming even easier than it was a few years back. This meant that nearly every chapter got rewritten to introduce the fun stuff even sooner than before.
Cool new stuff and chapters that are more fun? Yup, it's a big deal.
3. Why did you write 3D Game Programming for Kids?
I wanted to share my love of programming with my own kids as well as the next generation of programmers. I chose to wrap the message in the deliciousness of 3D gaming because that makes it more fun for kids (of all ages).
We all want to create something amazing. So why not create amazing things as you're learning? My hope is that this book will enable kids of all ages to bring their ideas to life. And, if they fall in love with programming along the way, that would be great!
4. Why JavaScript? Why not Python or some other language?
The webâthe world, reallyâruns on JavaScript. So JavaScript is a fantastic programming language to know.
And because it's the language of the web, it is easy to get started with JavaScript. All a new programmer needs is a browser. A browser and a great, online code editor like the 3DE Code Editor that this book uses. There is nothing to install. There is no barrier to getting started. Learning to program is hard enough without the initial pain and frustration of installing languages and tools.
In the Internet age, what could be simpler?
Most kids won't want to hear this, but I also opted for JavaScript because it is extremely practical. Websites, web pages, web applications, and mobile applications are all built with JavaScript. People who know JavaScript are well prepared for the digital future. Being practical does have some advantagesâlike being able to share games and embed them on your own web sites!
And I have to admit that I love programming JavaScript. I have been programming JavaScript myself for years and never tire of it. I love it all the more for the incredible tools and libraries that have sprung up around it recentlyâespecially the amazing Three.js library that we use throughout the book.
5. What kind of games will I be able to make with this book?
The book includes a nice variety of game types. Much of the first half of the book is spent creating a 3D player in a 3D world with a focus on making it as realistic and playable as possible. After that, we learn space simulations, puzzle games, mini-games, and games that simulate real-world physics. Some games include scoring, others a countdown timer, and some a little of both. Even though the name of the book includes "3D, " we also spend time on two dimensional games (think Super Mario Brothers). About the only thing we will not talk about is a multiplayer gameâmaybe that's something for another book!
We won't go into great detail about all of these thingsâthis is a getting-started book. But you should see enough to know how to start building these on your own. I cannot wait to see what you create!
6. Will I learn enough to be able to move on to other programming languages?
Absolutely! Programming languages are like spoken languagesâthere are lots of both kinds of languages and the more you learn, the better you get at learning. This book covers a ton of programming knowledge in addition to describing games and 3D concepts. Much of what you learn about JavaScript will be of use as you explore other programming languages.
That said, JavaScript is a fantastic first language to learn. It is the language of the web and you can use it to do an amazing variety of thingsâfrom creating web pages, to making web applications, to making games, to even programming robots! You could program only JavaScript for years and still learn something new every day, which is what makes programming so much fun!
7. Do you teach cool new JavaScript features like ES6?
Nope! There's a ton to love in ES6, but I very intentionally stick with more traditional JavaScript. Why? I did it for the kids: )
To teach properlyâespecially with kidsâit is super important to introduce only one concept at a time. When experienced JavaScripters look at ES6, we think how wonderfully expressive it is. But we overlook the concepts that it pretties up.
Take arrow functions for example. They are wonderful little space savers for returning simple values from functions. But using them begs the question of what a function is, what a return statement is, what a bare function is, etc. It is better to avoid concept overload by sticking with with plain-old (but still powerful) named functions.
And sure, the book could have taught the traditional approach first, then introduced cool ES6 features. But let's face it, kids aren't going to get nearly as excited about ES6 prettiness as they are about creating planets and spaceships and fun, weird little worlds. So the book is optimized for the fun stuff.
Frequently asked questions
- Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
- Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Information
Table of contents
- 3D Game Programming for Kids, Sec ond Edition