(Part 2) Best products from r/gamedev

We found 171 comments on r/gamedev discussing the most recommended products. We ran sentiment analysis on each of these comments to determine how redditors feel about different products. We found 872 products and ranked them based on the amount of positive reactions they received. Here are the products ranked 21-40. You can also go back to the previous section.

Top comments mentioning products on r/gamedev:

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

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:

namespace
{
//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.



Math:

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.



Rendering:

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

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

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



Software Engineering:

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

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

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

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


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

tldr: What Valken and SpooderW said.

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

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

u/Mr_Bennigans · 2 pointsr/gamedev

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


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


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


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


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


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


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


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


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

    EDIT: I added Programming Interviews Exposed because it's a good reference for data structures, algorithms, and interview questions
u/MrBushido2318 · 20 pointsr/gamedev

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

Beginner

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.


Intermediate

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.

Advanced

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

I generally agree with the other replies that a vanilla computer science degree is better than a game degree, but let me use the example of the University of California Santa Cruz (UCSC) game degree to offer a balanced comparison.

At UCSC, the only difference with a computer science versus games degree is one class in the senior year. The fundamentals of both degrees are identical - you take the same math, physics, and programming in the game degree as you would in the CS degree. Only in your senior year does it differ, where as a games major you do a 1 year elective working on gaming group projects using Unity. If you did vanilla CS instead, you would use that year to take something like operating systems, artificial intelligence or databases. Deciding which one is a better fit for you partly depends on your philosophy of the purpose of school:

  • Ivory tower camp - If you feel that a university is best served teaching theory and fundamentals, rather than masquerading as a trade school, then you might agree that learning operating systems or databases in a "pure" manner, without worrying about production concerns like working in a group, would be the best use of your time while you have the privilege of being in school.

  • Emphasis on practicality - If instead you concede that while theory is nice and well, the practical needs of the working world sometimes take precedence, then you might feel that the year of working on gaming projects with others and being able to point at a concrete example of something you did would be time well spent in being able to land that first job.

    You can see this difference of philosophy being played out in not just the debate over a gaming degree program, but in things like the programming language of choice for first-year students, where some schools lean toward the practical (UCSC uses Java and C++) and some toward the theoretical (MIT traditionally used Scheme and now uses Python).

    Specifically at UCSC, I would say the pros and cons are as such:

    Pros:

  • Get to study and spend class time on what is presumably your main interest - game development.

  • Dedicated time to a group project that at graduation, you can cite on your resume and be able to say, "I made that."

  • Possibly make contacts with game industry veterans through the program.

    Cons:

  • Spend a one-year class being forced to work in groups and deal with the messiness of production tasks rather than being immersed in 'pure' theory like in a more typical computer science course.

  • Slightly negative connation among the uninformed of having the words "game degree" on your resume and possibly having to defend that your fundamentals are as sound as a vanilla CS major.

    The first question you should ask yourself is whether the school you're looking at has a comprehensive undergraduate education and a good reputation, like UCSC, or if it's a specialized trade school like Fullsail or DeVry (stay away) with a bad reputation. Not all game schools are bad - both Digipen and Guildhall at SMU are notoriously challenging programs and in my experience working with a handful of their graduates, I found them to be quite competent. Allen Chou will be graduating Digipen with his first job at Naughty Dog (which was Naughty Dog's first time they've hired someone straight out of school rather than someone with industry experience, though it should be noted that Allen earned a previous bachelor's in electrical engineering before attending Digipen). And USC's game school is well known for having produced Journey developer thatgamecompany, among others.

    As for the poor working conditions known at most gaming companies - yes, in general you will work more hours for less pay in the gaming industry than you would outside it. Yes, the industry is rife with constant layoffs. It is likely you will need to move all over the country and possibly world as you chase jobs throughout your career. It's up to you to decide if working on games and with other game developers is important enough to you that it's worth that sacrifice. Many people don't find it worth it, and they are not weaker for choosing another path. It's a personal decision of how much it means to you to work on games; alternatives are arguably more sane.

    For working at the kind of companies you mentioned like Bethesda and Blizzard, you will need to be an expert at C++. Because C++ is such a large and complicated language to first tackle, I recommend learning C first. My book of choice is C Programming: A Modern Approach by KN King, which is also highly recommended in the C programming FAQ. Or if you prefer a shorter book, many people have learned from the C Programming Language by Kernighan and Ritchie.

    For learning C++, there is only one book you need to know to start with: C++ Primer by Stanley Lippman, which is also the #1 recommendation of the C++ FAQ and highly reviewed elsewhere. You do not need to worry whatsoever about C++ becoming obsolete by the time you graduate. But you do have plenty to worry about mastering the language, because there is a lot of material to cover.

    I'm a moderator at /r/TheMakingOfGames and I would recommend perusing some of the videos there that show behind the scenes of development companies (though arguably, the bright side of development). Some examples:

  • Behind the scenes of God of War 3 with the programming team

  • Since you mentioned Blizzard, read Patrick Wyatt's articles on the development of Starcraft. He was a lead programmer at Blizzard before leaving to found ArenaNet and making Guild Wars.

  • Nine examples of dirty programming hacks to fix baffling bugs is a Gamasutra article that might give a glimpse at the harried side of game development, when under pressure and lacking time.

  • Naughty Dog's lead programmer Jason Gregory talking about their interview process and culture
u/moarthenfeeling · 2 pointsr/gamedev

Hi, thank you. :)

You should learn C++ using C++ Primer by S. Lippman. (Not to be confused with C++ Primer Plus which was linked here before). Just be sure to learn modern C++, not "C with classes"! Then I recommend reading Effective C++ and Effective Modern C++ by Scott Meyers. Effective Modern C++ has some awesome examples of modern C++, but it also contains pretty hard edge-cases, so be aware of that.

The best way to learn Lua is by this book. It's very well written and I consider it to be not only the best book about Lua, but one of the best programming books ever!

Lua Users wiki is also very useful and contains lots of resources and sample code.

I also recommend checking out SFML Game Development book which is well written and contains some game programming patterns. You'll find it very useful even if you don't use SFML.

Oh, and Game Programming Patterns is a great read too.

___

Now, how much experience should you have with C++ to make games with it? That's a hard question! You should just start learning it and try making some small games with SFML or Corona. You'll see what you have to learn for yourself. :)

u/Spacew00t · 5 pointsr/gamedev

SubLight

Build your ship, hire crew, and voyage across the stars... only there's no fancy warp drives, wormholes, or faster than light travel. You're tasked with managing your ship on the generations long trip between each star system, keeping them happy, healthy, and under control!

Play it in your browser!

Or download the Windows, OSX, or Linux versions!

This week was spent on a lot of behind the scenes stuff, namely the crew AI. I did a full write up of the new AI on IndieDB, full of fun graphs, but here's a brief excerpt:

