Reddit mentions: The best computer & video game design books

We found 709 Reddit comments discussing the best computer & video game design books. We ran sentiment analysis on each of these comments to determine how redditors feel about different products. We found 132 products and ranked them based on the amount of positive reactions they received. Here are the top 20.

TLDR: the best computer & video game design book according to Reddit
1The Art of Game Design: A Book of Lenses, Second EditionThe Art of Game Design: A Boo...31
2Game Engine ArchitectureGame Engine Architecture30
3Professional JavaScript for Web DevelopersProfessional JavaScript for W...24
4Challenges for Game DesignersChallenges for Game Designers20
5Level Up! The Guide to Great Video Game DesignLevel Up! The Guide to Great ...18
6Rules of Play: Game Design Fundamentals (The MIT Press)Rules of Play: Game Design Fu...18
7Racing the Beam: The Atari Video Computer System (Platform Studies)Racing the Beam: The Atari Vi...13
8Game Mechanics: Advanced Game Design (Voices That Matter)Game Mechanics: Advanced Game...11
9Level Up!: The Guide to Great Video Game DesignLevel Up!: The Guide to Great...8
10Introduction to Game Design, Prototyping, and Development: From Concept to Playable Game with Unity and C#Introduction to Game Design, ...8
11Learning Xna 4.0: Game Development For The Pc, Xbox 360, And Windows Phone 7Learning Xna 4.0: Game Develo...7
12Land of Lisp: Learn to Program in Lisp, One Game at a Time!Land of Lisp: Learn to Progra...6
13The Multiplayer Classroom: Designing Coursework as a GameThe Multiplayer Classroom: De...5
14Game Engine Architecture, Third EditionGame Engine Architecture, Thi...5
15Multiplayer Game Programming: Architecting Networked Games (Game Design)Multiplayer Game Programming:...5
16Procedural Generation in Game DesignProcedural Generation in Game...5
17Rise of the Videogame Zinesters: How Freaks, Normals, Amateurs, Artists, Dreamers, Drop-outs, Queers, Housewives, and People Like You Are Taking Back an Art FormRise of the Videogame Zineste...5
181001 Video Games You Must Play Before You Die1001 Video Games You Must Pla...5
19The Game MakerThe Game Maker's Apprentice: ...4
20Challenges for Games Designers: Non-Digital Exercises for Video Game DesignersChallenges for Games Designer...4

1. The Art of Game Design: A Book of Lenses, Second Edition

  • AK Peters
The Art of Game Design: A Book of Lenses, Second Edition
Height9.5 Inches
Length8 Inches
Number of items1
Weight2.29942139266 Pounds
Width1.25 Inches
▼ Read Reddit mentions

2. Game Engine Architecture

  • AK Peters
Game Engine Architecture
Height9.75 Inches
Length8 Inches
Number of items1
Weight3.89997741478 Pounds
Width2.25 Inches
▼ Read Reddit mentions

3. Professional JavaScript for Web Developers

  • Wrox Press
Professional JavaScript for Web Developers
Height9.200769 Inches
Length7.098411 Inches
Number of items1
Weight3.50975921104 Pounds
Width1.901571 Inches
▼ Read Reddit mentions

4. Challenges for Game Designers

  • Used Book in Good Condition
Challenges for Game Designers
Height9.25 Inches
Length7.75 Inches
Number of items1
Weight1.33159206248 Pounds
Width1 Inches
▼ Read Reddit mentions

5. Level Up! The Guide to Great Video Game Design

  • John Wiley Sons
Level Up! The Guide to Great Video Game Design
Height9.098407 Inches
Length7.098411 Inches
Number of items1
Weight1.9180216794 Pounds
Width1.401572 Inches
▼ Read Reddit mentions

6. Rules of Play: Game Design Fundamentals (The MIT Press)

Mit Press
Rules of Play: Game Design Fundamentals (The MIT Press)
ColorSky/Pale blue
Height1.5 Inches
Length9.1 Inches
Number of items1
Release dateSeptember 2003
Weight3.65085505872 Pounds
Width8.3 Inches
▼ Read Reddit mentions

8. Game Mechanics: Advanced Game Design (Voices That Matter)

Game Mechanics: Advanced Game Design (Voices That Matter)
Height9.25 Inches
Length7.5 Inches
Number of items1
Weight1.5873282864 pounds
Width0.75 Inches
▼ Read Reddit mentions

9. Level Up!: The Guide to Great Video Game Design

Level Up!: The Guide to Great Video Game Design
Height9.220454 Inches
Length7.40156 Inches
Number of items1
Weight1.89156620796 Pounds
Width1.059053 Inches
▼ Read Reddit mentions

12. Land of Lisp: Learn to Program in Lisp, One Game at a Time!

  • Used Book in Good Condition
Land of Lisp: Learn to Program in Lisp, One Game at a Time!
Height9.25 Inches
Length7.06 Inches
Number of items1
Release dateOctober 2010
Weight2.1625 Pounds
Width1.22 Inches
▼ Read Reddit mentions

13. The Multiplayer Classroom: Designing Coursework as a Game

The Multiplayer Classroom: Designing Coursework as a Game
Height9.25 inches
Length7.25 inches
Number of items1
Weight1.75487960552 Pounds
Width0.75 inches
▼ Read Reddit mentions

14. Game Engine Architecture, Third Edition

  • Designed by: theawkwardyeti
  • Shirt.Woot Original Design
  • Lightweight, Classic fit, Double-needle sleeve and bottom hem
Game Engine Architecture, Third Edition
Height9.3 Inches
Length7.9 Inches
Number of items1
Release dateAugust 2018
Weight0.00440924524 Pounds
Width2.6 Inches
▼ Read Reddit mentions

18. 1001 Video Games You Must Play Before You Die

Universe Publishing NY
1001 Video Games You Must Play Before You Die
Height8.51 Inches
Length6.66 Inches
Number of items1
Release dateOctober 2010
Weight4.61 Pounds
Width2.47 Inches
▼ Read Reddit mentions

19. The Game Maker's Apprentice: Game Development for Beginners

  • Used Book in Good Condition
The Game Maker's Apprentice: Game Development for Beginners
Height10 Inches
Length7 Inches
Number of items1
Weight1.93786328298 Pounds
Width0.71 Inches
▼ Read Reddit mentions

🎓 Reddit experts on computer & video game design books

The comments and opinions expressed on this page are written exclusively by redditors. To provide you with the most relevant data, we sourced opinions from the most knowledgeable Reddit users based the total number of upvotes and downvotes received across comments on subreddits where computer & video game design books are discussed. For your reference and for the sake of transparency, here are the specialists whose opinions mattered the most in our ranking.
Total score: 150
Number of comments: 5
Relevant subreddits: 1
Total score: 87
Number of comments: 8
Relevant subreddits: 1
Total score: 26
Number of comments: 9
Relevant subreddits: 1
Total score: 18
Number of comments: 5
Relevant subreddits: 3
Total score: 10
Number of comments: 7
Relevant subreddits: 2
Total score: 10
Number of comments: 5
Relevant subreddits: 2
Total score: 10
Number of comments: 4
Relevant subreddits: 1
Total score: 9
Number of comments: 6
Relevant subreddits: 1
Total score: 8
Number of comments: 4
Relevant subreddits: 2
Total score: 6
Number of comments: 5
Relevant subreddits: 1

idea-bulb Interested in what Redditors like? Check out our Shuffle feature

Shuffle: random products popular on Reddit

Top Reddit comments about Computer & Video Game Design:

u/Zuggy · 2 pointsr/boardgames

TL;DR: Prototype and test your game idea, don't worry about art all for a long time, do not get into game design because you think you'll be able to make a career out of it

I've picked up game design over the last six months and have really been enjoying it, and while I'm not looking for a partner I can give you some pointers to start. I'll try to deconstruct some of what you're saying because I think you're making some incorrect assumptions about game design and how to do it. I think some of this is going to sound cold or mean, but I don't intend it to be. I just want you to go in with realistic expectations, and if you can accept that I'm finding game design to be a lot of fun.

First, think about is why you want to make games. You seem to be trying to use a project as a jumping off point to design games professionally. Honestly, at least as far as board games go, there really isn't much money in designing games for most people. Sure there are a few people who design board games professionally but for most, if you make any money at it, it'll be like a second job. If designing board games is something you want to do, it should be something you do for the joy of designing board games in and of itself, not because it sounds like a cool profession.

Personally, I think everyone who is passionate about board games should try designing their own games, but they need to go into it knowing that they're designing board games because they enjoy the creative process, not because they'll make a living at it. I love the perpetual puzzle of game design and having something in my head manifest itself in the form of paper, cardboard, dice and bits.

Second, how to actually start designing games. You talk about wanting to make a "finished" game. I think what you mean is you want to see a game design taken from beginning to end. Designing any type of game is what's called an iterative design process. If you don't know that means you take your game idea, you make a prototype of it, test it out, realize it's awful but maybe find some gems that are fun, refine it, make a new prototype, rinse and repeat. These first prototypes should be rough. For example, I'm working on a dungeon-crawler card game and my "cards" are just pieces of paper cut up with my text on them and then put in card sleeves with poker cards as a backing. Art is something that should come towards the end of the process because you'll be making so many changes this early in the design process that getting someone to do art would be a waste of time (and probably money).

Eventually, when you think your game is at a stage where it's kind of fun is when you start playtesting with other people. Get people together, have them try your game design and see what they think. If they're friends, tell them to be honest. Realize that they'll point out things you didn't think of and they'll hate bits of your game that you love and it'll feel like getting gut checked. Like I said I'm fairly new to game design, but from what I've heard from professional game designers and from my local game design group, that feeling never goes away. When your baby starts getting torn apart it's one of the worst feelings in the world, but it has to be done to make something better.

The reason you go through all of this is no matter how good you think your game idea is, it definitely won't be good when it first goes from your mind to the paper. It probably still won't be particularly good after you've improved it several times, but hopefully you'll see something good and be able to combine those good bits to make something really enjoyable. If you see no hope in it maybe to shelve it for later and try something else.

Third, you brought up working with an artist to talk about the look of your game and coming up with lore and such. This is something you really shouldn't even worry about until you have a game prototype that's starting to near the final stages. When you're at the point you feel the game is ready for what's called blind playtesting, which is when you feel your game is ready to be tested by complete strangers.

Below I've linked a few videos and a podcast I hope you'll find useful.

One Thousand XP's Board Game Design Time Playlist - It's a small video series discussing different aspects of board game design

The Dice Tower's Top 10 Tips for Game Designers - Some great tips on designing board games that covers some of what I posted here and more

The Game Design Roundtable Podcast - They interview people about how they designed their games and have regular audience Q&A episodes. I think it's enjoyable for anyone who enjoys games (they focus mainly on board games but also do some video game stuff) and essential for anyone just getting started in game design

I've also started going through the book "Challenges for Game Designers" which has chapters talking about different aspects of both board and video game design and at the end of each chapter are challenges for making board games based on the material covered in that chapter.

Finally, I want to reiterate something I said previously. Don't get into board game design thinking you're going to make a career out of it. Maybe someday you'll become the next Alan Moon, Friedemann Friese, Donald X. or Reiner Knizia, but even if you do it'll be a long road before you get there.

When people bring up wanting to get into game design because they're passionate about games and want to make a living doing it I relate the attitude of my dad. As much as I love him, every hobby he's ever been interested in goes in these steps. First, he says, "This looks really cool I'd love to do that." Second, he says, "If I get good enough I could make money at this." Then he tries whatever it is he's interested, realizes he's not good enough out the gate to sell it and gives up. He's 60 years old and has been having a hard time the last couple of years because the closest thing he has to a rewarding hobby is playing Hearts and Spades on his laptop. The problem is he never sticks with a hobby long enough to actually get good and enjoy it because his aim was to try and do something he could sell.

If you get nothing else out of this post I hope this is what sticks with. Make games because you love making games, don't make games to make money. One day your dream might come true and you might be able to design games for a living, but that shouldn't be your primary goal.

u/adamzx3 · 5 pointsr/javascript

I can definitely relate, this sounds just like me last year! I've done things the hard way and it took me 5x longer. I also prefer screencasts to books. I always need to create a project to solidify those fresh skills, otherwise they'll be gone in a month. Also tutorials for things like Backbone assume you know how to use jQuery, Underscore, and things like REST, and JSON responses... this can quickly get confusing if your not familiar with all of these. My largest regret is not building enough practice apps in the last year. I really should have applied more by doing, instead of staying in the theoretical world.

Here are some insights that i've made and the courses/tuts/projects that helped me the most:

Learn the language first:

u/raydenuni · 2 pointsr/tabletopgamedesign

If you can get away with a required book, I would insist you use Theory of Fun. It's not about boardgames specifically, but more about what is fun and why games are fun. It's quite easy to read (every other page is a drawing), but it's excellent and deep. It would definitely give you a good foundation to go on and talk about games from a more educated standpoint.

"Why do you like this game?" "Ok, do you remember where the book says that's a fun thing to do?"

Or look at some critically acclaimed games and see why they fall under good design, or some popular, yet poorly designed games and why some people don't like them (Monopoly for one).

Scott Nicholson had a great video series called Boardgames With Scott that might have some useful videos. He's currently at MIT on sabbatical doing game design/teaching research (looks like maybe he just finished).

If you're looking for a book for yourself,


    You'll notice a lot of them aren't specifically games, but deal with fun and play. It's important to understand those before you can talk about games. That is also a good topic. What is a game? How do you define it?
    I personally like Chris Crawford's definition, but you get a lot of backlash from the general public for such a strict definition, as if forms of interactive entertainment are somehow inferior if they are not "games."

    I'm just sort of rambling and vomiting thoughts here, but to summarize some topics I would want to go over:

  • History of games
  • Definition of a game
  • What is fun and play and how are those used to make good or bad games
  • Genres of games and how that affects design choices.
  • Pick a different game to teach and play each day/week? Perhaps at the beginning tell your students why a specific game is thought to be fun, and by the end ask them if they can recognize the major mechanics. You could start off a lesson this way and then revisit it at the end.

    Artificial intelligence could be an interesting side topic. Looking at search algorithms and how they are used to solve tic-tac-toe and how you use the EXACT same method to solve checkers or play chess and go (currently unsolved).

    If you do decide to talk about a variety of games, here are some I would suggest you look at:

  • Go, for its simplicity in rules and depth of strategy. I would consider it one of the most pure games.
  • Settlers of Catan for introducing euro-style boardgames to the USA and popularizing board games. Also involves heavy player to player trading.
  • The Resistance as a short-form hidden treachery and secret agenda social game.
  • Dominion as a game that introduced an entirely new genre that is now super successful. Also a good example of a multiplayer solitaire game.
  • Tic-tac-toe as a game whose depth ceiling is too low and complexity space is too small for humans.
  • Pandemic as a completely cooperative game (there might be a simpler game for this, not sure)
  • Can't Stop - a look at chance and how it can be used as an interesting core mechanic and not just a way to make things random

    As you can tell, I love stuff like this. Let me know what you think about my ideas, or if you want to talk more or throw ideas back and forth, feel free.

    Other sources:

u/CodyDuncan1260 · 2 pointsr/gamedev

Game Engine:

Game Engine Architecture by Jason Gregory, best you can get.

Game Coding Complete by Mike McShaffry. The book goes over the whole of making a game from start to finish, so it's a great way to learn the interaction the engine has with the gameplay code. Though, I admit I also am not a particular fan of his coding style, but have found ways around it. The boost library adds some complexity that makes the code more terse. The 4th edition made a point of not using it after many met with some difficulty with it in the 3rd edition. The book also uses DXUT to abstract the DirectX functionality necessary to render things on screen. Although that is one approach, I found that getting DXUT set up properly can be somewhat of a pain, and the abstraction hides really interesting details about the whole task of 3D rendering. You have a strong background in graphics, so you will probably be better served by more direct access to the DirectX API calls. This leads into my suggestion for Introduction to 3D Game Programming with DirectX10 (or DirectX11).


C++ Pocket Reference by Kyle Loudon
I remember reading that it takes years if not decades to become a master at C++. You have a lot of C++ experience, so you might be better served by a small reference book than a large textbook. I like having this around to reference the features that I use less often. Example:

//code here

is an unnamed namespace, which is a preferred method for declaring functions or variables with file scope. You don't see this too often in sample textbook code, but it will crop up from time to time in samples from other programmers on the web. It's $10 or so, and I find it faster and handier than standard online documentation.


You have a solid graphics background, but just in case you need good references for math:
3D Math Primer
Mathematics for 3D Game Programming

Also, really advanced lighting techniques stretch into the field of Multivariate Calculus. Calculus: Early Transcendentals Chapters >= 11 fall in that field.


Introduction to 3D Game Programming with DirectX10 by Frank. D. Luna.
You should probably get the DirectX11 version when it is available, not because it's newer, not because DirectX10 is obsolete (it's not yet), but because the new DirectX11 book has a chapter on animation. The directX 10 book sorely lacks it. But your solid graphics background may make this obsolete for you.

3D Game Engine Architecture (with Wild Magic) by David H. Eberly is a good book with a lot of parallels to Game Engine Architecture, but focuses much more on the 3D rendering portion of the engine, so you get a better depth of knowledge for rendering in the context of a game engine. I haven't had a chance to read much of this one, so I can't be sure of how useful it is just yet. I also haven't had the pleasure of obtaining its sister book 3D Game Engine Design.

Given your strong graphics background, you will probably want to go past the basics and get to the really nifty stuff. Real-Time Rendering, Third Edition by Tomas Akenine-Moller, Eric Haines, Naty Hoffman is a good book of the more advanced techniques, so you might look there for material to push your graphics knowledge boundaries.

Software Engineering:

I don't have a good book to suggest for this topic, so hopefully another redditor will follow up on this.

If you haven't already, be sure to read about software engineering. It teaches you how to design a process for development, the stages involved, effective methodologies for making and tracking progress, and all sorts of information on things that make programming and software development easier. Not all of it will be useful if you are a one man team, because software engineering is a discipline created around teams, but much of it still applies and will help you stay on track, know when you've been derailed, and help you make decisions that get you back on. Also, patterns. Patterns are great.

Note: I would not suggest Software Engineering for Game Developers. It's an ok book, but I've seen better, the structure doesn't seem to flow well (for me at least), and it seems to be missing some important topics, like user stories, Rational Unified Process, or Feature-Driven Development (I think Mojang does this, but I don't know for sure). Maybe those topics aren't very important for game development directly, but I've always found user stories to be useful.

Software Engineering in general will prove to be a useful field when you are developing your engine, and even more so if you have a team. Take a look at This article to get small taste of what Software Engineering is about.

Why so many books?
Game Engines are a collection of different systems and subsystems used in making games. Each system has its own background, perspective, concepts, and can be referred to from multiple angles. I like Game Engine Architecture's structure for showing an engine as a whole. Luna's DirectX10 book has a better Timer class. The DirectX book also has better explanations of the low-level rendering processes than Coding Complete or Engine Architecture. Engine Architecture and Game Coding Complete touch on Software Engineering, but not in great depth, which is important for team development. So I find that Game Coding Complete and Game Engine Architecture are your go to books, but in some cases only provide a surface layer understanding of some system, which isn't enough to implement your own engine on. The other books are listed here because I feel they provide a valuable supplement and more in depth explanations that will be useful when developing your engine.

tldr: What Valken and SpooderW said.

On the topic of XNA, anyone know a good XNA book? I have XNA Unleashed 3.0, but it's somewhat out of date to the new XNA 4.0. The best looking up-to-date one seems to be Learning XNA 4.0: Game Development for the PC, Xbox 360, and Windows Phone 7 . I have the 3.0 version of this book, and it's well done.

Source: Doing an Independent Study in Game Engine Development. I asked this same question months ago, did my research, got most of the books listed here, and omitted ones that didn't have much usefulness. Thought I would share my research, hope you find it useful.

u/Mr_Bennigans · 2 pointsr/gamedev

> I think if I learn how to program with an aim to work as a software developer and make games on the side, is this viable after just turning 20?

There's nothing wrong with the age of 20. I started school at 20, graduated in four years, and found work as a software engineer right out school.

