Reddit reviews: The best computer & video game strategy guides

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

Top Reddit comments about Computer & Video Game Strategy Guides:

u/RTukka · 2 pointsr/DungeonsAndDragons

Long post incoming; some of this stuff is copied from other posts I've made:

Getting into D&D is going to be a lot simpler and easier to rolling your own RPG system, unless the system you design is ultra simple and rules-light. And unless your friends happen to be game design experts or prodigies, what they come up with probably isn't going to be as fun, balanced or robust as a system designed and iterated upon by professionals and the RPG geek community.

D&D isn't rocket science, but the first few sessions will almost certainly be fraught with confusion, rules referencing, and/or people getting the rules wrong... but all that's OK. The key is to keep a relaxed attitude and for the DM err on the side of what seems most fun and entertaining. After a few sessions, everyone will probably have a decent grasp on the fundamental rules and things will go a bit more smoothly.

If you do decide to play D&D, you have to decide upon an edition to play, as there are several and they aren't compatible with each other. Right now the two most popular and recent editions are 3.5 and 4th edition. A 3rd party spin-off of 3.5 called Pathfinder is also popular. A big advantage to Pathfinder if you're on a tight budget is that pretty much the entire system is available online for free. For your conservative friends, the fact that it's not called D&D may also eliminate some of the social stigma, making it an easier sell.

My preferred edition though, and the one that is most newbie-friendly, is 4th edition. A slightly dated and incomplete overview of 4e's rules is available in this free quickstart guide. This tells you about 90% of what you need to know to sit down at a table and play as a player, and includes some pregenerated characters, but lacks the rules for character creation and progression.

A free 4e adventure, Keep on the Shadowfell can also be downloaded and perused by the DM, but KotS is not the finest example of adventure design, though you can find fan suggestions online to improve and tweak it.

As far as what products you should or need to buy, the Red Box Starter is probably the simplest and most straight-forward route. Avoid paying more than $25 for it new (a lot of 4e products seem to have spotty availability, which means sometimes they are overpriced).

Like the free quickstart guide, however, the Red Box does not you access to the full rules, but rather a simplified and stripped down overview. It almost follows the model of a choose your own adventure book in some respects rather than true D&D, which can make it a good stepping stone, though some players are impatient with it. It does, however, include some items that will remain useful to your game even when you outgrow the rules and content of the box: a double-sided poster map which can be reused, punch-out cardstock tokens to represent player characters and monsters and a set of dice. At $20 shipped, it's a good value if you feel your need a really gentle introduction into D&D.

However, if the members of your group are not averse to doing a couple hours of reading before their first adventure, and would rather skip the frying pan and jump straight into the fire, you can safely skip the Red Box.

What you really need is: a book that descriptions character creation and level 1-30 character options, an encounter design guide for the DM, a monster resource, plus some physical tools/props.

As for as the player resource goes, any one of the following will fulfill the need: the Player's Handbook, Heroes of the Forgotten Lands, Heroes of the Fallen Kingdoms. I would recommend the latter two, as they are 4e "Essentials" products, which are more up to date and feature more newbie-friendly steamlined design. However, all of the books are compatible with each other, and you can use them all.

You also need a book that tells the DM how to design encounters, run skill challenges, and reward teh players. You have basically three options here: the Dungeon Master's Guide, the DM's Book from the DM's Kit or the Rules Compendium.

Each has their pros and cons. The DMG is written with the new DM in mind and gives you all the rules info you need that isn't include in the players' books, but as one of the originally published books in the edition, it's less refined and does not include the latest errata (which you can download online, though it's a bit of a pain to read through all of it). It's probably your least expensive option.

The DM's Kit seems to be out of print (or on a reduced print run) so it's selling at above retail price. IMO it'd be the best option for a new DM, as it contains useful goodies (tokens, maps, and two quality published adventures) like the Red Box, plus a more up to date version of the Dungeon Master's Guide. But if you have to pay $55+, that's kind of difficult to justify.

The Rules Compendium has all of the rules information a DM needs, and it includes most of the latest errata, and it's generally a handy reference that you'll probably want to get eventually anyway. The problem is just that: it's a reference, and is light on insight and advice on how to build entertaining adventures and run a fun game. Like the DM's kit, it may be out of print, but it's still a good value. The Rules Compendium may be the best option if you're willing to read forums and web sites for DMing advice, which can be system neutral.

The DM also needs a monster resource. Hands down, the best option here is the Monster Vault. It's basically a far superior revision of 4e's Monster Manual, and contains an adventure, a ton of tokens and a battle map to boot. It's a steal at $20.

Another recommended product would be a D&D Insider subscription, which will give you access to the Character Builder, which as the name implies, makes building/progressing characters a cinch, and the Compendium, which gives you access to every bit of crunch in the entire published history of 4e: all the classes, powers, feats, races, monsters, items, themes, etc. as well as a glossary which describes much of the rules. You also get access to Dragon and Dungeon magazine archives, which contains a lot of flavor, design advice, and many pre-made adventures (see this thread for some highlights). It also has a handy monster builder tool. A subscription is $10/month or less if you commit to a longer subscription. Getting one subscription and sharing it among the group can be worthwhile.

Finally, you also need some physical things:

  • A sufficiently large playing surface and seating.
  • Pencils, paper for character sheets.
  • Dice. You could get by with a single set (including 1d20, 1d12, 1d10, 1d8, 1d6, 1d4) but you probably want a full set for every player plus some duplicates. A pound of dice would likely suffice.
  • A blank/customizable gridded map. There are at least three good options for this:
  • A basic Paizo flip mat to be used in conjunction with erasable markers
  • Gridded easel pads which work equally well for preparing detailed, pretty maps before a session, or whipping up something quick and dirty at the table -- a single pad will last you a good long time. This is what I use.
  • Gaming paper which is like a compromise between the previous two options.
  • Miniatures, tokens or other markers to represent monsters. As previously mentioned, several 4e Essentials products include tokens (if you get the Monster Vault, you're set). You can also buy miniatures from gaming stores, on eBay, etc. or you can use just about anything that's roughly a square inch in diameter -- coins, polished stones used in aquarium bedding, dice (though this can get confusing), etc.

    Finally, as for convincing your friends, as you've said, D&D is essentially no different from Skyrim, World of Warcraft, etc. D&D is pretty much the granddaddy of those games. If you can tolerate the "occult" elements in those other games, there shouldn't be anything offensive about D&D. And ultimately, the DM and players have full control over what they want to allow in the game. Have a discussion and decide if there's any subject matter that is the party finds offensive and exclude it from the game (or re-fluff it so it it's not so offensive).
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/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/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,

  • http://www.amazon.com/The-Art-Game-Design-lenses/dp/0123694965/ref=cm_lmf_tit_1
  • http://www.amazon.com/A-Theory-Fun-Game-Design/dp/1932111972/ref=cm_lmf_tit_3
  • http://www.amazon.com/Rules-Play-Game-Design-Fundamentals/dp/0262240459/ref=pd_sim_b_7

    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? http://en.wikipedia.org/wiki/Game#Definitions
    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:

  • http://boardgamegeek.com
u/NookShotten · 1 pointr/learnprogramming

I started off with teamtreehouse.com 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 Thinkster.io 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/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/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.
  • Kenny.nl - 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.


  • FreeSound.org - 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/woomybii · 4 pointsr/legendofzelda

I’m probably going to write a book here, but I love this game so much and I’ve retained so much knowledge from it, feel free to ask any questions if you ever have any, I’d love to put my useless and specific knowledge to use!

  1. Best beast order (imo) is Ruta, Medoh, Rudania and save Naboris for last
  2. Collect and upgrade the rubber armor for the set perk before trying Naboris if you want it to be easier on yourself
  3. Change the audio to Japanese, save yourself the grief of the horrible english dub (the captions won’t change)
  4. Buy the guide here if you really want help or just something cool to browse!
  5. Master the parry & side jump!
  6. Hearty Durians (found in the faron region, bottom rightish of the map, and theres a plethora of them right next to that regions tower) really help early game because they give you extra hearts
  7. Don’t rush yourself, botw is built so you can go at your own pace
  8. You have to buy your own armor most of the time, so if you can help it, save and don’t spend all your rupees in one place!
  9. Collect as many ingredients as you can! There’s no downside and you have to make your own meals for health, but some ingredients don’t work together and you get pretty much nothing
  10. Always have a torch & korok leaf in your inventory
  11. You have to have 13 hearts before you can get the master sword
  12. Open every shrine you come across for easy fast travel, and if you can’t complete a shrine the way it’s meant to, a little creativity goes a long way! (Tip: in the hateno village shrine I take off my joycons and just flip the puzzle upside down, thank me later ;p)
  13. Buy the dlcs at some point, they’re amazing!
  14. Unless you’re really confident/better than I was, don’t even try and fight the Lynel in Zora’s domain, just sneak around him until you have more hearts... soon you’ll eat those guys for breakfast
  15. It’s worth it to at least discover Gerudo Town if you prefer the bow, they have the biggest selection of arrows in the towns available to you early on
  16. Save every guardian piece you get, you’ll see why later on.
  17. Theres 900 korok seeds. Don’t spend time on finding them right away like I did because I assumed there’d be like... 20
  18. Until you’ve got more hearts, turn and leave any major test of strength shrines... trust me
  19. Amiibos aren’t necessary but that’s how you get some cool armors, items and other things you may see
  20. Don’t be afraid or feel bad to use walkthroughs, Zelda Dungeon makes helpful shrine guides that I used a few times!
  21. They also have a korok seed location playlist if you want it
  22. I wanted to add this earlier but I forgot: weapons break. Pick up most of what you find but don’t be afraid to be picky after you leave the plateau

    I’ll stop here and save you the rest of my botw bible but I hope you have fun!!
u/MrBushido2318 · 20 pointsr/gamedev

You have a long journey ahead of you, but here goes :D


C++ Primer: One of the better introductory books.

The C++ Standard Template Library: A Tutorial and Reference: Goes over the standard template library in fantastic detail, a must if you're going to be spending a lot of time writing C++.

The C++ Programming Language: Now that you have a good idea of how C++ is used, it's time to go over it again. TCPPL is written by the language's creator and is intended as an introductory book for experienced programmers. That said I think it's best read once you're already comfortable with the language so that you can full appreciate his nuggets of wisdom.


Modern C++ Design: Covers how to write reusable C++ code and common design patterns. You can definitely have started game programming by the time you read this book, however it's definitely something you should have on your reading list.

C++ Templates: Touches on some similar material as Modern C++ Design, but will help you get to grips with C++ Template programming and how to write reusable code.

Effective C++: Practical advise about C++ do's and dont's. Again, this isn't mandatory knowledge for gamedev, but it's advice is definitely invaluable.

Design Patterns: Teaches you commonly used design patterns. Especially useful if you're working as part of a team as it gives you a common set of names for design patterns.


C++ Concurrency in Action: Don't be put off by the fact I've put this as an "advanced" topic, it's more that you will get more benefit out of knowing the other subjects first. Concurrency in C++11 is pretty easy and this book is a fantastic guide for learning how its done.

Graphics Programming

OpenGL: A surprisingly well written specification in that it's pretty easy to understand! While it's probably not the best resource for learning OpenGL, it's definitely worth looking at. [edit: Mix it in with Open.gl and arcsynthesis's tutorials for practical examples and you're off to a good start!]

OpenGL Superbible: The OpenGL superbible is one of the best ways to learn modern OpenGL. Sadly this isn't saying much, in fact the only other book appears to be the "Orange Book", however my sources indicate that is terrible. So you're just going to have suck it up and learn from the OGL Superbible![edit: in retrospect, just stick to free tutorials I've linked above. You'll learn more from them, and be less confused by what is 3rd party code supplied by the book. Substitute the "rendering" techniques you would learn from a 3d book with a good 3d math book and realtime rendering (links below)]