>I knew what kind of actions I wanted my crew to do, from various hijinks like joy-riding the turbo-lift, to full out cannibalism when starving! I figured the AI I was looking for was similar to "The Sims", "SimCity", or "Roller Coaster Tycoon". After glancing through the glossary of Artificial Intelligence for Games, I found mentions of "The Sims", and after some investigation, got exactly what I was looking for, Goal-Oriented Behavior.

>In brief, the crew have a limited number of Goals they are trying to satisfy, through Actions made available by modules on the ship. For my crew, or "Simunauts" as I've called them, they have these goals:


>* Eat

  • Heal
  • Sleep
  • Urinate
  • Relax
  • Shower
  • Entertain
  • Socialize
  • Work

    >Each of these goals have an associated value that increases over time and through interacting with the ship. A hungry "Simunaut" may hit up the cafeteria module to lower their Eat goal at the cost of increasing their Urinate goal.

    >Here's a fun list of some basic actions available to the crew and you can see how important these goals are over time from this graph.

    New:

  • Completely overhauled crew AI using new Goal-Oriented Behaviour system
  • Parts now contain certain actions that they make accessible to the crew
  • The current happiness of your population is now displayed in the form of a smiley face in the top left corner
  • Important events, like the crew resorting to cannibalism, are displayed briefly onscreen
  • Added a new song by Ian Earle!

    Known Issues:

  • Some of the stats for the ship building scene are broken due to the new AI logic, those will be implemented again next week!

    What's coming next week:

  • A new UI for the Ship Builder
  • New parts: Knick Knack Storage, Orion Pulsed Propulsion Drive, Radex Protection Platter
  • Detailed breakup of crew needs (so you can tell they're hungry before eating everyone).
  • Another original music track from SubLight's musician, Ian Earle a.k.a OogalaBoogala
  • More??? Suggest what you'd like to see in the comments!

    Thanks again so much for taking a look at this weeks alpha build of SubLight! Can't wait to hear your feedback and leave some for others!

    As always, you can follow us at these fine locations:

    SubLight on IndieDB | Twitter @Spacew00t | LunraGames.com
u/ominoustoad · 1 pointr/gamedev

There is a lot of good stuff already posted, but I'll chime in. Formal education doesn't mean much if you can become a capable programmer on your own. A good interviewer will recognize your ability to produce quality work, period. However, If you are truly serious about becoming a developer you will need to educate yourself and it won't all be fun. If you can buckle down and teach yourself what you would have otherwise learned in college, there is no reason that you'll be less skilled that a college educated programmer. Some employers may view you as less qualified but you can prove them wrong during an interview.

I would suggest a bottom-up approach:

First, learn some of the Comp Sci. nitty gritty. Get familiar with data structures (Heap, Stack), and understand how computers use memory at the most basic level. A lot of this will be painful at first, but it's necessarily to fully grasp what and why we do certain things when programming.

Second, Learn C. The K&R (http://www.amazon.com/C-Programming-Language-2nd-Edition/dp/0131103628) is going to be the best way to to this. The reason C is great to start with is because it runs on nearly all hardware out there, and it will teach you very important concepts, such as pointers, that will mitigate confusion as you move forward. Also, without learning about memory in the previous step, pointers will be difficult to fully grasp.

Third, Learn another language, and another. The funny thing about programmers is that we are essentially linguists. The main difference is that we speak to computers rather than people. With this in mind, it's important to learn multiple languages, rather than attempting to master one. Pick a language that helps you solve the problems you want to solve. Wanna make iOS/OSX apps? Dive into Objective C. Open Source guy? Learn Java. The more you learn, the easier it gets since most languages share similar syntax, keywords, etc. This is why learning C first was a good plan, because lots of other languages borrow heavily from C.

Finally, write code every day. Writing code, compiling it, debugging it, compiling it again, and then watching it run properly is the ONLY way to truly learn. Keep reference books close at hand, and push your comfort level by writing programs that do more and more sophisticated operations. Don't try to memorize everything about a language, and don't get discouraged if you need to re-read sections of a book. It's a fools errand to try and memorize everything about a language, and even decades-long programmers keep reference books on their desks.

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

GNOMIES

http://focuslabstudios.com/gnomies

Hey everyone this is Andrew the lead designer for Gnomies. Marc, Tim and I have spent all of our free time in the last year and a half working on this game. It's currently available on Google Play and the Amazon Appstore for .99 cents. We're currently working on a free limited "Lite" version, iOS version, and translating it into Swedish, French, and Spanish. Before you read any further I would like to make it clear that Gnomies does not require any special permissions. No ads, No in app purchases, No log ins to social media needed, first of kin, etc. The entire game is also less than 40mb.

___

Description:

Play as the unassuming gnome named Alan, who is incredibly dim witted. Help Alan rescue his kidnapped son from the evil wizard Zolgar. Use your brain to solve 75 action packed physics based puzzles in this epic adventure. With seven unique objects at your fingertips, you control the fate of our hero.


Features:

  • Discover new objects as you progress through each world. Learning to master these objects and using them in sequence, is key to solving the game’s many puzzles.
  • Alan’s endless adventures take you through a wondrous world of color.
  • Spawn seven unique items. Utilize their abilities to solve special puzzles and over come pesky obstacles on your way to the goal!
  • Collect stars to unlock 75 unique levels.

    __

    LINKS TO CHECK OUT

    Our website

    The game trailer

    Google Play

    Amazon Appstore

    Follow us on twitter

    Join us on Facebook

    __

    Thanks for taking a look! Please hit me up with any questions or comments.


    Bonus question: I wish someone had told me Apple requires a DUNS number to register a company for an iOS dev license. Takes about 30 days to get one just fyi.
u/miguez · 2 pointsr/gamedev

I went trough a really long phase of this. Not saying this will work for you, but for me what snapped me out and allowed me to set my own path was heavy doses of proper, formal game design.

It took forever for me to discover that's what I needed. But the structure and the fact that it forced me to think through every aspect of a game idea before any line of code was written made me realize I could do it. It showed me the individual steps, it compartmentalized it so that I could eat the elephant one bite at a time.

Plus, it was a LOT easier to stay motivated, because I had a pretty good idea of the big picture, so it was easy to track overall progress and distance from the finish line.

Finally, with the help of Code Complete: A Practical Handbook of Software Construction, I'm now quite proud of the code I put out, which is another motivator.

u/stormblaast · 1 pointr/gamedev

The codebase in my current project (OpenGL, C++) compiles and runs on Windows 7, Linux, Apple OS X and iOS. Use the boost libraries quite a lot, amongst other things to abstract many platform-specific details such as threads. There are also a lot of other useful libraries in boost (some which I use quite a bit are bind, function, string algorithms, regex, shared pointers, etc). Couldn't achieve this with Obj-C. Don't really use the math libraries in boost - there are libraries that are more suitable for linear algebra required in games, such as GLM. GLM is excellent aswell. If you are interested in setting up a cross platform codebase like this, I can warmly recommend the books iPhone 3D Programming and OpenGL Superbible 5th edition. Both these books are GREAT! The author of iPhone 3D programming doesn't seem to like Obj-C too much, so he jumps to C++ the first chance he gets. So don't get these books if you want to learn Obj-C.

u/TexturelessIdea · 2 pointsr/gamedev

If you want to know how to deal with all the negative comments people give you, the only real answer is to ignore them. If you want to know how to convince people that being a indie dev is a worthwhile pursuit, then you have to release a game that sells really well.

This may sound like very useless advice, but the truth is that getting into indie game development is not a good idea. Most likely you will never finish a game, or you will release a game that nobody cares about and doesn't make you much(if any) money. Some people spend years making a game, and still end up releasing a bad game. The simple truth is that no amount of hard work, dedication, or love of game development is going to guarantee your success.

Most aspiring gamedevs like to talk about Minecraft, Stardew Valley, or Dwarf Fortress, as if the existence of those games guarantees their success. Most people don't realize that for every Notch, there are 1,000 people who make games nobody even knows about. Most likely you, me, and most of the other people here will fail to make a game that earns enough money to live off.

If you can't afford to release a game or two (or 5) without turning a profit, then game development just isn't for you. If my post upsets you, keep in mind that you will hear much worse from loads of people no matter how good your game is. I would never recommend developing indie game to anybody as a career choice, it is very hard work that will most likely earn you less money than working part time at minimum wage. You should think of game development as a fun hobby; because, until you make a big hit, game development isn't a career any more than buying lottery tickets.

If you've made it to the end of my post and you still want to be a game developer, well that's the kind of attitude you're going to need, so you have that going for you. I do also have some practical advice for improving your gamedev skills. When you're talking about your knowledge of programming, you seem hung up on the language itself. Knowing a programming language makes you about as much of a programmer as knowing a human language makes you a writer. I'm not saying this to be mean (you may find that hard to believe at this point); I'm just trying to point out that there are other aspects of programming for you to learn. Some good things to read up on are programming(or design) patterns, algorithm design, and general (language agnostic) programming topics. There are also game design topics that don't relate to the programming aspects. I'll leave a quick list of resources below.

Project Euler

Theory of Fun for Game Design

Game Programming Patterns

Coursera's Software Development Category

MIT Open CourseWare Computer Science Category

u/[deleted] · 6 pointsr/gamedev

It depends on what you want to learn. Are you planning to do this as a hobby? Looking to eventually be a professional game developer? Etc.

C++ will teach you how everything works at a low level, and gives you a lot of control. This is really cool, and a great learning experience. However, as a beginner, having to write an entire 2D rendering engine just to draw a sprite is a lot of work and probably terribly confusing. It'll also take longer to make games. If you're going in for the hobby development in your spare time type of experience, it's not the best way to go.

C#/XNA is great in that it does a lot of the legwork for you, but doesn't try and outright give you everything - you still have to learn how to write animations/etc. using it. I highly recommend http://riemers.net/ as a tutorial. XNA will also easily let you do games on Windows Phone and Xbox 360, so if making an Xbox game is appealing, it's a great choice.

ActionScript 3 (i.e. Flash) is actually really straightforward to use. It gives you functionality for almost everything you'll need (drawing graphics, playing sounds, an event system, etc.), and will let your games run cross-platform. I recommend FlashDevelop if you're using Windows (though getting it set up initially can be a pain due to some weird issues with Java versions, etc.). I highly recommend http://www.amazon.com/Foundation-Actionscript-3-0-Animation-Making/dp/1590597915 (though IIRC it assumes you at least know the basics of AS3 before using it - but if you have programming experience that shouldn't be hard to follow along with).

Java is pretty easy to get the hang of also, and is used for Android IIRC, so obviously games are using it.

Also, if you ever get stuck on anything or need help, feel free send me an email or something - even if it's just that you're stuck on some annoying bug or have a question on how to approach an algorithm.

u/InvisibleMan5 · 9 pointsr/gamedev

I highly recommend Real-Time Collision Detection.

This next book might not apply to your field directly, but I believe it is a good idea to be at the very least aware of what it discusses, and it is a very excellent book on its subject: The Art of Game Design: A Book of Lenses

I recommend this book as more of a reference than a tutorial; it will allow you to quickly brush up on those areas of math and physics which you will need while writing (or perhaps working with) a physics engine. I don't recommend attempting to learn the subjects through this book alone though. Game Physics

Reading 3D Math primer for Graphics and Game Development is how I learned linear algebra, although I plan on studying the subject from a textbook when I get the opportunity. I keep the book close for easy reference of the math related to 3D rendering (such as the projection and view matrices), although if you get this book you will want to read the errata document on its website. There may be better books to teach this stuff now, so please don't jump on it too hastily.

A couple books I do not own, but plan to correct that as soon as I can:
Game Physics Pearls and Real-Time Shadows

If I think of any others, I will edit this comment.

u/thenameunforgettable · 2 pointsr/gamedev

PS, when you get a chance, read "The C Programming Language" by K&R. Those are the guys that invented C. Ritchie recently died, sadly. ANYWAY just about every modern computer language is written in C. Java, C++, and so on all use it as a base, and C++ really isn't very far off from standard C.

There WILL be obtuse parts in the book you probably won't understand at first, but it's great to understand everything you can do with the language.

I've also seen you're a little confused by why you're doing Hello World stuff... It's mostly because printing a line to the terminal is a way to give you quick feedback with little/no overhead, or what we tend to call boilerplate code. To get a visual set up just to show a message (in Java) is probably around 60 lines of code that will make 0 sense to you right now.

Also, that same feedback - the quick and dirty console print - is a great way to check if your concept is correct. Let's say you write a simple physics engine for your game. You want to make sure you're getting expected values, and you want to do it quickly. Rather than re-launch the entire game EVERY time you tweak the engine, you run a smaller set of code that tests just your physics engine.

Imagine Mario-like movement - jump up and fall in 2d. If you print the Y position every, say, 500 milliseconds (.5 seconds), you would expect values like "0.0, 1.1, 1.5, 2, 1.5, 1.1, 0.0" which would indicate it went up rapidly, stopped at 2, and fell back at the same rate. It's obviously not the same as a visual feedback, but the first time you write the physics engine you might get something like "0.0, 1.1, 1.5, 2, 2, 2, 2" which is CLEARLY incorrect. Something isn't triggering properly! This happens all the time, and a quick check like that helps you diagnose what you did wrong while wasting minimal time running the program.

u/CyricYourGod · 3 pointsr/gamedev

Animation is an art and good animation requires a strong understanding on how things move. A good resource for making both convincing and interesting animation is the Disney Bible: https://www.amazon.com/Illusion-Life-Disney-Animation/dp/0786860707/ and another: https://www.amazon.com/Animators-Survival-Kit-Principles-Classical/dp/086547897X/. But realistically it takes years to understand and make good animation. That's outside of the learning required with tools (such as Maya).

If he doesn't know the principles of animation he should learn them and then your critiques should be focused around 1) does the animation meet the intention -- ie is it usable and 2) how can the animation be improved to make it more interesting and believable.

u/distractedagain · 1 pointr/gamedev

A couple of things in response to you and others.

First of all OpenGL has excellent documentation. The specification is detailed and complete for one though I admit, probably no one should start with that.

I own the following 2 books which are excellent and the first has been out for over a year and you can download the code for both.

http://www.amazon.com/OpenGL-SuperBible-Comprehensive-Tutorial-Reference/dp/0321712617/ref=sr_1_2?ie=UTF8&qid=1319148333&sr=8-2

http://www.amazon.com/OpenGL-4-0-Shading-Language-Cookbook/dp/1849514763/ref=sr_1_1?s=books&ie=UTF8&qid=1319148364&sr=1-1


I started from no knowledge of OpenGL and using that first book I've learned the majority of the API. I bought it and used it for my upper division graphics class while everyone else was using OpenGL 1.1 and the professor didn't mind as long as I did the assignments. I've rewritten math and some of the helper code that comes with it and I use my own classes to wrap the VABO's (ie one glGenVertexArrays per mesh). It's not hard. I've also taken and modified some of the code from the second book which I just recently purchased.

Finally the new orange book will be coming out soon if the blue book isn't enough for you:
http://www.amazon.com/OpenGL-Programming-Guide-Official-Learning/dp/0321773039/ref=sr_1_3?s=books&ie=UTF8&qid=1319148522&sr=1-3


Also I think people should start with the Blue book instead of 4.0/4.1/4.2 stuff so they'll be able to use the new Core API (no deprecated cruft) while still supporting 3+ year old graphics cards. ie don't use subroutines or the 2 new tessellation shader stages but you can still use the geometry shader etc. Learn that after so if you choose to you can knowingly limit your audience.

Finally I have a question for you. Why do you disable the attribute after drawing? I enable the appropriate attributes for every VBO I create (wrapped in a class function) and I never disable any. I draw things with multiple shaders, some with position, normal, texture coordinates and some with only position etc. and it's never caused a problem. I've never seen sample code that disables an attribute. The documentation (3.3) for glEnableVertexAttribArray() doesn't say that it only applies to the currently bound VABO.

Wait a second, I didn't realize that you're just using the "global" scope buffer objects and not even using VABO's. They make it much easier.

Also the new API makes it easier to understand what's going on under the hood. I started a software renderer and the farther I got the more I appreciated why they did/do things the way they do in 3.3/4.x . I think I'll end up just implementing a proper subset of the API as a software renderer (with function shaders instead of compiled GLSL of course).





u/karilex · 1 pointr/gamedev

First of all a short background of my past experiences.
I'm a fairly experienced programmer I've mostly dealt with stuff that is closer to the hardware (kernel/networking dev). Hence I have a good amount of experience with C and C++.

I've also got a good amount of knowledge in the field of mathematics (currently reading up on functional analysis and galois theory). So any maths prerequisites shouldn't be an issue.

I also know absolutely nothing about computer graphics, currently have a particularly poor knowledge of UX, have never created a game before, and know much less about programming in Windows than Linux (I have at most a vague idea of what a COM object is).

I'm interested in writing a game since I want to pick up gamedev as a hobby. I don't really care what type of game I end up writing since I see this project as being more of a learning experience than a fully fledged game. I'm also taking this project as an occasion to get more comfortable programming in Windows. Before I start coding I've got a couple of questions for the people of /r/gamedev since I don't want to pick up a whole bunch of negative habits or bite off more than I can chew and get discouraged.

  • What would be an adequate complexity for my first game? Should it definitely not be 3D? Would even a simple platformer be too complex?

  • I really like the idea of creating a game "from scratch" so I've started screwing around with directX and reading this book. However, I've come to realize that while this might teach me a lot about computer graphics, I won't actually be learning about game design concepts any time soon. What would be a good C++ library to get started on? I've heard mentions of SDL and allegro for example. Ideally I'd like something that I will actually use later on too.

  • What would be a good resource to learn said library?

  • A lot of the tutorials and books I've been looking at have been focused on how to get specific aspects of game programming done. For example, how to draw things on the screen and animate them using directX. At the other end of the spectrum there are resources that go into much more abstract concepts like what makes a game fun but assume a non-technical audience (e.g. extra credits). However I'm yet to find something focusing on the big picture at the programming level. How the code should be architectured (I imagine even simple 2d games go beyond having a whole bunch of code in one big while loop), best practices, common pitfalls, etc... Are there any resources I could look into that would give me the bigger picture of game development?

  • As mentioned above I am terrible when it comes to UX design since I haven't really worked on anything significant that has a GUI, other than for web apps. I'm working on improving that skill in a general sense but I wouldn't mind a few pointers that apply to games specifically. Are there any resources that would give me tips on how to make a game that looks and feels good.
u/mysticreddit · 5 pointsr/gamedev

Every game programmer should have at least one of these books:

  • Mathematics for 3D Game Programming & Computer Graphics by Eric Lengyel
  • Game Physics by David Eberly
  • Real Time Collision Detection by Christer Ericson

    I own all 3. What I love about them is that they are some of the best ones around written by programmers to understand math in a clear and concise fashion; they are not written by some mathematician who loves theory and likes to hand-wave the worries about "implementation details."

    To help provide direction I would recommend these exercises to start; Work on (re) deriving the formulas (from easiest to hardest):

  • Work out how to reflect a vector
  • Derive the formula for how to calculate a 2D perpendicular vector
  • Work out the formula for how to project a vector A onto B.
  • Study how the dot product is used in lighting.
  • Derive the translation, scaling, and rotation 3x3 and 4x4 matrices.
u/bluish_ · 1 pointr/gamedev

I strongly recommend Beginning C++ Through Game Programming.

I'm currently in my second year at university studying games programming and this book has been a great help to me. It teaches you everything you need to know about C++ and does it using relevant and interesting examples, as well as explaining how and why different things would be used for games programming. After learning the basics you start create simple games such as "guess my number" and "tic tac toe" and finish by creating a "blackjack" game using advanced coding techniques.

u/1000Parsecs · 9 pointsr/gamedev

If you've never programmed anything before and you really want to learn coding (if it's your priority) instead of rushing out your first game, I think LÖVE is pretty great for that. You get to learn Lua and an awesome framework. There's also Phaser, which you can learn JavaScript or its variants with it. JavaScript is probably more widely used than Lua because of the World Wide Web.

And when you're done with those, you can try to learn Java and use libGDX, or C# and Unity.

GameFromScratch.com has plenty of tutorials to get you started.

When you've decided you want to be an ultra low-level programmer, buy The C Programming Language. Learn the basics of C, and then follow Handmade Hero.

When you're done with that you're probably on your way to become a godly programmer. You'll probably know how to do some assembly and machine code by then.

But first, you're gonna need lots of discipline to even get to anywhere.

There are no shortcuts.

If you just want to make a game, however, GameMaker and Construct 2 are pretty awesome!

u/ECG_Toriad · 1 pointr/gamedev

The book I read recently thanks to reddit highlights why I am now seeking 3rd party assets as much as I can.

> "Always ask yourself - how many of your working hours are equivalent to the price? How long would it take to code it yourself? Self-made libraries, engines and tools need lots of care. Care equals working hours. Working hours equals cash. Can you afford to do it yourself?"
>
> - Thomas Schwarzi, Game Project Completed: How Successful Indie Game Developers Finish Their Projects. (http://www.amazon.com/Game-Project-Completed-Successful-Developers-ebook/dp/B00INF6MGA)

Earlier in the book he describes the way to tell how much money you are making per hour as a indie, is to take the amount of sales and divide it by your working hours. If you spend extra time because you didn't use the available 3rd party tools, you are only cutting into your hourly wages.

u/thatbooisaspy · 2 pointsr/gamedev

This is where refining google searches and just finding information would shine, and this is a necessary skill when entering game engine development because trust me, some information is near impossible to find, especially with OpenGL.

There is a book everyone recommends reading, personally I haven't but it's called "3D Game Engine Design" and "3D Game Engine Architecture". I can't vouch for these though, but i've made it without them, it's your choice.

There's also tons of information online that you can use to build a engine (specific parts like timing) but not necessarily a monolithic tutorial. For example, there is a book online called "Game Programming Patterns" that I found useful for someone else's insight on how things like input is handled. Again, i'm not going to post all the resources you want here because this same question has been answered before.

If you don't find that the tutorials or resources linked here or found yourself enough, there are hundreds of game engines, or games that are open source (or at least have source available) that is a treasure trove of design patterns, bad or not. An example would be id Software's Doom 3.

I know you're looking for something specifically OpenGL, but really despite how old OpenGL's design is at the end of the day it's just a graphics API. You take data, and you process it and display it at the window, every graphics API does this. I'm guessing you are searching for things like "OpenGL game engine design" but it's not necessary and may help your search effort a bit.

At the end of the day, and at least try. If I don't know how to tackle a problem, I attempt to solve the problem with usually the worst way possible then improve and improve until it's at least presentable. No one thought of a perfect engine design, and ideas are constantly improved.

u/MerlinTheFail · 1 pointr/gamedev

When I was still working in C++ (also my beginner language for some years), before I switched to Java, I spent some time working through this book.

Granted, you're going down a difficult route by starting with C++, but it's doable after a couple of hard months of practice and coding projects. Work your way up to implementing algorithms by reading the requirements (and none of the code) and then you'll be good to try this book out.

As a former hobbyst, honestly, it's a lot of fun and very rewarding to work towards this goal :)

u/Exce · 2 pointsr/gamedev

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

http://create.msdn.com/en-US/


Also, if you are looking for a book, I just got this book as suggested by many and its great.
http://www.amazon.com/Learning-XNA-4-0-Development-Windows/dp/1449394620

u/Sonic_Dah_Hedgehog · 2 pointsr/gamedev

Challenges for Game Designers is a great book had a ton of fun trying out all the different challenges they give you.

Another book I would add to that list is Beginning C++ programming through game design it does a great job at teaching the basics of C++ through some fun activities.

u/Asyx · 1 pointr/gamedev

Superbible

This should be really good and the most important of the following books. I ordered it on the 25th and it comes tomorrow. It is more like a tutorial or a guide than just a reference.

Official Reference

This is more a reference as far as I know. This is the official book so I think that you'll find more deep informations in this book. The Superbible could contain some nice tricks as well.

Shading language!

For the shading language. Has a few pictures in it so it could be good for some shaders.

I got these book from a guy on IRC. He said he wrote some driver stuff for Apple and made the planet and asteroids demo on the WWDC. I don't know if I can believe him but I felt like he is a clever OpenGL guy and the whole IRC channel said so as well.

BTW: Don't buy OpenGL 4.x stuff. Apple hasn't even implemented OpenGL 3 completely.

u/Coriform · 4 pointsr/gamedev

Artificial Intelligence for Games is a great book. Additionally, the various volumes of the AI Game Programming Wisdom series have some great examples.

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

and

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

From what you wrote in your post, it seems that you are interested in the actual nitty gritty relating to graphics. For that, Game Engine Architecture is a much more suitable book compared to Game Coding Complete. However, if you are really interested in graphics and stuff like DirectX, I'd highly recommend getting a book like Introduction to 3D Game Programming with DirectX 11: https://www.amazon.com/Introduction-3D-Game-Programming-DirectX/dp/1936420228

I personally read the DirectX 12 book, but for newbies to graphics programming, DirectX 11 is much much easier to grasp. There are similar books for OpenGL, but imo you'd be better off learning DirectX 11 because it's a lot more modern.

u/specialistdeluxe · 4 pointsr/gamedev

This is super cool stuff, don't get my wrong! I guess what i'm saying is principles of animation apply regardless of software. It's simply a matter of applying animation techniques using whatever software you have available! Don't be shy looking into other software tutorials (For 2D, Flash, AE, toonboom, etc) even if you're not using it. Alot of what you'll find will translate quite easily and you can start building a toolset of your own!


Also, if you're into animation, especially 2D, I would highly suggest picking up "The Illusion of Life." It's considered the bible in animation and even though it was written by old school Disney animators, literally everything in it applies today.



Cool stuff!

u/orbjuice · 2 pointsr/gamedev

So many things. I was never a competent pixel artist because once I got to semi-proficient I looked at the skill curve and realized that I wasn't making it through all of that.

I really recommend frequenting these two sites:

http://pixelation.org
http://pixeljoint.com

Someone mentioned the classic Disney animator bible:

https://www.amazon.com/Illusion-Life-Disney-Animation/dp/0786860707

It can't be understated how essential this book is to learning the essentials of animation. Further than that there were the Loomis books that were called out time and again as a great art education (palette selection becomes incredibly important in low resolution art). Those books are hard to come by-- scratch that, they used to be now they're just on Amazon.

https://www.amazon.com/dp/1845769287

There's a lot to dive in to. If all of this seems like too much, cribbing from OpenGameArt's better assets is a cheap and easy way to start.

u/pier25 · 1 pointr/gamedev

If anyone is interested in how to actually animate objects by code, I recommend this book. It's for AS3 but the concepts hold true for any other language. Animating by code is super simple once you get the basic concepts and can become quite handy in a lot of situations.

Foundation Actionscript 3.0 Animation: Making Things Move!

u/thegreatcollapse · 3 pointsr/gamedev

The suggestions from /u/random (wow that username!) are both great books and you should also check out Ralph Koster's A Theory of Fun for Game Design. Though not specific to game design, you might also be interested in Mihaly Csikszentmihalyi's Flow: The Psychology of Optimal Experience

u/jhocking · 2 pointsr/gamedev

Well on the one hand, as you point out lots of great games have been made with MonoGame. Thus, either choice is a fine place to start.

That said, you say you had trouble starting out, so you should checkout my book Unity in Action. You're perfectly in the target audience for my book (experienced programmers who are new to Unity) and the 2nd edition is about to be released.

u/ketura · 2 pointsr/gamedev

Game Design by Bob Bates covers a bird's-eye view of general game theory and the process of game development from beginning to end. It's very "readable" and gives you context to help you understand how your development process can help aid your particular design paradigm that you decide upon. If I recall correctly, it also goes over a lot of the different type of design documents that are often used in the industry.

Depending on how much textbook you can stomach, Software Engineering for Game Developers by John Flynt and Omar Salem is an interesting take on the whole game design angle by delving entirely into the source code development. It follows an actual game created by the authors and the entire process used from beginning to end in designing the engine. The game itself was shitty, but the code was immaculate and the process certainly gave me a lot to mull over and cherry pick for my own projects. Be warned, however, this book is as dry as a road trip in the Sahara and twice as long.

Besides these two, I can also definitely recommend Level Up! and The Art of Game Design: A Book of Lenses as previously recommended elsewhere in this topic.

u/Random · 3 pointsr/gamedev

The Art of Game Design - Jesse Schell is very very good.

Game AI (Millington and Funge new edition iirc) is very very good.

Some non-game-design books that are very useful for those doing game design:

Scott McLoud: Making Comics (the other two in the series are good but the section on plot, characterization, and development in this one is great)

Donald Norman: The Design of Everyday Things. (How design works and how people interact with technology and...)

Christopher Alexander et al A Pattern Language: Towns, Buildings, and Construction (Thinking about scale and design elements and modularity and...)

Kevin Lynch: The Image of the City (How do urban spaces work - essential if your game is set in a city - how do people actually navigate)

Polti: The 36 Dramatic Situations (old, quirky, examines how there are really only a few human plots)

Matt Frederick: 101 Things I Learned in Architecture School (how to think about and execute simple art, improve your design sense, ...)

u/nonagonx · 3 pointsr/gamedev

>Do it myself

Great idea. Learn to be an animator. There's software (Flash/Photoshop/other) to both draw your animations and then generate sprite sheets, so the process shouldn't take weeks. Here's a list of resources I recommend for animation:

  • The Animator's Survival Guide
  • The Illusion of Life
  • Draw with Jazza

    >but artists (understandably) don't usually donate their time for internet strangers with the promise of a payout down the road

    This wasn't true in my case. I posted an ad on /r/gamedevclassifieds as a coder and got three talented artists emailing me with work they've done.
u/dsuse15 · 1 pointr/gamedev

This has always been my favorite book on the subject:

Essential Mathematics for Games & Interactive Applications: A Programmers Guide

It explains in great detail the how, why and when of most mathematical concepts as they relate to gaming: core concepts, rendering, physics, lighting, shading, animation, etc. It comes with examples and code. It's awesome.

u/jamesman135 · 1 pointr/gamedev

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

http://www.amazon.co.uk/Level-Up-Guide-Great-Design/dp/047068867X

u/S1CKLY · 1 pointr/gamedev

This is the book I recommend for everyone. It doesn't have practise questions, but I still think you should pick it up (perhaps one of those peer-sharing things I've been hearing so much about ;) ). It's usefulness is damn near endless for beginners/hobbyists.