What you have to figure out is how to make the best of your time left in school: should you take a class or two on programming and graduate on time, or (more dramatically) change your field of study to computer science and spend a few more years in school? That's something only you can decide. If you want to finish your architecture program and graduate in a reasonable amount of time, I can assure you that your math and physics background will be enough to get you work as a software engineer, but only if you can actually program.

Part of working as a software engineer means being able to program in multiple languages. That's because it's not really about the language, it's about the logic. All languages follow certain patterns and while syntax or wording may change, they all share ways to implement the same logic.

It also means knowing what data structures to use for what scenarios. The phrase "There's no such thing as a free lunch" comes to mind. All data structures have advantages and weaknesses and no data structure is perfect for every occasion. Know the differences, know the performance impact, and be able to speak to them. This won't just help you write better code, it will help you land a job. Interviewers love to ask questions about data structures.

As a corollary to data structures, you also need to know your algorithms. You need to know the performance impact of different ways to search and sort, traverse graphs, and find the shortest path (particularly relevant for game programming).

You said you're learning Python and that's great. Python is a great way to learn how to program. It's dynamic, it's friendly, and it has a rich library. Learn Python inside and out, then pick another language and figure out how to do the same things. C++, Java, and C# are all pretty popular in the industry, pick one of those. Once you know how to program in a few languages, you focus less on minute implementation details specific to one language and more on high level abstraction shared across multiple languages. By that point, you'll no longer be speaking in code, you'll be speaking in plain English, and that's the goal.

I don't know many good free online resources for learning languages, I learned mostly out of textbooks and lecture slides (along with lots of practice). There are some links in the sidebar to some tutorials that are worth checking out. Beyond that, I can recommend some books you may want to read.

  • Algorithms in a Nutshell - one of the best quick references on algorithms you can read
  • C# 5.0 in a Nutshell - excellent language reference, aimed more at advanced programmers, though it's comprehensive in scope, covering everything from language syntax and structure of a program to more complex tasks like threading, multiprocessing, and networking
  • Learning XNA 4.0 - a great game programming book, teaches 2D and 3D game development using Microsoft's C# and XNA framework
  • Java in a Nutshell - another great language reference
  • Starting Out with Java - introductory programming text, has end-of-chapter problems for reinforcement, a little pricey so see if you can find a used older edition
  • Starting Out with C++ - another good introductory programming text from Tony Gaddis
  • Python in a Nutshell - I can't speak to this one as I haven't read it, but I have been extremely happy with O'Reilly's "... in a Nutshell" series so I suspect it's as good as the others
  • Learn Python the Hard Way - free online book about learning Python, begins with simple examples then teaches you how to break it so you know both sides of the story, wasn't as comprehensive as I'd hoped but it taught me the basics of Python
  • Programming Interviews Exposed - sort an all-in-one book covering lots of different topics and giving an insight into what to expect for that first interview

    EDIT: I added Programming Interviews Exposed because it's a good reference for data structures, algorithms, and interview questions
u/NookShotten · 1 pointr/learnprogramming

I started off with and did their front-end developer track, which introduced me to HTML / CSS / Javascript. I had tried Codecademy prior to that, but I felt that it was just teaching me to follow directions, not teaching me to code.

I read the core chapters of Javascript for Professional Web Developers and then did the same for Javascript: The Definitive Guide. This is what really gave me a strong base understanding of the Javascript language (arrays, objects, prototypical inheritance, etc.).

Along the way I started using jQuery for DOM manipulation, which really made things easy, but it felt just...too easy. Like I was cheating myself by using this magical tool that I didn't really understand. So I started reviewing the DOM-related chapters of the two books I mentioned above, which is something I'm currently still undertaking.

As for AngularJS I've been trying to follow this guide which I think has a pretty solid set of resources. I'm by no means an advanced AngularJS user, but hopefully in time I'll continue to grow. My current project is for my wedding, and uses an array of JS objects, each containing hotel information (name, location, description, website, etc). It then plots them on a Leaflet.js map and adds an entry in the list below each time I add a new hotel. I was pretty proud of that.

As for Node.JS, Professional Node.js has been really good so far. I learned enough to implement an XMPP bot at work, which was well received.

I'm continuing my education on Node.js--specifically with Express which I'm learning at the moment through MEAN Web Development

As for Python, I just finished my first course (Programming Fund. I) which was in Python, so I know the basic syntax. PHP I can read well enough, but sort of gave up on learning (for now) once I found server-side Javascript.

It probably seems like I read a lot of books, but I do want to mention that I haven't 'finished' these fully; I usually read it section by section, sometimes jump between books. I just have an erratic reading style, I guess.

I think the most important things are:

  • Find something you're passionate about

    I really enjoy Javascript and I think that has been a major motivator for me. I don't think I could have put the same level of effort into learning, say, PHP, which just doesn't excite me in the same way.

  • Find a solid primary resource

    I know that the accessibility and clarity of a CS-book can be totally subjective, but from what I've found there are almost always a certain set of resources people universally praise (like Definitive Guide / Good Parts / Eloquent Javascript for JS). I spend a good amount of time researching what the community for the language / framework tend to agree is the best resource.

  • Write out the examples from the books

    Especially for big tomes like The Definitive Guide which are just choke full of great snippets, I've found that its super useful to type out each example that you do not 100% understand. I've even found some errors in the books this way, which only served to help me understand how it really works even more.

  • See if there's a problem you can solve along the way

    This was big for me when it came to Node. The company I work for had a lot of traffic in their Jabber rooms and it was difficult to quantify it. I'd like to move to a SW Developer position there someday, so I decided that I'd try to solve the problem by getting a Jabber bot that monitors and records activity based on room, user, time. Having a tangible goal in a real-world context made me more motivated to figure out how I could use my tools to effectively.

  • Establish a good workflow

    Find an IDE you love and learn it inside and out. Get all those fancy-pants plugins and add-ons that make it hyper-functional. Find out which tools really 'click' for you and learn how they work. I've recently found myself very happy using Sublime Text as an IDE, Yeoman for boilerplate (love Grunt so much), and SASS as a CSS preprocessor (with Susy / Bourbon ). It just feels so satisfying having a solid setup, and I think that that kind of satisfaction with your environment makes it easier to learn.

    Overall I still think I have a lot to learn and wouldn't claim that I'm an expert in any realm yet, but eventually--with time--I hope to be.
u/Orthak · 4 pointsr/mylittleandysonic1

The first thing that I would say is: If you're thinking or making something bigger than a Pong clone, dial it way back. Your not going to make something fantastic, or Hell even good, straight out of the gate. Think of one idea that you have, and stick only to that. Make something very small, you can always build on it as you progress.

As for resources, they're limitless. There are tons of engines, assets, tutorials, book, and anything else you'd want. I'll make a small list of things here to get you started, but I strongly suggest looking for other things that you'd need on your own. Research and critical tinging is paramount in this hobby/profession.


  • Unity - Very powerful and free 2d/3d engine. Uses mainly a JavaScript dialect and C# for scripting. The asset store is a great built-in resource
  • GameMaker - Surprisingly powerful 2d only engine. Uses it's own language for scripting, and has excellent drag-n-drop scripting. It's been a while since I used it, but it was great from what I remember.


  • OpenGameArt - I've used tons of assets from this site. They range in any quality/type that you could need.
  • - Wonderfull asset packs, I've used one of their UI packs and it was great. I think these are also the guys that post free stuff to /r/gamedev every now and then.


  • - Great resources. I've used many sounds from here, and they usually have just what I need.

  • as3sfxr - Create your own chipsounds! I've mad a bunch of stuff here if I needed something that sounded a bit less organic.


  • Cooking With Unity - Is fantastic. I've followed almost all of these, and I loved them. He does a really good job explaining the concepts, and the scale in difficulty isn't too seep.


  • A Book of Lenses - I haven't gotten too far into it, but what I've read so far is great. Wonderful info on game design.

  • Game Programming Patterns - This is an awesome book to get into the programming aspect. The examples are written in C++, but can be implemented in any language. Also: The web version is totally free!

    That's about all I can think of quickly. It should be enough to get you off the ground.

    Have fun, and good luck!
u/MinMacAttack · 2 pointsr/leveldesign

Buying him computer hardware might be nice, but there's a lot of other ways to give something related to games and game design.

There's always a great big pound of dice. It's full of dice of assorted numbers of sides, and a game designer remotely interested in tabletop (which should be all of them) can use a healthy supply of dice for making tabletop games. There's always the fun of just rolling dice giant handfuls of dice. I'm out right now but I'll add the link when I get back home. Here's the link: Pound of dice

I'd also look into games he hasn't tried. BoardGameGeek has a lot of board games listed and reviewed that you could get, and of course there's always steam. For board games I'd recommend:

  • Red Dragon Inn, a fun party game for 2-4 that's best with 3+. You play as a bunch of adventurers after big dungeon raid and now they're spending gold at their local tavern and gambling. Can support more players with its sequels.
  • Monopoly Deal: A card game version of Monopoly, without the bullshit. Unlike it's big board game cousin, it actually plays out fairly quickly while still being focused on building monopolies to win the game. As a game player perspective it's a fun game, but also from a game designer's perspective it's interesting to see how this game re-imagines the original board game while being true to the source material and streamlining many of its game mechanics.
  • Carcassonne: A well known classic game that works well with 2-5 players where players build up a world of castles, farmland, and roads.
  • Bang the Dice Game: A game where the sheriff and his deputies face off against the outlaws but nobody knows who to shoot. At the start of the game players are given their roles in the conflict but only the sheriff shows who they are. The rest of the game involves social deduction to try to figure who everyone is supposed to be shooting, and trying to read past bluffs. The game works great for 5-8 players, and can work for 3-8.

    There's also a lot of books on game design you can get him. You may have to check to see if he owns some of these already, but I've found them to be great reads that I can recommend to anyone interested in game design.

  • Blood, Sweat, and Pixels: This is a book that tells "The Triumphant, turbulent stories behind how video games are made" and talks about the stories behind 10 different games from across the video game industry and what went on during development. I just bought this one and haven't gotten to chance to read it yet, but I'm excited to start it soon.
  • The Art of Game Design: This is one of the most well known books on game design that discusses a lot of what makes games work. I recommend it to anyone interested in game design.
  • Game Design Workshop: A Playcentric Approach to Creating Innovative Games: This book talks about everything that goes into how to design a game and some key differences on how some types of games work. It's more on the beginner/intermediate side, so some of it might be familiar to him.
u/NameIdeas · 2 pointsr/Teachers

My first thought was that is was a great idea, but then I thought about classifying students as slaves, it might be a bit of an issue.

One of my big things for student engagement was to design and build in game-like structures in class.

I hate, absolutely hated lecturing and if I needed to have a class lecture, I kept it to ten-fifteen minutes. Then students used the information from that to create a game, play a game, have a debate, something within the class. I found that games were the surefire way of holding student engagement.

Here is a good book about building in game structures into the classroom - If you are a gamer, think about how games hold your attention, and your students' attention. Typically it's just a bit of work for a big payoff. You play for a while and you level up. If you can build your classroom along those lines. We learn/play for a bit, then we "level up" kids take pride in that.

Simulations are awesome for this as well:

Here is a good article on game-based classroom learning -

I had a lot of fun building and designing simulations and games for my students. Because I was having fun, they fed off of that energy and they had fun as well. Some games we built the rules together.

I think one of the most fun lessons was when we were studying the American West and Populism - High School. Students had to research a particular aspect of that time period and teach it to their classmates by playing a board game. So I had four board games where kids were playing in my room. They had four stations and one person from each team stayed each turn to teach their games to the other group members. At the end, we had board game designer awards. One won for Best Game Design. One won for "I learned the Most". Another won for Best Game Artwork, etc. Each game design team won something and each team learned something. It took about three-four days from start to finish in a one hour - fifteen minute class. Day 1 - Quick mini-lecture on the basics of the time period. Students chose their topics, etc. Day 2 - Build day. Day 3 - Play/Awards day.

When I gave them my end of year evaluation. How did Mr. NameIdeas do this year? Did you learn something? What lesson/activity did you like best/least? How can Mr. NameIdeas improve his teaching, his relationships with students, his music choice, etc? They all remembered the games and, more importantly, the information from the games.

u/kevodoom · 1 pointr/gamedev

It depends. A game design degree from a well-designed and well-connected course (USC and Carnegie Mellon are both well-set-up) can sometimes help, but more through the connections you'll make than the things you'll learn in the course. In general, though, I agree strongly with the people here advising you to learn a practical skill.