Essential Mathematics for Game Programmers or 3D Math Primer for Graphics and Game Development: 3D programming involves a lot of math, these books cover topics that OpenGL/DirectX books tend to rush over.

Realtime Rendering: A graphics library independent explanation of a number of modern graphical techniques, very useful with teaching you inventive ways to use your newly found 3d graphical talents!

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/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 (udemy.com/unitycourse) 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/juggerthunk · 3 pointsr/learnprogramming

I got my start by taking AP CS in high school. However, I had already gone to college and that was a while ago, so I read some books on the commute to/from work.

Initially, I read Sams Teach Yourself PHP, Mysql and Apache all in one to learn PHP.

Immediately afterward, I read Murach's Java Se 6 and Beginning Java Objects to learn Java.

Most recently, I read a portion of C++ Primer Plus, but got very sick of it. I've read most of Accelerated C++

I have a few other books on C# to read when the time comes to actually write code.

By the time I had read all of the above, I felt pretty confident on how to structure a program, regardless of language. As such, I was able to pick up Python and JavaScript quite easily just by reading online documentation at Python.org and W3Schools. When I'm writing a web app, I'll rely pretty heavily on PHP's and MySQL's online documentation to help me with whatever syntax quibbles I may have.

I still want to read Game Coding Complete and I'll probably want to find a few resources on programming within XCode.

They all tend to follow the same programming paradigms, to be honest. Java did a good job in getting me into an OOP mindset and C/C++ did a good job at helping me think about how to program things without layer of abstraction. Once I learned these concepts, it was pretty easy to get started with a new language. Programming in PHP can be super sloppy, but taking what I learned from other languages, I'm usually able to write fairly clean code in PHP (especially when I learned how to use classes).

I wouldn't recommend all of the books above, to be honest. I didn't have much ability to do online training at the time and compiled lists of books weren't nearly as useful at the time, so I relied mostly on Amazon book reviews. I'm sure you can find a few choice books on each language you want to learn and go that way. If you were to read books, I think Accelerated C++ is a good book, but works best if you already have some experience programming. I remember like Beginning Java Objects more than Murach's, though both are great as references (which is why they're both still in my bookshelf). C++ Primer Plus spends too much time teaching C and not enough time teaching C++ (you spend pages upon pages learning about C-style strings, aka char arrays, rather than just using the String Class, but I digress).

Ultimately, I could read a bunch about a language, but I never truly learned the language until I started writing in it. I've written a handful of programs just as proofs of concepts and I recommend you do the same while learning any language.

u/HighTechnocrat · 3 pointsr/DnD

>It's possible that it already exists, of course
Baldur's Gate and Neverwinter Nights are both highly regarded video game recreations of the Dungeons and Dragons rule sets, but they are built on 2nd and 3rd editions, respectively. Dungeons and Dragons Online is also built on a somewhat modified version of the 3rd edition rules.

>I'd like it if someone could tell me what version would be the best to make as a game