Edit: Amazon is recommending Game Engine Architecture to go along with it, which is another book that I own. It's not the greatest book in existence on the subject but it does the job fairly well and, again, is aimed at beginners and hobbyists. If you're headed in that direction it may be helpful, but I personally don't recommend it. Just thought I'd add my two cents :)

u/HiroP713 · 2 pointsr/gamedev

I'm a big fan of http://www.amazon.com/Game-Physics-David-H-Eberly/dp/0123749034/ref=pd_sim_b_3

I also have physics for game developers but the Eberly book is superior. How's your physics knowledge already? Do you already have a base of knowledge that you're looking to apply to games or are you pretty much starting from scratch?

u/aroymart · 2 pointsr/gamedev

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

u/empyrealhell · 1 pointr/gamedev

As an alternative, I own this book. While it's a bit heavy on the math at times, and the concepts are pretty advanced, it's a solid book. if you have a basic understanding of physics and a good background in math, it's a fantastic reference.

As for writing a physics engine from it, I haven't tried, but it covers the bases pretty well. I used it to write a very simple 2d platformer with any-angle collisions with arbitrary polygons and circles. Nothing fancy like fluid dynamics or variable density and elasticity, but it was a boon getting the rigid body mechanics set up, and I only touched probably the first couple chapters.