Someone looking to hire a junior designer (and please don't have any illusions that you'll be considered anything other than junior until you've shipped titles) will be looking at you through two lenses:

  • Does this person have potential to be a good designer?
  • Can I use this person right now for work I need done?
    For both questions to be answerable in the affirmative, you need to be able to demonstrate both that you know how to think like a designer (what choices were made to make a given game work, and why did those choices have the effect they had?), and that you know your way around a game engine. A designer who knows only how to write design docs won't be useful in the short-term, and probably won't be useful in the longer term either, because this person won't be able to prototype their work. Good design is an iterative process, and your ability to explore and respond to your work hinges on your ability to express it in the medium.

    Regardless of the degree you choose, my recommendation is that you pursue your own education aggressively. The game industry changes extremely fast, and your ability to teach yourself constantly is essential to your ability to keep up and stay relevant. To this end, I'd do two things:
  1. Pick a game engine and learn it. Do the tutorials, learn how it runs, and make something worth playing in this engine. My recommendations here would be either Unity3d or Unreal. Both of these are solid choices for a few reasons: they're commonly used in the industry, so there's a high likelihood that someone on the hiring end would find your knowledge of the engine attractive, and they both do things in standard enough ways that if you learned either one, any other engine you approached would likely be structured similarly enough that you'd get what it's doing. Both of these engines allow you to get very deep into the sort of scripting designers regularly do (UnrealScript or C#). Most designers don't wind up needing C++, but it does happen on rare occasions. If you walk in the door with running software that's genuinely fun to play, you'll put yourself ahead of a huge chunk of the candidates in the field.
  2. Learn how game designers think. There are three books I'd recommend for this, probably in this order:
  • A Theory of Fun, by Raph Koster, as a good relatively lightweight introduction to design thinking.
  • The Art of Game Design, by Jesse Schell - the best practical course in design thinking I've ever seen.
  • Rules of Play, by Katie Salen and Eric Zimmerman - a foundation for most current game design thinking.
    There are other great books out there, but these three will set you off in the right direction. As a practical way to learn to apply this thinking, I'd recommend writing notes about the games you play from the perspectives taught in these books. Learn the theory by reading about it, recognize how it's working in the games you play by writing about it (even if just for yourself), and then try to apply this thinking to the game you're designing and building in the engine you're learning.

    Do these things, and you'll be an impressive candidate, and well on your way to becoming a good designer. At that point, the degree you choose really comes down to the specific areas in yourself you'd like to strengthen. I've worked with designers who earned degrees in architecture, film, english literature, philosophy, computer science, experimental music, and game design. Truthfully, few people will be swayed one way or another by the particular degree - they'll want to see your work and your ability to think. Above all, listen to those people here who are telling you to learn both sides of the coin - how to think about and write about design, and how to build running software - they're absolutely right that you need both.
u/U3011 · 2 pointsr/web_design

Here's a good list I keep posting because people often ask the same question - not like it's a bad thing.

In any case follow the below, but I really suggest for total newbies to first go through the course Codecademy offers. It won't teach you much in how to do things but the syntax education is good. Follow their HTML and CSS courses and when you're done, create a site using just HTML and CSS. Once done, try to emulate a few of your favorite sites using just these two languages.

Once done you should check out the free 30 day Tutsplus courses on HTML/CSS and jQuery. At some point you will want to go back to Codecademy and take their JS course. Syntax and method of doing or starting certain things is important. It's incredibly easy to pickup the actual methods of doing things once your head understands the syntax used.

Any form of education that follows a hierarchical format makes for easy learning.

Codecademy isn't bad. It won't teach you much in the way of doing things but it does teach you the way to type out code, the general process and stuff. I can't speak for myself because I work as a professional developer and have been tinkering with code for 10 years now, but I did give the first lesson to one of my brothers. He's not great with computers or the Internet, but he was able to follow the first two sections of the basic HTML/CSS course and able to make his own site albeit very basic in nature nearly a month later (3 week gap following him doing the lessons). He was able to do a rough basic site of his Facebook profile, and he nailed it. It should open doors for you in terms of having the basic knowledge of how to do things. It'll allow you to read more advanced stuff and pick it up much faster than if you hadn't.

Below is a list I sent to someone on here a while back.


>PHP and MySQL Web Development (4th Edition)
>Beginning PHP and MySQL: From Novice to Professional
>Read the second book, do all the examples, then go back to the first book. Pay a lot of attention toward array manipulation. When you're comfortable with that, get into OOP. Once you do and OOP clicks for you, you'll be able to go to town on anything. I've heard a lot of good about Jefferey Way's video lesson courses over at TutsPlus. I've never used them nor do I need to, but I've never heard a single bad thing about their video courses. Their Javascript and Jquery is a great starting point. This is great stuff too if you're willing to put in the time.
>Professional JavaScript for Web Developers
>JavaScript: The Definitive Guide: Activate Your Web Pages
>Responsive Web Design with HTML5 and CSS3
>The Node Beginner Book
> Professional Node.js: Building Javascript Based Scalable Software
>Paid online "schooling":
>I've got a shit ton (Excuse my French) of books in print and E-Format that I could recommend, but it would span a couple pages. Anything is easy to learn so as long is it's served in a hierarchical format that makes it easy to absorb the information. A year ago I started to learn Ruby and using ROR as a framework. I can say it's been quite fun and I feel confident that I could write a fully complete web app using it. I started node.JS a few months ago, but it's been on break due to being sick and some unexpected events.
>My knowledge is extensive only because I wanted it to be. I'm not gifted by any means nor am I special. Not by a longshot. Some people are gifted when it comes to dev and design, most are not. Most only know one or the other. I forced myself to learn and be good at both. I'm 23, I started when I was about 12. I'm only breathing more comfortably now. I know a load of people on here and other sites who make me look like complete shit.
>Also for what it's worth, sign up to StackOverflow. It's the bible and holy grail rolled up into one site. It's amazing.
>Hattip to /u/ndobie
>> CodeAcademy
Team Treehouse
> CodeSchool. This is more programming but still very useful & has free stuff.
> Google. Probably the best way to find out how to do something specific.
This subreddit. If you have any questions about how to do something, like parallax scrolling, try searching for it, then ask, make sure to include an example of what you want if you don't know what it is called.

u/DiggyDog · 9 pointsr/gamedev

Hey there, I'm a game designer working in AAA and I agree with /u/SuaveZombie that you'll probably be better off with a degree in CS. BUT... don't give up on wanting to be a designer!


You should realize that it's not giving up on your dream at all, in fact, it's great advice for how to reach that dream. A designer with an engineering background is going to have a lot more tools at their disposal than one who doesn't.


Design is way more than just coming up with a bunch of cool, big ideas. You need to be able to figure out all the details, communicate them clearly to your teammates, and evaluate how well they're working so you can figure out how to make something people will enjoy. In fact, working on a big game often feels like working on a bunch of small games that all connect.

Take your big game idea and start breaking it down into all the pieces that it will need to be complete. For example, GTA has systems for driving and shooting (among many other things). Look at each of those things as its own, smaller game. Even these "small" parts of GTA are actually pretty huge, so try to come up with something as small as possible. Like, super small. Smaller than you think it needs to be. Seriously! You'll eventually be able to make big stuff, but it's not the place to start. Oh, and don't worry if your first game(s) suck. They probably will, and that's fine! The good stuff you make later will be built on the corpses of the small, crappy games you made while you were learning.


If you're truly interested in design, you can learn a lot about usability, player psychology, and communication methods without having to shell out $17k for a degree. Same goes for coding (there are tons of free online resources), though a degree will help you get in the door at companies you might be interested in and help provide the structure to keep you going.


Here's some books I recommend. Some are specific to games and some aren't, but are relevant for anything where you're designing for someone besides yourself.


Universal Principles of Design

The Design of Everyday Things

Rules of Play

The Art of Game Design This and the one below are great books to start with.

A Theory of Fun This is a great one to start with.

Game Feel

• Depending on the type of game you're making, some info on level design would be useful too, but I don't have a specific book to recommend (I've found pieces of many books and articles to be useful). Go play through the developer commentary on Half-Life 2 or Portal for a fun way to get started.


Sounds like you're having a tough time, so do your best to keep a positive attitude and keep pushing yourself toward your goals. There's nothing to stop you from learning to make games and starting to make them on your own if that's what you really want to do.

Good luck, work hard!

u/[deleted] · 55 pointsr/Games

I'm really torn on this whole Greenlight thing.

I read Anna Anthropy's book Rise of the Videogame Zinesters recently, and in it, she makes the case that gaming is reaching a point where it's becoming an accessible medium at a hobbyist level. It used to be that you had to be a master programmer or artist or have a team of people funded by a company to make a game, but now we're reaching a place where tools are bridging skill gaps and almost anyone can make games.

She compares it to other media (e.g. writing, video), where accessibility opened up the platform and allowed for a huge plurality of narratives, thoughts, and experiences -- a point touched on in the video when talking about YouTube. An open medium gives us tons of crap, yes, but it also allows people to make games and tell stories that are different and individual and that wouldn't otherwise get made.

And I can definitely understand the value in that. There are a lot of brilliant people out there with a lot of compelling ideas and experiences, and it's great that games are finally reaching a point where they can be used to capture and express those on an individual level. It's going to lead to more diverse narratives and mechanics.

But I struggle with Greenlight because I find myself at odds with what I think and what I want.

Truth is, I really like Steam, and I really like that it is more limited in what it offers. I benefit from that in the implicit assurance of quality that's offered, as well as in my ability to parse what I want from a finite set of options. If I want to get a racing game, I can compare a small number of them, rather than having to sift through hundreds of similar-looking entries, and when I buy that game, I can be reasonably certain that it's going to be a complete game, run decently well, and have a minimum set of production values. And even when that isn't the case, Steam is slick enough that it's easy to see that as the exception rather than the rule.

As a customer, Steam works well for me, and I worry what a massive influx of games would do it. On the other hand, I definitely want access to some of that influx through the convenience of my favorite digital distribution platform, and I, deep down, really do think that that influx should be able to be accessed even if I don't want it.

Greenlight seems like an attempt at that, but it's one that seems half-assed and cursory. Even with dozens of professional reviews, news articles, and videos covering a well-known game, people still struggle all the time with whether or not it's worth their purchase (just look at all the heming and hawing that goes on over a $5 AAA game any time there's a Steam sale). Yet, with Greenlight, we're expecting people to make snap judgments of a game's worth and quality using a couple of promo shots and paragraphs, and we're doing it by popularity which, as reddit regularly shows, isn't always a great metric. It seems reductive, and seems to favor things that many smaller games are less likely to have (e.g. great graphics). A submission could have amazing writing and an incredible story, but if it doesn't have a look good or have a well-known fanbase/personality backing it up, it's probably going to be dead in the water on Greenlight. The whole system feels like an improper response ("beauty contest") to the problem at hand (plenty of fish in the sea).

I don't really know where I'm going with all of this other than that Greenlight is confusing to me because I'm not sure what to think. I really like the idea of openness and accessibility, I definitely see both the benefits and drawbacks of not having that, and I'm stuck pondering a bunch of different implementation issues when I consider how things could be changed. I also think the whole thing would be easier if we weren't so damn reliant on Steam in the first place. I'm thinking maybe the answer isn't in letting every game into Steam but instead getting some of us out of it and into Desura, GOG, and other platforms. The games want to go where the gamers are, and right now we're sitting behind the walls and loving it.

u/meriweather2 · 2 pointsr/rpg

I've been out of town, but I had a chance to ponder your response for a bit. Your classes seem well-developed. Would the students choose their class? Also, would you have set parties that rotate through playing their characters/roles? Since you said you'd play on Fridays, will they know ahead of time and have any particular prep or lead-in assignments as they approach the session?

I teach sophomores. Last year, I had five total classes (two Honors). This year, I'll still have five, but only one Honors. They will read F451 over the summer, and then we'll spend the first two or three weeks on it as a set up for the year. My hope is to continue to leverage that story's focus on the value of thinking as a set up for the tone of the year.

One of the points I've come across in researching game-based thinking is that games give people context for action. I've tried to think about the actions required to be successful at reading, writing, and speaking in terms of the core engine of the game. Right now, this has lead me to the hope of structuring the year around "mission-givers" found within our expanded world of F451.

I don't know enough about DMing to feel confident in running a set session yet; I just played my first and only game of D&D last spring (it was incredibly fun). I'm trying to think of my DM role as more big picture for the class by creating essay assignments given by NPCs for specific purposes or to specific audiences.

I haven't quite found a way to integrate rolling dice yet, but I love that it would set up events that I don't determine. One of the important concepts I try to emphasize is their need to work within boundaries (when reading texts, when writing essays that actually support their thesis statements, when figuring out what to say in a discussion, etc.). The dice rolls are so enticing as a mechanic, and I want to find a way to work them in. Maybe I'll be brave enough this year to try a live session and see how it goes.

Here are some resources that have been inspiring in the intersection of learning and games:

The Multi-Player Classroom (A game designer who taught about game design by using game design)
Reality is Broken (also, I have her book Superbetter, but I haven't read it yet, and her TED Talks are good)

The latest point of interest for me has been the structure and mechanics of story games. They seem like RPGs, except they don't have number crunching. I think I can pull from different ones to help create context as I move throughout the year (Seven Wonders seems particularly interesting).

Also, The Big List of RPG Plots might prove helpful to quickly create trajectories for the story that develops. I'm worried about bogging down once we get a couple months in like I did last year. This might help to keep it fresh.

u/Aeiorg · 43 pointsr/gamedev

First of all, I wouldn't recommend learning game coding by looking at a codebase, the biggest reason being that all games are different and are using different techniques (obvious one being 2D vs 3D, but you have tons of differences between a FPS, a RTS, an open-world, etc).

I would recommend to find books or articles that explain why a certain technique is usefull, the coding language doesn't really matter, the technique itself is what is important (As you are saying it's for learning purposes and I don't think it's quite interesting to understand data-driven programming, cache optimization or 3D APIs optimization for C++ when you are first trying to understand a game structure).

I can recommend two really good books :

u/RoguelikeDevDude · 4 pointsr/gamedev

Book suggestions? Now that's my jam.

Out of all the books i've read, here are my recommendations regarding game programming:

Eric Lengyel's Books (only one out so far). This is aimed at game engine development, but if the 2nd onward are as indepth as the first, they will be amazing fundamental knowledge. Also, they're not thick, and jam packed with information.

Game Programming Patterns. The only book that comes more recommended than this is the one right below it by Jesse Schell. This book is fantastic, but you should write one or two small games to really get the most out of this book. You can also read it online on his website free, but then you don't get a pic of him and his dog on the back cover.

Book of Lenses. This is your intro/intermediate dive into game design. There are a lot of game design books, if you only read one, it should be this one.

Gane AI By Example. This book is a hodgepodge of fantastic techniques and patterns by those in AAA. There are other books on the series (like Game AI Pro) which are similar, but in my opinion (at least when I read AI PRO 3), they're not as good. But more knowledge is never bad.

Truthfully, as I sit here looking over all my books, those are the only ones i'd consider mandatory for any seasoned developer. Of course plenty of developers get by without reading these books, but they likely pick up all the principles listed herein elsewhere, in bits and pieces, and would likely have benefited having read them early on.

Here are a few others that I do recommend but do NOT consider mandatory. Sorry, no links.

Unity in Action. Personally, I recommend this or a more interactive online course version ( if you want to learn unity while having a resource hold your hand. Having read the book, taken the course, AND taken Unity's own tutorials on the matter, i'd order them in order from Course being best, book second, videos from unity third. But none of them are bad.

Game Engine Architecture. This is the king for those who want a very broad introduction to making a game engine. It comes highly recommended from nearly anyone who reads it, just so long as you understand it's from a AAA point of view. Game Code Complete is out of print and unlikely to be revisited, but it is similar. These are behemoths of books.

Realtime rendering. This is one I haven't read, but it comes very highly recommended. It is not an intro book, and is also over 1000 pages, so you want this along side a more introductory book like Fundamentals of computer graphics. Truth be told, both books are used in courses in university at the third and fourth year levels, so keep that in mind before diving in.

Clean code. Yeah yeah it has a java expectation, but I love it. It's small. Read it if you understand Java, and want to listen to one of the biggest preachers on how not to write spaghetti code.

Rimworld guy, Tynaan sylvester I believe, wrote a book called Designing Games. I enjoyed it, but IMO it doesn't hold a candle to Jesse Schell's book. Either way, the guy did write that book after working in AAA for many years, then went on to create one of the most successful sim games in years. But yeah, I enjoyed it.

Last but not least, here are some almost ENTIRELY USELESS but interesting diagrams of what some people think you should read or learn in our field:

u/ColeSlawGamer · 5 pointsr/gamedev

I've recently completed my first game using Game Maker, and I couldn't be happier with the results. Game Maker is a pretty simple program to use, and it does wonders for making game development seem approachable and manageable. No coding is required, but you can still put in your own scripts if you want to get fancy (or you can just code the whole thing).

There is a pretty substantial free version that you can download here. Plus there are plenty of tutorials online that can help you out with the basics of making a game.

After that, I would recommend getting a book to help walk you through some of the more advanced things. Being a fan of platformers, I found this book to have everything I needed to help me learn what I needed to know to make my game. It has tutorials that walk you through step-by-step when creating a platformer game, and it does a great job of explaining what each and every bit of code does.

If making a platformer isn't your thing, you can maybe try this book. I've never read it, so I can't attest to what's in it, but it's written by the same people, so I'd imagine the quality is top notch as well.

Good luck with the motivation, man! Try not to compare yourself too much to other people though. Sure your first few games aren't going to compare to today's blockbusters. Hell, when you're starting out, you might even be envious of some indie developers as well. But these people have had years of experience. They started out making mediocre things too. You just have to keep at it, and eventually you'll be on the same level as them (and you won't even notice it!).

Pro-tip: Try to make as many games as possible, instead of trying to polish one game to perfection. You learn a lot more from completing projects than you can trying to perfect one. Having an opportunity to reflect on what you would do differently for next time is invaluable.

Anyhoo, just try to stay positive, and think about how awesome it is that you plan to make things that entertain other people (I mean seriously, how cool is that?!)

u/RaunchySlappy · 2 pointsr/boardgames

Thanks for the great question! I'll answer the way my mother always answer my long emails...

  • Background? My background is in actually more on the visual creative side rather than the game design side! I graduated from the Massachusetts College of Art and Design with a degree in Illustration. My thesis project was to create and illustrate an entire game on my own ("Landfall" mentioned in a couple other places in this thread). Of course I ended up focusing on (and enjoying more) designing the gameplay and player experience aspects of the game.
  • Motivation? I really just want to design games and have people play them! If I'm lucky I'll break even on this project, haha. I've tried to keep everything as minimal and efficient as possible, to get the game to the people is my only real intent. It is incredibly satisfying when demoing the game to watch people truly enjoying something I've poured my blood, sweat, and tears into.
  • What resources did you seek/find? I am lucky enough to have a fantastic day job to afford to keep the lights on (and the 3D printer running), and have done lots, and lots, and lots, and loooots of research. The thing they don't tell you is that when you want to get your game published through KS, its like getting a third whole new job (in addition to my day job and my board game design job). It is so in depth you can practically major in crowdfunding. I read a ton of stuff from Jamey Stegmaier, have been reading this book andthis book, and have done lots and lots of trial and error.
  • Which resources were most helpful to you? Probably the 3D printer was one of my best investments as a tabletop game designer. It reaaaaally helps immerse the player (and myself) in the game I am creating if I can basically instantly create whatever components I want. (I purchased this affordable 3D printer and have had great success with it)
  • What approach worked for you personally, and how is it different from other boardgame designers? This is a really good question. Board game designing isn't typically something that becomes someone's full time job. Each person who has made the leap usually starts somewhere vastly different from game designing, and I believe that gives each designer a very unique perspective to their games and the way they go about creating them. For me, those things are mostly visually creative-related. At work I do illustration, graphic design, photography, videography, video editing etc etc. So making a decent looking prototype is something that I was able to do (mostly) on my own, and similarly making a nice game trailer and digital ads was relatively easy for me. While I had the visual components down, I differ from other designers who have different characteristics that they bring into play like business experience, industry contacts, an in depth understanding of Kickstarter (I am pretty familiar with KS, have backed a few things, but I am by no means a superbacker myself).
  • The biggest challenge you are proud to have overcome? Even though my campaign isn't at its goal just yet, I am proud at the amount of people I have been able to spark some interest and connection with through my game when starting basically from scratch. They say to have a successful campaign you need to have at least 10,000 emails when you launch, I had about 150 (I lucked out when my game trailer ended up blowing up on Reddit about a week before launch). It was very hot in that pigeon suit I wore for 4 days straight at PAX East promoting Crumbs, and it was exhausting taking a 5 day trip to NYC and demoing the game every day, but it was so worth it. This is my first game, and for someone starting with a near zero fanbase, I am proud my game has been able to touch this many people to begin with.
u/TheBestOpinion · 2 pointsr/feedthebeast

If you've read the art of game design or a similar book, you'll find that in FTB, most of the fun is had through the problem solving.

You have to give problems to solve to the player, hard ones if you must, but you must not hinder the player in his attempts to solve it. The player should be as free as possible to solve your problems any way he likes

When the player finds a shortcut, he receives some instant gratification. As a developper, you may hate shortcuts as they cut content from the player's experience. But the short-term gratification can be worth it. Letting the player skip some of the game's content isn't dramatic. And this is what makes Minecraft's replayability.

# Feels good:

Problem solving

  • Using a combination of redpower tubes, buildcraft pipes and all the mothers of all the different pipes to do something very specific.
  • Easily popping up a computer and taking 15-30min to code something simple and portable to solve an easy problem
  • I remember fondly the days of power converters. They made sense, were easy to craft, easy to use, and switching between the different energies was pretty fun. They were the source of lots of game breaking exploits, though. :|
  • Convenience vs efficiency trades. I once played on a server where tesseracts were costly but lossless and transceivers were early game but very lossy, I can't go back. It's SO much better that way. You could always rely on transceivers to help you solve problems quickly and you could optimize down the road if you wanted to by switching to cables or to tesseracts (not always easy btw).
  • Multiple alternate manners to obtain items and solve problems.
    • Gregtech was great at this with electrolyzers and centrifuging
    • Ex Nihilo is also great at this
  • Cross-mod """"exploits"""". Uncrafting something that wasn't meant to be uncrafted, weird ways to generate energy... when they aren't game breaking, I love cross mod interactions.

    Feels bad:


  • Unnecessary steps in crafting. Go flatten your iron with a hammer, then cut it into stripes, then apply some rubber (<= which you had to harvest, extract, cook) and you get a cable.
  • Spending 15 minutes to setup a computer and its power supply. Stop coding at least five times to craft all the modules you need.
  • Unnecessary cable management because tesseracts/dimensional transceivers/etc are pretty costly early game
  • Very mandatory yet almost useless machines (blast furnaces, coke ovens, vats, canning machines, QED...)
  • Shitty power conversion problems. "Use copper wires, they're magical"
  • Costly kind of cables that you can't get early game

    Stopping me, breaking my inertia, by asking me to do some weird task

    When you place a wall down my road and the only way to get past it is to jump, be careful, maybe I don't like to jump; add a window, a door, explosives, portals, anything.

  • Screw you, you need to activate that division sigil (AGAIN) to do the thing.
  • Being too lazy to start using a mod that's disconnected with everything else. Botania, for instance. Or blood magic. Or Psi.
  • Screw you, you need to make an X farm again. The same as the last one.
    • In sky factory, there are lots of good ways to get wither skulls... I almost cried. It was amazing.
    • There's also lots of good ways to get draconium

      Mixed feelings:

  • Big numbers. Draconic evolution stuff, pointless power generation, pointless ressource gathering. Perfecting your craft, even if there's no point, and seeing the numbers glorifying your accomplishment is the backbone of the game

    Alternately, when a mod relies too heavily on grinding and isn't automateable easily, it gets annoying. The grind isn't what's fun, the wait isn't what's fun, refining your machinery and scaling up your contraptions is where the fun is at.
u/minimuminim · 1 pointr/SRSGaming

I don't know - I feel like I'm expressing myself badly here.

None of what you are suggesting are bad things. They're all sort of... no-brainers, but I just keep watching these scandals pop up and then fade out, over and over again... it breeds cynicism, I suppose, but I can't help but feel that we must be missing something, or that there's some other way of working at this.

I think part of it is this:

> And improving that relationship by fixing the content coming from the content creator is something I feel is extremely important.

because I just have no faith left in the games industry, much like I have little faith in the movie industry to improve itself, much like I have little faith in the music industry to improve itself. When you strap creativity onto a structure revolving around profit, I honestly don't think that is an avenue we want to be shoring up. The relationship of power between a consumer and a producer in our capitalist system is not equal. I would love to say that things like Bioware finally writing in a gay male NPC is progress, but the very fact that this bafflingly lukewarm tokenism is held up as an example of progressive games-writing is problematic in and of itself.

As to your points about the unique nature of the videogaming community, I believe that it's not specific to the medium, or at least not caused by the medium. It's very, very easy to trace the isolated, gender-segregated history of the tech and games industry, and how that reflects on a) what kinds of games are made and b) who those games are sold to, which leads to c) who gets inspired to make what kinds of games.

Have you read Anna Anthropy's Rise of the Videogame Zinesters? She calls for creation outside of capitalist systems of games-making. It reads more like a manifesto, which I think is a good thing, and ends in with a Twine tutorial. I think you would enjoy it.

eta: In hindsight I think this is a better way of articulating my point.

> we all contribute to the gaming industry by purchasing certain games we choose/enjoy

implies that all games arrive through the capitalist system, and I think that that's not true and also not the best way of doing things. And I would encourage alternatives as a way of trying to encourage or create less toxic communities revolving around games.

u/Shadow-Master · 1 pointr/gamedev

Don't be suckered by a "Game Design" program. There are VERY few good ones. Most of in, 99% of them...are rip-offs.

Learn programming, 3D-modeling, or animation. Pick one that you're more interested in and then full-speed ahead. These will make you useful in more than just game development roles, thus helping you in the future when you have trouble landing a game dev job. At least you'll still be doing something you like in the meantime, and still building your skill in that area. Many really popular game designers have specialties outside of just "Design". Some are excellent programmers, some are artists, some have excellent business skills (really good at project management), and some are brilliant story-writers. Most game design positions are not entry-level, because you REALLY have to know what you are doing, before someone will trust you enough to let you touch the design. The only real way to prove that you are actually a good game designer is by having games to show off. That proves that you have some idea of the design process and know how to maintain a game from start to finish. This is HARD.

Some like to say that these degree programs for game design help them by giving them the incentive to push through and finish their stuff, otherwise, they might not have the motivation. Well, that's very problematic, because that means that you will not be the type of person who can finish a game. Game development requires you to be highly self-driven.

Most of what "Game Design" programs teach you can be learned by picking up a few game design books and making your own games (alot of them, too). Game design is learned by making games, not by having a professor tell you about it. You have enough mentors in the game development community already. They will always be there to critique what you do and give you tips on how to improve your work. Pick up a couple of books like The Art of Game Design and Designing Games. You can look at other books in whatever other area you want to master and just get started on making games. Turn off your console and just get started. Start small. Make very simple, basic games to start off with (B.A.S.I.C.). It's about learning the process first. Do that while reading a ton of highly-detailed game postmortems online. Just learn the process. THAT will be your real education.

And finally, start working your way up to putting together a portfolio. Portfolios speak much louder than a resume (although, a resume is still important). And that doesn't mean having a bunch of "Game Design docs". Games. Not docs. Games. Then build up your confidence and hook up with a team, so you can fight your way together to the end of making a complete game. (this may be one of the only valuable things that a game design program can provide you out of the box, i.e., a team that you are forced to work on a game with)

The single most important tool you will ever have is discipline. No degree will be able to top that. Give up the idea of being a hardcore gamer, because you are now going to need to become a VERY disciplined person. You're going to need it.

Finally: Don't forget to have fun. Good luck! :)

u/againey · 1 pointr/gamedev

I think that's a hard enough question even when targeting the general population within that age group. So it can be difficult to find well researched and experientially backed up information even without the more specific target of children with autism. Though I'll also note (as someone with a degree of autism himself), depending on the individual's particular autistic attributes, the condition can actually be a strength for studying something such as game design. The focus on designing rules and working out all the implications for their effects on the gameplay experience can often be a natural fit for someone with autism. At least in my case, the key for effective learning was to grant me the time, space, and tools to explore a subject in my own idiosyncratic way, at which point I could soak up all sorts of knowledge and concepts.

As for concrete recommendations, the one that comes to my mind is to look outside of computers for at least part of your teaching material and activities. I wasn't expecting it initially, but while reading a variety of game design books to improve my own knowledge for making video games, I repeatedly encountered the recommendation to do as much of your early prototyping away from the computer as possible. That is, design board games, card games, sports-like games, party games, and so on. In many cases, you can pull ideas from a variety of game types to build hybrids that do a decent job of replicating the essence of certain video game mechanics, giving you a chance to evaluate how fun the concept is, and if it merits spending time to make a more in depth digital version.

Best of all, it can be free or very cheap, it requires no knowledge of coding, you can do it anywhere (though preferably with a good work table and some craft supplies and standard physical gaming equipment), and you can get results in just a few hours, or maybe even a few minutes depending on the concept. Anything using a standard deck of 52 cards is particularly simple to test, for example.

Two of the books I've already read that had sections helping me think in these terms were:

u/spaghettu · 3 pointsr/gamedev

If you're planning on pursuing this as a career, there are tons of incredible opportunities for people experienced with lower-level 3D APIs. Making your own engine serves as a fantastic learning experience, and would be a huge investment in your future.

Below are some of my favorite books/resources right now that may help you along the way. These might not be immediately useful to you right now, depending on where you're at, but together they have more than enough knowledge for you to go far in 3D Computer Graphics.

  • Game Engine Architecture touches at least a little on all of the knowledge necessary to build a bare-bones 3D engine. It goes over the components of modern 3D engines, and how they work. It even has introductory Linear Algebra and Object-Oriented programming concepts. I think this book is pretty approachable for beginners.
  • The OpenGL SuperBible offers great insight and examples on using OpenGL optimally. Depending on when you start, however, you may want to consider a Vulkan book instead. I think this book is the best way to learn OpenGL as a beginner. There are plenty of free tutorials online on websites like and as well.
  • Real-Time Rendering is a fantastic book that dives deep into different algorithms and techniques for modern 3D rendering. It's pretty advanced, but it's a very well-known book and exposes very valuable information on complicated effects found in modern 3D engines.
u/csp256 · 21 pointsr/cscareerquestions

I know a good bit about this... engine programming specifically.

I have a physics degree and a standing offer to work at Naughty Dog. A good friend of mine from undergrad also has a physics degree, and is an engine developer at Naughty Dog. He is currently rewriting the companion AI for The Last of Us 2. And because it is only 7pm on a Saturday, I do mean currently. He is cited in the definitive text Game Engine Architecture. We talk often, and he even comes to me for help with especially tricky problems. I also have a copy of the 100+ pages of notes he used to study for the Naughty Dog interview... PM me your email for a copy.

This is what I suggest:

Step 1: Read Game Engine Architecture.

Step 2: Read Game Engine Architecture again, but slower this time.

Step 3: Learn 3D math. (There are other resources too, but one way or another you should know literally all the content in that book, because you will be asked 3d math questions during the interview, and if you're not you should keep interviewing.)

Learn how your computer works, from the ground up. Learn how to write extremely performant C++. This includes bitbashing, SIMD, caches, concurrency, etc. Not theory; real world experience. Learn how the GPU works. Learn computer graphics. Learn computer graphics for real. Learn collision detection.

Make a large number of small demos quickly. Decreasing development time is extremely important in the games industry. Make A*, a raytracer, a fibers threading engine, a shadow mapper, a FSM engine, etc.

Here is a recent question my friend asked me (as a brain teaser; he had already solved it):

> quickly check whether a uint64_t x is equal to any of 16 unique other uint64_ts

> bool f(uint64_t x, uint64_t a[16]);

> it will be called with the same a[16] every time, but varying x

Hint: you expect >99% of calls to this function to return false. Post your answer and I'll tell you what's wrong with it. The obvious solution is incorrect. Same is true for anyone else, by the way.

He recently came to me with a different problem: using all the time and compute in the world, encode a unit quaternion into 32 bits such that decode on the GPU is extremely fast, and minimize the max error possible. We managed to improve on the state of the art in both respects. No hints here, but I know some people you should talk to if you can show me a better solution. :)

Study games. Play games. Critique games. Love and breathe games. Because that industry will eat you up and chew you out, so you better be prepared to love every single second of crunch time. If you love it, you can do it, but it will torture you if you don't.

It is hard, but if you love it, and not just the idea of it, you can do it. However, as you can probably guess by my breakdown engine developers tend to be very experienced. My friend is an extreme anomaly at being as young as he is and an engine developer. It is more the type of thing you start trying to interview for with ~decade of experience.

u/xbrandnew99 · 2 pointsr/learnjavascript

I guess it really depends on what you want to use it for. Though as it is primarily the programming language for the (front-end) web, i'll assume more or less towards that.

Do you have any html/css knowledge? I'd definitely agree with others that the best way to learn is by doing. This method of learning became a lot easier for me once I was able to start manipulating elements of a webpage; it became much more intuitive and concrete a learning experience. Some basic things to do may include storing html elements in JS variables, attaching events to these elements - for example clicking on en element will execute some code, manipulating other elements' css, creating or removing elements from the page. (the JS library jQuery will be your friend here)

I like this site:
You'll be prompted to complete challenges which actually accomplish a, small, but technically useful goal, such as writing a function which takes a string of text, and returns the string with each word in reverse order. This was a nice 'next level' for me after doing codecademy.

Professional JavaScript for Web Developers, while lengthy, gave me a comprehensive and best-practice-filled ground-up walkthrough of basic JS. If you're comfortable with codecademy's JS course, this may be a good next step. I definitely felt a very distinct difference in my JS knowledge before and after going through this book.

The javascript jabber podcast was also pretty helpful to me in just listening in on experts in the field talk about the current state of JS. While my first months of listening, the discussions were 90% over my head, I picked up on the terminology, some popular tools, and just the JS environment at large. Easy enough to just have on in the background, commuting, whatever.

Finally, this subreddit, and sometimes r/learnprogramming have some helpful discussions to keep an eye out for.

u/davidNerdly · 4 pointsr/web_design

Just some I like:


  • [You Don't Know Javascript (series)(] Short and sweet mostly. Well written. Some are still pending publishing but there are a couple available now. I believe you can read them for free online, I just like paper books and wanted to show some support.

  • Elequent Javascript (second release coming in november). Current version here if you are impatient. I have not personally read it yet, waiting for the next revision. I recommend it due to the high regard it has in the web community.

  • Professional JavaScript for Web Developers. Sometimes called the bible of js. Big ole book. I have not read it through and through, but have enjoyed the parts I have perused.


    (I am weak in the design side, so take these recommendation with a grain of salt. I recommend them off of overall industry cred they receive and my own personal taste for them.)

  • The Elements of Typographic Style. Low level detail into the art and science behind typography.

  • Don't Make Me Think, Revisited. I read the original, not the new one that I linked. It is an easy read (morning commute on the train was perfect for it) and covers UX stuff in a very easy to understand way. My non-designer brain really appreciated it.

    below are books I have not read but our generally recommended to people asking this question

  • About Face.

  • The Design of Everyday Things.

  • The Inmates Are Running the Asylum.

    You can see a lot of these are theory based. My 0.02 is that books are good for theory, blogs are good for up to date ways of doing things and tutorial type stuff.

    Hope this helps!

    Battery is about to die so no formatting for you! I'll add note later if I remember.

    EDIT: another real quick.

    EDIT2: Eh, wound up on my computer. Added formatting and some context. Also added more links because I am procrastinating my actual work I have to do (picking icons for buttons is so hard, I never know what icon accurately represents whatever context I am trying to fill).
u/iugameprof · 5 pointsr/gamedesign

Really depends on your goals. All of those books are good but have different purposes.

  • Raph's "Theory of Fun" has some good deep background -- though I don't agree with his all of his "theory"
  • Jesse's "Book of Lenses" might be the most useful as a reference. I know various intro game design courses have used it, and it has a lot of great info in it, but it's also not a step-by-step book. Oh, and a second edition is out or coming out soon, so I'd wait for that.
  • Rules of Play is a great book, but definitely on the heavy academic side.
  • Tracy's Game Design Workshop book is used by a lot of game design classes and may be the most accessible of these.

    I'd also recommend Jeremy Gibson's Introduction to Game Design ... with Unity and C#. It's a huge book that will teach you Unity step-by-step along with a ton of solid game design techniques.

    Disclaimer: I'm friends and colleagues with most of the authors of these books. They're all useful; it just depends on what you're looking for.
u/OpSmash · 2 pointsr/gamedev

A good starting point is to identify what you want to do exactly. Find your focus on what you plan on attempting, then think smaller. Most first projects are very ambitious (while good) can lead to you making something not worth your time, headaches and just frustration.

However with that being said, here’s a few ideas to help get you started. If you want to just jump in and get your hands dirty and start working on a visual level you can try these programs:

  • Game Maker / Studio GameMaker
  • RPG Maker RPG Maker

    More Advanced:

  • Flash Adobe
  • Unity Unity

    Alternatively in conjunction of playing more games in your lifestyle, I would highly recommend you start to read blog posts, writings and articles on game design, theories and practices as well what industry leaders are talking about. While most people who love and have a passion for games watch game reviews, you’re going to want to focus onto sites like:

  • Gamedev
  • Gamasutra Gamasutra

    A book you may want to consider picking up:

  • Rules of play Amazon link
    Back to your original topic about programming. While doing all of these so you understand what it takes to make a game, how a game shapes or how a game can be fun its time to start learning the important type. Which is the programming side. Now before you continue, programming isn’t always for everyone, but don’t let that discourage you. You may find while programming you love it, you may find you don’t like it. Programming is a tool which you can add to your arsenal of design and implementation and its smart to grasp the basics if you plan to get into game development even if you find yourself not savvy in it.
    The game makers I listed above each have a language that works with them. For example Game Maker has GML which is its primary language. RPG Maker has RUBY as a base and they use RGGS3 (I think that’s the current revision). Flash uses a scripting/programming language known as ActionScript 2 or 3 depending on what your accomplishing. Unity 3d uses C# and Mono, Javascript and I think another language but don’t quote me on that.
    Since you want to start from scratch the only advice I can give you is this. Don’t give up. Keep persistant. I would recommend that you start at an entry language that helps break down a lot of the tedious tasks and makes it more adaptable towards learning such as Python.
    Some resources:

  • CodecademyCodeCademy
  • Learn Python the Hard Way Learn Python the Hard Way
  • Invent with Python Invent with Python

    I hope to see questions popping up as your understanding the basics of Game Design and game creation. It is always good to see people entering the field and tragic when people give up. Remember, start small. Do not expect to make a Minecraft clone within the first few days of learning a programming language, you need to practice and start small. Chances are your first few games are going to be clones of Snake / Pong / Tic Tac Toe etc. These are learning tools to help you understand how its created, the logic behind it and building/stepping blocks into a solid foundation.
    Don’t give up and start learning everything you can. Apply yourself and keep moving forward and you will do just fine. Welcome to the club!
u/dgeisert · 5 pointsr/gamedesign

You can find a lot of art and music for free, just need to do some checking into the attribution requirements. My favorite site for this is
That plus a Unity3D free ( and you should be ready to go.
Make sure to learn the C# way of doing things for the games, since most of the good plugins will be written in C#
I taught myself the programming aspects of it through youtube, google, and the scripting api.
I've only put out one minor game so far, and got some help on the art, but it wasn't too hard.
The hard part comes in when you want to have servers or interact with other APIs, then you are looking at a longer commitment and much more tweeking, since you have more than one debug point.
Start early on the habit of using state machines ( The first game you make will probably be a lot of spaghetti, but making a few really quickly, then starting over will help you understand a lot more about it.
for design i'd recommend Level Up! ( as it is really good at explaining the why of game design as well as the mechanics.
Lastly, don't be afraid of copying something at first, there is always a game like the one you are making. Put something together that you, and your friends, enjoy then try something a bit more novel next time. You won't make the next great thing on your first try.

u/RafikiDev · 2 pointsr/Unity3D

Hey! Sorry for the late answer, I was drowning under school projects.

My personal favorite is Introduction to Game Design, Prototyping and Development. It gives a lot of on-point theory, it explains iterative design and good practices, and it's all clear and much more practical than your average game design book. The first part focuses on game design, the second part on programming (it's meant for beginners, so I just skimmed it) and the third one is a collection of 8 tutorials showing you how to make a prototype for 8 different kind of games. It's very clear and very complete. The only problem is that Unity is evolving so fast that the book might be obsolete too soon.

I have the first edition of that book that came out in 2014, and when I read it (in 2016), there was already several lines of codes that were outdated in the tutorials. (A second edition came out in 2017, I don't know how it is!). There's an official website that lists those lines and tell you what you should put instead, but it's a bit inconvenient. However, if your main interest is the game design part, you're good to go!

Another one that you might like is Challenges for Game Designers. I haven't gone through it yet, so I can't attest how good it is, but basically it's a book that switches between theory and practical exercises. I don't believe there's a book out there that provides that many exercises, so that's really good for sharpening your skills. It's also cool because you can design your games without having to implement them at all (they can even be though as board games!), so you save all the time of production and really just foster your design abilities, which seems to be your focus for the moment.

Finally, while not being a game design book per se, I highly recommend Derek Yu's Spelunky. It's a making-of written by the creator of the game himself, and it's full of great advice about game development in general. Also, as he explains the process of creating the game, if you pay attention to what he's saying, you can learn a lot about the craft without being given straight out theory.

I hope that fits your request! :) If you have any other question, hit me up! Also, I don't know why you asked about books specifically, but if you want any other recommendation in other format (videos, blogs, etc.), I will happily provide them.

u/FooBarBazQ · 2 pointsr/learnjavascript

I've heard great things about Jon Duckett's JavaScript and jQuery - Interactive Front-End Development. Apparently the book's binding completely blows (pages falling out even with very little wear and tear), but the content is supposed to be really great for people just getting started with JavaScript and struggling with some of the core concepts. This book is made for visual learners, who get more out of diagrams, analogies, and examples than from reading long, tedious blocks of text.

In other words, this book seems to be great for JavaScript novices (and programming novices) who just want to jump in, learn some basic concepts from a well designed and easy to read book, and start actually working with some JavaScript in the browser. From the book's Amazon page, each chapter is described as follows:

  • Breaks subjects down into bite-sized chunks with a new topic on each page

  • Contains clear descriptions of syntax, each one demonstrated with inspiring code samples

  • Uses diagrams and photography to explain complex concepts in a visual way

    Once you're a bit more comfortable, the go-to book for beginner to intermediate JavaScript learners is Nicholas Zakas's Professional JavaScript for Web Developers. It's a much thicker tome, but covers more concepts in more depth.

    This book is much more than just "pure JavaScript outside of the browser" (it also contains lots of info/examples for doing real things in the browser), but it does go into great detail about all the intricacies, syntactical oddities, and gotchas of ECMAScript, which you do really need to learn to become a fully competent JavaScript developer. This book is also written well and is easy to read, but it's not designed/presented as nicely or simply as Duckett's book. The Amazon page says the book is written for the following three groups of developers:

  • Experienced object-oriented programming developers looking to learn JavaScript as it relates to traditional OO languages such as Java and C++

  • Web application developers attempting to enhance site usability

  • Novice JavaScript developers
u/minond · 2 pointsr/webdev

Not really related to mobile development, but he should still really enjoy these if he hasn't read them already:

u/moarthenfeeling · 22 pointsr/gamedev
  • Learning Lua and moving most of game logic in scripts. Iteration is a lot faster and there's a nice degree of separation between the game and the engine
  • Using entity-component-system approach. Gives nice structure to every aspect of game objects and makes it easy to combine them without code duplication
  • Getting rid of code duplication. DRY is incredibly important: it's easier to modify your code and make sure you don't add bugs by changing thing in one place and forgetting to change it in another place
  • Not using non-const globals. I was misled at first by people saying that having global World struct with some common stuff is ok, but I found out that it's a lot cleaner to pass arguments around and using as less references/pointers stored as members in another classes (e.g. if you have a Level class and want RenderingSystem to draw it, it's better to pass Level to draw function than having RenderingSystem store pointer to level). Not using globals help make code a lot less modular and do specific things instead of doing everything. Not to mention bugs that happen when you change some global's state in a function...
  • State Machines. Reusable states are the best for DRY, transition tables are great and readable (a lot more than giant switch/else-if statements everywhere)
  • Actions Lists. It's very easy to express sequences of actions with them without having lots of bools like isMovingToSomePlace, having enums or state machines to describe the state of cutscene/complex action.
  • Reading Game Programming Patterns and Game Engine Architecture. The amount of great information in these two books is just incredible.
  • Learning modern C++ and using it everywhere. The code is cleaner, safer, more readable. Using smart pointers = no memory leaks or who-owns-what confusion, std::algorithms are easier to write and read than some loops, using auto, etc.
u/pjsdev · 1 pointr/gamedesign

Okay, here are 4 suggestions about theory. There are plenty more, but these are a few of my favourites.

Rules of Play: Game Design Fundamentals

  • Chunky theory book and one of my favourites. Also has a companion book of essays

    Characteristics of Games

  • Really nice combination of chapters from various designers (including Richard Garfield of MtG) looking into different aspects of design.

    Game Mechanics: Advanced Game Design

  • All about systems and how resources move through them in games and the affect that has.

    Theory of Fun for Game Design

  • Easy to read, nicely illustrated and conveys a powerful fundamental idea for game design.

    Good luck and happy reading.
u/daretoeatapeach · 2 pointsr/education

Dumbing Us Down by John Taylor Gatto

The opening essay of this short read is a condemnation of traditional schooling techniques---and it's also the speech he delivered when he (again) won the NY Teacher of the Year award. Gatto gets at the heart of why public schools consistently produce pencil pushers, not leaders. Every teacher should read this book.

How to Survive in Your Native Land by James Herndon

If Dumbing Us Down is the manifesto in favor of a more liberal pedagogy, Herdon's book is a memoir of someone trying to put that pedagogy in action. It's also a simple, beautiful easy to read book, the kind that is so good it reminds us just how good a book can be. I've read the teaching memoir that made Jonahton Kozol famous, this one is better.

The Montessori Method by Maria Montessori

In the early 1900s, Maria Montessori taught literacy to children that society had otherwise assumed were unreachable. She did this by using the scientific method to study each child's learning style. Some of what she introduced has been widely incorporated (like child-sized furniture) and some of it seems great but unworkable in overcrowded schools. The bottom line is that the Montessori method was one of the first pedagogical techniques that was backed by real results: both in test scores and in growing kids that thrive on learning and participation.

"Why Are All The Black Kids Sitting Together in the Cafeteria?": A Psychologist Explains the Development of Racial Identity by Beverly Daniel Tatum

While not precisely a book on how to teach, this book is incredibly helpful to any teacher working with a diverse student population, or one where the race they are teaching differs from their own. It explains the process that white, black, and children of other races go through in identifying themselves as part of a particular race. In the US, race is possibly the most taboo subject, so it is rare to find a book this honest and straightforward on a subject most educators try not to talk about at all. I highly recommend this book.

If there is any chance you will be teaching history, definitely read:

Lies My Teacher Told Me and A People's History of the United States (the latter book is a classic and, personally, changed my life).

Also recommend: The Multi-player Classroom by Lee Sheldon and Teach Like a Champion by Doug Lemov

Finally, anyone who plans to teach math should read this essay, "Lockhart's Lament" [PDF at the bottom of the page].

PS, I was tempted to use Amazon affiliate links, but my conscious wouldn't let me.

u/joeswindell · 5 pointsr/gamedev

I'll start off with some titles that might not be so apparent:

Unexpected Fundamentals

These 2 books provide much needed information about making reusable patterns and objects. These are life saving things! They are not language dependent. You need to know how to do these patterns, and it shouldn't be too hard to figure out how to implement them in your chosen language.

u/kalas_malarious · 7 pointsr/gamedev

Are you looking for how to make games? Not just programming, but actually make them? I have some suggestions, but they often aren't about programming. There is a million books about programming, but finding those that talk about the ideas and ways to successively improve is a better point to start from.

  • The Art of Game Design: A Book of Lenses
  • Game Design Workshop: A Playcentric Approach to Creating Innovative Games
  • Kobold Guide to Board Game Design

    Making video games is easy. Put the pitchfork down and let me explain. Anyone can open unity and load some assets and call it a game. Making good games is difficult, and even if you are not looking at card/board games, you should be prepared to test your game on paper. It is easier to make iterative improvement if you can look for mechanical and mathematical issues by scrawling some notes on paper cards.

    For a book that covers both programming and game design, I also suggest this one.

    These books will cover the psychology, the pitfalls, etc that come with making a game. You do not need a class to make a game portfolio. You can often get things done faster by a book, because it's goal is to teach as you read, not set a timer for 15 weeks. It can assume you will do it over 26 weeks or more if the book is huge.

    Anyway, this is a much larger reply than I intended. Hopefully these are informative. If nothing else, they are significantly cheaper than a class.
u/lazyAgnostic · 1 pointr/santashelpers

For programming, what kind of programming is he into? Here are some cool programming books and things:

  • Automate the Boring Stuff with Python This book has a lot of beginner projects that are actually useful.

  • Arduino A little microprocessor that he can use to make cool projects. I'm a software engineer and I had fun playing aroung with this. Plus, you can use it for actual useful things (I'm planning on making an automatic plant waterer, but you can look online for all the awesome stuff people have made).

  • Raspberry Pi Similar to the arduino but it's a full computer. For more software-heavy projects than the arduino. I'd probably recommend starting with the arduino.

  • Great book about how code and computers actually work that's geared towards the "intelligent layperson" link.

  • If he's already programming and wants to create games I can recommend this one.. Not good for beginners though.

  • If you want to give him a well written tome about game programming here it is. Again, not really for beginners but really good for someone wanting to learn about game programming
u/jaymz58 · 1 pointr/web_dev

I'm not sure what your level of understanding is for programming in general; but If you're fairly new to programming concepts (creating variables, if then else, loops, functions, classes, etc) I would probably spend some time getting familiar with these concepts first. I think there might be some decent beginner programming/JavaScript vids on to watch. One thing to keep in mind is JavaScript isn't a very rigid language. It allows you to get away with a lot of things that some (I guess we'll call them higher functioning languages) do not. Just keep this in mind if you ever decide to venture to another language.
I'd recommend just learning the basics of JavaScript first, get comfortable with it, understand how it works and then once you start feeling comfortable with it, pick up a framework like JQuery. JQuery is just a bunch of JavaScript functions that shorten the amount of code/time that you have to write and is fairly standard amongst many developers abilities. From here on out, pick up a something like angular or backbone; just keep your eyes on the different user communities, new products, research the pros/cons of each system. They all have things that they are better at and I've found that the type of projects that you want to build really influence the choice of framework that you will use. Also, here is a great book recommendation for JavaScript. I found this on a post in the community a while back and it's been a great resource. Not sure if there is a newer version or not.

u/FAtBall00n · 6 pointsr/GraphicsProgramming

I'm not a professional graphics programmer, but I am a CS grad and a senior developer for about 10 years. I haven't yet had the time to dive into fully committing myself, however, here was my personal plan for when that moment came.

This gave some great advice and was my starting point:


Then I was going to read this to learn about game engine architecture:


I have heard that this book is the actual implementation of a game engine and a good follow up to reading game engine architecture:


Then I was going to start diving into the 3D and mathematics

Read first:

Read next:

Then I was just going to try and build my own 3D engine and figure it out as I went along.

I've also heard that implementing actual siggraph papers is super helpful and once you're at that point, you've kind of arrived as far as graphics programming is concerned.

I think what you're experiencing with the analysis paralysis is very normal. I'm going to say that you have this fear because you're thinking about all the things you're going to have to do and it freaks you out. Don't think about all the books and all the work you're going to have to do to reach your destination. Simply sit down each day and work on something. Just improve upon what you did the day before and have a weekly goal or something in mind. This breaks up what you're trying to accomplish into smaller steps and isn't nearly as intimidating. Don't look at everything on the horizon. Just start writing code.

John Carmack said it best when he gave someone advice on becoming a programmer "You should write hundreds of programs".







u/gavinb · 1 pointr/opengl

Well if you want to be the next Carmack, get cracking! :) You have a lot of ground to cover, such as: mathematics (matrices, linear algebra, etc), physics, artificial intelligence, real-time processing, multithreading, architecture, networking and protocols, rendering, sound, and much more!

It is certainly possible with enough time and dedication to develop your own engine. It's just that there are so many excellent engines already out there, that you would be competing with projects that have already invested many thousands of hours and have loads of titles already developed for them. Why not get involved with an existing project to start?

BTW I really like your idea of creating a FPS with one room and focusing on making that environment the richest possible, exploiting a wide variety of techniques. Do it!!

Is your ultimate goal to create an engine? Or to create a game? Remember, the engine is in many ways a means to an end - it's not much use without a game that uses it!

Either way, I think you would be well advised to get involved with one of the open source game engine projects, and start contributing. Once you've learned how they work, you will be in a much better position to design your own. And realistically, you can't really just design an engine without a game - you need to know how games work in the first place, and what features and architectural decisions and designs make for a good engine.

Consider joining:

u/LawrenceMichael · 1 pointr/learnprogramming

I checked this sites content for C and C++. What was there was more so examples than it was well-explained. Since I don't know Javascript too well, I can't say how good the guide is, but if the quality level of their C and C++ content has anything to say for them, I'd say stay away.

Reddit already has recommended places to go for this. The Learn Javascript subreddit suggests one of the following three options:

Learn Javascript from the Mozilla team's resource

Learn Javascript from Code Academy

Learn Javascript from the subreddit's study group which uses this book Professional JavaScript for Web Developers

From a very quick look, Mozilla has a lot of good content that is well-explained. It looks like most people will want to begin with the "JavaScript first steps" section if they choose this route. Compared to CodeAcademy, I think you'll walk away with a better understanding after going through everything MDN has to offer. On the otherhand, I would say CodeAcademy is easier for beginners.

If CodeAcademy stays true to its reputation, I would imagine it is very good for the beginner to get their feet wet.

The Learn Javascript study group's curriculum seems to be using a pretty good book that is supplemented by CodeAcademy and other online resources. This looks to be the most comprehensive of all the choices.

u/SunyiNyufi · 2 pointsr/GirlGamers

So as some of the others: I'm not from the gaming industry either (though I plan to make games on the side). And an other disclaimer: I'm over 30.

Let me just say most people in their 20s don't know what they would like to do, and even if they do, your interest will change over time, so just try to say flexible and don't fear making a switch if you are unhappy, of course within reason and financial security.

I recently switched from my regular office job to a less regular one in software development. My official background in software dev before was: none. I picked up coding like a year ago or so, because a C# course for game development was super cheap on Udemy (and by super cheap I mean like 10 or 15 USD), and continued learning coding ever since. Though I was a privileged candidate for my current job, because it was an internal hire, I basically got it by showing them what I can do. And we don't even code in C# in my new role lol

So my point is: learning doesn't have to be expensive, while some jobs require a specialized college degree a lot companies nowadays are more interested in whether or not you can do the job.

Also there are some Game Music courses on Udemy as well, though they might be too basic for you, still worth to check out imho :)