4th edition, the current edition of Dungeons and Dragons, is probably your best option. It has a very gentle learning curve, and the mechanics are easy to understand. It also lends itself very well to play on a grid due to its emphasis on tactical combat. In my experience (I'm a software developer), portraying the world in a grid makes things super easy.

>I need someone who know the rules of D&D and can explain them to me

You should consider checking out "Dungeons and Dragons Encounters" at your friendly local game store (link has a search box to find your nearest location). They run hour-long weekly sessions, and provide pre-made characters. It's a very easy way to get acquainted with the game, and they always welcome new players.

The game is a bit big for someone to explain via reddit, but if you feel up to it you could pick up a copy of the Player's Handbook or the "Red Box" starter set.

>I'm not sure if it's legal to make it

Provided that you don't actually use any of Wizards of the Coast's intellectual property, you're fine. Things like "Elves", "Dwarves", "Halflings" and other things from classic fantasy are fair game. Specific things like the names of feats and powers might be a little more dangerous. The easy way to get around this is to make users type the names themselves. If your user has to type "Dragonborn" in a field titled "race", no on could blame you for it.

>With this I must say that my skills are limited, and therefor I won't be able to make it 3D, and I'll only be able to implement a limited AI. The game will be playable online with friends.

You may consider just building a "virtual table top." Essentially it's a program that emulates having your game group (3-6 players and a Dungeon Master) at the table. You need a gridded map, dice, icons to represent characters, and a way to handle character sheets.

There are several very good virtual table top programs in existence, but that shouldn't stop you from building one. I've built one myself (entirely in Javascript), and it was an incredibly fun project.

u/MoreOfAnOvalJerk · 10 pointsr/gamedev

Here's my general advice as someone in the AAA field as a programmer doing it for many years.

1 -----------------

If possible, think of your game in modular bits and primarily concentrate on the programming aspects. Block in the visuals with placeholder art if you need to, but a game with good design and mechanics doesn't need fantastic art to be fun (unless your game is animation driven or atmospheric like Dark Souls).

If you break your code into modular bits, you can tackle each part piecemeal and it's a lot more fun to work on. "This week, I feel like making a great input system. Next week, I'll focus on a data-driven AI engine", and so on.

2 -----------------

Keep things realistic. Understand what you can achieve and don't attempt to make a game that can do absolutely everything. Unless you actually want to spend decades making your game, you need to focus on actually finishing the game at a certain point... maybe. If your game follows the dwarf fortress model of being a perpetually unfinished game that you're always working on, that's also fun. Understand what you're getting into though if you go that route.

3 -----------------

Despite what you may think, ideas are not terribly original. It's all about execution. There's TOOOONS of indie games that are extremely successful and use an idea I had been thinking about. Unlike me though, they actually made the game and had the design sense to give it the production value necessary to sell well.

4 -----------------

If you're hungry to make something now, don't lose a hold of that. Keep learning in your spare time. Buy programming books off amazon to supplement your coding ability. I wasted too many years in university playing video games and not enough time learning to be a better programmer. A good high level starting book that can help give you an understanding of the overall picture is this: [Game Engine Architecture by Jason Gregory] (http://www.amazon.com/Game-Engine-Architecture-Jason-Gregory/dp/1568814135)

Just as you need to learn construction before you can build a house, you need to learn how to program properly before you can make a game. Keep focused and try to shorten the years you need to spend learning by reading books.

5 -----------------

most important unless you're working with a large team, don't worry about having perfect code the first time through. No matter what you do, it's not going to be correct. Try to do it to the best of your ability, but if you worry too much about clean code, you'll suffer from "perfection paralysis" and ultimately end up not finishing anything. This was another one of my mistakes when I was younger and I still catch myself doing it nowadays on occasion. Sometimes making mistakes is the only way to learn.

Don't be afraid to do things the wrong way first.

edit: grammar, added a link to a great book (no, I'm not the author)

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/Shadow-Master · 1 pointr/gamedev

Don't be suckered by a "Game Design" program. There are VERY few good ones. Most of them....as 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 learnopengl.com and open.gl 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/mrpopsicleman · 3 pointsr/retrogaming

Anyone remember the infamous Miyamoto quotes where he says DKC was not good? Apparently, they came from an interview with Steven L. Kent in the May 1995 issue of Electronic Games magazine. I've never read that issue, but Kent did reprint the quote in his book "The Ultimate History of Video Games" (great book btw).

> An interesting story lies behind Yoshi's Island. When Shigeru Miyamoto first demonstrated the game to Nintendo's marketing department, it was rejected because it had Mario-related graphics rather than the waxy, prerendered graphics of Donkey Kong Country. Rather than change to an artistic look he did not like, Miyamoto made the game even more cartoon-like, giving it a hand-drawn look. The second version was accepted

> Miyamoto, who is rightfully proud of his work, was offended that the first version was rejected. That same month, I interviewed Miyamoto and Tim Stamper, creator of Donkey Kong Country, together and noticed that Miyamoto was a bit hard on Stamper, making such statements as "Donkey Kong Country proves that players will put up with mediocre gameplay as long as the art is good."

> In a later interview, Miyamoto admitted that Yoshi's Island had been a touchy subject at the time:

> "I think that it happened after Donkey Kong Country was introduced. In comparison with the graphics of the Super Donkey Kong, there was not enough punch to Yoshi's Island. That was what I was told by the marketing people."

> "I intensified my hand-drawn touch on Yoshi's Island from the initial part of the program. Everybody else was saying that they wanted better hardware and more beautiful graphics instead of this art."

> "Even while I was working on the Super Mario World, I was thinking that the next hero should be Yoshi. Other people have created games based upon Yoshi. . . . Yoshi's World Hunters, Yoshi's Egg, Yoshi's Cookie, and so forth--games that I don't really like. So I decided that I should make an authentic Yoshi game."

Kent also repeated it on an episode of G4's Icons about DK.

I was glad that Miyamoto addressed this to IGN in 2010. For years, people used that quote as a lame excuse to hate on the DKC series.

> IGN: I was interviewing them earlier, and even though you weren't directly involved you were definitely very inspirational in making sure certain things were done in that game correctly. I'm wondering, which parts of Donkey Kong Country did you like versus not like? And what did you address with them?

> Miyamoto: The first point that I want to make is that I actually worked very closely with Rare on the original Donkey Kong Country. And apparently recently some rumor got out that I didn't really like that game? I just want to clarify that that's not the case, because I was very involved in that. And even emailing almost daily with Tim Stamper right up until the end.

Kinda like IGN founder Peer Schneider there in the above linked Icons video:

> "It's the epitome of bad game design. You're asked to collect all these different things that really don't do anything for the player. 5000 bananas. Yay, what does it get me? Nothing. It's just to keep you occupied and make you walk through the same levels again."

He pretty much just described most video games.

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: http://www.codewars.com/
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/Aisha11 · 26 pointsr/justneckbeardthings

As an aside, this:

> This will almost guarantee low self esteem because we esteem ourselves for doing esteemable things--accomplishing things, meeting challenges and overcoming them, taking on difficult tasks and succeeding, having a job and paying your way through the world. At the point that you are lazy and don't like yourself very much it becomes really easy to isolate and end up picking up hobbies which tend to isolate you further (video games, obscure and obnoxious media like anime--the seizure-y Japanese cartoons). It becomes natural then to connect with online communities of similarly isolated folks: hence, neckbeard.

Is quite a traditionalist viewpoint which greatly underestimates the potential of the individual. Video games are constantly written off as wastes of time because they do not produce any quantifiable, real world products. But they do have their benefits in developing a person. I can almost guarantee that the games this guy is playing is something like World Of Warcraft/DoTA/miscellaneous fantasy role playing game. These games offer pretty much exactly these things: accomplishing things (levelling, questing), meeting challenges and overcoming them (combat), taking on difficult tasks and succeeding (raids), having a job (role play) and paying your way through the world (economy). Do not underestimate how hard those types of games are, and how skilled the best players are. The AVERAGE young person of today will play 10,000 hours of video games before they are 21. According to Malcolm Gladwell, that makes the average young adult an expert in video games. Imagine how much a person obsessed with games has played. Don't be mistaken in thinking that time would be spent in a state of constant overstimulation, either. There is a lot of hard, repetitive, frustrating, tedious graft involved. But it is pursued because there is a set goal for every action in these games. Every wild boar slain is verifiable as a step towards a greater goal. This is really hard to find in reality, where goals are often ambiguous or non-existent, and your personal progress is not easily judged.

I used to play a hell of a lot of video games in my teens. I wasn't exactly a layabout, I did work (at a mind-numbing job) 8 to 5 on weekdays. All of my spare time was sunk into games though. Honestly, I didn't play them for the sheer enjoyment of the gameplay. I played them because they provided a very obvious framework for personal improvement (albeit virtual) in which I was ALWAYS progressing. I was also one of those students that seemed to have great potential but little motivation. The motivation was lacking because there wasn't I never had that goal-setting and progression framework. I suspect this may be true for many young video game obsessives these days.

I discovered this after making a concerted effort towards getting into shape (I was under 130lbs at 6'1, underweight). I loved how direct the feedback is from working out. Every rep of the dumbbell burns the muscle you want it to. Every finished workout leaves your muscles pumped, and achey the next day. Every week the scales tip in your favour if you worked hard, or against you if you didn't really work (or eat right). This is EXACTLY how many hardcore games work, except they flash the feedback in your face every few minutes of play. With pretty graphic design. And with a congratulatory musical motif. And a badge. And a new piece of armour or weapon skin.

Translating the kind of affirmation framework that games offer into the real world is SO fucking valuable, especially for enlivening obsessive gamers. For me I became so involved with personal development in the real world that games kinda fell by the wayside. I still really enjoy playing. I just don't nearly as much because I also have other pursuits to be getting on with. This book is a fantastic read on the growing obsession with games, and how gamers can translate their in-game experiences into real world value.

u/davidNerdly · 4 pointsr/web_design

Just some I like:


  • [You Don't Know Javascript (series)(]https://github.com/getify/You-Dont-Know-JS). 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/glitteredblack · 1 pointr/googleglass

I completely understand and you are more than welcome :)

How are you enjoying Game Arts program? When I was thinking of starting another degree I looked at MICA. I loved the school and the faculty was amazing, but I ultimately I decided that relocating to Maryland for another Bachelors was not in my best interest. I wish they had a graduate program that focused on Games.

If you haven’t read it yet I highly recommend “Reality is Broken” by Jane McGonigal. It opened my eyes to seeing game possibilities in scenarios I would have never associated with gaming prior to reading the book. If you are short for time, or just do better with visual learning, her TEDtalks are also pretty great as well. Are you looking to branch out onto your own past graduation, or even flirting with the idea? If so, you need to read Reddit co-founder’s Alexis Ohanian’s book “Without Their Permission.” I apologize for the unwarranted random book recommendations they just are really great reads, especially for game developers.

u/drakonite · 16 pointsr/gamedev

You may want to narrow that down a bit, but okay, here are some highlights, with amazon links to help disambiguate.

u/nEmoGrinder · 1 pointr/vita

Firstly, don't be confused: PSM is not Vita. It's a separate platform that Vita supports but is also available on tablets and smart phones. Releasing a PSM game means releasing on not just the Vita but also on touch only devices.

Second, you may be best served by first understanding computer graphics at a lower level. 2D and 3D are pretty much the same thing when it comes down to it, the biggest difference is in the projection used by the camera and the pipeline for your assets (as you'll need your models in a format that is supported by the pipeline or write your own pipeline). There are plenty of books out there but I highly recommend Real-Time Rendering.

PSM has support for 3D just like most other frameworks. A quick Google search got me this. Or, you can do everything yourself as you have access to the GPU via a very nice VertexBuffer API in the PSM SDK. While I wouldn't recommend it to get a game out quickly, I would suggest giving it a shot to better understand how a vertex buffer works and renders a model. It's a portable skill: being able to build a vertex buffer and shaders to render your own models is something you can take to and graphics framework.

Last thing is MonoGame, which is an open source and cross platform implementation of Microsoft's XNA. The reason why you see a lot of "how to transfer your project over" is because that was what it was originally meant for: getting your XNA project to use the MonoGame library to bring it over to other platforms. So, realistically, what you want is to look up 3D in XNA. Keep in mind though that PSM support for MonoGame is still under construction. I'd recommend not using the binaries on their site but actually pulling the latest from git and building the project yourself to make sure you have the latest code.

As for gravity/physics, there's nothing built into PSM or MonoGame the way there is in Unity, which uses the PhysX engine. You'll need to find an external library or write your own physics solver. Or, if your game doesn't need realistic physics, try to get away with a simpler model that only uses AABBs or spheres.

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.net 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/Javin007 · 3 pointsr/gamedev

I'd put them in this order: Experience, Knowledge, Portfolio, College

Nothing beats experience, and with it will come the knowledge. But it always helps to spend your free time reading, too. There's tons you can learn from books that will slip by you, even after decades of experience.

Then, a portfolio of your previous work is always more telling than a piece of paper saying you managed not to party yourself into a failing grade. (I'm a little salty about college.)

Game Patterns are going to be your most important thing to know if you want to get on the coding/development side. There's a book by Robert Nystrum - who worked for EA, and hangs out here on Reddit - that is one of my favorite books on programming patterns to date (and the patterns are not limited to game design). I would strongly recommend this as a starting point for any game dev.

Scrum is fine and dandy if you're working on a small team, but I wouldn't focus too heavily on it, especially not if you intend to work alone. Even if you're going to work on a small team, Scrum is a development lifecycle that you can learn in 6 minutes by looking at a chart. Don't worry about it.

The language of your choice is going to primarily be driven by what platform you're designing for, and what kind of game. Working on a AAA title? You're probably going to be in C++. Working on a game for Facebook? Probably going to be in Flash. Working on a game for cell phones? Probably going to be in Java. Looking to make a simple DirectX (windows only) game? Probably going to be in .NET.

As for anything else (assets / scripting / etc.) this will come with time. I would strongly recommend you start with a very, very simple do-it-yourself game (think Tetris). Even if it's a clone of another game. (But don't clone Tetris. They LOVE to sue people.) Minesweeper is always a good one to start with (being a strictly event driven game, you can whip up a fully functioning mine sweeper in an afternoon).

Then move on to another simplistic 2D game. (I feel like everyone should start by making an Arkanoid clone, though I've also helped people make simple 2D racing games and such.) Finally, move on to making something a bit more complex that would be worthy of your portfolio, without trying to jump into the next great MMO.

And who knows, maybe even one of your tech demos can make you filthy rich. (We all dream of being the next "Notch" with Minesweeper I meant "Minecraft"...)

Edit: I also left out the possibility of using a game engine for your development. Unity is popular, but there are more game engines out there than you can shake a stick at.

Personally, and this is strictly personal preference, I prefer the flexibility given by rolling my own code. Game engines can cut your development time by YEARS, but then you're forced to find, and work around any quirks or limitations the engines have (and they all have them). I find that so unbelievably frustrating to run into a wall like this that I'd rather take the extra eons to roll my own. (But then, I've never managed to release a completed commercial title, so there's that.)

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/moarthenfeeling · 4 pointsr/gamedev

Check out Game Programming Patterns, it contains lots of examples of how to write code with a good structure.

Game Engine Architecture is also very useful, but much more theoretical and heavy, but it explains nicely most of aspects of game engines and gives you a lot of ideas of how to approach different problems.

Don't halt your progress by just reading these books and starting only afterwards: they'll take a long time to finish. Start with basic things, for example Game Loop chapter. Make a simple, but good loop and start building things. Just get something playable on the screen first.

By the time you do it, you'll have some problematic code which you'll need to fix. For example, you may not be satisfied with how closely tied some things are. At that point you'll read about event queues and will find solution to a lot of problems.

And that goes for everything. You don't just start with perfect architecture, but with some experience you'll get an idea about what works and what doesn't. Some people write the same spaghetti for a long time and don't improve, but if you learn some good concepts, it's very unlikely that you'll ever return to worse practices.

And it's also very important to not follow bad coding practices: globals are mostly bad, spaghetti code also should be avoided. Don't write big functions, don't write big classes. Don't just hope that the code will become better just randomly. Having huge functions and lots of global variables everywhere makes it much harder to improve and refactor your code.

Feel free to PM me with questions about how to make your code structure better. I'm very interested in the topic and will be happy to help.

P. S. If you haven't read Effective C++ and Effective Modern C++, you really should. It's a great way to improve your code considerably.

u/[deleted] · 1 pointr/zelda

Yep, bought the Wii U BOTW version on day 1, played 80%, then took a break. (my roomate also had the some DLC on the wii U but I didn't play it yet).

Fast-forward, got my Switch (Mario + other future releases really sold me on it), and I decided to re-purchase BOTW on Switch + all DLC + the new awesome hardcover book (and also an amiibo or two. )

(The Wii U version still re-sells at a high price, sold mine on Ebay for $40.)

Now I'm going slower with this play through, (Ex. the Plateau part has many cute interaction moments w/ the old man if you don't rush getting the 3 temples and instead explore it well, felt a lot sadder for me this time around when he revealed his identity and left. )...So overall I've been finding a lot of interesting things that I either rushed past before or didn't have the skills for the first time around. Aiming to get all the temples and maybe the koroks, and I'm doing a lot of sidequests I missed + all the dlc this time. Overall, worth it and very fun I think.

**Also, I like playing on the Switch itself a lot more, overall looks slightly better (no noticeable lag and the draw distance for the background may be improved + they confirmed the sounds on the Wii U version was downgraded a lot for some reason? ). My roomate likes the portability of it, I myself like a big tv screen paired with the amazing pro controller the Switch has now. Hope this helped.

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/k_Reign · 1 pointr/gamedev

Thanks a lot! I actually have that first book bookmarked but I forgot to put it on the list.

I'm leaning closer and closer to purchasing a copy of The Art of Game Design: A Book of Lenses and it's one I'm actually really curious about.

On Game Physics Pearls - I peeked into the first few pages and it looks like something that I will pick up once I have a bit of experience in that area...does that sound about right or would you say it could cater to beginners fairly well?

Game Physics seems like it may be a bit more beginner-friendly but you are right about it not being a tutorial, which is kind of important for me at this step. I'm definitely bookmarking this until I know a bit more on the subject, though. I'll be taking a Physics course next September so it may be a good time to look at it after that!

Real-Time Shadows looks very interesting but I'm unsure to the difficulty level of it to a beginner. It sounds like I need to brush up on my math after three years of not using it very often at all.

Thanks a lot for the suggestions!

*I'll be taking a course on Linear Algebra here in the coming semesters, but that book does sound like a good introduction along with how it works within 3D programming. I'll keep a look-out on that for a while; do you think it would be very worthwhile to read that before something like Real-Time Rendering?

u/Aazadan · 1 pointr/cscareerquestions

So basically, what I do is I work for a large company that has almost no understanding of software.

Said company makes a lot of equipment that for various reasons is hard to provide hands on training for (sorry if I'm being a bit vague here, but I rant about work a lot on Reddit to blow off steam so I don't want to identify myself too much) so what I do is I recreate those things in VR (or sometimes AR depending on what better meets the needs).

By doing this, we have products that can be pulled up on demand, configured however we need, processes can be done in a way that mimics a hands on experience, and a lot of the logistical problems get removed. The end result is better quality training for workers, and a massively reduced cost as we eliminate time delays and travel overhead.

What we primarily work in is Unity. You do not need a game dev specific education to do game dev, but there are a few concepts that are used heavily in game dev that aren't used nearly as much in other areas.

Naturally, algorithms and data structures are still king. Efficiency is everything in game dev because you often can't just throw more servers at something to scale. You have to take your clients hardware into account as well. Poorer performance means your customers need better hardware, and that starts to limit your market. In my case, since I build everything for internal use, I get to basically specify the hardware they use, which makes this a lot more pleasant, it's analogous to making something for a console that's going to be exclusive to just one platform.

The most used data structures are often different as well. I would say that what I use is probably 90% lists, 5% dictionaries, 5% graphs, though the graph portion tends to make up the backbone of everything so it's extremely important.

Other than that, runtimes of algorithms are very important. For the stuff I do, we try to maintain 120fps for our headsets. So that means we need to handle all of the processing and rendering in each frame in 8.33ms.

Even mediocre code can typically execute in that time, and the real bottlenecks are on the CPU load side of things like lighting calculations and collisions, which more often than not fall on the artists unless you're doing graphics programming.

Math wise, there's typically a small amount of linear algebra if you have to deal with 4x4 matrices, but otherwise most of what you deal with tends to be things like vectors, normalization, dot product, and so on. If your university offers a class on 3d math it would be worth taking. If they don't, memorize this book and you're set https://www.amazon.com/Game-Engine-Architecture-Jason-Gregory/dp/1568814135

Unity and Unreal are the two biggest game engines, both of them use a component based system. So reading up a bit on good component based design patterns is a good idea as well. There are other game engines out there, and those may or may not use components. But, component design is going to be the future.

If you want to know anything else, just ask.

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/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 Lynda.com 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/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/Bibdy · 6 pointsr/gamedev

Alright, in that case it sounds like you can benefit from 'the general advice':

  1. Make a 'vertical slice' of the game as early as possible. Networking, animation, scene loading, GUI, etc. This will ensure that every major library and tool you need gets in there early, and you workaround the conflicts between them before it becomes a burden to insert a new one. One of the big mistakes on one an early projects was to leave the entire GUI to the last minute, but because that 'conflicts' with general user input it was a huge chore to workaround certain issues after a lot of the user input code was in place.

  2. Trello is a handy tool for managing tasks, but I'm sure there are other perfectly good alternatives. Despite what you use, update your task list often and make sure you break things down into bite-size chunks that can be accomplished within between an hour or an entire day. That way you're always making progress and keeping your motivation up as that list gets shorter (although it will inevitably keep getting bigger as you break things down more, or remember things you forgot originally)

  3. If its taking forever and motivation is going down the tubes, cut features. Don't debate, don't haggle, just start cutting features to trim down the workload and get yourself back on track.

  4. Source control. Use it. Git with Bitbucket, or TortoiseSVN and VisualSVN Server Manager are my go-to solutions. It's both a log of your activity and your only saviour when things go wrong.

  5. Don't be afraid to tell people about your project, and never tell yourself someone is going to steal your idea, because you need as much feedback as you can get. And the earlier the better. My wife asked me why I'm so cavalier about telling people about my current project even though I'm only a couple of weeks into it, and its because everyone has their own project that they believe in, and when I mention my project to someone they're more likely to give advice on how to make mine better, or more like their own project (unconsciously giving away their own 'secret sauce' recipe), than they are to steal it and build out a competing product. People will only bother stealing an idea that's already been proven to work.

  6. Read books on game development and clean coding practices (if you haven't already). You'll be amazed what great lessons people are willing to impart for next to nothing, or even free (like I'm doing for you right now, incidentally). Two of my favourites are Game Coding Complete and Clean Code - A Handbook of Agile Software Craftsmanship.
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/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".

Link: http://d3dvortex.blogspot.com/2005/07/programming-advice-from-john-carmack-i.html






u/be_bo_i_am_robot · 16 pointsr/INTP

I don't game anymore myself, save occasionally and rarely.

Of course there's nothing wrong with entertainment and diversions, and certainly nothing wrong with games, of themselves.

But people who get sucked into video games, and spend a good portion of their life and effort in it, are wasting their lives away, in my opinion. And I think it's unfortunate, and all too common.

People who game obsessively do so because they find their real lives unsatisfactory. So, they look for distractions. This is a similar impulse to people who lose themselves excessively in sports, fantasy stories, and so on.

Video games are literally designed to keep one engaged and returning. Just enough challenge to keep things interesting. Too easy, or too difficult, and most people simply walk away. But that sweet spot between easy and difficult, eustress, keeps pressing that dopamine button in the brain. And one gets hooked.

Compared to games, real life is far "too difficult." But here's the thing: the rewards for applied effort in real
life are much greater as well.

I like to think of myself struggling to "level up" in real life. Building a better career, better physical health, better social networks, more wealth, better family life, more knowledge, and so on. Sometimes I do well, and sometimes I struggle and I fall behind; but when I get it right, when I apply myself with the right habits, right disciplines, and correct methods consistently and regularly, the rewards are real, and way, way better than in games.

If I'm a hero in a game, that heroism is over the instant the game ends. But if I become a badass in real life, that's a completely different thing altogether!

Not to say that there's no room at all for games in life, or that we should get rid of them entirely. We should, like anything pleasurable (food, alcohol, etc.) learn to keep our use at a moderate level, lest we become addicted and let it run our lives.

I'm not against video games per say. But I feel it's all-too-easy to get sucked in, and fritter away one's life in them.

I'd rather spend 10,000 hours mastering the guitar, than mastering Guitar Hero.

However, we can learn a thing or two from games. Check out the book Reality is Broken by Jane McGonigal. I don't agree with all her premises, she's far more supportive of gaming than I am, but it's an interesting and well-thought-out read.

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/reddituser5k · 1 pointr/learnprogramming

I use to recommend skipping straight into game dev since that is what I did but recently I realized it is best to learn programming first. Which is why I stopped gamedev completely to relearn everything about programming.

I have not actually done most of the things I linked because I want to learn a lot more before startin game dev again. I have done (1) mooc.fi's intro to java part 2 and (2) the first two courses in the coursera python course so I know if you actually do intro to java part 1/2 and the full coursera course you will be ready enough to start game dev tutorials specific to whatever you want to create games on. I created 25+ game prototypes last year with less than those 2 courses teach..

1 is java programming, 2 is python programming but you make some games like asteroids, 3 is just a page describing how a JRPG works, 4 is multiple tutorials about gamedev, 5 is just a reddit post about do not repeat your self which I have learned from ignoring it that it is EXTREMELY important, 6 have not read yet but I am pretty sure it has to do with the reason I stopped gamedev to relearn from the basics, 7 I have not read but I most programmers recommend the book code complete and it has a similar name so it will probably be decent, 8 actual game dev

  1. http://mooc.fi/english.html - do intro to java part 1 and 2
  2. https://www.coursera.org/specializations/computer-fundamentals - do everything
  3. http://gamedevelopment.tutsplus.com/articles/how-to-build-a-jrpg-a-primer-for-game-developers--gamedev-6676 - just a quick tutorial to learn some basics of how jrpgs work
  4. http://gamedevelopment.tutsplus.com/articles/40-fantastic-game-development-tutorials-from-across-the-web--gamedev-3384 - I have only read a few of these tutorials but they are pretty nice

  5. https://www.reddit.com/r/gamedev/comments/3f16u8/an_important_game_programming_principle_dont/
  6. http://gameprogrammingpatterns.com/
  7. http://www.amazon.com/Game-Coding-Complete-Fourth-McShaffry/dp/1133776574
  8. https://www.coursera.org/specializations/game-development

    and.. maybe get a 6 month free pluralsight account from microsoft visual studio dev essential program thing and https://www.pluralsight.com/courses/encapsulation-solid

    I am not sure how useful the pluralsight encapsulation/solid videos will be yet but it has made me think of OOP differently..

    A quicker version would be just to do 1, 2, then whatever game framework/engine's tutorials you want.
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 https://www.amazon.de/dp/1466598646/ref=cm_sw_r_cp_apa_i_nay4AbC7P2BFB

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/sbsmith · 12 pointsr/gamedev

Hi PizzaPartify,
I believe that different companies/teams will place emphasis on different skills. When I was helping to hire software engineers for EA's motion capture studio, I liked to see candidates who showed a strong aptitude for engineering code to be maintainable. For me, this meant a familiarity with design patterns and software development processes (like Test Driven Development or Extreme Programming). In my department, much of our code was in C++ and Python. However, other departments would use languages like Java, C# or ActionScript - depending on the project.

It would be helpful to know what role you are applying to.

To answer your specific questions:

  1. If you're already familiar with C++, I would highly recommend reading Effective C++ by Scott Meyers (http://www.amazon.ca/Effective-Specific-Improve-Programs-Designs/dp/0321334876). Every C++ developer should read this.

    Regardless of the language you're working in, I would also recommend Design Patterns by the gang of four (http://www.amazon.ca/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612).

    A game-specific recommendation is Game Engine Architecture by Jason Gregory (http://www.amazon.ca/Game-Engine-Architecture-Jason-Gregory/dp/1568814135). It doesn't matter if you intend to write an engine or not, it is immensely helpful to understand how they work.

    I own all of the Game Programming Gems books but use them more as a reference library. The books above will be more helpful right now.

  2. I worked with Unity only briefly to prototype a game, so I can't really comment here.

  3. This is tricky. I think you will need to find a passion project in C++ so that you will just naturally learn more about the language. And speaking of passion: you need to really want the job you are applying for. I have seen qualified developers miss out on jobs because you could tell they were just looking for anything (rather than really being enthusiastic about the position).

    I hope that helps.
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/Azhain · 7 pointsr/roguelikedev

People talk about prototyping games a lot. Like, you have an idea so you build out a simple example so you can play it and see if it's fun on a basic level.

But what they don't really talk about, is prototyping code. It's hard to figure out how things fit together in a meaningful way if you don't already know the coding conventions or patterns that can help you build them.

As a self taught programmer whose work includes a good deal of coding now, I've gotten a lot of use out of building out small 'hello world' type examples of more complicated code structures.

Imagine you're trying to build a skyscraper, you wouldn't just try and build it straight out of your head, you'd follow a kind of miniaturized version of it, a blueprint. So that's what you should do as a programmer, make blueprints. Don't just make blueprints for your whole game, make blueprints for even the smallest sections of it if you don't feel like you completely understand it.

My wife is a senior-level project manager for a really large construction firm and her projects typically cost somewhere in the range of $500 million. When she's on the job-site supervising a part of the build, she doesn't refer to the blueprint for the whole project, she uses the blueprint for that specific part of the job. So if you're having trouble figuring out how to properly break a python game out into modules, don't look at coding examples of full games because you'll just find it overwhelming. Look for simple examples of python imports and module structure. But more importantly, build small examples of how that works using those examples to make sure it works how you're expecting.

Think of the game you want to make, and form some basic ideas about how it should fit together. Read up on programming patterns, game engine architecture, or artificial intelligence for games and whatever other topics interest you about game design. Make small code projects prototyping concepts that are interesting. I have a project folder on my computer that is filled with small examples of programming patterns, complicated data structures, skeletal game structures, and anything else that can serve as a blueprint for building something else.

So if you're reading and come across Entity Component Systems (ECS), and you think that theoretically sounds like a good way to build your game, don't start by trying to build a game using ECS. Build a prototype of an ECS pattern. Something really simple and instructive of how you would do it for a larger project, a blueprint.

For example, this is the actual code I wrote when I was prototyping one of my favorite patterns, the Service Locator.

class Service:
_audio = None
_graphics = None

def playermoved():
if Service._audio:
if Service._graphics:

class Audio:
def play_footsteps(self):
print("Pitter Patter")

class Graphics:
def animate_player(self):
print("Look at the player move")

audio_system = Audio()
graphics_system = Graphics()

Service._audio = audio_system
Service._graphics = graphics_system


And if you read the description, you'll see that this example doesn't really fully articulate the pattern as described. But that's okay, because the point of the code blueprint is to experiment with implementing concepts in a way that works for you.

u/TurkishSquirrel · 3 pointsr/learnprogramming

It depends a bit on what areas you're interested in. For interactive graphics you'll likely do OpenGL or DirectX or such.
Non real-time graphics usually means ray tracing or some variant like photon mapping where you want to produce physically correct images, with flexibility depending on your art direction e.g. Big Hero 6. With ray tracing you're essentially simulating how light interacts in the scene.

Here's some useful books/links for real time graphics:

  • Real-Time Rendering this is a great book covering a lot of theory/math topics behind real time graphics techniques, so it's agnostic to whatever rendering API you use. The book's website lists more graphics related resources and is quite good.
  • OpenGL Superbible good book focusing on OpenGL, written for beginners with the API.
  • open.gl very good introductory tutorials for OpenGL, I just wish it covered some more content. Should give you a solid start though.

    Here's some for ray tracing:

  • Physically Based Rendering this is basically the book for ray tracing, the 3rd edition should be coming out this spring though so if you want to save some money you could wait a bit. There's also a website for this book.

    For general math topics I also recently picked up Mathematics for 3D Game Programming and Computer Graphics which looks very good, though I haven't gone through it as thoroughly.

    As mentioned already /r/GraphicsProgramming is a good subreddit, there's also /r/opengl for OpenGL questions.
u/kleinbl00 · 8 pointsr/TheoryOfReddit

TL;DR: The conflict over "power users" is due to the fundamental anonymity mismatch created by a site that creates usernames, tracks user involvement but permits no user identification or community beyond 15 characters and two scores. If you care to learn more, read on. If you don't, the following will bore the shit out of you.

I've given this a lot of thought. I've been fortunate to befriend an extremely intelligent social media guru (in the academic sense, not the SEO sense) and the reading list I've gotten off of her has been illuminating as fuck. The following theory owes its creation to the following books:

You are not a gadget

Predictably Irrational

Reality is Broken

The Starfish and the Spider

Further discussion can be found here and here. I realize it's pretty goddamn rude to front-load a conversation with a bibliography and footnotes but I want to emphasize that this is not something I treat flippantly. I have never had as much influence over the behavior of the world as I feel we all do at Reddit and the behaviors we see and experience are, in my opinion, a new social ground that deserves study. Using the 10/10 rule, I believe that public forums such as Reddit are likely to become the preeminent form of communication in the future and wrapping one's head around the foibles and failings of the medium while it still remains the domain of the early adopter is an investment that will pay off in spades going forward.

      • First off, the statement "everybody wants to take the idols down a notch" is indisputable truth, for varying values of "everybody." I would say that messages of support are far more likely to come in via PM and that messages of disparagement are far more likely to come in via public forum. The end result is that "take the idols down a notch" is a socially-condoned behavior while "worshipping the idols" is something that will generally get you shunned. The exception is when Reddit at large is busily worshipping you - post something that Reddit loves and people saying "I love this redditor" will get upvoted. Even then, however, the number of PMs of support you get is generally 5x the number of public accolades. The prevailing culture of Reddit is very much aligned with the (apocryphal?) Japanese proverb "The nail that sticks up will be hammered down."

        The reason this attitude prevails is due to the tripartite nature of Reddit and the incongruities it causes. Reddit is, at once and simultaneously,

  • A news website

  • A video game

  • A social site

    No one place can be all three of those things without friction.

    From a "news" perspective, Reddit could be compared to, say, Gizmodo. The difference is that Gizmodo is a top-down, conventional news site where a select few insiders produce content for a sea of outsiders. The boundary is obvious there - if your name is on the article, you're a for-pay employee. The criticism heaped upon Gizmodo is entirely appropriate because they're journalists. Letters to the Editor date back to the Revolutionary War. Reddit, however, has most of the same characteristics as Gizmodo, minus the editorial wall. So whereas "yell at the name you recognize" is a tradition well-served and understood in the world of journalism, in the everyone-as-editor world of Reddit "yell at the name you recognize" tends to concentrate the insults from those who contribute the least on those who are contributing the most.

    From a "video game" perspective, Reddit might as well be Farmville. We see each other's scores growing and when someone else's score grows vastly faster than ours, we're likely to presume they're cheating (particularly when the rules of the game are largely secret and passed down amongst users primarily via folklore). Reddit is also one of the least-rewarding video games ever created, as there are no multicolored sprites or triumphant marches played when a comment or submission scores well. As such, the "hipsterism" of Reddit promotes attacks on those with high karma because, after all, only nerds would spend so much time on a video game that can't even hold a candle to Pac Man. Finally, scores on Reddit are highlighted prominently and are an intrinsic part of the "game" even though the scores hold absolutely no value. Reddit puts "players" in a gold-farming frame of mind without giving them anything to spend their gold on.

    Reddit falls apart the most as a "social site." Unlike standard PHPBB communities, you can click on a username and learn exactly nothing about them on Reddit. You can't even see what their top contributions have been. Reddit awards users with a "trophy" for verifying an email address - which occupies the same lofty perch as producing the top daily comment or top daily post on a site with 500,000 users. Reddit is barely removed from the 100% anonymity provided by 4chan - with the exception of the "power users." The fact that we borrowed the term from Digg (where it meant something) and use it here (where it totally doesn't) only makes matters worse, particularly when combined with the poorly-understood mechanisms of Reddit's anti-spam filters. Most Redditors presume that they get a "posting too fast" warning in any given subreddit because they lack the karma to bypass the filter. When I mention it, people are usually flabbergasted that I run into the same problem, despite having a top 20 or 30 combined karma score of all time.

    And it's the anonymity mismatch that causes the biggest problem, in my estimation. Ask any redditor to name 5 reddit accounts other than his own and he'll have a hard time. Of those he remembers, dollars to donuts they'll be names that he either a) sees a lot or b) really pissed him off in a flamewar at some point. The rest of it is entirely too anonymous to remember. Probably half of p-dub's comment karma comes from people upvoting him so they could say "do your homework." Probably 3/4ths of L3mm1w1nkz's comment karma comes from his signature "PS I am a shithead." Gimli_the_dwarf, despite having a lot to say and extremely insightful posts, is going to be remembered for "And my axe." This is why novelty accounts flourish on Reddit - they're easy to recognize, easy to remember, and easy to reward.

    The flip-side, of course, is they're also easy to punish. The reason Randall doesn't post as xkcd any more, if I had to guess, is that as soon as people decided that xkcd wasn't indisputably funny people jumped on him. That's why so very many of the names that were prominent on this site a year ago are now gone - the opportunities for interaction are so very rare that -
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/LuminousP · 6 pointsr/gaming

I kind of sounds like you're whining.

go to /r/gamedev

If you know how to program effectively and you want to do something solo. Learn how to Art. If you know how to Art, learn better programming skills.

here's some of my favorite book recommendations


Game Coding Complete

The fucking bible as far as books on game development goes. Made by one of the senior developers on the Ultima series. Seriously. Good book.

Game Engine Architecture

Also a really good book, teaches you more about usability beyond yourself if you ever find time or reason to expand your team.


Drawing on the Right side of the brain This is a very good text for getting you out of your comfort zone and into the mindset you need to have to do good art. This book won't teach you how to make good art, practice will, but its a good first step.

I'd also start looking around, take a look at Blender, we have a great community at /r/Blender and start learning how to do modelling, theres some great tutorials on the gamedev subreddit, as well as a number of classes on Programming and one on Game Concept art at University of Reddit.

Now get up off your ass and start building a game. Pixel. By. Pixel.

and if you have any questions, shoot me a pm, I'd be glad to help!

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 Archive.org 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 http://web.mit.edu/comm-forum/mit7/subs/agenda.html 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/OskarSwierad · 2 pointsr/computergraphics

I haven't read it yet, but it was recommended on http://realtimerendering.com book list and it's got good reviews on Amazon.
3D Math Primer for Graphics and Game Development, 2nd Edition
by Fletcher Dunn et al. https://www.amazon.com/dp/1568817231

As for calculus, there is an old book Calculus Made Easy by Silvanus P. Thompson. Free to download at Project Gutenberg. https://en.wikipedia.org/wiki/Calculus_Made_Easy

If you find KhanAcademy's math lessons too long or just want text instead, check out amazing Paul's Notes. This is by a professor, started intially for his students. http://tutorial.math.lamar.edu/

More cool resources:

CodingMath on Youtube. Tightly edited. To the point. https://www.youtube.com/channel/UCF6F8LdCSWlRwQm_hfA2bcQ

3Blue1Brown on Youtube. More general math. https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw/videos

Nature of Code. A book about programming behaviors and forces. Could be an easy first step to understanding physics- and AI-related algorithms. http://natureofcode.com/book/

u/sipid · 10 pointsr/truegaming

Excerpt from "Reality is Broken: Why Games Make Us Better and How They Can Change the World" by Jane McGonigal.

The book can be found on Amazon.com here: Reality is Broken

Ms. McGonigal's TED Talk can be found here: Gaming can make a better world

> ".... But beyond a certain playing threshold - for most gamers, it seems to be somewhere around twenty hours a week - they start to wonder if they're missing out on real life.

> Technology journalist Clive Thompson has a name for this phenomenon: gamer regret. And he'll be the first to admit that he suffers from it as much as any other gamer. Thompson recalls checking his personal statistics one day - many games keep track of how many hours you've spent playing - and was shocked to see that he had clocked in thirty-six hours playing a single game in one week - as he described it, "a missing-time experience so vast one would normally require a UFO abduction to achieve it." He found himself vacillating between pride in what he's accomplished in the virtual game environment and wondering if all that hard work had really been worth it.

> As Thompson writes: "The dirty secret of gamers is that we werestle with this dilemma all the time. We're often gripped by ... a sudden, horrifying sense of emptiness when we muse on all the other things we could have done with our game time." He admits: "The elation I feel when I finish a game is always slightly tinged with a worrisome sense of hollowness. Wouldn't I have been better off doing something that was difficult and challenging and productive?"

> This internal conflict plays out in discussion forums all over the Web. The twin questions "How much time do you spend playing games?" and "How much time is too much?" are ubiquitous in the gaming community . . .

> ... What's needed is for games to go beyond flow and fiero, which make us happy in the moment, to provide a more lasting kind of emotional reward. We need games that make us happier even when we're not playing. Only then will we find the right balance between playing our favorite games and making the most of our real lives.

> Fortunately, that's exactly what's happening in the computer and video game market today. Games are increasingly teaching us the four secrets of how to make our own happiness - and they're giving us the power to make it anytime, anywhere."

I'm still working my way through the book, but this seemed like a relevant excerpt to this discussion, esp. as to why this type of discussion is common on this subreddit.

Edit As an aside; the way I maintain interest in games is by playing a lot of online multiplayer stuff, mostly Team Fortress 2. As the situation is always changing and evolving it's easier to stay in the flow, and as I'm constantly running into players better them myself (difficult to overcome obstacles) the fiero stays pretty satisfying too.

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/loucksj · 66 pointsr/magicTCG

Oh oh, I get to brag now! Thanks for summoning me, /u/costofanarchy!

I was in his first class there! Characteristics of Games. He and Skaff were working on their book, which I'm thanked in. Likely for my work as their TA the next year, after which Skaff hooked me up with an interview my first game design internship. [Edit: I'm still a game designer to this day! Big thanks to them.]

Fun fact! One day after class they asked me "so how do these new Planeswalker cards work?" It's not every day I get to brag about explaining to Richard Garfield how a new Magic card type works.

Shit, that was...like ten years ago. Time, man...

Anyway, in my memory Richard is a pretty calm teacher. Certainly knowledgeable, but the class was pretty basic and targeted at a wide crowd. A good intro, for sure. I bet he'd shine in a deeper discussion, and at the time he was usually willing to chat before or after class. He's somebody that tends to be careful with his words. Skaff has the stronger personality in that setting, so he tends to stands out more in memory. They're a good team.

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/rylandgold · 6 pointsr/programming

/u/rampion already made a great recommendation of Charles Petzold's Code that I highly recommend. Another great one is Tao Te Programming which is barely a book (in terms of length), but is available for free online.

I also really loved Game Engine Architecture but obviously that's pretty niche. I have more and will do my best to add them later

u/csp256 · 2 pointsr/cscareerquestions

You need to learn architecture. For this do NAND2Tetris and get some used architecture textbooks from the computer engineering department.

Caches are a big deal. People forget they exist, but you're going to need that knowledge in embedded. DMA's, or even normal memory reads, might only be coherant with some cache levels. That sentence should make you gag.

It gets worse when you start to think about concurrency; which you should, frequently, because it isn't the 90s anymore.

Get used to debugging. A lot. Learn practices that make that easier. I mean both learning archaic shit like ddd and writing unit tests, following best practices, etc. In embedded you're going to be violating best practices often, but it is important that this teaches you "... so the rest of my code is as clean as possible" than "... what's one more sin next to so many?".

Most architectures are the same nowadays but the GPU is a notable exception (though less and less each generation). Learn CUDA - use Udacity's course on the subject.

What every programmer should know about memory.

Start writing projects in C++. Go ahead and become a real C++ nerd. constexpr everything you can. You don't need other languages except maybe barebones Python, Bash, and the Turing complete language known as the Preprocessor. You'll learn ~what you really need to know of C from C++.

Get very familiar with 'Godbolt'.

Write for maximal performance. This is a dying art. You'll have a competitive advantage if you're good at it. If you don't become filled with rage by the word "premature" you're not optimizing enough.

Profile your damn code!

Profile your damn code, but with a different link this time!

Know your latency numbers.

Make SIMD a part of your daily life. You might not always have vectorization, but this is the easiest way to show you're capable of exploiting hardware features.

Computer graphics people are relatively well-respected by the embedded software community, and there is a lot of overlap as they use similar skills. Taking a detour through graphics is a good idea even if you don't plan to work in graphics. It's fun, too!

One way or the other you have to find a relevant application domain and solve problems in it... if not graphics try: video game programming, GPGPU, robotics, control systems, computer vision, animation, networking, VR/AR, and a bunch more.

Do not put VHDL or Verilog on your resume without first being sure you're masochistic enough.

Learn to start being very choosy in what advice you listen to. Most people solve problems under a totally different set of constraints, and what they'll preach until the sun burns out might be pants-on-head stupid for you.

You might already have picked up some of those funny ideas from being a web dev, so be on the watch for that.

The book Game Engine Architecture has a lot of real world wisdom from a much more relevant view, so read it.

Also, most people are taught in a way that is not really beneficial to an aspiring embedded SWE (e.g. Java schools). Most people have to learn that type of stuff as they mature as a programmer... hence the requirements. You can be hired into these types of positions right out of university, but you have to show a knack or focused interest in it.

And to be frank, it is just plain harder than web dev or slapping CRUD apps together, so fewer fresh grads would be able to do the work well even if they followed the 'right' path in university.

You can get some experience by writing on an embedded platform, but unless you want to probably shouldn't. The principles I am describing are more important.

Do one or two solid projects. Not dozens. Not perfect. Not amazing. Just one or two simple-but-pretty-good things in your portfolio, that show that you are not just a web dev or Java School Student.

Get relevant work experience as early as possible. Relevant means same skills, not same application domain.

Remember, it being hard isn't a bad thing. It is a barrier to entry that once you cross becomes a competitive advantage. The harder it is, the greater the advantage. Always double down on the hard technical skills.

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 (https://www.amazon.com/Level-Guide-Great-Video-Design/dp/1118877160) 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 http://www.bbc.co.uk/writersroom/

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 http://tvtropes.org/ 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 celtx.com straight away because it's easier for you to get into scene thinking and also for your future co-workers. Celtx.com is free script writing tool, you should look up. (https://www.celtx.com/index.html)

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/Hargbarglin · 2 pointsr/classicwow

One of my favorite books is Characteristics of Game Design (https://www.amazon.com/Characteristics-Games-Press-George-Skaff/dp/026201713X).

By suggesting the possibility of a system that is absolutely not an inference that I "want" said system or that I think it's "good" or alternatively "bad". I am well aware of what terms I used, what they could mean, etc. but for a conversation like this I didn't think it was worth a whole lot of thought. I was just saying that such a thing "could" exist. But now it's stuck in my head a bit.

A really small "deck" mechanic that could possibly be scaled to mmo action game speeds might be something like the Crusader class from 3.5 D&D in The Book of Nine Swords. I had to refresh myself a bit on how it worked.

They start with five "manuevers" at first level, but when they start combat they only have two of those readied. You "could" use dice or any other random method to determine which ones in table top, but cards were a pretty convenient way to do that. It was a tiny deck, but still a deck. You would get back additional manuevers every turn. Where it got interesting was eventually between some feats (and stances?) and more manuevers at higher levels and some class features they could be played quite a bit like an MMO tank, shrugging off a portion of damage and using that to reset some of their manuevers.

It was a small enough number of decisions that I think you could play something like that pretty quickly. Maybe throw in something like the world of warcraft monks stagger mechanic where as they mitigate damage they add "wound cards" to the deck and they can clear "wounds" with certain manuevers, or take more of them or use them to deal damage with counterattacks.

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/ClayCrucible · 2 pointsr/boardgames

The book Characteristics of Games does a good job of talking about strict elimination versus logical elimination versus effective elimination. I think this is relevant here.

Strict elimination: The player is literally out of the game.

Logical elimination: The player can't win, but they're still in the game (aka mathematical elimination).

Effective elimination: While there's a theoretical chance the player could win the game, it's not realistically going to happen.

Strict elimination isn't a problem (except for the player who has to twiddle their thumbs while everyone else keeps playing). It can be boring for the eliminated player, but it doesn't break the game.

Logical elimination is horrible. It can lead to kingmaking in multi-sided games.

Effective elimination is almost as bad, because the effectively eliminated player may want to be done, but the other players will want them to play it out since there's still some uncertainty.

So, back to the original question: If the game has reached the "logical elimination" point, as in the original example, I think it's appropriate for the losers to congratulate the winners on their victory. "Ah, good game - you've got the win. Congrats. Another game?" Forcing the eliminated team to go through the motions seems like the worse evil to me than denying the victors the pleasure of the final couple of moves toward the official victory.

Effective elimination would be trickier. One player / team feels that the other has an insurmountable lead, though they theoretically have a shot at victory. In this case, the game should continue, but everyone should try to make it end as soon as possible. (For instance, being down to just a couple of territories in a game of Risk.)

These issues can be a symptom of poor game design. Fortunately, they're rare in most modern board games.

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/jarkyttaa · 1 pointr/Gaming4Gamers

I know this isn't a movie, but The Ultimate History of Video Games is a pretty great read. By this point, its age is showing a bit (it only goes up through the end of the 90's), but it covers the early history of video games really well, and includes a number of pretty great anecdotes in there.

u/ketura · 1 pointr/gamedev

Since some other people are trying to be cute, start with this wikipedia page here: https://en.wikipedia.org/wiki/Software_design .

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/JoeyDeVries · 3 pointsr/opengl

I'm working on a large OpenGL tutorial site that is specifically aimed at beginners trying to learn modern OpenGL with clear samples and easy-to-understand sections. It's not finished yet but should provide a good resource for getting started and getting a hang of shaders. Take a look at www.learnopengl.com and see if it's something that suits your needs :)

Also, take a look at:
Real-Time Rendering: great book on modern OpenGL with a focus on shaders (although not specifically aimed at complete beginners).
Open.gl: good resource for starting modern OpenGL. Easy-to-understand.
Arcsynthesis tuts: very extensive OpenGL tutorial that goes into much more detail, making it more rewarding, but also more complicated for beginners.

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/arcadiegirl · 1 pointr/pics

You're ignoring the immense opportunities for learning present in video games and technology. You might find this article interesting. Or this one. Or this book.

This is my field of research so I get a little stressed out when people make claims like this without thinking through what they are saying, but I hope you may reconsider your position. Also, if anyone else wants more info or good articles on this topic, I'm happy to share; it's quite fascinating.

u/simpledave · 1 pointr/Harmontown

This depends on what type of D&D you want to play. I play 4e. From my understanding of previous editions, much more of 4e happens on the table. If you have experience with tabletop games like I, and my friends, had, you should try this out. If not, it's very easy to pick up.

I'm pretty sure that Spencer is DMing a Pathfinder game in the podcast. It's definitely 3.5.

Anyway, back to the starting point. If you're interested in trying 4e, skip the starter set. It's useless. It gives you enough information to get 4 classes to level 2, and incorrectly at that. The provided adventure is boring, and you're not left with a whole lot to do after that.

If you're looking for the cheapest game possible, you'll need:

Players Handbook 1 http://www.amazon.com/Dungeons-Dragons-Players-Handbook-Roleplaying/dp/0786948671/ref=sr_1_1?s=books&ie=UTF8&qid=1381660555&sr=1-1&keywords=4e+players+handbook

Monster Manual 1 http://www.amazon.com/Dungeons-Dragons-Monster-Manual-Roleplaying/dp/0786948523/ref=sr_1_1?s=books&ie=UTF8&qid=1381660601&sr=1-1&keywords=4e+monster+manual

Core Rulebook http://www.amazon.com/Dungeons-Dragons-Dungeon-Masters-Guide/dp/0786948809/ref=pd_bxgy_b_img_y

If you want to play 4e correctly, these are the three books you need. Characters, maps, and monsters can be improvised as needed.

If you're willing to spend more, I would suggest this map:


With some wet erase markers (WET, not DRY), you can build any dungeon, castle, or moon colony you can imagine. Beyond those three books, I think this is the best investment you can make to immerse yourself and your friends into another world.

Wizards provides character sheets at the backs of some books, but there are better ones on their website for free.


Last, if you really want to make things as simple as possible, subscribe to D&D Insider.


It's worth it for the character builder alone.

EDIT: Don't forget the dice!

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/nfojones · 11 pointsr/politics

Well put. Values that seem intrinsic to unmitigated consumerism which, as you describe, appear to take root at the earliest stages of success/wealth.

Desire for power and money have always been there but we've exponentially multiplied the variety of things to want and have power over and compare ourselves to (your mark of distinction).

I never finished the book Reality is Broken but it begins by detailing the value of using common gaming techniques (points/rewards/achievements) to turn life into a game in places where it can be helpful; like house chores. Maybe she eventually covered this further in the book but it made me realize how much of life already plays out like a game whether we choose to acknowledge it or not. Social media is the poor man's wealth with all the personal validation extracted from likes, retweets and upvotes.

Its no surprise that in a world with billions of people we'd see people competing viciously over money and power. Once having tasted the rewards, humans apparently have a bottomless appetite for competition and personal aggrandizement.

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/DanBrink91 · 2 pointsr/gamedev

I don't know enough to answer you without knowing I'm not completely wrong but I can point you in the right direction.

I recently purchased Game Coding Complete http://www.amazon.com/Game-Coding-Complete-Fourth-Edition/dp/1133776574/ref=sr_1_1?ie=UTF8&qid=1334788077&sr=8-1
and it describes a model very similar to what you're talking about (separation of game and rendering). I can't recommend this book enough, I'm only 5 chapters in and I'm already loving it. The fourth edition is freshly updated as well.

Here's the source code from book http://code.google.com/p/gamecode4/ Maybe you can answer your own question by reading it (its C++ / directx)

Sorry if you have no interest in buying a book but what you described fit the book fairly well, Good luck!

u/Madsy9 · 1 pointr/opengl

You didn't post a question, so it's difficult to know what exactly you want. If you just need to implement space partitioning with a BSP tree, read the good old BSP FAQ

If you need more general graphics background, check out:

  • Websites like Flipcode and GameDev.net

  • Buy some books. GraphicsGems and Michael Abrash's Graphics Programming Black Book are maybe old, and the code examples are certainly outdated (They are from the old MS-DOS mode 13h VGA days), but they are excellent in teaching you the fundamentals of computer graphics theory that never gets old. Like how polygon rasterizers work, space partitioning, polygon clipping, etc. When you want to learn more about more advanced effects, look into the Real-Time Rendering series. For a slightly more updated book on the same topic, check out 3D Math Primer for Graphics and Game Development, but I think it's a bit thin for the price (I have the 1st edition myself).

  • Forums with people who actually specializes in computer graphics, like Ompf2 and DevMaster

    If you have more questions, please be more specific. I might help you with more resources.
u/KarateRobot · 2 pointsr/rpg

If you are planning on playing 4e with a group of non-gamers, go for the Red Box since it's relatively cheap and is designed for non-gamers. It's not the complete version of the game, it's a tutorial adventure to teach players some core concepts .

If you decide to go with the full game, you need the Players Handbook, Dungeon Master's Guide, and Monster Manual. These are three separate books. There are other volumes to each of these (for example PHB II) but you don't need them.

There's also an online subscription called D&D Insider that I've never used, but it seems like about 50% of people find it invaluable and the other 50% call it a racket.

Downsides to switching are well covered in this thread. Personally I found 4e to be so oriented towards combat that every other part of the game suffered. It felt like everything except the tactical combat module had been tacked on half-heartedly.

But this is after 20 years of playing older editions of D&D, so I may just be predisposed against the design changes they made in a way that newer players won't be. You may love it, and that's all that matters.

I think the better question though is what are your reasons for choosing D&D? Is there something about the system that makes you think you'll like it? What are you looking for? What did you like and dislike about Pathfinder? There are literally hundreds of other systems out there, you may want to look around at some of them, and I know /r/rpg loves to give recommendations if you want them to.

u/MrToolBelt · 1 pointr/gamedev

Ah, I could see that. If you grab a calc book you should be able to get lighting etc. And the rest is all linear algebra. There are a lot of really good books on the topic, but one that's really good for graphics beginners is frank Luna's, "introduction to 3d game programming" series. It doesn't matter if you're using glad or directx (you should), its a great math primer for the first few chapters. This is also a great book: http://www.amazon.com/gp/aw/d/1568817231/ref=redir_mdp_mobile

u/Arluza · 2 pointsr/DnD

the core rulebook is on Amazon for ~$10 used. That is a good starting point for you guys as well. There are no starting adventures in that book, but I know that there are lots of free adventures avalible online, Here are some free adventures published by the game makers.

I've run the first adventure on that second link before for my gaming club before. It is solid.

u/Ringo48 · 2 pointsr/programming

I can't tell exactly what you want to improve upon. If you just want better intersection algorithms/code, look at:


The real performance gains in ray tracing, though, are parallelization and reducing the number of intersections tests that need to be done at all.

Parallelization is trivial.

For reducing intersection tests, you're best bet is some kind of space partitioning algorithm, like an octtree, k-d tree, or grid. It's not very hard either. The main idea is to pre-process the input into a grid-like data structure and do intersection testing by "walking" along the ray, through the cells. In each cell, do an intersection test with each object in that cell. Find the closest hit, and bail out. Traversing the grid is super easy and a lot faster than intersection testing. And (ideally) grid cells have very few objects, so the number of intersection tests is cut down a bunch, too.

The original paper for that technique, if you can find it, is this: http://portal.acm.org/citation.cfm?id=95111

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/namelessted · 2 pointsr/skyrim

Just giving a glance at the full playlist, I can see a couple of one-off filler episodes. I can also understand the need to expand to doing a genre episode, like MMO, instead of just sticking to a single company.

This kind of content in general is the stuff I love. The recent Game Informer has something like a 10 page article on Ubisoft that is absolutely great. One of my favorite books is still The Ultimate History of Video Games

I think I could literally watch 100 hours of content just like "All Your History".

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
: Backstory

  • Setting
  • Theme

    System Design
    : Rules and underlying mathematical patterns

    Content Design
    : Characters
  • Items
  • Puzzles
  • Missions

    Game Writing
    : Dialog
  • 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. http://processing.org/

If you want to design games then pick up this book http://www.amazon.com/Rules-Play-Game-Design-Fundamentals/dp/0262240459

If you want to jump into 3d, try out http://unity3d.com/. 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: https://www.amazon.com/Game-Mechanics-Advanced-Design-Voices/dp/0321820274/

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/kzisor · 2 pointsr/gamedev

I've been doing a lot of research lately on the best books in programming in general to start a blog about each one and their importance to an inspiring developer. These are two of the books which will help you greatly getting started on designing your first game.

The first book is completely about design patterns, you will need to learn about these as creating software in general requires knowledge of how specific design patterns work and when you should use those patterns. The second book in the list is a complete guide to creating a small sample game, albeit not in libgdx, it should provide you with enough material to get you started.

  • Design Patterns
  • Game Code Complete

    I also recommend the Game Programming Patterns and Game Engine Architecture books which were stated in a previous comment. I have both these books as well as the Game Code Complete book and will be buying the Design Patterns book I mentioned as it is the most highly recommended book for any developer.
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: https://www.youtube.com/channel/UCaTznQhurW5AaiYPbhEA-KA

and this:


Troll and read all the articles from this: http://www.gamasutra.com/category/design/

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: http://www.rpgcodex.net/

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: http://lemmasoft.renai.us/forums/index.php?sid=59e38b38f69f9e5b5c271de0843d2569 ,

Server Multiplayer: Games like space station 13

A forum where you can find information on games of the above types: http://forums.tigsource.com/

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/yanalex981 · 4 pointsr/computerscience

I taught myself bits in high school with "C++ for Everyone". Despite its rating, I thought it was good 'cause it has exercises, and I did a lot of them. Works really well for laying foundations. I didn't go through the whole book though, and knowing the language is only part of the battle. You need to know about algorithms and data structures as well. For graphics, trees seem really useful (Binary space partitioning, quadtrees, octrees etc).

After university started, I read parts of "C++ Primer", which was when the language really started making sense to me. You'll get more than enough time to learn the required amount of C++ by next fall, but CG is heavy in math and algorithms. If your CS minor didn't go over them (much), my old algorithms prof wrote a free book specifically for that course.

For using OpenGL, I skimmed the first parts of "OpenGL SuperBible". For general graphics, I've heard good things about "Mathematics for 3D Game Programming and Computer Graphics", and "Real-Time Rendering".

Careful with C++. It may deceptively look like Java, but honestly, trying to write good idiomatic C++ after years of Java took a major paradigm shift

u/LokiNinja · 3 pointsr/gamedev

It seems like you're on the right path. I started working with major engines like unity and UDK. In addition I started writing small game clones (Pong, Pac Man, Asteroids) in C++ using DirectX. Once I was comfortable with all that I started working on my own flexible/reusable engine and writing my own tools. Using Unity and UDK gave me a good idea of what sort of features I needed to support and helped me develop comprehensive use cases. The whole point is that it is really an individual process. I don't have a degree, just been developing in C++ for the past 15 years. Tons of good literature out there too! http://gameprogrammingpatterns.com/ http://www.amazon.com/Game-Coding-Complete-Fourth-Edition/dp/1133776574 http://www.amazon.com/Game-Engine-Architecture-Jason-Gregory/dp/1568814135. Those are some of the resources I found particularly helpful.

u/Cynicle · 2 pointsr/cscareerquestions

My bad, I meant the second major in game dev*. I think you're better off just taking maths and learning the physics + maths required for engine development (realtime and 3d rendering). Also, I recommend picking up this book: https://www.amazon.com/Real-Time-Rendering-Third-Tomas-Akenine-Moller/dp/1568814240 but it requires knowledge of linear algebra (which shouldn't be too hard to learn, but it definitely will take a while).

Best of luck :)

u/capnramses · 2 pointsr/opengl

part of being a scientist is reviewing a wide range of references - you might be expecting a bit much from one online source. let me suggest this one and this one, and especially this one are going to have the general graphics pipeline explanation chapters that you're looking for. if $$$ is a problem (and it is for most of us with these texts), perhaps you can insist that your local library gets them?
you can also pick up some good ideas by visiting course pages for some of the more well-known university graphics programmes - some of them have slides online, otherwise check out their reading lists - these guys are the best in the world at teaching graphics. read what they read.


but i suspect, your best bet for this sort of stuff is actually Eric Haines' online course, which has a free version. it uses webgl but the main concepts are exactly the same as desktop gl and it's really very good https://www.udacity.com/course/cs291

also, interesting side note - Myers-Briggs has been widely discredited. it's actually based on Jung's germanic mysticism, which comes from ancient European magic. earth/air/wind/fire, alchemy, the four humours, the four personality components etc. etc. not a drop of science in it, but employers insist on you doing it.

u/tyro_neophyte · 2 pointsr/newjersey

If you are really serious about learning and wanting to play D&D, I would strongly advise getting the 4th Edition Player's Handbook. Then after that I would suggest getting the Dungeon Master's Manual.

There are a ton of places online where you can download PDF copies of the books if you don't feel like shelling out the money for it.

Once you have a copy, read it, cover to cover. If you find yourself reading through it quickly, you know you are getting into the right hobby for you.

Understand that all play groups are different. Some are more relaxed when it comes to the rules, and care more about the role-playing aspect of the game. Others are rule nazis, and make sure that the game is played to the T. You need to find the right balance for you to make the hobby interesting.

What is most important to make D&D work is to have a thoughtful Dungeon Master(DM). One that is able to control the group, have an average to above average understanding of the game, and make for a fun experience.

If you have any more questions, PM me. I live in Atlantic County, about a 45 min drive to Tom's River, but I might be able to help you out.

EDIT** This goes for everyone in this thread that are stating that they are new and want to play. Let me know and maybe I can start to organize something, I don't mind teaching new people 4E rules.

u/ProteanScott · 6 pointsr/tabletopgamedesign

I'm currently midway through Characteristics of Games, written cooperatively by 3 people, probably the most notable of which is Richard Garfield (designer of Magic: the Gathering and RoboRally). It is really good, and has great insights into how games function. Most of what it discusses is focused on board games, though it does discuss videogames at times as well. Highly, highly recommended.

I also find the Ludology Podcast to be invaluable. It's hosted by Ryan Sturm (who also hosts the How to Play Podcast) and Geoff Engelstein (designer of Space Cadets and Space Cadets: Dice Duel). They tend to pick a topic and elaborate on it for an hour or so, and if you start at the beginning, it's a really great way to slowly introduce new things to think about when designing games.

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/ryhex · 2 pointsr/gamedev

If you are looking toward application development(games or otherwise) I'd suggest looking at more practical beginning programming books, don't even worry too much about making a game yet or building complex algorithms. I've found the Head First series fairly good in the past, so maybe try out https://www.amazon.com/Head-First-Java-Kathy-Sierra/dp/0596009208

Once you get your head around basic application development a bit more, I would highly suggest learning design patterns and can fully recommend the Head First book on that topic.
You can follow that up with the Game specific book on patterns, https://www.amazon.com/Game-Programming-Patterns-Robert-Nystrom/dp/0990582906

With all of that you should have enough to start asking more pointed questions and being able to Google up useful answers and tutorials that will get you on the road to building games.

Edit: That said, if you are looking at doing to extensive AI programming, specializing in engine design or other systems type development, start looking for books on the topic that interests you most. It's pretty easy to Google up book lists on these kinds of topics, and from there you can cross reference recommendations and should be able pick out ones that will help you get started.

u/ErrorUncertainty · 4 pointsr/gamedev

Looks like a great book, I'll have to check it out!

In case you're interested (and didn't already know), here's the price history for your own book. Amazon's prices are all constantly fluctuating, or at least 90% of them are, and algorithms must make 99.999% of those decisions. Sites like Camelcamelcamel allow us consumers to make the best choices despite that...

Edit: just noticed the price change that presumably flagged the guys at @GeekDailyDeal was actually an increase by a few cents, though it's still cheaper than for a long time

u/FourSquash · 1 pointr/truegaming

Maybe not a direct study on the medium, but The Ultimate History of Video Games is a very good book with a ton of good content and does address the abstract medium to some degree. It's also just a super interesting book.

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/_joesavage · 1 pointr/gamedev

I haven't got all that far into it yet, but from what I've read it's pretty much exactly what it promises to be. It's a little expensive for sure, but I've found it useful so far.

I'd suggest taking a look at the 'Look Inside' feature on Amazon for a better idea of what the book offers.

u/jag986 · 2 pointsr/news

I'm not going to continue to argue with you because it's clear that we're not going to agree.

However, if you're interested in the evolution of the game industry, there are some good resources for you I can recommend. And yes, oversaturation was a problem but there were many societal factors as well.


This is a fairly concise article that could be a summary of https://www.amazon.com/Ultimate-History-Video-Games-Pokemon/dp/0761536434 which is more in depth but really recommended. I enjoyed it greatly, its fascinating.

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/basecmd · 3 pointsr/letsplay

Great questions!

G4tv's Filter example: http://www.youtube.com/watch?v=Kr4rZgV8BAE
G4tv's Icon example:http://www.youtube.com/watch?v=ubokT1_AZWo

While G4 had the ability to have gaming journalist on their shows (with a mix of fans) at this point, we won't, and I don't think they are necessary at this point. That's not exactly what we're looking to develop. You could read books based on the history of video games and get some much more from them than a video could ever provide (http://www.amazon.com/The-Ultimate-History-Video-Games/dp/0761536434), but ours isn't just the facts on the history of video games, it's the stories of those who were playing. I think a roundtable debate-type show would work wonderfully with industry veterans in a podcast, but that's not what we are working at.

We want to build a show that gives you the history and the story of the console/game/company, but also the perspective of the people who were playing the games, following the companies, and the impact it had on them. The countdowns are decided by industry professionals but by the people participating and the viewers themselves.

I really like the idea of what you're talking about, but that's not quite what we're going for at this time.

u/SozoGen · 1 pointr/botw

I played the game through with my wife and got to 33%.
Second time through I picked master mode and bought this guide.
We're having a blast with this book revealing secrets we didn't know existed.
It provides a strict walkthrough to beat the game with the minimum requirements met. (Towers, Devine beasts, major quest's only)

Then provides a by region quest guide. Then maps galore for farming. Korok locations and tips. I'm still working through it but I love the book and it's quality presentation. I'll be proud to keep it as a memento of our good times playing.


u/logic_alex_planation · 5 pointsr/Futurology

Well in terms of social interaction gaming, I think more real-life games will be created and played in the future. I'm currently reading a great book called Reality is Broken by Jane McGonigal which goes in depth into how games are better at stimulating us than the world is and how alternate/augmented reality games will become much more popular as we start to gamify real-life.

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 Newgrounds.com 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 (http://www.amazon.com/Game-Mechanics-Advanced-Design-Voices/dp/0321820274) 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/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/bhldev · 4 pointsr/learnprogramming

I've been pimping this site out a lot http://www.tkdocs.com/ and I think it's perfect for beginners at Python.

Games generally require optimization, algorithms and experience. If you really wanted to go games I wouldn't do it with Python personally. I would either do it with JavaScript http://blogs.msdn.com/b/davrous/archive/2011/07/21/html5-gaming-animating-sprites-in-canvas-with-easeljs.aspx or even C# because those would translate directly into real world games. For learning purposes this is good http://blogs.msdn.com/b/davrous/archive/2013/06/13/tutorial-series-learning-how-to-write-a-3d-soft-engine-from-scratch-in-c-typescript-or-javascript.aspx . Another thing you can do if you want to give up on game programming for now is get a book like "3D Math Primer for Graphics and Game Development" and get a solid foundation in linear transforms, quaternions and so on while programming other things. By the time you're ready for games you will be ready for harder things.

If you've had enough of Python it might be time to get more. If you know decorators inside out, know how to browse the standard library for what you want to do new things (for example if you get told to write a web crawler you know where to look and how to get it working even if you have never done it before) and maybe know a little web dev (something like bottle.py) then you know enough to pick a second language.

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/ItsAConspiracy · 2 pointsr/webdev

Game Programming Patterns

Great book. Code samples are concise, mostly in C++ but simple enough to follow without being a C++ expert. Text is so well-written I'm enjoying reading the book cover-to-cover, it flows well and the author comes across as a naturally funny person. But you don't have to read it straight through, each chapter covers one design pattern and stands on its own, with references to the other chapters.

u/karsithe · 14 pointsr/gamedev

I'd recommend Game Engine Architecture.

However I wouldn't worry so much about messing up. If this is a solo project then it's a great learning experience precisely because you have room to learn from your own mistakes-I know there's a classic programming quote which sums this up perfectly but I can't recall it just now.

Things change. Expect to refactor your code and rework your design later, and aim to make it easy on yourself when that happens rather than having a perfect but inflexible solution first time.

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 · 42 pointsr/gamedev

I've been working on games for quite a long while so I picked it up here and there.

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/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: https://www.amazon.com/Game-Design-Bob-Bates/dp/1592004938/ref=sr_1_1?ie=UTF8&qid=1487025482&sr=8-1&keywords=bates+game+design

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/CFusion · 3 pointsr/programming

Some things:

GPU Pro is the sequel to the ShaderX series, its mainly just a rename not much has else has changed.

GPU Gems 3 is available for free here: http://http.developer.nvidia.com/GPUGems3/gpugems3_part01.html

GPU Gems, GPU Pro, and ShaderX(excluding the first 1-2 books) are basically collections of rendering techniques and tricks, they don't cover any basics, so you probably shouldn't buy them if you are looking for an introduction.

While books like the Black book and Graphics Gems are an interesting read, a bit too much stuff in them are somewhat redundant.

The "Must reads" on the site are pretty good, depending on your background you maybe want to also read a Math book. like: http://www.amazon.com/Math-Primer-Graphics-Development-Edition/dp/1568817231

u/Esko997 · 5 pointsr/dwarffortress

Honestly I bought the book "Getting Started With Dwarf Fortress" for like $10 on Kindle or something and LOVED it. It was not only a really enjoyable book to read, peppered with good dwarf humor and tragedy, but also walked me through building and maintaining a powerful fortress. It also helped walk me through the more complex aspects of the game like using liquids, machines, and dwarven logic circuits. I highly recommend it.

Heres the link

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: https://www.amazon.ca/Engine-Architecture-Second-Jason-Gregory/dp/1466560010. 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/sixmill · 1 pointr/truegaming

I have an example: Settlers of Catan the board game. Until I read this book: https://www.amazon.com/Characteristics-Games-Press-George-Skaff/dp/026201713X, I had little to no appreciation for non-skill elements to games. I tended to gravitate toward pure-skill games such as chess. After gaining an understanding for why elements of luck are added to games (bringing new players into a game, mainly), I started to appreciate that aspect and not be bothered by "bad" dice rolls when I played Catan with friends.

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/bbltn · 6 pointsr/roguelikedev

In terms of "tying it all together" I recommend this book - http://www.amazon.com/Game-Engine-Architecture-Jason-Gregory/dp/1568814135

It covers game engines in a pretty general way, a light overview of every part and what role it plays in the whole. If you're having trouble figuring out architectural questions like what a game loop should look like, this book will help a lot imo, maybe faster than source diving in other roguelikes.

Outside of resources like that, I'd suggest just starting even simpler than a game loop. Draw a field of '.' to the console. Draw an @ on top of that. Make the @ move. One thing at a time, and your game loop will build itself.

u/Serapth · 5 pointsr/gamedev

There isn't a completely language agnostic book out there like you'd find with say Code Complete, but there are two books that fit your description but neither is really a beginner text.


Game Coding Complete


Game Programming Patterns, much of which is available on his website.

Once you get a bit more (ok, a lot more experienced), Game Engine Architecture is another great read.


Other than those 3 books, almost everything else is technology or language specific... like Learning Unity 5 or Learning Inverse Kinematics for __, etc.


While you are just starting out however, you should consider the beginners guide on Gamefromscratch, followed by various tutorial series or game engine overviews, as you aren't at the point where you really need to buy a book yet.

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/gte910h · 2 pointsr/boardgames

Set additionally REALLY pisses people off because of the hand occlusion cause by the mechanical laying out of the cards.

But things based of mental skills like set are really only fun when played with things that dim those mental skills. Otherwise, it's more a test of "who's best at pattern recognition" by the third game.

In games with too much skill and too little randomness, enjoyable games are really only possible with someone of almost the same skill level.

http://www.amazon.com/Characteristics-Games-George-Skaff-Elias/dp/026201713X by George Garfield (the creator of Magic) talks about this and many other game topics. Ebook available here

u/locolarue · 2 pointsr/rpg

Pretty sure 4e books aren't $40 anymore.. And yeah, 4e character creation is going to probably be a PITA. I assume character creation will take a session for most games. Make pre-gens or do it individually with each player...there are solutions to this problem.

Unless CoC has massively changed since I looked at it ten years ago, there's very little freedom in character creation, skill are pretty terribly split up and so the major selections are what archetype/class am I, how do I split up my few skills I'm free to choose, and do I have a gun (a standard one from the book) or some mundane equipment like flashlights or a car or whatever. Do I have it about right? Even winnowing all your choices down in D&D 3.5, that's fewer than most characters have, even simple ones like fighters and rogues.

u/argh6543 · 5 pointsr/learnprogramming

To be honest, I would recommend a low level functional book over a C# or C++ specific book that teaches you APIs. Most of the language/API specific books get hung up on details, work arounds and such rather than focusing on what is really important.
The mathematics of 3D programming or so was really really useful - it shows algorithms and goes into why certain algorithms are fast/slow and give good/bad results.

If you want API/C++ stuff, I'd go with

Very well written and goes into debugging and such as well.

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/lgroeni · 2 pointsr/oculus

If you want to do a deep dive, I'd also vote for Linear Algebra. Understanding matrix math, vector spaces, affine transformations, projections, and quaternions is incredibly useful.

In that vein, I highly recommend this book. It's a pretty easy read and covers that stuff plus a ton of other (related) topics that is useful when dealing with game engines or computer graphics. I find myself referring back to it more often than I probably should at this point.

u/BoomBoxCreations · 4 pointsr/oculus

Some people do, but remember also, game engines are hugely complex pieces of code that aren't for the feint of heart. This book shows a good portion of what can go into it.

Remember also that engines such as Unreal, Unity, etc. allows you to actually make a game without worrying too much about the lower level systems. More time spent actually making the game vs planning low-level systems = fun

u/dudeman21 · 2 pointsr/gamedev

Game Engine Architecture is a pretty good overview of how to put a game engine together in general, from tools to graphics to game-play systems. You can pretty easily take what's in it and use it to make a 2D game. (3D math is also useful in 2D!)

Edit: Game Coding Complete (https://www.amazon.com/Game-Coding-Complete-Fourth-McShaffry/dp/1133776574/ref=sr_1_1?ie=UTF8&qid=1484886864&sr=8-1&keywords=game+coding+complete) was also a decent read, though not nearly as in-depth as Game Engine Architecture.

u/crash7800 · 1 pointr/battlefield3

Exciting! Just let me know if you ever have any questions or anything :)

The other thing I'd recommend is reading this: http://www.amazon.com/Ultimate-History-Video-Games-Pokemon/dp/0761536434

Thank you so much for the compliments. I feel lucky to do what I do, so it means a lot! :D

u/yash3ahuja · 1 pointr/learnprogramming

That's not what I meant, sorry if I came off that way. My point is, you can read all the books you want -- but if you don't supplement it with code you write, they're just concepts. Even if you're not writing code, you still should be looking at pseudocode or example code to see how it's implemented. Talking about something is easy -- programming it is hard. What people say when they say to design first, they mean to lay out your program, your APIs, and everything else ahead of time. This is part of professional software development. In order to get to that step though, you're going to have to program. You don't recognize good OO or game design by just reading a book.

Regardless, for a good OO-book, check out:

For a good book on game engine design, check out:

If you want just game design and setup, there are more than enough resources at /r/gamedev.

Also, make sure to supplement everything with code you yourself write, or else nothing will stick.