u/DutchmanDavid · 2 pointsr/gamedev

Read books. It might be boring, but a lot more informational than watching a youtube video.

If you already know how to program in another (preferably OOP) language there's The C++ Programming Language or C++ Primer if you want to learn C++11 (not to be confused with C++ Primer Plus, which is a different book 'series')

If you don't know how to program and you want to learn C++ for game development there's Beginning C++ Game Programming, which starts at the beginning (variables are one of the first things explained). After that book you should read up Introduction to Algorithms to make sure you're not writing horrible inefficient programs. Then there's Design Patterns: Elements of Reusable Object-Oriented Software to teach you more about certain patterns used in programs design (needed when using Ogre3D for example. Ogre3D was 90% magic to me until I read about Design Patterns. :p As alternative to DP:EoROOS there's Head First Design Patterns, but it's Java-centric which is a whole other beast than C++.

After those books there's this Stackoverflow thread. Read the first answer (the gigantic list of books). The thread used to be a ton of comments (with the most votes comments on top), but all anwers got copied to the first comment, so it's all sorted on votes. Code Complete (2nd edition) was the most upvoted one, The Pragmatic Programmer was the 2nd most upvoted one, etc.

Then there's this Stackoverflow thread, which is more C++ centric.

I hope this helps :)

u/shr0wm · 2 pointsr/gamedev