If you are interested in game design I would recommend this book too The Art of Game Design: A Book of Lenses

u/shizzy0 · 1 pointr/gamedev

There are lots of books that purport to do something like this, but the field is so varied in terms of tools and styles, it's kind of a fool's errand. One merely ends up writing a, Here's How I Did-It/Would-Have-Done It.

One book I like that is very comprehensive when it comes to game design is The Art of Game Design. It does try to address the practical matters of making a game, but that's not its primary focus.

One book I would recommend for finishing is The Game Jam Survival Guide and just doing a game jam like ludum dare. A game jam is a great way to get experience finishing a game, and time is so tightly constrained that it forces a very different, scope-limited mindset. The ideal is never, ever attainable and yet some really creative, amazing games do come out of these jams.

u/mysticreddit · 25 pointsr/gamedev

First, I would buy

  • Game Engine Architecture, Second Edition

    What you do next is going to depend on what kind of game you are creating. Remember an game engine is only a tool used to solve a higher level problem: (Em)power a game

  • Without context you won't focus.

    Are you creating a 2D game? A 3D Game? Let's walk through an example. Pick a game to clone. Let's say we want to write a Minecraft-like game but use modern OpenGL. i.e. Using shaders. How would you start?

  • Create an OpenGL window -- windowed mode
  • Add fullscreen support (optional)
  • Load vertex and fragment shaders
  • Draw a triangle using the identity projection matrix and identity modelview matrix
  • Create a Matrix Class
  • Create a Matrix Stack
  • Add support for a Camera
  • Add keyboard support to move the camera, either absolute along the principal X,Y,Z axis or relative along the camera's DOF (Direction of Flight)
  • Add mouse free-look support
  • Draw a cube
  • Bind a texture
  • Draw a textured cube passing uv texture coordinates to your shader
  • Create an initial hard-coded world say 64x64x64 with only 2 block types: Air & Dirt
  • Iterate through the voxel (representation) tessellating into triangles (presentation)
  • Create a texture atlas and add basic font support
  • Create the start of a hud -- print off the camera's location using your font print()
  • Add picking (what block should be highlighted when the user mouses over it)
  • Add support so the player can add blocks --> update the voxel data, re-tesselate the triangles
  • Add support so the player can remove blocks --> update the voxel data, re-tesselate the triangles
  • Add support to render a 3D model (Static Mesh)
  • Import loading a static mesh from disk
  • :
  • Keep adding stuff that you want to see in your game.
  • Audio? Add player footsteps.
  • Multiplayer? Add networking.

    TL:DR; You should always be asking yourself this question:

  • What is the next thing I need to add in order to ship a semi-professional-level quality game?

    Hope this helps.

    Edit: Updated the philosophy.