Here you go:

> Calculus is the foundation for modern math. Always a good thing to have.

> Linear Algebra is the foundation for 3d mathematics in games. Things such as perspective projection, arbitrary rotation, and more exotic things such as quaternions come around here.

> Essential Math for Games is a most excellent book that, after having built your mathematical foundation through the previous two books, provides you pretty much everything you need to know about making a 3d renderer, which is probably one of the most educational experiences that you can undergo in game development.

u/Tr1poD · 3 pointsr/gamedev

This is probably the most comprehensive and complete tutorial on making a platformer that you will find but you will need to pay a subscription to watch. Check out the first video anyway and you might get an idea if its worth while.

This book has a pretty decent platformer tutorial as well. Also goes through making a tile based editor for your levels.

u/cslcm · 1 pointr/gamedev

This book is highly recommended: http://www.amazon.co.uk/Beginning-C-Through-Game-Programming/dp/1435457420/ref=sr_1_2?ie=UTF8&qid=1398273399&sr=8-2&keywords=beginning+C%2B%2B+game+programming

But to be honest, the best way to learn is by doing - so google for some simple C++ examples, download the source code, compile, fiddle, recompile, test, keep adding stuff...

u/dWillPrevail · 1 pointr/gamedev

For a basic introduction to the concepts of 3D, Keith Peters' Foundation Actionscript 3 Animation has some really cool chapters on creating ground-up 3D and is in your native language. The AdvancED version, released afterwards, surprisingly lacked any chapters on 3D.

I followed it recently and did this (extremely simple) proof of concept following only the text in that book and sprinkling a little of my own flavor to it. If you'd like the source, PM me.

You'll have to learn how to translate it to the Molehill APIs and the new datatypes (float, float4, Vector, Matrix3D) but I highly recommend it. After doing the earlier demo, I've gotten my head around it and have been getting right into the molehill stuff.

Edit: Note that the demo above is not in molehill, nor is the book, but translating from one to the other isn't the difficult part.

u/joeldevahl · 3 pointsr/gamedev

I read Realtime Rendering a lot when I started programming 3D. It's good book , and the site links to a lot of other good books and sites.

I wouldn't recommend 3D Engine Architecture or 3D Game Engine Design though, since they give a very bloated approach and are quite C++ specific.

Remember to Keep It Simple. =)

u/misatillo · 3 pointsr/gamedev

Thanks a lot! Any chances to get it on amazon.es? My kindle is attached to it and I can't download any of your versions.

EDIT: Nevermind, if I change the address to .es it works! :D THANKS A LOT
In case somebody has the same "issue" this is the link in amazon.es

u/poohshoes · 0 pointsr/gamedev

Everyone is giving some conflicting advice so here's my also conflicting two cents.

  1. C++ is a perfectly valid language to start learning on. BUT don't use any complex language features to start. C is more or less a subset of C++ so consider checking out some C tutorials.

  2. Don't worry about learning OO for now, a large minority of people don't even think it's good.

  3. Just keep working away at it, it takes a lot of time, find a good textbook or website with small problems that you can solve.




    Here are some of the books I learned with:

    https://www.amazon.ca/Programming-Language-2nd-Brian-Kernighan/dp/0131103628

    https://www.amazon.ca/How-Program-10th-Paul-Deitel/dp/0134448235/ref=sr_1_1?ie=UTF8&qid=1501953321&sr=8-1&keywords=deitel+how+to+program