u/OvertechB · 2 pointsr/Unity2D

A lot of the balancing comes from play testing with actual players and a basic understanding of probability math.

Randomness in games can often be a fun addition because it leads to surprises and can make a boring game more interesting. But you also want to use with caution because you want your players to still feel like they are in control. Too much RNG can make people feel that the game is unfair.

Pre-built maps are good if you want people to be able to master them, and generated maps are good if you want people to think on their feet every time. Pre-built can make things predictable, whereas generated can add replayability.

As for symmetrical maps, do you mean both players start with an even playing field? If so, that's ideal for balance. If you do intend to give one player a map advantage, you'd have to properly balance the other player to have some other advantage. Imagine playing golf. The player at a disadvantage might be granted a handicap. The important thing is that both players must feel like they are treated fairly.

Edit: If you're really interested, I'd recommend The Art of Game Design by Jesse Schell. There's 2 excellent chapters in there about game balance that details probability math, good design, and player psychology when dealing with balancing.

u/Pogotross · 3 pointsr/gamegrumps

I think Arin likes The Art of Game Design: A Book of Lenses, Second Edition and either he or Jon liked Game Feel: A Game Designer's Guide to Virtual Sensation.

Personally my favorite game design resource is either Mark Rosewater's design articles or his podcast. I prefer his podcast but both covers most of the same information. MaRo is the lead designer for Magic: The Gathering so a lot of the articles are about MtG specifically or about tabletop games but nearly all the general design podcasts are worthwhile. Most importantly, he has around twenty years of successful (and unsuccessful) design under his belt, so he isn't just talking in vague generalities or theories. He has examples backing up pretty much everything he talks about including, and maybe most importantly, times he thought he was doing the right then and messed up. I think anyone interested in game design should listen to the "Ten Things Every Game Needs" and "20 Lessons" series. You can hear his GDC version of the 20 Lessons here.

*: But the absolute best thing you can read on game design is a gamemaker tutorial. Theory is useless without execution.

u/jmarquiso · 2 pointsr/truegaming

Rules of Play and The Game Design Reader by Katie Salen and Eric Zimmerman are great reads about the craft and art of play. Here they are attempting to establish a critical vocabulary to handle games as pop culture. If you're serious about taking games as an art, they're very interesting reads. The Game Design Reader is my favorite.

Also, heard some great things about Janet Murray
s Hamlet on the Holodeck. This was written around the time of Star Trek: The Next Generation, as well as a time when Adventure Games were king. It's interesting to me essentially because this futurist look at video games as entertainment actually doesn't follow the progression in the last 20 years. That is, until recently with Quantic Dream and Telltale games. That said, I've become even more interested in looking at Mechanics as vocabulary (see the other front page thread about Mechanics that tell a story).

Hope these help.

u/alexleavitt · 6 pointsr/AskSocialScience

Yes, there are definitely some scholars that are pursuing projects like this, but I don't think they've necessarily congealed into a proper subdiscipline. You might find some more stuff done around "histories of technology" or archiving: for example, there are some that practice it, like those at and people like Jason Scott of Archive Team, or practice in an artistic sense, like Olia Lialina.