u/biochromatic · 2 pointsr/gamedev

Theory of Fun is a pretty standard book to read to answer your questions. It's full of comics and quite fun to read.

u/spacetimebear · 1 pointr/gamedev

Suprised no-one mentioned this yet (or i just didnt see it) here you go: http://www.amazon.co.uk/gp/aw/d/047068867X?pc_redir=1405307632&robot_redir=1 We refer to this as the games bible. It covers almost all aspects of preproduction and provides very good examples. You can probably get the pdf for free somewhere around the net.

u/roycocup · 22 pointsr/gamedev

I totally second that. Its a book full of commonplace ideas and pretty thin for such a collection of platitudes. i bought it and returned it to amazon.

Depending what OP's husband motivation is, I would suggest either "Game programming patterns". If he doesn't have access to a machine, then game design may be the only option, since everything else is machine based.
However, pixel art can be practiced with a pen and paper...

u/argvnaut · 7 pointsr/gamedev

Check out Programming Game AI by Example and Artificial Intelligence for Games. They are both decent game AI books, the former actually develops an AI for a soccer simulation in chapter four. There's also [Behavioral Mathematics for Game AI] (http://www.amazon.com/Behavioral-Mathematics-Game-Dave-Mark/dp/1584506849/), it expands on the concepts of utility and decision making which are only touched upon in the first two books. It's purely theoretical but very interesting.

u/Dhraz · 2 pointsr/gamedev

I have been in the exact same boat as you. I'm about to start actually coding a game finally after a year of letting the idea stew. I have been reading a book on XNA 4.0 which does a great job of describing object-oriented approaches to constructing some basic components. Even if you don't want to code for XNA the structure of the code can be used in just about any language.

The author of the book hosts all of the source code for his tutorials on his website, so you could always look through those as well.

Here's a link to the book: http://www.amazon.com/Learning-XNA-4-0-Development-Windows/dp/1449394620

u/LyndonArmitage · 2 pointsr/gamedev

This book is also pretty good for all things game AI related.

u/vergyl · 2 pointsr/gamedev

I know that feeling.

I don't know how much you actually worked for a company before starting your indie company( internships?) but that helped me a lot.
The difference between working in a company and alone is that you have to accept the code other people have written. It helped me to adapt this feeling to my code too.

The difference is that you cant rewrite the whole code five or even more devs have written over the last few years even though you dont like it. You don't have the time to do this.

Also maybe you should look into this. I read it over the last two weeks and there is a lot of good advice on this 83 pages.

u/hoover900 · 3 pointsr/gamedev

K there are a couple of thing wrong here. First off, unless you licensed the visual rights to Pixar's Cars, I suggest you change your car models in the game as well as the trailer to the boxier car models you already have. You don't want your product to be confused with Disney, so this change will save you from having to deal with legal trouble with Disney. Second, you can also lose the first 20 seconds of the trailer. You're not showing anything important to the viewer. Does the user even care that the Car is performing in a circus? Is the car upset that he's performing in the circus? Why does he run away and the cops immediately chase him? I highly recommend picking up the The Illusion of Life: Disney Animation and Shot By Shot. Both of these books go over in detail the art of making something entertaining and interesting.

edit: grammar and spelling

u/silverforest · 2 pointsr/gamedev

Two book suggestions:

u/adeadrat · 3 pointsr/gamedev

Code complete 2, is the best programming book I have ever read. I would however recomend a year or two as a programmer before you read it.

u/Monstr92 · 1 pointr/gamedev

My professor wrote this book on C++ programming. http://www.amazon.com/Beginning-C-Through-Game-Programming/dp/1435457420/ref=sr_1_3?ie=UTF8&qid=1341817785&sr=8-3&keywords=C%2B%2B

This is the best book because it asumes you know nothing about programming, and C++ and walks you through how to make a game in C++.

u/tcgeralt · 1 pointr/gamedev

In my opinion, this is the best XNA book out there: http://amzn.com/1849690669

Walks you through 4 complete games and all of the code is in the book, none of that, "here is a snippet of code, download the rest from my site to keep working" stuff.

u/johsko · 2 pointsr/gamedev

Note that Game Engine Architecture != 3D Game Engine Architecture. They are different books with similar names. While both are worth looking at, the former is my favorite (and the one OP mentioned).

u/Mofy · 1 pointr/gamedev

AS3 animation

great book on maths for animation...

u/datosh · 1 pointr/gamedev

Well I bought this book and gonna work through this until next semester starts. I think I can start using wrapper and frameworks after I know what I'm using under the hood.
Makes the wrapper&frameworks more intuitive... at least for me. But thanks for the tipp. I'll look into the stuff after I red the book.

u/hermitengine · 6 pointsr/gamedev

I too picked up DX11 mostly using rastertek's as a starting point, and then Microsoft's own documentation as a reference. I read rastertek's code as documentation in C++ rather than straight copying the code. After all, its abbreviated code is meant to illustrate D3D usage rather than be a production-level engine.

For a more guided approach, this book might suit you better:

https://www.amazon.com/Introduction-3D-Game-Programming-DirectX/dp/1936420228/ref=sr_1_2?ie=UTF8&qid=1502869223&sr=8-2

u/xgalaxy · 1 pointr/gamedev

I feel it is my duty to point out that there are two C++ Primer books and one of them is the not so great book, and the other is very very good. The one being linked is the mediocre book.

You want this one:
http://www.amazon.com/Primer-5th-Edition-Stanley-Lippman/dp/0321714113

u/tango_oscar · 6 pointsr/gamedev

Best book to learn C++ in my opinion is Accelerated C++: Practical Programming by Example (350 pages). Right from the start, it teaches people to use STL containers and other C++ constructs, instead of teaching "C with classes" like many other books (including Thinking in C++). Unfortunately, it is outdated so you will have to learn about new features of the language. You can use A Tour of C++ for that(180 pages).

If you have the time and will to learn moder C++ from the start, then I would recommend C++ Primer. Similar in approach to Accelerated C++ but longer(970 pages).

u/WereCoder · 1 pointr/gamedev

This is not an authoritative guide -- it's a collection of opinions. However, the opinions are based on lots of experience and they're worth considering. Additionally, the author prods you to think about the right set of problems. It's a great place to start. At least it was for me when I was just getting started.

https://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670

u/lennyjump · 14 pointsr/gamedev

Designing Visual Worlds by Bartle

Theory of Fun for Game Design by Koster is a classic and still largely valid

u/przemo_li · 2 pointsr/gamedev

This stackoverflow question
Have some good answers.

Web resources (good)

OpenGLBook OpenGL 4.0

Arcsynthesis OpenGL 3.3


Books (unknown quality, look for reviews)

OpenGL SuperBible 5th Edition OpenGL 3.2 Core

OpenGL 4.0 shading language cookbook OpenGL 4.0 Core

u/unwary · 2 pointsr/gamedev

XNA 4.0 Game Development by Example - One such example in the book takes you step by step in making a scrolling 2d tank shooting game.

It's in C# using (obviously) the XNA framework, so it's real easy to pick up.

u/amonsch · 3 pointsr/gamedev

My personal favorite is Essential Mathematics for Games and interactive Applications. I covers the very basics, after that you can buy Real-Time Rendering.

u/hermitC · 2 pointsr/gamedev

The book's availabe on the .ca site. Can't get it on the .com site either, here in Schwarzenegger's Austrian neighborhood. :)

u/jaza23 · 9 pointsr/gamedev

The Art of Game Design - Jesse Schell

very few illistrations (if thats what your into). All theory, it's the go to book for game design


http://www.amazon.com/The-Art-Game-Design-lenses/dp/0123694965

Level Up - Scott Rogers.

My personal favourite. Easy to read.


http://www.amazon.com/Level-Up-Guide-Great-Design/dp/047068867X

u/antininja · 8 pointsr/gamedev

> I first build a very simple prototype that has some basic actions and game principles I want to have in my game. I do not care for design nor code quality.

IIRC, this technique is highlighted in Code Complete. The key point the author made there was that it's OK to take shortcuts while prototyping, as long as you're willing to throw all that code away before doing the real work. (Of course, it's not that black and white.)

u/learc83 · 3 pointsr/gamedev

Sounds like you should check out Beginning C++ Through Game Development.

It's more of an intro to C++ that happens to involve making text based games.

http://www.amazon.com/Beginning-C-Through-Game-Programming/dp/1435457420/ref=dp_ob_title_bk

u/AmericanXer0 · 3 pointsr/gamedev

I second the recommendation for XNA 4.0: Game Development by Example. It helped me out greatly and keeps things fresh by having the reader build multiple mini games, instead of one larger game.

u/Karzka · 10 pointsr/gamedev

Not game-specific, but these books are definitely industry essential books when it comes to anything related to software development.

In no particular order (though Code Complete should probably be first):

u/ClownCarnage · 1 pointr/gamedev

If you want to get into graphics, I would say use Frank Luna's DirectX 11 book or Joey de Vries' website LearnOpenGL.

EDIT: Phone's autocorrect...

u/drunk2407 · 4 pointsr/gamedev

Spend few years with this, then ask questions.

u/Neumann347 · 4 pointsr/gamedev

If you are doing any coding at all, you should read Code Complete

u/rby90 · 2 pointsr/gamedev

I suggest Unity (larger pool of resources and books over unreal) and two books to get started.

  1. The C# Player's Guide
  2. Unity in Action
u/wh0wants2know · 0 pointsr/gamedev

any particular reason that you don't want to just learn how to code with DirectX 11? Go buy this book: http://www.amazon.com/Introduction-3D-Game-Programming-DirectX/dp/1936420228/

u/kpdwyer · 2 pointsr/gamedev

yeah, you should be worried. substantial changes from 3 to 4, let alone 2 to four.
I used this:
http://www.amazon.com/Learning-XNA-4-0-Development-Windows/dp/1449394620/ref=pd_bxgy_b_img_b
but back in 3.1 days.

u/drjeats · 8 pointsr/gamedev

C++ Primer is one of the usual go-to books for beginners.

[EDIT] Thank you /u/xgalaxy for pointing out I had linked the wrong one. Get this one: http://www.amazon.com/Primer-5th-Edition-Stanley-Lippman/dp/0321714113

u/stephanimal · 2 pointsr/gamedev

Game Physics is a classic reference on physics engines. Be warned however, 'physics' used in games encompasses a lot more than just basic newtonian mechanics.

u/ZigZauerFaucet · 1 pointr/gamedev

I assume googling already got you to the RasterTek tutorials.

Frank D. Luna's book is good, Introduction to 3d Game Programming with DirectX 11. While introductory it's fairly comprehensive of the pipeline and why (sometimes brief, but the main DX docs fill that in).

Beginning DirectX11 Game Programming, is a bit more newcomer friendly but a lot less comprehensive.

HLSL Development Cookbook is a reasonable fill-in for HLSL and shaders that you would actually use. It doesn't cover the nitty gritty like DX api calls, but does explain what you need to have your render states setup as each step of the way.

---

If you aren't already familiar with 11 then 12 is likely out of your league for the time being. DX10 began the move towards a lower-level API in comparison to DX9 and OpenGL.