As far as more academic scholarship goes, I'm thinking back to a conference a couple years ago to a panel I really liked on Computer Histories (see for more details). Sandra Braman's work was really cool, and Kevin Driscoll is a classmate of mine whose work I really admire (another cool article he recently put out was a history of databases (From Punched Cards to "Big Data": A Social History of Database Populism). Nick Montfort, the moderator of that panel, has also done some cool work around video game histories, notably Racing the Beam: The Atari Video Computer System.

u/shuckleberryfinn · 3 pointsr/education

I'm interested in doing this too (getting an undergrad degree in game design right now). I feel like it has a lot of potential when implemented well. I don't believe the Extra Credits video does a super good job of explaining the concept, because it focuses too heavily on reward systems (more on that in my comment to u/notjawn), which should not be the core of a gamification experience.

Have you heard about ClassRealm? From what I've seen/read, its creator has had a lot of success with it. However, don't be fooled - it might seem easy, but gamification can be very difficult to implement correctly.

I've read some good books on the subject that I highly recommend: The Gamification of Learning and Instruction and The Multiplayer Classroom.

Additionally, I don't know where you are in your schooling right now, but NYU has a great graduate program in this vein.

EDIT: For anyone looking for an overview of true gamification, here's a quick and simple slideset. It is much more than just giving out points.

u/sclv · 5 pointsr/programming

I've seen the finished book now and its truly beautiful. A great holiday present for yourself or anyone else that loves programming and pretty pretty drawings:

Great review of it on slashdot too:

Edit: I should clarify that I'm in no way affiliated to the book/profit from its sales. I just think that it's awesome.

u/Invisig0th · 2 pointsr/gamedesign

Your question is based on some flawed assumptions, which makes it hard to answer. Any game programming 101 course will tell you that strict realism makes a terrible game. That's been known since video games were first invented.

Pretty much nothing you've ever seen in a video game is programmed to be "realistic". Take for example jumping. You've never seen a game where jumping was programmed as authentic jumping for a human body, because that kind of movement feels horribly flat and unresponsive in a video game. So instead, game programmers add things like acceleration curves, sticky platform edges, changing direction in mid-air, etc. None of that is realistic in the slightest, but it makes for a much more fun game. Even the most so-called realistic games routinely take this approach, it's pretty much universal. Realism is generally the first thing sacrificed when trying to make a game more enjoyable to play.

So if you are serious about this, I would strongly recommend you read some of the popular books explaining how to design and program a game. They deal with this issue extensively and early. Here's the one I had in mind regarding this particular question. I believe there's a whole chapter on this very issue.

Level Up! The Guide to Great Video Game Design

u/Danwarr · 2 pointsr/BoardgameDesign

Ok, but why should somebody work with you if you've barely done any work on your own idea? Like /u/Bastiaan-Squared mentioned, most people are more excited to work on their own ideas, which they are constantly prototyping, refining, reworking etc, than to help you sit down and decide what mechanisms might work well in whatever setting you think is cool. You're better off spending your own time hammering out some potential mechanisms you might find interesting then approaching somebody and refining what you've done.

Here are a couple books that might help you out:

u/Serious_Casual · 3 pointsr/gamedev

Writing an engine isn't a trivial task. I don't mean to put you down or make you feel bad but it kind of sounds like you don't totally understand what a game engine does.

If you do want to write an engine, I would suggest starting with the renderer and expanding your understanding from there. The features of your engine depend upon what kind of game features you want to support. Particles? Visual effects? 3D sounds? Dynamic Resource management? and all of that behind the gameplay code.

Just get a square to show up on the screen. While you're working on that, check out a few books on game engine programming. There are a ton on amazon. This one is really good:

If you need some more help getting started let me know! Engine programming is fun and rewarding but building one from scratch can be a monumental task.

u/olenbluu · 4 pointsr/gamedev

I would love to add Level up by Scott Rogers ( to the mix. I'm​ also writing for video games on indie scale tho.

Scott Rogers book is also about level design and that's important part of story telling in video game medium. For most, a lot of text is going to be dismissed by a lot of players so lot of the storytelling is good to come from somewhere else. Visuals, level design, character design etc. You need to learn from the start a good script format that is easy to understand for you and someone else reading. You can find a lot of formation online and even BBC scripts to read if you want from

Fundamentals like many here has stated are good place to start. Story crafting, plot devices and analysing your favourite games, movies I and TV series. Maybe check and find your favourite game protagonist and read up what tropes writers used on them and how it shows.

Games as a story telling device are mix of visuals, plain text and user interaction and that mix is what makes a story in a video game. That's why a lot of video games have not so immersive story as script writers are tend to bring to the mix later in the development when level design has maybe been set in stone and coded.

I assume you want to make a story script for a game. I would recommend learning a formation for a basic film script or use straight away because it's easier for you to get into scene thinking and also for your future co-workers. is free script writing tool, you should look up. (

And also read all comments above about learning fundamentals and skills to analyze the story arcs and storytelling. To write you must first read.

u/bradcliffe · 2 pointsr/learnprogramming

It will probably serve well enough off as a starting point. It looks to cover a broad range of topics as they pertain to computing, so it certainly wouldn't hurt if you're unfamiliar with those concepts listed in the syllabus. Perhaps such a broad exposure might help some particular facet of computer science really stick out to you as a road you'd like to travel down.

What concerns me is that the course is taught using a stripped down version of JavaScript. I'm not exactly sure what is meant by this--if it's an actual variant of the language or just a "don't bother setting up the template, here's the snippet for this exercise" type deal. CodeAcademy does a lot of the latter--which is fine, but again can leave you with a sense of doing something without truly knowing how to pull all the pieces together.

If you're set on learning just the language of JavaScript really well, bookmark 'JavaScript Is Sexy'. It's maintained by a fellow Redditor and has proven a comprehensive approach to learning the language correctly. Of the two books he recommends, you're definitely better off getting Professional JavaScript for Web Developers by Zakas. Follow the course and advance through it the later stages of intermediate and advanced JavaScript. By then you should be feeling comfortable enough to dabble. Then start looking at frameworks (Ember.js, Angular.js, Knockout.js, Backbone.js) and possibly some server-side stuff like Node.js.

u/Xand0r · 1 pointr/IndieDev

Glad my feedback was useful.

Thinking in terms of simplicity doesn't necessarily make for a better game. Fun should probably be more of a focus.

I definitely wouldn't say that I had "fun" or was hooked by your prototype. Creating fun in game design can often mean designing a good game loop. You game loop right now is 5 seconds long, consisting of "press a button for 4 seconds". Not very interesting or rewarding as it stands.

Here's a book I highly recommend:

It's all about game design, independent of coding or anything else.

u/vblanco · 11 pointsr/gamedev

Dont listen to the people that comment about not making your engine. Making one is a great learning excersise and highly recomended to become a better developer.

I recomend you make sure your C++ is on point, and check this books:

  • Game Engine Architecture Link : Overview of more or less anything about how a entire game engine works. Written by a lead at Naughty Dog and highly educational.
  • Opengl Superbible Link : The best way to learn OpenGL (a graphics API). You can follow this book to learn how to draw stuff in 3d.
  • Real Time Rendering Link : Amazing book about GPU graphics. Its API agnostic, and very in-depth. Explains techniques and effects.

    If you dont want to do the 3d route, you can just do 2d games using the libraries SFML or SDL. SFML is easier to use, for C++, while SDL is a lot more C oriented and runs literally anywhere (including things like nintendo DS or PS4). With those you can try to make some simple games like Snake, which is a great learning project.

    If you are inexperienced, try to avoid OOP designs (do not use inheritance). It will just make things more complicated than they should.
u/ElGamerBroChris · 2 pointsr/gamedev

I found "Level Up! The guide to great video game design" to be an interesting book that describes on what you should aim for in your game mechanics, enemies and such. Plus pretty easy to read, both in length and content.

I haven't read this other one, but I've heard Rules of play is a pretty good one too.

Another great source are youtube channels. My personal favorite is Extra Credits. I'm just about to get into the industry so it might be worth keeping that in mind ^^"

u/Kenaf · 2 pointsr/gamedev

I think in general it is recommended to keep your day job while you're getting started. I was in your shoes too (though much older), I wanted to quit my job and just make games. I still do, but not having an income would suck. So I ended up deciding I'll keep my full time job and work hard in my free time, and so far it has been satisfying. With that said, I'm still working on my first game. It's good to have dreams, but don't do anything reckless I guess.

I got started by reading a book on game design and prototyping. To be more precise, it was this book. I learned a ton by reading it, though some of the later chapters are getting a bit dated and don't translate to Unity 5 so well. Despite that, I feel like I have a pretty solid foundation to work with and I've been pleased with my progress.

u/ketura · 1 pointr/gamedev

Since some other people are trying to be cute, start with this wikipedia page here: .

I don't know of any online tutorials for the process of game development, but I am aware of a book named Software Engineering for Game Developers which goes over the process, step-by-step, of designing, outlining, and implementing the software part of a game. Note that this is one of the most dry, boring books on games I have ever read, but it's not about game design, it's about game development, and outlining software requirements is not a topic many people get excited about.

Basically, they go through the process of creating a requirements document which is a glorified to-do list of everything that the game needs to do, dividing those specific requirements into "stripes" which are different levels of completeness of your game, and then from there deciding on the best way to chop up the concepts into objects. The book is a monster 1000 page beast, but if you're serious about needing a step-by-step process, you won't get better than this.

My suggestion (if you don't purchase or, ah, otherwise obtain a pdf of the book) would be to simply start with this glorified To-do list that lists every feature your program should have in version 1. Then write up all the subfeatures that those features will require. Then divide all these items into groups where it makes sense and make each group an object (or object hierarchy). Do some research and see what parts might already exist, such as rendering, graphing, input, GUI, or serialization libraries, and incorporate them into the design. If you don't know what, exactly, goes into a game, try looking up a book such as Game Engine Architecture which will outline all the different parts that a game engine needs.

Then write the program.

Note where your design was insufficient or flawed, and don't worry about keeping the list intact--add or remove items as needed. Wash, rinse, repeat: the more you practice this on new programs, the easier it will be as you gain experience with what needs to be written out and what can be ad-libbed. The more advanced tools (such as UML et al) will be useful later, when you have more complex projects with more moving parts, that need to be explained to other programmers.

Until then just stick with lists.

u/TwinfoxDev · 14 pointsr/gamedesign

There are quite a few good book on this topic, that I would recommend, like Jesse Schell's The Art of Game Design, or Justin Gary's Think like a Game Designer. These books describe the process way better than I ever could, but I'll try anyway.From my personal experience I always start from an idea (hey, wouldn't moving fortresses be awesome?), then I start to think about what exactly fascinates me about that idea. Then I try to capture the awsomeness in game mechanics. From there I create a list of what has to be done to test the mechanics, do that (plus some eye-candy because I'm a visual person) so I have something to test. When I have something to test, I try to analyze what doesn't work and fix that (not in code, but in paper). And start the process again.

So basically once I have an idea, it's this loop of creating/refining mechanics, implementing them, then testing and analyzing them. Then I go back to refining.

If you often suffer from scope creep, there are several methods to battle that. Like setting yourself a deadline, always cutting a mechanic when you add a new one, etc. Don't be afraid to throw something out (it's not lost you can use the idea/mechanic in another project). A game is way better when it knows what it wants to be and throws away everything that doesn't contribute to that core experience (I mean they could add RPG elements to Call Of Duty Campaigns, but they don't because that's not what the game is about).

Also if you don't like your code, that's 100% normal. when you look back at something you've made, you'll always be able to spot something that you would do differently now. That's because you've learned new things since you started . I'm programming for nearly a decade now, and when I look back at code that I've written a few months ago I'm always like "Eww, why would anyone write code like that?". So don't be afraid to make mistakes and don't continuously refactor code. Make something, learn from it and do it better next time.

I hope that helps!


EDIT: spelling

u/dominusludi · 22 pointsr/gamedev

I find tutorials to be decent for learning how to perform simple tasks which don't require much variation or novel problem solving. As it turns out, making games is pretty much the exact opposite of that. I know from experience that it can be frustrating to find information on stuff like architecture and system design for games, but a lot of that is pretty much tribal knowledge, learned by professionals on the job or by hobbyists as they make projects.

I recommend reading articles on Gamasutra for more advanced topics, and I also recommend the book Game Engine Architecture by Jason Gregory. I think really the best thing you can do is try to do a more complicated project and as you run into problems you have trouble solving on your own, then research that specific topic. It's worth trying to solve the problem on your own first though, as while it may involve reinventing the wheel somewhat, it's also the best way to learn.

u/BlackjackCF · 4 pointsr/IWantToLearn

I know this isn't an Internet resource, but if you're interested in learning Unity and game design at all, this book by Jeremy Gibson is really helpful. He actually used to be one of my professors in college, and he was an amazing instructor. This book is a great resource to get started. I know it's a bit of an investment, but definitely something you won't regret.

u/alttoafault · 2 pointsr/gamedev

Well it sounds like its time to start prototyping and analyzing what does and doesn't meet your documents/requirements. Getting these out should motivate your team and make you feel a bit more confident in what to do next.

As far as looking for resources, there are quite a few out there. I really recommend checking out The Art of Game Design by Jesse Schell, it's one of the most practical books on game design (a lot like Raph Koster's are way more theoretical). I'd also check out gamasutra for a great design-focused community, there's a lot of resources there that can help you out.

Also, don't worry if everything falls apart. Game design is a lot of work and people can tend to be pretty flaky about it. That's why I've tried to learn every aspect of development so I don't have to depend on others.

u/gmfk07 · 1 pointr/IWantToLearn

What helped me get into game design and works for all sorts of people is [Game Maker Studio.] (

It's a program that contains easy drag-and-drop code for beginners, and real deal code in its own, simple to use language (GML) that takes inspiration from many other languages. Many professional games have been made with Gamemaker Studio (like Nidhogg, Spelunky, etc.) and it is absolutely great for any 2D game.

If you wanna get pretty serious on using Game Maker (you should, it's awesome) I recommend this book made by the creators of the software. It teaches you by guiding you through making games. At the start you're making simple shooters, and by the end of it you're making huge maze games.

Game Maker is so easy a kid could do it, and once you get into it, has pretty much everything you need to make a successful professional 2D game.

u/tchuckss · 1 pointr/gamedesign

If I may add, don't just make overly simple games or clones. Those are fine to get you in the mindset of designing games, and learning some basic dev skills; but they don't add anything to your portfolio imo.

One thing that is interesting is designing board and card games. Those games are all about designing systems that work well with each other and play well. If you can design a decent one, it speaks a lot about your capabilities as a designer. I highly recommend Challenges for Game Designers for that purpose.

Good luck!

u/DarQraven · 15 pointsr/gamedesign

One thing you can do to keep these things under control is to purposely limit yourself in your design. Almost any CCG in existence has some sort of underlying design principles that guide what a card can and cannot be, or what a certain faction in the game can and cannot do or be good/bad at. How strong the average creature is, versus how strong the average weapon will be. How many turns you want the game to last, what expected deck size would be and how many cards you want to draw on average per turn.

The magic color pie is an example of one such limitation. Certain colors are good at certain things and not so good at other things. In addition there are the general playstyles that Magic's core design enables such as control, aggro, etc.
There is also some base level balancing for monster cards: a monster of a given strength will typically cost X mana, whereas a monster with a lot of utility will not typically also have high attack.

When you have these core rules in place, it becomes a lot easier to design new cards and get their initial stats right. When a new monster's attack is 3 higher than the average, you already know that it's gonna have to be expensive or have some other significant drawback. You'll already know not to give abilities that are typical of green cards to a new red card unless you have a good reason to do so.

For any given game, what these limitations and guidelines are is going to be radically different, so I can't help you much there. Generally though, you want a decent level of theoretical balancing on these core systems before you even begin to think about designing any detailed cards. Getting into the details before you know how and if your core systems work is a great way to waste a ton of time. Most of all, you need to have a goal for the card you are designing. What is is intended to achieve in the game? What strategies do you want it to enable or counter? From there, and with good core systems, the card will partly design and balance itself.


As for "pre-balancing", there are a couple tools available.

  • Mathematics and modeling. For a given game system, it is usually possible to model it in some way that can predict how it will work. Often these models relate only to an isolated part of the game. For instance, it is possible to model how the amount of lands available to a player in Magic will increase over a game. It is possible to model how economies in a game like Starcraft will generally work. It is possible to model how deck-cycling cards will affect the player's economy. Etc. If you are interested in this kind of model, this is a great starting point.
  • Try to design your game based on the choices you want your players to make. The general flow of the game and the phases you want it to go through. The kind of experiences you want to offer. Create your core mechanics from there. Don't get into "cool ideas" for specific cards, units or maps before you have this absolutely nailed.
  • Lots and lots and lots of playtesting. For every card that you design, someone will find a use that you didn't intend or think of. Sometimes it doesn't lead anywhere, other times it breaks the game. Make sure you have some idea of where dangerous areas in your design space are. Varying between 3cost/2attack monsters and 4cost/3attack monsters isn't gonna break the game. Adding an ability that allows you to re-play another very powerful event might. Be careful with the second and take steps to focus your playtesting effort on the second kind of problem.
  • Analytics, if you have the option. Gather tons of data on what people are playing, how they're playing it and how it's working out for them. If possible, start doing this long before you ever release anything. Something might feel broken or imbalanced to you but be perfectly fine on average. Or vice versa. Only data can really show what's going on on a larger scale.
u/MITGameLab · 3 pointsr/IAmA

This course is just intended to be introductory, so yes, there's plenty of things to learn after this first step.

The most important goal is to figure out how you can keep practicing, and for that you need to be able to share and discuss your work with others. If you manage to find local game designers while taking this course (e.g. fellow participants of 11.126x) the next step might be to start a project with them. I also love game jams, which are like game hackathons. The Global Game Jam happens every year in late January, and if making a game in 48 hours sounds appealing to you, it's a good challenge.

There are quite a lot of good books I'd recommend. Challenges for Game Designers (Brathwaite/Romero & Schrieber) is probably a good second step after our class, especially if you're focusing on card/board game design. If you're looking for reading that's focused on more digital design, look at Game Design Workshop by Tracy Fullerton.

Also, I have a whole lot of classes on MIT's other online courseware site, OpenCourseWare! Just search for "Philip Tan".

u/mauszozo · 2 pointsr/gamedev

Sounds like a fun idea! Some friends and I have been getting together and designing and playing our own games lately for our weekly gaming nights. I'll try and recruit them as well. :)

There's this great book called "Challenges for Game Designers" that might be fun, if you're looking for more inspiration. (though what you've got already is fantastic.) Each chapter in the book discusses a different game design problem, (pacing, puzzles, randomness, etc.) and there are challenges at the end of each section where you create a tabletop game, or at least a design document, detailing how you would make a game that addresses the problem. Anyway, love that book and wanted to mention it, ;-P

Looking forward to seeing where this goes!

u/k_Reign · 2 pointsr/gamedev

I don't know enough about the first book on the list to comment on that hahah, sorry! The book "The Art of Game Design: A book of lenses" is supposed to be pretty good according to the reviews on Amazon along with the editorial reviews.

I would also look more into "The Ultimate Guide to Video Game Writing and Design" up there on the list. I only just checked these books our briefly (except for the first three and the Masters of Doom) so I don't know a lot.

I'm also adding this one to the list: Level Up!: The Guide to Great Video Game Design. It looks pretty promising and I've seen it suggested before!

Good luck!

u/ViennettaLurker · 2 pointsr/onthegrid

Some attempt at a happy ending that ties into a theme.

Not sure if you guys have ever come across "Anna Anthropy". But she is a transgender video game developer who wrote a really interesting book on her life and career:

"Rise of the Videogame Zinesters" is a fun, inspiring read. Not only does it feel good to see a feminist viewpoint in the game development community, but what she has to say about design, career, and artistic choices is really good as well. What she has to say is useful to anyone in a creative field, in my opinion.

u/NotRobot_Aero · 5 pointsr/gamedev

If you are going the book route, I have a few suggestions for you!

Not sure if he's a reader? Check out Challenges for Game Designers Basically a collection of game problems to solve, flexing those 'be creative within a bounded scenario' muscles that a lot of big dreamers don't have enough experience with.

Another solid choice is this one,
100 Things Every Designer Needs to Know About People (Voices That Matter). In general it's talking about layouts/formatting, but super solid read for our industry as well.

Both of these are light and fun reads. If you think they might be interested in something heavier, I can post some in that vein as well.

u/dwapook · 1 pointr/gamedesign
aye.. storne gave a pretty good answer.. o.o;

Also, there's this awesome book called Challenges for Game Designers and it breaks up the various aspects of game design pretty much exactly like this.. They all seem pretty essential to me..

World Design
- Setting
- Theme

System Design
Rules and underlying mathematical patterns

Content Design
- Items
- Puzzles
- Missions

Game Writing
- Text
- Story

Level Design
Layout of maps
- Placement of Objects and Challenges within maps

How player interacts with the game
- How players receive feedback and information

I really recommend reading that book sometime if you're interested in getting creative with game design rules..
u/librik · 1 pointr/programming

Racing the Beam was my recommendation for best computer book of 2009. It's about how the hardware choices of the Atari 2600 shaped the mindset and culture of Atari programmers. It's the only book I know of that really explains how people hack small systems, how brilliant insights become clever code which then becomes essential knowledge for those who seek further mastery of the machine's potential.

For a great analysis of the architecture of one of the most important pieces of Big Iron ever built, check out Jim Thornton's book Design of a Computer: The Control Data 6600 (PDF). It's perfectly readable without electronics training (just skip chapter 3), and you can watch Seymour Cray invent the cutting-edge CPU technology of 1980-2000 -- in 1963.

u/awkm · 2 pointsr/gamedev

Need more information. Is this a hobby? Are you trying to program a game or are you trying to design a game? And just FYI, programming is hard... programming a game is the hardest. There are many movie parts to game programming. Just be aware of that.

If you're a hobbyist and you want to learn how to make digital games, start with an easy to learn programming language like Processing.

If you want to design games then pick up this book

If you want to jump into 3d, try out I recommend programming in C#.

If you're a hobbyist, you don't need to delve in super deep and use complicated tools. Processing is very friendly and was designed for graphic oriented designers to learn how to program. Unity3d makes it very easy to make 3d games with specialized IDE and interface.

u/KenFlorentino · 2 pointsr/gamedesign

Ah yes... the positive feedback loop. There are many ways to address this. First a book recommendation:

The section on feedback loops (both positive and negative) is worth it by itself.

So for our game, we have a similar challenge. It is a mini-RTS where you get resources and those resources allow you to use mechanics that can give you an advantage which can aid you in getting more resources and so forth. Additionally, we have fighters that are produced. Resources can help make more fighters, or by taking additional planets (the sources of both fighters and resources) you can create more. Hopefully this make sense.

To ensure the game doesn't have win-switch runaway leader situation, we've added a number of negative feedback loops. For example, after a battle on a planet, the player who loses the planet (and who will also end up losing the fighter/resource production) gets a "rebate" in the form of some "fighter that escaped" and "resources they took with them".

This slows down the runaway leader situation and widens what we call "the valley of struggle".

Another way we manage this is having powerful mechanics that can, if timed well, disrupt the runaway leader. One mechanic we have is "doomsday". If the aggressor sends many fighters to a planet, the defender can activate a "doomsday" on the planet which will eat lots and lots of fighters, closing the gap between the loser and the winner. By using price and cooldowns, we limit this from being abused by the leader while still allowing well timed usage by the loser to reduce the gap. We have several mechanics like this.

The final mechanism that has had the most effect is cooldowns for mechanics. This ensures that even if the leader gets a fighter/resource advantage, they can't abuse any of the mechanics to widen their gap too fast. In fact, because the cooldown can be long, it requires being very picky about when to use some of the mechanics otherwise you could leave yourself defenseless.

There are other tricks we've used such as diminishing returns on production (thanks /u/waterlimon!) so that as the leader accumulates more planets, he gets diminishing returns on the fighters/resources produced on each planet.

Finally, lots and lots of playtesting between me and the artist testing game length, tipping points. We have a replay mechanism that allows us to view all the stats of the game and the "balance of power" as we call it, an algorithm that lets us determine who is winning at any given point. We watch that balance to see if we are seeing the type of game we want... with lots of tension, some back and forth, and hopefully around the 5-10 minute mark, the tipping point is reached by one side or the other.

Hope that helps!

u/komoro · 2 pointsr/gamedev

Well for game design, I cannot overstate the impact that the book The Art of Game Design has. It lists where to start building a game, how to find mechanics, how to deal with chance and map building, what the players expect, how to engage the player, how to use audio correctly and many many more. Go check it out, if you are already familiar with programming, the more the better. But to be a great game designer takes much more - and a lot of it can be found in the book.

Happy creating :)

u/adrixshadow · 2 pointsr/gamedesign

You basically have no game design education and have absolutely no idea on anything.

Luckily for you I have collected some resources that is the distilled essence of game design that makes a complete noob to pro game designer.

Read/watch this:

Bookmark this:

Subscribe to this:

and this:

Troll and read all the articles from this:

Good books on game design I recommend:

Now my personal advice as a indie game designer.


You have to specialize on one domain where you devour any information available.
Her are some domains I know about that you can take on as an indie on a budget.

CRPGs: Info on:

JRPG: Look also at japanese hentai rpgs because they are some game design jewels there, RPG Maker community

Action Games and platformers : Understand game feel and juice/impact, somewhat saturated indie scene

Puzzles and board games: Do not buy into f2p as it kills your creativity

Roguelikes and survival: Saturated indie scene

Narrative: Visual Novel style games and adventure games, great if you have a good writer and artist, some overlap with JRPGs,
VN community: ,

Server Multiplayer: Games like space station 13

A forum where you can find information on games of the above types:

Do not do 3D, without a astronomical budget you won't get far.

Congratulations! Now you are better game designer then 90% of inde developers!

u/wingchild · 3 pointsr/Games

Your criticisms are valid; Limbo was a puzzle game with few mechanics and limited player engagement. Compared to other puzzle titles it is lacking (it's no Portal, for sure); compared to other games released in 2010, it is not involving. Limbo is a short experience (two to five hours), and it's exceptionally short for the money ($15 on release). Your criticism reminds me of Will Freeman's review in The Guardian, where he calls the game a "traditional platform-jumping puzzle title" and notes "much of its brilliance is the work of smoke and mirrors".

Yet I think the criticisms are only touching on part of what made Limbo an interesting experience.

The limited mechanics and world interactivity reminded me of Another World (or Out Of This World, depending). Playing Limbo took me back a step to several games of yesteryear, reminded me of them, and showed me what an experience like that could be like remodeled in a new engine.

I thought the grayscale presentation was a striking choice, given how graphically-driven modern games tend to be. I liked the minimalist feel of the environment, and I thought the game did a good job of establishing and sticking to the tone set by the art. The game feels very, very lonely, as though the boy is trapped between worlds, much as the title would suggest.

The use of lighting was key; when you're working in grays all you really have is light and shadow, so you've got to make the most of it. There's a scene where you're holding on to a bug that's trying to fly up towards the light, but the leg you're on breaks, trapping you once again; later, when you encounter the spinning blades, lighting reflects them at massive size in shadows behind you, making them seem even more fearsome and lethal than they already are. I thought this was very nicely done.

I thought the sound design was spot on, from the gentle sounds of wind or water, to the more rumbling background tone that sets in when you first encounter the stabbing arms of the spider-creature. Sound also really made the "HOTEL" sign scene for me, as you can hear and see electrical transformers exploding as you try to cross the letters. This does a great job of adding to the tension.

In terms of story, the game gives you nothing to speak of; there were some promotional materials that read "Uncertain of his sister's fate, a boy enters Limbo" - but that's it. The game doesn't otherwise explain itself. As I played I felt the journey was the important and transformative element, more so than any "reward" at the end, and I felt that way right up until the final shot.

As an older human, I've attended my share of funerals. I've lost family over the years. I'm dreading when I first lose a friend or lover, and I can't even consider how I'd feel to lose a parent, let alone a sibling that I've known since they were born. I do know each loss takes part of me with them - the dead keep the parts of me I've given to them.

I had felt like the boy was already dead early into the game, but when you get to the final scene, and she's there - there's this pause, and the boy does not approach. What can you say? You've come all this way; are you even sure this is what you want? Did you make this trip because you were unable to come to terms with your loss, unable to achieve peace? How did the boy even start this journey? There's a visual of the boy breaking to pieces as you go through the final jump -- was this emblematic of his heart shattering when his sister died? Does his literal falling to pieces give us his reason for being here?

The last scene takes place in the same sort of forest as the opening. Post-credits, if you watch all the way through, the background remains on the same shot - though no bodies are present, and we can hear the buzzing of flies. Did the sister die there? Did the brother die there? Did he kill himself in an effort to find her, to be reunited? There's room for speculation and interpretation.

I thought quite a bit about the end of Limbo, and about death, and about family. I had a strong emotional response to the work; I found it impactful, meaningful. The game teased quite a lot out of me - I'm over 4,200 characters into my reply and I feel like I could still go on at some length.

Not bad for a two-hour title.

I measure Limbo's "goodness" by the impact it had on me, and how often I thought of it, or of how I still think of it, so I've no doubts at all - it is a good game.

But I'm evaluating by a different set of criteria than the mechanical, too.


One extra thought.

There's a pretty fine read out there called "1,001 Video Games You Must Play Before You Die". It covers video games from the late 1970s up through very early 2010. Snippets about each title were written by a battery of reviewers, many of them British (allowing access to perspective on titles that might not have made it across the pond, such as PC titles released only on the ZX Sinclair and the like).

When they chose to include a game it was because something about the title was unique, special, innovative, or trend-setting. In some cases they might add a second or third title in a series while skipping the original; in others, they add obscure games I'd never heard of, though I consider myself well versed.

Point is, part of their consideration includes the time and place in which a title existed. As an example, Asteroids (1979) was an important title in gaming history, a landmark title for its era, though almost no aspect of it holds up today.

Limbo may be something of that order. When it was released in 2010 it was a special sort of title. It reached 3rd overall on XBLA that year. (The top two were a little more conventional; Dead Rising 2 took the #1 spot, and Trials HD had #2. #4 went to another indie darling - Castle Crashers.)

Despite the short runtime and relatively high launch price, Limbo connected with a great many people. And it got a whole lot of words out of me on an otherwise sleepy Tuesday morning, nearly six years after it's release.

Limbo was a good game.

u/gamerkhang · 5 pointsr/gamedev

To be clear: are you interested in game programming, or game design? (I say this because the other post said you were interested in engineering, and I'm not sure that guy knew what he was talking about) While the two do go hand-in-hand, what discipline you will be practicing is very important to be aware of. If you are interested in game design (theory behind making games, regardless of whether or not they're electronic) then some books you'd be interested in would be Jesse Schell's The Art of Game Design, reinforced by exercises from Challenges for Game Designers.

If you are interested in game programming, that would require some introductory programming knowledge before diving into it, and there are others who would know where to find books for that, like on the sidebar of /r/learnprogramming. I would not recommend diving into a game engine without some basic programming knowledge unless you use an engine like GameMaker (but even that is just putting it off to a degree).

u/seg-fault · 2 pointsr/learnprogramming

No problem. I think I answered all of your questions, then, but if you're still a bit shaky on anything, don't be shy to ask more questions.

If you're serious about good user interaction on your sites, I highly recommend JavaScript. I was in your boat too for a while. I didn't find any value in JS beyond making quick popups or input validation.

However, after working at my current job where I did much more client-side programming in JS, I truly appreciate the value of the language. It has evolved far beyond its initial intentions.

If you want to be a real JS guru, read this book cover to cover. Even if you don't want to be a guru, it is a very helpful reference:

Professional JavaScript for Web Developers

u/SandorHQ · 6 pointsr/gamedev

On YouTube Brackeys channel looks really useful: short, no-nonsense videos.
Additionally, you can find true gems of wisdom on GDC.

I'd also like to recommend a book about game design (in general): Level Up! -- The Guide to Great Video Game Design by Scott Rogers.

u/TheAdventMaster · 10 pointsr/learnprogramming

You want example code? View the videos of the guy who rebuilt Cave Story (or at least parts of it, with a level editor, enemies, etc.). Or check out Handmade Hero. I think there's a Handmade Quake now, too. If you're really serious about game engine design, buy the book.

The reason I suggest other people's stuff is I spent a lot of time building code bases I called engines, not building actual games. I've made and published exactly one complete game that has about 10k views on right now.

There are better people to get advice on what to do right from. I'm a professional web developer now and know plenty about where I went wrong.

But I'll gladly chime in more advice if you're willing to hear it. I'd say the biggest difficulty people have when writing any complex code (whether it's games, infrastructure systems or business applications) is you reach a certain point where knowing how to code isn't enough. You have to know how to think critically about problems. That goes back to the problem space vs solution space ways of seeing things, which isn't really taught in school.

Games are a really difficult problem, that also have really difficult solutions. If you just straight into the solution space (let me start coding modules, oh, I probably need something that renders fonts at angles, etc. etc.) you're not going to get anywhere. In order to build complex things like games, you have to get better at programming for sure in order to make so many things work together, but unless you get really good at figuring out your problem space - what exactly it is you're trying to actually solve -you're going to waste a lot of code and time.

And that's one reason most people suggest you start very small. You should be able to code something like Pong in less than a day, probably less than an hour for sure. Even something like Extreme Pong should be mostly easy for you to churn out. But many people struggle with that.

As an aside, I will say that writing a library to perform easings made my life a lot easier. A lot of what takes place in a game can be considered an "tweening animation" of a value from one state to another.

I used those for in-game animations, to stretch and skew objects, etc. but that's often more about bringing out the flavour of a game as opposed to the core mechanics. (Like you want an object that falls, but falls violently and shakes when it hits the ground? Chances are that doesn't make a ton of sense from a physics standpoint, so you have to script it. Easings would be one way to script the y-axis value to mimic that behavior.)

u/zzzzz_ · 1 pointr/footballmanagergames

I've always been interested in economic theory... some of my thoughts in the game design document were around having two types of economy: a global economy and a local one. I wanted this to have an effect on the player in terms of the strength of the league (i.e. how much money was coming out of TV rights, attendances, demand for the product etc). A weaker league gives team less chance of buying top quality players resulting in lesser ability to compete globally without huge investment from the player etc.

I'm not sure how to tie this into the game without making it too complicated but I did buy a book on game mechanics ( so I've been studying the mechanics behind some popular MMO / tycoon type games.

There's a really cool tool by the authors of the book I just linked:

I've used that in the GDD to simulate a few of the sources / drains / converters in the game... balancing the game and making it enjoyable is going to be a real challenge. I'm concentrating on getting the basics of match simulation and a stable server for hundreds of connections before I start with the actual game mechanics itself but something I'm really looking forward to!

u/Exce · 2 pointsr/gamedev

The AppHub tutorials are very helpful. As many suggest, starting simple is usually best. I probably should have stuck to a single screen game for my first try but instead I spent a lot of time learning how to use a third party library to help be import a level.

Also, if you are looking for a book, I just got this book as suggested by many and its great.

u/ya3ya6 · 2 pointsr/gamedesign

actually i tried about 5 engines , and construct 2 is easiest and fastest one.
and there is some tutorials on card game also:

actually it's better to design and prototype card games in paper and cards, even if it's too fancy, you can make a simplified version with cards.

i read some chapteres of this book and it was amazing, read it if you had time.

good luck :D

u/gamerhetor · 3 pointsr/Gaming4Gamers

Many of the suggestions on this list are great (Koster's "A Theory of Fun" is especially good in my opinion), but one of the best books I've read is Katie Salen and Eric Zimmerman's "Rules of Play".

In some ways it's an introduction to game design for designers, but it's way more than that - it touches on the philosophy behind "play" and "games," histories of gaming, personal anecdotes, insights from famous designers and way more.

You can ind a PDF of it very easily on Google, but I think buying it is very, very much worth it.

Also, as a shameless self-plug, I did my PhD work on videogames so I'm happy to talk about resources etc. - PM me or reply and we can chat about it!

u/eric_weinstein · 5 pointsr/ruby

> Failing that, are there any good cheatsheets/references for JS "gotchas" and unusual features that devs from other languages might not be familiar with?

There are entire books dedicated to this! (Also some entertaining talks.)

Here are some good JS books not aimed at total beginners:

  • JavaScript: The Good Parts
  • Professional JavaScript for Web Developers
  • Effective JavaScript

    Bonus (to give you a sense of the kinds of "gotchas" you'll find in JS):

    // Even though you pass in numbers, JS sorts them lexicographically
    > [5, 1, 10].sort();
    [ 1, 10, 5 ]

    // You "fix" this by passing in a custom comparator
    > [5, 1, 10].sort(function(a, b) { return a - b; });
    [ 1, 5, 10 ]

    // This probably makes sense to someone, somewhere
    > Math.min();

    > Math.max();

    // Some things are best left unknown
    > {} + {};

    > var wat = {} + {}; wat;
    '[object Object][object Object]'

    Here are a bunch more in quiz form.
u/invicticide · 6 pointsr/gamedev

An artist. :P

No but seriously, here are some things I'd love to be gifted as an indie game dev (if I didn't have them already):

  • Rules of Play. It's maybe getting a little harder to find at a reasonable price, but is a wonderful resource. Some people pan it as a beginner textbook, but as a 10-year game dev veteran I still go back to it occasionally and it reminds me about fundamentals I've let slip over the years. Worth every penny.
  • Envisioning Information. Not directly game dev related, but it's a definitive resource for the kinds of visual design problems we have to solve every day (and that so, so many game devs simply don't know anything about, sadly).
  • The Design of Everyday Things. You can probably get this in paperback for super cheap. It's old, and it's about industrial design, but more importantly it's usability. The core principles in this book should be the backbone of any game designer's education.
  • Got an excellent card/board game shop in the area? Gift certificate the fuck out of the bitch. (Video game devs loooove tabletop games. Yes, we're even bigger nerds than you thought.)
u/thrakhath · 3 pointsr/gamedev

Rules of Play is an amazing book, it's a shame you haven't read it. Its one big drawback is that it focuses very little on video games in particular and goes in-depth on what separates games from non-games, and how various kinds of games are constructed.

It may not be useful to someone looking to get their hands dirty and start throwing Flash at the Internet, but it's a very good "big picture" book when you want to know more about the philosophy and mindset of building games. How to encourage behaviors, how to subtly direct play so your players don't get lost or confused, how and why you give feedback via play mechanics, and things like that.

u/DOOMReboot · 3 pointsr/Cplusplus

I haven't gone through this particular series myself, but I've browsed through it and his (thebennybox - everything he makes is high quality) series on creating a software renderer, and they are fantastic!

This is by far my favorite book:

I'd recommend thebennybox's video series first, the book may not be quite as beginner-friendly.

u/raze2012 · 1 pointr/gamedev

Based on the roadmap link posted elsewhere in the thread:

From personal knowledge, I'd also check out Udacity's course:

and maybe Coursera's (personally did not care for it, but might as well list it):

As for architecture, I haven't really seen any great lectures on doing this. I'd recommend checking out the book of the same name to get a high level overview of the features larger engines consider, and perhaps check out the source of some larger engines to get the best idea.

u/ReleeSquirrel · 1 pointr/gamedev

It's not really practical. Making a full featured game engine from 'scratch' isn't easy, but it is possible.

I reccomend reading this book: Game Engine Architecture

It tells you everything about how game engines work and how to make your own. I did a good amount of it in a post-grad college program, and learned a lot, but ultimately decided to use Unity for actual development.

Unity's good. Flash with Flixel is good. Haxe with HaxeFlixel is good.

Heck, I made a match 3 game in plain old Flash years ago. Didn't even have to program or borrow an 'engine' for it, Flash did the heavy lifting.

u/serinity · 3 pointsr/gamedev

While software and programming are valuable, a foundation in thinking like a designer has been more important in my experience.

I recommend Challenges for Game Designers by Brenda Brathwaite. I've used this book as an instructor for an intro to game design undergrad course, but it should work as well for a younger audience. The activities are designed to teach critical thought about games and prototyping, and require no special equipment or skills to complete. And it's the way a lot of studios begin the design process -- with pen and paper, or a whiteboard, prototyping and play testing ideas before investing in engineering time.

The challenges are quick, fun, and allow you to jump right in to designing game systems.

u/bobbateswriter · 1 pointr/IAmA

The single most important skill a game designer needs is what I call "Player Empathy." You must be able to figure out what the player is thinking, what he/she wants to do next, and how to entertain them while they are playing the game. Beyond that, there are so many different types of games - and therefore game design - that it's pointless to try and summarize in a forum like this. I did write a book about game design, which you can probably get from your local library. The Amazon link is here:

It's been out long enough that it's a bit dated on the production side, although the game design fundamentals still hold true.

But the best book to get, and it's much more current is Jesse Schell's book, which you can find here...

If you're building your very first game, I would advise not waiting for it "to be done" before you show it to people. As soon as you have made any portion of it, get it in front of people to see their reactions. Look up the name Sid Meier and see what he has written about how he develops his games a little piece at a time. Iterative development is where it's at!

u/JonnyRocks · 4 pointsr/monogame

IF you need tutorials, remember that XNA applies a swell and it doesn't matter if it's 10 years old. But if you have been doing this for awhile then focus on general game dev information. A lot of good resources are written in c++ and are not about monogame. One of my favorite resources is . It has a free web version.


Keep in mind that monogame is a frame work and it handles all of the low level stuff but you still are creating an engine. I really enjoy


This is my current favorite


But in the end, it comes down to any job. You reach a problem and search for a way to solve it.

u/ThePopil · 2 pointsr/UofT

Hey! I'm doing the game design focus and have / am working at some indie studios.

The focus isn't nearly enough to get a job in the industry, you need to teach yourself a lot more.

  • Figure out how much dev work you want to do and how much design you want to do. There are positions that are mixtures of both.

  • You can do a one year course in design at some college after you graduate if it interests you. BE WARNED, no one cares about the degree, every design lead I've worked with has said this. This is about connections and making your own projects.

  • If you want to do dev, read this book: It's like the bible for game dev.

  • Triple A studios all use their own engine which is 99% of the time written in C++ so being familiar in that is a must

  • Make your own games! Use Unity or Unreal cause it's so much faster to iterate on and prototype stuff. Building your own engine is great for learning, but don't make games from scratch cause it's a lot of pointless grunt work.

  • Get involved in the community! Seriously this is often overlooked but just working with people of similar interests can be great for experience and connections. Toronto has a huge indie game dev scene.
u/blindluke · 2 pointsr/gamedev

Game Mechanics is definitely helpful with understanding what the moving parts are, and it introduces a visual notation that I find useful in the planning stages.

By far the best tools to balance game mechanics is a spreadsheet and a working knowledge of math. Book on both might be helpful too.

u/ngly · 2 pointsr/web_design

JavaScript books I'd recommend:

JS Good Parts. Short read but interesting and important concepts covered.

Professional JavaScript for Web Developers. Covers every detail of JavaScript in web development. Huge book with about 900 pages of information. This covers all the technical details from syntax to core concepts.

I haven't read the one you linked, but have seen it around. It's probably good.

u/philintheblanks · 3 pointsr/webdev

I agree with learning vanilla js, but I would add that you should be looking at things like the DOM specs. To me, it's like building a house. These are the things that all the houses (frameworks) are build from. You don't need to be able to build a house, but knowing the basics can save you from huge mistakes, or just serious time wasting. Knowing the basics means that you know what the frameworks are there to help with, which means that you can evaluate their weaknesses and strengths yourself, and then you won't need to ask other people what they think.

I'm currently working through Professional Javascript for Web Developers, and just the first few chapters I've covered have me blown away at how little I actually knew. I've done tons of online tutorials and courses, and this book blows them all out of the water completely. But keep in mind that I'm the type of guy who really hates not knowing how things work. I don't want to do something just cause "that's how you do it", I want to do something because "that's the best way to do it right now, here's why..."

u/piotrmarkovicz · 1 pointr/gaming

If you want to be a good writer, you have to read.

If you want to be a good game designer, you have to play.

But if you are gonna play... then learn to make them too:

Good book on Game Design: Level Up by Scott Rogers

Design your own games easy: GameMaker and I suggest the book The Game Maker's Apprentice or Stencyl or even App Inventor for Android

u/enalios · 2 pointsr/gamedesign

If you want to be a game designer, just first accept that you're training for a marathon not a sprint.

Start with small exercises, not a full game just, like, quick sketches of game mechanics or ideas.

Do lots of tutorials, like "how to make a shmup in [whatever game engine]" and then when you finish the tutorial just add one or two things to make it your own, then move on to another tutorial.

After a few of those, start participating in 48 hour game jams.

There's a site I participated in for a bit called 1 Game a Month in which the idea was simply to finish one game a month. Not a masterpiece every month, just something finished every month.

It really is worth it to invest time in learning how to actually finish a project as opposed to always thinking about finishing it.

I recommend reading the following short articles:

The Chemistry of Game Design

Understanding Challenge

And I recommend the following books, not necessarily to read cover to cover but to read until the content doesn't seem to interest you, then just kinda skip around to the interesting bits:

Challenges for Game Designers by Brenda Braithwaite

The Art of Game Design by Jesse Schell

And finally I recommend reading this book from cover to cover:

A Theory of Fun by Raph Koster

u/Evey9207 · 1 pointr/gamedev

Hey so I don't know gamedev's opinion on the book Level up!, But that's the first book about game design that I got when I started and it helped me understand a lot about the process of game design.

It is a very frustrating but very rewarding process. In the end when people try your game and you see them have a blast, that is the best feeling ever.

u/Knochenhans · 1 pointr/zxspectrum

I guess you mean that one: Seems to be about the Atari VCS but sounds interesting neverless, thanks! :)

u/MirokuOsami · 1 pointr/gamedev

Level Up by Scott Rogers is great! I've had my tattered copy for years and it's by far one of the best game dev books I've read. He also goes over a lot more things than level design, so I'd highly recommend it.

u/GeoKureli · 2 pointsr/gamedev

The Art of Game Design is a fantastic book focused on exposing all of the different ways to look at game design and all the different options and approaches you can explore. I highly recommend it.

As for me, I look at why a core mechanic works in an existing game break it down into the most abstract components. Like Punchout is about learning timing and sequence recognition. Reacting quickly to an enemy's "tell" makes me feel powerful, and not knowing the "tell" makes me want to explore and try things out and challenge my intuition. So apply it to something else, what else requires reflexes and discovering enemy patterns? I unno... Ping pong? Ping pong requires finess and I want a discreet Turing nature to the success of my volleys, can I simplify the controls? What about that game where I put my hand on top of yours and you have to slap my hand before I pull them away? Whack-a-mole requires reflex but the pattern is random, can I change that?

Just break down games into the smallest components and know that that is something that can be explored and try mixing things up

u/krahenke · 4 pointsr/gamedev

One of the best resources out there, especially for Patreon supporters. I found this book to go hand-in-hand with this, I'd even go as far to say it's a must read, with great examples and modern practices.

u/0xfefefefe · 1 pointr/learnprogramming

Unity teaches you to script, game engines are much, much more complicated. I can give you some cool resources though.

If you can afford it (and try to, it's incredible), pick up Game Engine Architecture. It gives a high level overview of an engine and then goes into depth on some hard problems like animation or skinning. For rendering code, I can't recommend the OpenGL SuperBible enough.

You can probably write your first engine in C# or python, but realize that they won't be fast enough to truly render 3d and do more work than that. But I'm starting on my second engine now and it's so different just based on what I've learned from the first.

As for how long, don't think of it like that. Break the engine down into modular parts and write those, then integrate them. I'd start on rendering because it's guaranteed to get you the most excited, and a simple rendering system shouldn't take more than a month or two, especially if you start with the OpenGL SuperBible's code base. Let me know if you have any other questions!

u/jamesman135 · 1 pointr/gamedev

I'm currently working on my first game, and got this book and I cannot recommend it enough. It has a full template and example of a GDD and walks you through how to do it, and what you need to consider. Don't worry you don't need to buy it, I just flicked through the preview copy amazon puts online and it's available, obviously a few pages are missing here and there, but it gives you a good idea, it starts at page 68. Give it a quick read, I hope it helps!

u/luciensadi · 5 pointsr/MUD

One of the most important aspects of game design is that the story should always be written first, with the design and technology then being informed by the story. What you need to do is come up with the game you want to make (which hopefully is also a game you think other people will have fun playing), after which you can create a design plan / feature list / implementation plan from that.

I suggest you read The Art of Game Design for general game design information and Richard Bartle's Designing Virtual Worlds for MUD-specific information. That's probably a good first step for getting you into serious MUD development.

Edit: link formatting

u/thisisatempaccount93 · 3 pointsr/gamedev

I've decided that for my summer project before starting university I'm going to make a game with hopes that it will be somewhat similar to the kingdom hearts series.

As a 3D artist I have a lot of work cut out for me, especially considering I have about 3 and a half months to do this. I hope to do it all using just UE4, 3DS Max and Photoshop, being solo the whole time. Now I just need to go back through my old work to refresh some key aspects to game design and read this book again.

Wish me luck!

u/Code_wizard · 1 pointr/rpg

Game design hobbyist here, I think some perspective is needed. If you want to start designing games I suggest you begin with something smaller. Table top RPGs are a complex interconnected web of rules and stats and one of the hardest types of games to design well. The only other type of physical game that is equal in difficulty is a deck building card game (which is what I assume you meant as 'card game'). If this is a hobby you wish to pursue I suggest reading a few books on game theory, flow, and statistics. This textbook can serve as a good introduction to all of these: Rules of Play: Game Design Fundamentals. After that, write a master design document that explains everything you want to accomplish with the game. Next, get some index cards and start play-testing ideas. . . .

u/Bargeinthelane · 2 pointsr/gamedev

Can't recommend this book highly enough, but to be honest you need to be in a group of people to get the most out of it. I basically built my introductory game design class on it. Great introduction and practice for game design.

u/jarkyttaa · 11 pointsr/truegaming

Besides the obvious standards, there's quite a bit out there. Reality is Broken is quickly becoming my go-to book for introducing people to talking about video games. If you're less focused specifically on video games, then Hamlet on the Holodeck is basically required reading for any discussions about interactive narrative and Pervasive Games: Theory and Design gives a great introduction to pervasive games, which are definitely different from video games, but there's a fair amount of overlap in good design principles there.

u/BraveNewCurrency · 2 pointsr/ChipCommunity

> I would like your help pointing (pun intended) me in the right direction

No, no, you want some pointers for what to do next.

You can't learn just by looking. You need to pick a goal, then try to implement it. When you have very specific questions, you can ask here or stackoverflow. Don't do something complicated at first: Start with a trivial game like tic-tac-toe. Get it all working end-to-end, then start adding features to transform it into something interesting.

But don't forget this is an entire Linux-based computer, so you don't have to only use the tools that came with it. There are 1000s of games for Linux, and hundreds of game-building environments. Plus, there are lots of languages (Python, Lua, Ruby, Go, NodeJS, etc), and plenty of ways to paint a GUI (i.e. SDL, OpenGL, etc).

In many games, they only use C++ for the low-level bits, then wire up the high-level logic with a scripting language like Lua.

P.S. I've heard this is a good book.

u/7tryker · 5 pointsr/gamedev

Have you read Jesse Schell's Art of Game Design book? It's a great read for game designers if you don't have it as a reference.

In it, he gives you some good lenses to look through that encompasses almost every game design decision you should be making for your game. I am positive there is a lens in the book that you can look through for your game that addresses your unwillingness to bend reality to accommodate intriguing game ideas. Remember your audience isn't yourself or your own personal tastes, if something doesn't make sense for you, maybe prototype the idea and playtest it with some folks and then judge whether the idea is indeed enhancing the game experience, if so it shouldn't matter much if it makes sense to you or reality or not.

u/aroymart · 2 pointsr/gamedev

Level up!: The Guide to Great Video Game Design I see this in B&N every time I go there but i never have money to buy it, I've looked through it and it looks pretty nice.

u/EtanSivad · 2 pointsr/gaming

One more thing, of the thousand hours of programming, easily 100 hours went to squeezing the game onto the minisucle 8kb (or maybe this was one the 4kb carts). For anyone interested, "Racing the beam" is a pretty fascinating study it what it took to program these older games.

u/raydeen · 6 pointsr/gamedev

I'd encourage anyone interested to check out Racing The Beam. It goes into detail how some of the early programmers got as much as they did out of the 2600. The chapter on PitFall! is really great.

u/cheesepencil_dev · 7 pointsr/funny

MDN updates more frequently than a book.

If you just need a reference, stick with MDN. If you want the book as a learning resource, it coud probably be helpful but I looked at both The Definitive Guide and Professional Javascript for Web Developers and liked PJ4WD better. non-affiliate amazon link

u/osetinsky · 8 pointsr/startups

I've learned enough to get by, so I can't say I've really "learned to code." But I love it and am going to continue beating my head against a wall learning it because I find it fascinating and challenging. It also ties into some of my musical interests (I studied computer music in graduate school).

Here are some of the things I've read. It doesn't happen over night. I would recommend reading in this order (or maybe read the first two ruby/rails items and then the first two JavaScript items). Pretty much all of my learning has been by doing, and I have tried to code my own small projects in between books.


  1. Ruby on Rails Tutorial (
  2. Agile Web Development with Rails (
  3. Pickaxe (

  5. Professional JavaScript for Web Developers (
  6. Effective JavaScript (
  7. JavaScript: The Good Parts (people always throw this out as a good resource for beginners because it's short, but I found it to be the most advanced)
u/HardZero · 8 pointsr/gamedev

I found Level Up! by Scott Rogers to be a good book to recommend for people thinking about becoming a dev. Nice, funny writing style that doesn't get too technical.

u/maltezefalkon · 10 pointsr/gamedesign

The best high-level advice I've found on how to make a game comes from Magic: The Gathering's head designer, Mark Rosewater, called "10 Things Every Game Needs":

On the more practical side, you might want to look at Brenda Brathwaite's Challenges for Game Designers:

And in terms of local resources, Toronto is somewhat famous for its board game cafes, especially "Snakes and Lattes". You can try out all different kinds of games there:

Hope that helps!

u/r0bbie · 3 pointsr/gamedev

Have to add another recommendation for The Art of Game Design by Jesse Schell. A Theory of Fun for Game Design by Raph Koster is also a very good, accessible read (and heavily illustrated, which is always nice!)

Finally, Rules of Play: Game Design Fundamentals is good for a more exhaustive, technical look at game design theories.

u/sjbrown · 6 pointsr/RPGdesign

I recommend The Art of Game Design as a great resource for this specific question:

And if you don't want to spend the money, here's a hot tip: download the "Deck of Lenses" app on your mobile device. It's basically an extremely summarized version of the book, organized into a "deck". As you consider your resolution mechanism, flip through cards in the deck and ask yourself, "how does this lens apply? is my mechanism successful or deficient when viewed through this lens?". Not all lenses are going to apply, but it's a very useful exercise.

u/robtheskygames · 2 pointsr/TGDRT

Not precisely, no. I own Level Up! The Guide to Great Video Game Design which is pretty good, and does cover some building block mechanic type stuff. But it also has a lot on character design, story, and craft (like game design documents and stuff) as well.

u/ZeuglinRush · 2 pointsr/gamedev

Challenges for game designers is excellent. The real meat of the book is the set of excercises and projects, with a lot of excellent information and discussion to back it up.

Not directly related to game design, but these days nobody has an excuse not to have read the art of war. There are many free versions of it out there, including an audiobook. Check its wiki page!

u/GloomyPterodactyl · 1 pointr/gamedev

I TAed a seminar for incoming college freshman with no prior programming experience, learning video games using Game Maker. It went extremely well.

I'd strongly recommend this book. It's great to let them do a few projects where it tells you exactly what to do and why you're doing it and gives you all the art assets already so that you can focus on just getting it up and running. After they've made a few using the tools provided, they can then apply those skills with their own ideas.

u/faehnrich · 5 pointsr/learnprogramming

A huge and detailed, but very good video series of an entire game engine and game is Handmade Hero.

I've heard the book Game Engine Architecture on a few lists as being good.

u/yamblaza · 2 pointsr/Unity3D

I've been very impressed with Introduction to Game Design, Prototyping, and Development by Jeremy Gibson. The first half of the book talks about game design in general, then goes into a basic overview of C#. The rest of the book consists of a series of tutorials that get increasingly more complex. I'm not sure how helpful the tutorials and programming info would be laying in bed but the game design stuff is definitely fun to read by itself without a computer.

u/Droidaphone · 3 pointsr/tabletopgamedesign

Challenges for game designers is a highly recommended book, although it is not designed to be used with kids. Might have good exercise ideas, though.

Edit: also, will there be time to play games? Playing some simple games and breaking down the mechanics involved, like deduction, set collection, drafting, etc, could really be illuminating.

u/Jason_Wanderer · 2 pointsr/u_Jason_Wanderer

There was also another good quote about the "Mexican Pizza" strategy (which referred to some fast food chain having a pizza taco basically), which basically described taking two seemingly unrelated things, tossing them together and making something strangely appealing. Simple concept, but quite effective.

From this book, if you're interested. It discusses the game design process in a streamlined way, definitely helped me when I started learning about it all.

u/Mole12a · 3 pointsr/tabletopgamedesign

Challenges for Games Designers is a book I regularly recommend when people ask me for a book.

Otherwise it's just lots of work, Games Design is like a muscle it gets easier and stronger through use.

u/GreatBlueHarron · 2 pointsr/tabletopgamedesign

Play a ton of games. Try games that are outside of your comfort zone! the Book Rules of Play is great too

u/absolutedestiny · 3 pointsr/gamedev

For basic Ludic principles, you will probably want to read Rules of Play at least.

Software isn't important (yet - you will be led to that by your programming), being able to draw isn't important though it can make things easier when you are on your own (you will need for sure to know how to use Photoshop or Gimp), actually making things and working out what is fun is important. For that, I'd recommend, while you are learning the basics of programming, making card games and board games. Then, once you have some programming basics, try and make a computer game - either an implementation of one of your physical games or to try making your own versions of classic games (lightbikes, pacman, breakout, rtype, pretty much every game made before 1985 that isn't Elite can be made by a beginner). You can also try focusing on making something classic but playing with one element of the gameplay and seeing where that takes you.

u/spindizm · 1 pointr/gamedev

Rather than just listing my favourites, I would like to point you to 1001 Video Games You Must Play Before You Die.

After a long time of video game abstinence it helped me to get back on track. If I now start a project I use it to research similar games of the genre. Although not quite up to date anymore (~2010) it is a great place to get started ...

u/praisebjarne · 177 pointsr/learnprogramming

Hey! This is a really cool project idea, especially for a tutorial, but there are some things in the code that concern me.

Before I go any further, a disclaimer: You are not your code.

I work in the industry at a very big studio as a gameplay programmer, and there are a couple parts of this code that I saw right when opening the github that made me want to comment about code quality.

In Animated Sprite - you take in a file path and load an image directly from disk. This, on a large scale, will cause problems at load time. It could be ameliorated by doing all asset loading up front and maintaining a manager to dole out references to them in memory instead of from disk.
Secondly, Enemy inherits from Animated Sprite. This breaks a few rules, specifically the IS-A relationship in inheritance (also covariant problems. This is why the industry as a whole favors composition over inheritance. An enemy that is renderable might have a sprite to render with, but it wouldn’t BE a sprite.

There are other criticisms, but I’ll stop here. What I wanted to say was – Caveat Emptor. This is a fun project to learn what goes into a game, and no one here should quit based on these criticisms, especially if it inspires your passion. Rather, use this as an avenue to learn good software practices that can actually land you a gig in the industry.

A good resource for this project might be Game Programming Patterns or Game Engine Architecture.

Sorry if this came across offensive, but since this is r/learnprogramming, I figured it was a good chance to learn.

EDIT: Formatting

u/emomartian · 1 pointr/gamemaker

Not GML-specific but these are my two favorite game development books.

Try out this one for software architecture, wish I read it earlier
Read this to get thinking about game design

u/quantumproductions_ · 4 pointsr/gamedev

Blaaaaargh quit focusing ideas! Start writing code! Playtest!

/r/gamedev is a heuristic process. You can't just plan out everything and expect to make game from thinking alone. You have to code and then playtest.

This talk is "Going with the grain", comparing gamedev to cutting wood. It helps to go with the grain of what your medium (computer, input methods) are good at. Work with yourself.

Try treating your game as an intelligent artifact eg. . Let your programming be a dialogue with it and see what it wants to say.

If you're still having trouble and feeling stuck in "idea mode", put the programming aside and try "Challenges for Game Designers: non-digital exercises for video game designers" making board games built around mechanics like "Exploration" or "Randomness" or "Deduction".

TL;DR Execution is everything so start writing code and play your game.

u/cparen · 1 pointr/spaceengineers

> It's not about a tutorial, it's about making the early game fun.

Ah, I think I see where I misunderstood. Yeah, first time I played, winter a year ago, I tried to do that. Had the bad luck of getting a starting asteroid that only had iron, nickel and uranium. Dug through it like swiss cheese before I realized I had to trek over to a neighboring asteroid. Still, it was pretty fast.

I think you're right -- it might be nice if it spawned a couple "scripted" asteroids near you that had some tiny deposits of everything (minus U). Then, beyond that, you'd have to search, but at least you could have agency on how you did that search.

In a sense, you're pointing out that walking is not gameplay. You're totally right.

> Sorry, didn't mean to be a dick. Well, I did, but I'm still sorry.

LOL, it's the internet. It's kind of expected. Thanks though!

u/kyuubikid213 · 7 pointsr/gamedesign

I don't have any games under my belt just yet (working on one for class with a group), but Level Up!: The Guide to Great Video Game Design by Scott Rogers was a solid read.

The guy worked on God of War and the Maximo series among other 3D games, so that'd probably be helpful for you.

u/incognatias · 2 pointsr/AskReddit

Sounds like the challenge that you are having is getting hung up on the technological aspect, which I would bet is incredibly common among aspiring designers. Game design transcends medium. Technology simply enables game play from design. To provide a chance-driven strategic experience, any number of tools can be used: dice, cards, computer, or even just a drop of water and an angled surface. For simulating fast paced combat, a computer provides a number of advantages, but many prefer to use inflatable barriers and paintball markers instead.

Check out Challenges for Designers. It is a practical guide to game design strategies for video game designers, but utilizing non-digital means. It forces you to consider what actually makes a game fun, interesting, or challenging, without getting caught up in rendering engines, input methods, or the myriad other technical considerations that you, as a designer, won't actually have direct control over on a reasonably large game team anyway.

Once you have cohesive ideas about exactly what you want to see in a gaming experience, I think that you'll find learning the how to be a hell of a lot easier. Then you won't just be sitting at the keyboard trying to "design a level," you will be creating the specific player experience that you envision, which will define what tools to use and provide guidance on what questions to ask the pertinent communities for those tools.

When all else fails, build a Tetris clone. :) And no, that's not a joke.

u/Fribbtastic · 1 pointr/Unity3D

I'm reading this right now. It starts with "analog" prototyping for games, to test basic games like card games. How you can design games and what you need to consider. Learn C# in unity while developing games, and you learn development processes like agile or scrum. For me, this book is great because it starts with the basics and over each chapter you learn another part of developing games like how to test your initial Idea or how to balance weapons etc. until you reach the second half of the book were you learn the unity development with projects.

u/RollingCarey · 1 pointr/vancouver

Thank you for the advice. I have learned a bit on my own (shameless portfolio plug here ) The dilemma I am having is the part of Game Development I enjoy most is Game Design the systems mechanics and rules part I have been reading some theory on my own Theory of Fun & The Art of Game Design: A Book of Lenses would recommend both. Anyway I find I learn very well in a class room environment seeing peers work on cool stuff gets me all fired up. Ok life story aside whats applicable as far as "normal degree/certificate" for Game Design?

u/wat_is_a_reddit · 6 pointsr/Teachers

My colleague (suburban high school) does this and it seems really fun and successful. She mainly relies on this book.

u/Xenomech · 5 pointsr/gaming

The book, Racing the Beam, is a great look into the hardware and programming of the Atari 2600, and it talks a lot about this sort of stuff. It's fascinating.

u/LtKije · 3 pointsr/gamedesign

I wholeheartedly recommend Introduction to Game Design, Prototyping, and Development by Jeremy Gibson.

It's a really hands-on book and focuses a lot on the iterative cycle of design -> prototype -> test -> redesign.

It also gives a really good intro to Unity development so you can get stuff moving right away.

Disclaimer: I was Jeremy's TA for several years while he taught at USC, so I'm a little biased. But I saw him take students with no design or programming experience at all and - over the course of a semester - get them to create some pretty compelling games.

u/8a7e17035d · 2 pointsr/learnprogramming

What kind of games? Mobile games? Browser games? Desktop/console games?

If you're into building games entirely from the scratch and have it run on desktops and mobile devices, I'd suggest trying out the SFML framework (C++). They have some nice tutorials on their GitHub Wiki

Keep in mind that those are just the basics. If you prefer some more comprehensive literature, I'd recommend the following books:
Game Coding Complete
Game Programming Patterns
Game Engine Architecture

u/xiaorobear · 15 pointsr/SRSGaming

The creator of Dys4ia (and Mighty Jill Off, and other games, Anna Anthropy) actually wrote a book related to this subject, called Rise of the Videogame Zinesters: How Freaks, Normals, Amateurs, Artists, Dreamers, Drop-outs, Queers, Housewives, and People Like You Are Taking Back an Art Form. Which I haven't read, but I'm sure will interest you.

u/pixis-4950 · 1 pointr/doublespeaksterile

xiaorobear wrote:

The creator of Dys4ia (and Mighty Jill Off, and other games, Anna Anthropy) actually wrote a book related to this subject, called Rise of the Videogame Zinesters: How Freaks, Normals, Amateurs, Artists, Dreamers, Drop-outs, Queers, Housewives, and People Like You Are Taking Back an Art Form. Which I haven't read, but I'm sure will interest you.

u/BenSS · 1 pointr/gamedesign

Work through the exercises in "Challenges for Game Designers" - Both of the books you referenced have a lot of theory and exploration, but CfGD has plenty of actionable exercises. There is a ton of value in prototyping and exploring the space non-digitally, even if you're more focused on making digital games.