Reddit mentions: The best game programming books

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

1. Learning Python, 5th Edition

    Features:
  • O'Reilly Media
Learning Python, 5th Edition
Specs:
Height9.19 Inches
Length7 Inches
Number of items1
Weight4.95 Pounds
Width2.8 Inches
▼ Read Reddit mentions

2. Beginning C++ Through Game Programming

    Features:
  • Used Book in Good Condition
Beginning C++ Through Game Programming
Specs:
Height9.13 Inches
Length7.38 Inches
Number of items1
Release dateOctober 2010
Weight1.88715696272 Pounds
Width0.98 Inches
▼ Read Reddit mentions

3. Beginning C++ Through Game Programming

Beginning C Through Game Programming
Beginning C++ Through Game Programming
Specs:
Height9 Inches
Length7.5 Inches
Number of items1
Weight1.85629224604 Pounds
Width1 Inches
▼ Read Reddit mentions

4. Invent Your Own Computer Games With Python

    Features:
  • Used Book in Good Condition
Invent Your Own Computer Games With Python
Specs:
Height9.99998 Inches
Length7.99211 Inches
Number of items1
Weight1.9 Pounds
Width0.8893683 Inches
▼ Read Reddit mentions

5. Behavioral Mathematics for Game AI (Applied Mathematics)

    Features:
  • Scribner Book Company
Behavioral Mathematics for Game AI (Applied Mathematics)
Specs:
Height9.13 Inches
Length7.38 Inches
Number of items1
Release dateMarch 2009
Weight2.12966545092 Pounds
Width1.09 Inches
▼ Read Reddit mentions

6. Game Programming Patterns

Game Programming Patterns
Specs:
Release dateNovember 2014
▼ Read Reddit mentions

7. Game Programming: The L Line, The Express Line to Learning

Game Programming: The L Line, The Express Line to Learning
Specs:
Height9.200769 Inches
Length7.40156 Inches
Number of items1
Release dateFebruary 2007
Weight2.6235009178 Pounds
Width1.421257 Inches
▼ Read Reddit mentions

8. Game Coding Complete

Used Book in Good Condition
Game Coding Complete
Specs:
Height9.75 Inches
Length7.75 Inches
Number of items1
Weight3.4061419479 Pounds
Width2.25 Inches
▼ Read Reddit mentions

10. Beginning Game Programming

    Features:
  • Used Book in Good Condition
Beginning Game Programming
Specs:
Height9.25 Inches
Length7.75 Inches
Number of items1
Weight1.99959271634 Pounds
Width1.25 Inches
▼ Read Reddit mentions

11. SFML Game Development By Example

SFML Game Development By Example
Specs:
Height9.25 Inches
Length7.5 Inches
Number of items1
Release dateJanuary 2016
Weight1.96 pounds
Width1.18 Inches
▼ Read Reddit mentions

12. Beginning C++ Game Programming (Game Development Series)

Beginning C++ Game Programming (Game Development Series)
Specs:
Height9.4488 Inches
Length7.4803 Inches
Number of items1
Weight1.60055602212 Pounds
Width1.25984 Inches
▼ Read Reddit mentions

13. Creating Interactive Fiction with Inform 7

    Features:
  • Used Book in Good Condition
Creating Interactive Fiction with Inform 7
Specs:
Height8.75 Inches
Length7.25 Inches
Number of items1
Weight2.15 Pounds
Width1 Inches
▼ Read Reddit mentions

14. Beginning Java SE 6 Game Programming

Beginning Java SE 6 Game Programming
Specs:
Height9.12 Inches
Length7.37 Inches
Number of items1
Release dateJanuary 2011
Weight1.79015356744 Pounds
Width0.9 Inches
▼ Read Reddit mentions

16. Video Game Optimization

Video Game Optimization
Specs:
Height9.5 Inches
Length7.5 Inches
Number of items1
Weight1.75 Pounds
Width0.75 Inches
▼ Read Reddit mentions

18. Mastering Unity 2D Game Development - Second Edition

Mastering Unity 2D Game Development - Second Edition
Specs:
Height9.25 Inches
Length7.5 Inches
Number of items1
Release dateOctober 2016
Weight1.9 Pounds
Width1.14 Inches
▼ Read Reddit mentions

19. Game Physics Pearls

    Features:
  • Used Book in Good Condition
Game Physics Pearls
Specs:
Height9.1 Inches
Length6.1 Inches
Number of items1
Weight1.34922904344 Pounds
Width0.9 Inches
▼ Read Reddit mentions

20. Building Html5 Games with ImpactJs: An Introduction On Html5 Game Development

Building Html5 Games with ImpactJs: An Introduction On Html5 Game Development
Specs:
Height9.19 Inches
Length7 Inches
Number of items1
Release dateFebruary 2012
Weight0.52 Pounds
Width0.3 Inches
▼ Read Reddit mentions

🎓 Reddit experts on game programming books

The comments and opinions expressed on this page are written exclusively by redditors. To provide you with the most relevant data, we sourced opinions from the most knowledgeable Reddit users based the total number of upvotes and downvotes received across comments on subreddits where game programming books are discussed. For your reference and for the sake of transparency, here are the specialists whose opinions mattered the most in our ranking.
Total score: 436
Number of comments: 14
Relevant subreddits: 1
Total score: 24
Number of comments: 4
Relevant subreddits: 1
Total score: 22
Number of comments: 13
Relevant subreddits: 2
Total score: 18
Number of comments: 3
Relevant subreddits: 1
Total score: 15
Number of comments: 11
Relevant subreddits: 3
Total score: 14
Number of comments: 7
Relevant subreddits: 3
Total score: 12
Number of comments: 3
Relevant subreddits: 1
Total score: 9
Number of comments: 3
Relevant subreddits: 2
Total score: 5
Number of comments: 3
Relevant subreddits: 2
Total score: 4
Number of comments: 4
Relevant subreddits: 1

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

Shuffle: random products popular on Reddit

Top Reddit comments about Game Programming:

u/InkognitoV · 1 pointr/learnprogramming

Hello! /u/RageBill has already provided a great response, but I still wanted to add a couple of my own thoughts.

  1. If you are brand new to programming I would encourage Python as your first programming language to learn as it is relatively simple to pick up and has a lot of online resources.
  2. Programming requires a base level of intelligence that I personally think most people have. I think it mostly requires learning to think like a computer.
  3. There is an open source MIT course that I would recommend. There are more recent ones, but the basic principles of programming don't change.
  4. There are a lot of books, I think that two books that may be helpful for getting started would be this one and this one
  5. If you know English I think you'll be fine.
  6. Python, Java, Golang
  7. Python first, then Java I think :)

    I would also suggest seeing if your highschool or university offers any computer science courses, and if so, sign up for the beginner class!

    Best of luck!

    Edit: most people will go back and forth all day on which language you should learn first, which are the most useful, etc. If you’re just starting out it can be easy to become overwhelmed with decision paralysis. If you’re just starting out you’ll want to pick a language based on how easy it is to pick up, and the level of support the community at large provides the language (how easy is it to find answers to problems on google?).

    Especially if you’re brand new, the goal is to learn the basics and fundamentals and not necessarily wrestle with more advanced or “obscure” technicalities or concepts.

    For these reasons (among others), the vast majority of entry level university computer science courses stick with python. If you google search the top ten most popular programming languages python is almost always on that list, along with Java.

    I would recommend starting with python while you learn the basics and fundamentals of programming and computer science.

    Of course these are just my thoughts and opinions and plenty of people will disagree. The point of what I’m trying to say is: don’t spend too much time debating which programming language to learn first, just pick one! You can always learn more later!
u/eco_was_taken · 2 pointsr/SaltLakeCity

Umm, I think Python is a good language to start with. It's forgiving and low on boilerplate code. I haven't read it but Learn Python the Hard Way by Zed Shaw is supposed to be decent (and it's free online). I didn't like Learning Python published by O'Reilly. I'd just read reviews on Amazon if Learn Python the Hard Way isn't working for you. Whichever you end up with, I recommend typing all examples from the book into the computer by hand. Something about doing this really helps make things stick in your head. You'll also make the occasional typo and have to debug your program which is something we programmers spend more time doing than any of us care to admit.

I think it is important to try to think of something you want to make and have it in mind while you are learning the language. It can be any software but I recommend a video game. They are really good for this because you can just think up a simple concept or implement your own version of an existing game. Having a goal makes it so you are constantly solving the problems you will encounter while trying to reach that goal which is the most important part of programming (more so than learning the syntax of the language). This is actually the highest rated Python book on Amazon and is all about gamedev with Python.

After you've learned Python to the point where you are comfortable (no need to master it), learn other languages to grow as a programmer. Once you've gotten a couple languages under your belt it's actually really easy to learn even more languages (unless it's a very odd language like Haskell, Lisp, or Brainfuck). The problem solving skills you've acquired often work in any language and you learn some new techniques as you learn new languages.

u/professorlamp · 25 pointsr/learnprogramming

Sure, like most people, I started with Python. I didn't start on codeacademy though, I started on program arcade games.

By the way, I should mention that at the time, I was a night manager at a Hostel so I got LOADS of free time to myself, and then when I got home I had even more free time so there was lots of time to practice.
In the first 3-4 months I learnt the basics of functions and classes and how to use them. After that time had passed, I dug deeper and bought Learning Python and read that a lot. I learnt pretty quickly about the cool things about Python like list comprehensions, anonymous functions (Lambdas), operator overloading, all that stuff. By the way, that book is not a beginner's book, it's a book on pretty much everything about Python

I kept programming in my spare time, I made a lot of crappy things and gradually my code got cleaner and easier to maintain. I made things that interested me, like a MIDI parser, a reddit bot that converts images to ascii Python C#, a bruteforce directory scanner and some other stuff. As you can see, I was pretty busy. This is what's important. By all means, do Project Euler and participate in Daily Programmer but don't expect it to nail you a job. That stuff is useful, but a lot of those are just algorithms, not programs that will impress the person interviewing you (who might not be technical in the first place).

Eventually I just sort of 'got' Python, and decided to learn other languages that interested me. For some reason, that was C. Choosing to learn C was a really good choice but at the time I found it too difficult so I gravitated towards slightly newer languages like C#.

When I started to think my programs had some sort of quality to them I applied for jobs. I looked at job listings and if I saw a requirement that I didn't have i.e. (Version Control) then I'd learn it.
The caveat with learning Python at the time, was that it left me pretty useless (bare in mind I live in Wales in the UK, not uber-progressive,technology wise). The majority of the listings wanted PHP, or VB.NET (yes you read right)

Eventually I got my lucky break with a duo of awful businessmen, they didn't know what they wanted and I didn't know how to deliver, but I tried and I learnt a butt-load as I tried to make their product. Their product was an entire website (frontend, backend and DB) that was to start off small and grow internationally, and they wanted it in 10 weeks... Needless to say, they didn't keep me on (surprise surprise) but with that experience I managed to nail a decent job with other developers using a similar set of skills. By the way that job with businessmen was in VB.NET, not an awful language but why not C#?

The new job is good, I create backends for websites, create frontends from photoshop files that are handled by our designer and I also create plugins for an in-house CMS (Think Joomla and similar stuff). This current position is in PHP, it has it's quirks - naming standards vary wildly, the $, foreach loop is backwards in syntax, -> instead of ., and a bunch of other stuff, but it's easy to use.

As it stands currently, I'm working on trying out different architectural patterns. The good thing about the position I'm in is that it's lots of small projects so I can do something new with each new project. Maybe I'll try a different design pattern, maybe I'll go MVP over MVC, I'm pretty much free to learn and do as I want since there is no codebase (well there is a codebase, but I can still try out new methods) for a module that doesn't exist.

TL;DR

  • First 3-4 Months learnt basics (functions, classes, loops)
  • 5 Months onwards - Read 'Learning Python' and made programs
  • 6 months onwards - Tried out new languages
  • 8 Months on - basic SQL queries and commandline stuff
  • 12 months on - Applied for jobs, a lot.
  • 16 months on - Got first job with bad businessmen

  • 19 months on - Got second full time permanent position and it's fun


    Hopefully I answered what you wanted

u/autisticpig · 1 pointr/Python

If you were serious about wanting some deep as-you-go knowledge of software development but from a Pythonic point of view, you cannot go wrong with following a setup such as this:

  • learning python by mark lutz
  • programming python by mark lutz
  • fluent python by luciano ramalho

    Mark Lutz writes books about how and why Python does what it does. He goes into amazing detail about the nuts and bolts all while teaching you how to leverage all of this. It is not light reading and most of the complaints you will find about his books are valid if what you are after is not an intimate understanding of the language.

    Fluent Python is just a great read and will teach you some wonderful things. It is also a great follow-up once you have finally made it through Lutz's attempt at out-doing Ayn Rand :P

    My recommendation is to find some mini projecting sites that focus on what you are reading about in the books above.

  • coding bat is a great place to work out the basics and play with small problems that increase in difficulty
  • code eval is setup in challenges starting with the classic fizzbuzz.
  • codewars single problems to solve that start basic and increase in difficulty. there is a fun community here and you have to pass a simple series of questions to sign up (knowledge baseline)
  • new coder walkthroughs on building some fun stuff that has a very gentle and friendly learning curve. some real-world projects are tackled.

    Of course this does not answer your question about generic books. But you are in /r/Python and I figured I would offer up a very rough but very rewarding learning approach if Python is something you enjoy working with.

    Here are three more worth adding to your ever-increasing library :)

  • the pragmatic programmer
  • design patterns
  • clean code

u/kurashu89 · 1 pointr/learnpython

If you want a serious book recommendation: Learning Python 5th Edition by Mark Lutz. It's a monster at 1600 pages but to say it's thorough is an understatement. I got the ebook so I can quickly search through it on my phone. Even though I wouldn't consider myself a beginner anymore, I find between this book and the Python Cookbook I find answers to most of my problems (unless they're related to a library).

You can also read Learn Python the Hard Way (my introduction to Python 2). Which is free but not anywhere near the scale of Learning Python. As a warning, there's some coarse language used in it.

If you don't know any Python -- and this will probably stir the pot a little -- learn Python 3. BUT learn how to make it Python 2 compatible. Sure, you'll give up things like advanced tuple unpacking and yield from (to name two off the top of my head) and you'll probably have to use six but when the day comes that you can fully move your library to just Python 3, you'll be thankful.

If you feel comfortable enough with Python to begin approaching a web framework, I would personally recommend Flask. I'm sure quite a few people would disagree and they probably make valid points. But Flask is easy to start with:

from flask import Flask

app = Flask(name)

@app.route('/')
def index():
return "Hello World"

if name == 'main':
app.run()

Miguel Grinberg (you'll see him float around /r/Flask and some of the other Python subs occasionally) has both a great blog series and a great book on building Flask projects. It's not the end all be all of Flask knowledge and honestly, I'd like see more written on working with bigger projects, but given Flask is only 4 years old I'm not surprised.

For Django, I've heard lots of good things about Two Scoops of Django but I've not read it (though, I need to at some point).

I'm unsure about other frameworks like Pyramid or TurboGears or WebPy.

You'll also want to have working knowledge of HTML (not hard), CSS and Javascript (much harder). And getting chummy with libraries like Bootstrap and JQuery/Angular/whatever is probably a good idea, too.

There's also specific concepts you'll want to be familiar with depending on where and what you work on: things like REST, JSON, Ajax, CSRF, etc.

u/CSMastermind · 1 pointr/AskComputerScience

Entrepreneur Reading List


  1. Disrupted: My Misadventure in the Start-Up Bubble
  2. The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win
  3. The E-Myth Revisited: Why Most Small Businesses Don't Work and What to Do About It
  4. The Art of the Start: The Time-Tested, Battle-Hardened Guide for Anyone Starting Anything
  5. The Four Steps to the Epiphany: Successful Strategies for Products that Win
  6. Permission Marketing: Turning Strangers into Friends and Friends into Customers
  7. Ikigai
  8. Reality Check: The Irreverent Guide to Outsmarting, Outmanaging, and Outmarketing Your Competition
  9. Bootstrap: Lessons Learned Building a Successful Company from Scratch
  10. The Marketing Gurus: Lessons from the Best Marketing Books of All Time
  11. Content Rich: Writing Your Way to Wealth on the Web
  12. The Web Startup Success Guide
  13. The Best of Guerrilla Marketing: Guerrilla Marketing Remix
  14. From Program to Product: Turning Your Code into a Saleable Product
  15. This Little Program Went to Market: Create, Deploy, Distribute, Market, and Sell Software and More on the Internet at Little or No Cost to You
  16. The Secrets of Consulting: A Guide to Giving and Getting Advice Successfully
  17. The Innovator's Solution: Creating and Sustaining Successful Growth
  18. Startups Open Sourced: Stories to Inspire and Educate
  19. In Search of Stupidity: Over Twenty Years of High Tech Marketing Disasters
  20. Do More Faster: TechStars Lessons to Accelerate Your Startup
  21. Content Rules: How to Create Killer Blogs, Podcasts, Videos, Ebooks, Webinars (and More) That Engage Customers and Ignite Your Business
  22. Maximum Achievement: Strategies and Skills That Will Unlock Your Hidden Powers to Succeed
  23. Founders at Work: Stories of Startups' Early Days
  24. Blue Ocean Strategy: How to Create Uncontested Market Space and Make Competition Irrelevant
  25. Eric Sink on the Business of Software
  26. Words that Sell: More than 6000 Entries to Help You Promote Your Products, Services, and Ideas
  27. Anything You Want
  28. Crossing the Chasm: Marketing and Selling High-Tech Products to Mainstream Customers
  29. The Innovator's Dilemma: The Revolutionary Book that Will Change the Way You Do Business
  30. Tao Te Ching
  31. Philip & Alex's Guide to Web Publishing
  32. The Tao of Programming
  33. Zen and the Art of Motorcycle Maintenance: An Inquiry into Values
  34. The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity

    Computer Science Grad School Reading List


  35. All the Mathematics You Missed: But Need to Know for Graduate School
  36. Introductory Linear Algebra: An Applied First Course
  37. Introduction to Probability
  38. The Structure of Scientific Revolutions
  39. Science in Action: How to Follow Scientists and Engineers Through Society
  40. Proofs and Refutations: The Logic of Mathematical Discovery
  41. What Is This Thing Called Science?
  42. The Art of Computer Programming
  43. The Little Schemer
  44. The Seasoned Schemer
  45. Data Structures Using C and C++
  46. Algorithms + Data Structures = Programs
  47. Structure and Interpretation of Computer Programs
  48. Concepts, Techniques, and Models of Computer Programming
  49. How to Design Programs: An Introduction to Programming and Computing
  50. A Science of Operations: Machines, Logic and the Invention of Programming
  51. Algorithms on Strings, Trees, and Sequences: Computer Science and Computational Biology
  52. The Computational Beauty of Nature: Computer Explorations of Fractals, Chaos, Complex Systems, and Adaptation
  53. The Annotated Turing: A Guided Tour Through Alan Turing's Historic Paper on Computability and the Turing Machine
  54. Computability: An Introduction to Recursive Function Theory
  55. How To Solve It: A New Aspect of Mathematical Method
  56. Types and Programming Languages
  57. Computer Algebra and Symbolic Computation: Elementary Algorithms
  58. Computer Algebra and Symbolic Computation: Mathematical Methods
  59. Commonsense Reasoning
  60. Using Language
  61. Computer Vision
  62. Alice's Adventures in Wonderland
  63. Gödel, Escher, Bach: An Eternal Golden Braid

    Video Game Development Reading List


  64. Game Programming Gems - 1 2 3 4 5 6 7
  65. AI Game Programming Wisdom - 1 2 3 4
  66. Making Games with Python and Pygame
  67. Invent Your Own Computer Games With Python
  68. Bit by Bit
u/JacboUphill · 3 pointsr/UCI

You don't have to know anything about programming going in, as aixelsdi mentions. If you want to get ahead, here's some information which may help you do so. The rest is up to your own initiative. It can never hurt to know more about CS or more languages, as long as you don't waste time complaining about what's better in [insert language of choice].

I wouldn't recommend learning data structures and algorithm analysis before coming to UCI. Not because they aren't fundamental, they are. But because most people find it harder to learn those abstractions before learning the tools that utilize them (Python, C++, etc), which is why ICS 46 and CS 161 aren't the first classes taught. If you like math proofs more than math problems then maybe go that route, it could be helpful as iLoveCalculus314 mentions.

Languages: The CS introductory series (31-32-33) which you'll be taking first year is taught in Python. It switched to this because it's a good first language as a teaching tool. Right after you're done with Python, 45C will teach you C++ and 46 will use C++. The lower division systems core (51-53) generally use C or C++ but it differs by professor. Knowledge of Python will be useful in making your first year easier. Knowledge of the other two will make your next three years easier because they're common mediums for upper division courses. But you should be able to pick up a new language for a specific problem domain by the time you reach upper division.

Courses: If you want to get a head start on planning your courses, check the UCI Catalogue - Computer Science page. At the bottom it lists a sample of what your schedule over the 4 years might look like. That page is for the "Computer Science" major, for other majors in ICS see here.

Course Resources: You can actually view the Schedule of Classes without being a UCI student. Select a term (like Fall 2014) and a department (like I&C SCI) and it will list what classes were offered that term. Most lower div will be I&C SCI, most upper div will be COMPSCI. From the results you can go to the websites for those courses to see a syllabus, books used, etc. For example, here are the current websites for the introductory series ( ICS 31, ICS 32, ICS 33 ).

Your course professors and books and assignments will NOT be identical to those, but looking at what's currently taught will give you a pretty good idea of what the course entails so you can pre-learn anything that sounds difficult.

Books: If you have to pick one book to learn before coming to UCI, I would highly recommend C++ Primer, 5th Edition. It's very well structured as a self-teaching tool AND as a reference manual. You won't come away with any Python knowledge, but picking up Python as someone versed in C++ is easier than the other way around, and you'll find 45C much easier as well since you can focus on language quirks rather than fundamentals.

If you choose to learn Python first, Introduction to Computing Using Python: An Application Development Focus is the book currently suggested for ICS 31/32, and Learning Python (5th Edition) is suggested for ICS 33.

Another solid circlejerk book in the CS community is Code Complete, but I wouldn't recommend reading that until later on since it's more of a "best practices" book.

u/1nf · 1 pointr/cscareerquestions

CompTIA content is too much theory imho and having to renew them every 3 years now seems less appealing to me.

I'd say you head for the CCNA directly. While studying CCNA, you can use the Network+ study materials for any theoretical aspects you don't understand. N+ covers these better than most CCNA study materials.

Security+ is very nice but again, renewing every 3 years is not appealing. However, it does teach you a lot about security processes and a bit of law, compliance and standards.

There are other security certifications, some vendor dependent like the CCNA Security or the Juniper ones. If you're using these products, they are worth having otherwise, there are not many vendor-neutral ones as good as Security+. Careful with some of the vendor-specific ones, they tend to be more like adverts for products instead of certifications, basically "my product can do that!"

For Python, you are right. It's an excellent language for writing quick scripts for automating things. I personally liked Learning Python as reference, but if you're a beginner then Dive into Python3 might be appealing. Head First Python is also good but a new edition is due in 2015 I think.

You might have to choose between Python2 and Python3. Yes there are incompatibilities and not all libraries are available for Python3 yet but if you're starting from scratch, start with Python3 directly.

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/Kayoscape · 1 pointr/Inform7

No problem! Yeah, the biggest hurdle I had to overcome with Inform 7 was the assumption that a natural language programming language would be more able to pick up on my intent, but it's just like learning any other language. I like Inform because it's so readable and easy to manage.

If you have more questions about this particular piece of code, you can respond to me or to infinull. Keep in mind that the only user to be notified of your response is the one who posted what you respond to. If you have something else that you get stuck on, it would be a good idea to create a new post. If you don't get a reply, tag me in a comment on the post (with u/Kayoscape) and I'll do my best to help!

As for the Intfiction forum, are you behind a VPN? That's happened to me before on other sites.

Something that really helped me out (and still does from time to time) is Ron Newcomb's Inform 7 for Programmers. And if you're prepared to dive in headfirst, I wholeheartedly recommend reading through Creating Interactive Fiction with Inform 7 by Aaron Reed. Also, don't be afraid to browse the manuals built into Inform 7's IDE and also available here.

Good luck with your project!

u/tyroneslothtrop · 1 pointr/learnpython

Really, that's not even something I would consider all that important to know off-hand. I actually had to go to the REPL and the docs to verify how the int function behaved with alpha-numeric strings. This is the sort of thing that people might pick up with experience, but I wouldn't say it's such a commonly used feature of the language that not knowing it reflects poorly on your abilities.

If you don't know something like this, you can just say that and use the question to demonstrate your reasoning skills and your general knowledge of the language. E.g. "I don't know how that would work off hand. But I know that python is a strongly typed language, so it doesn't do implicit casting. But where this would be an explicit casting, maybe it interprets the string as a number if a high enough radix is specified. Or maybe it behaves like ord and returns the ASCII value of the character. If I was in the python REPL, I would type help(int) to see how it works, or I would go to python.org and look at the docs."

Actually, having mentioned that last part, it strikes me that it sounds like they might have actually been talking about ord, not int.

Anyway, if, on the other hand, they're only looking for the technically correct answer to questions about obscure, unimportant, or easily googleable aspects of the language, then they're probably not very good at interviewing, or aren't all that knowledgeable themselves. I don't know if there's much you can do about that, unless you're willing to pursue an encyclopedic knowledge of the language. While it's good to be more familiar with a language, I don't think it's generally worth anyone's time to try to memorize every single aspect of it. Who cares if you don't know the exact signature for the range function, or the exact string formatting syntax to left-align text and specify a 79 character width, or whatever? That's what the docs are for.

Having said all that, the int casting question sounds like it was kind of stupid, and if you're conveying it correctly, it sounds like maybe they don't even know what they're talking about there. The dictionary question, though, doesn't sound like a trick question at all. First-class functions, and the 'everything is an object' philosophy are pretty core features of python. If that's new to you, maybe bone-up with Dive Into Python, or Think Python, or Learning Python, or similar.

Good luck!

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:

https://interplayoflight.wordpress.com/2018/07/08/how-to-start-learn-graphics-programming/

​

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

https://www.amazon.com/Engine-Architecture-Third-Jason-Gregory/dp/1138035459/ref=sr_1_3?s=books&ie=UTF8&qid=1539093840&sr=1-3&keywords=game+engine

​

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

https://www.amazon.com/SFML-Development-Example-Raimondas-Pupius/dp/1785287346/ref=sr_1_1?s=books&ie=UTF8&qid=1539093789&sr=1-1&keywords=SFML

https://www.amazon.com/Mastering-SFML-Development-Raimondas-Pupius/dp/178646988X/ref=sr_1_2?s=books&ie=UTF8&qid=1539093813&sr=1-2&keywords=SFML

​

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

Read first:

https://www.amazon.com/Math-Primer-Graphics-Game-Development/dp/1568817231/ref=sr_1_1?ie=UTF8&qid=1539094027&sr=8-1&keywords=3d+math

Read next:

https://learnopengl.com/

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/twopi · 2 pointsr/Python

You can add a clicked method to the class definition of Item, and every instance of the item will then have the method.

Probably, though, you'll want two methods. One that simply determines whether the item has been clicked, and another that does something when the item is clicked.

Probably all items will do SOMETHING if they are clicked, but what they do will be based on the item.

The SuperSprite object in my game engine already has this behavior, so you can use that if you want.

I created the library as part of my book on Python game development:
http://www.aharrisbooks.net/pythonGame/

(look at game engine at the bottom of the page.)
You're welcome to the game engine and everything else on that site whether you get the book or not, but if you're interested, the book is here:
http://www.amazon.com/Game-Programming-Line-Express-Learning/dp/0470068221/ref=sr_1_1?ie=UTF8&qid=1312228492&sr=8-1

Though it never sold very well, it does have outstanding Amazon reviews, so it might be helpful.

Back to your example:
Be sure you're thinking properly about the relationship between instances and classes. Chevy S10 is a class. It describes a whole bunch of trucks. All have various features in common, but the specifics change. All have a start() method, and all have an engine attribute.

However, there's a difference between all trucks and a particular truck. My truck is a specific instance of S10. It has a particular color (black) and a few other characteristics specific to that particular truck. Many of its characteristics come from it being an S10, but I don't drive all S10s, just that one.

There is a mechanism called "static methods" which allows you to assign a method to a class which can be run even if there is no instance of that class available (This is used all the time in Java programming, for example.) I don't think that's what you're trying to do, though.

I would start with some sort of Sprite object. The one that comes with Pygame is pretty weak, so I always add enhancements to it (thus the SuperSprite.)

I would then probably make (at least) two subclasses of supersprite objects - a Player class and an item class.

If you're using my supersprite, there is already a clicked() method that returns True if the item is currently being clicked. Any subclass of supersprite can also read a click.

Your player class will probably need some sort of function to add an item to the inventory. Python makes this much easier than many languages, as the built-in list type is far more flexible than a standard array. It's quite easy to add an item to the list with the append() method.

Write to me directly if you want a bit more help.

-Andy

u/Bozar42 · 9 pointsr/roguelikedev

Fungus Cave

Github repository, screenshot.

It has been over a month since I finished my last project, Cursed Souls. Now I am working on a new Unity game, Fungus Cave. There are not so many things to talk about the game itself yet, so I would like to share the books I have read about C#, data structure & algorithms, and Unity.

C# 7.1 and .NET Core 2.0 is my C# textbook. It explains everything step by step for beginners. Although you need a PhD in math to create Dwarf Fortress, to learn data structure & algorithms is not so demanding with the help of these books:

u/Thrasymachus77 · 2 pointsr/Herossong

If you don't know anything about coding, I would start by doing the javascript course at Codeacademy.com, or download Unity for free and follow along with a few of the tutorials for C# that various users have made or that are available for free on their store. Once you've completed those tutorials, play with your finished product, add stuff, tweak stuff, break things and fix them again, until you get a good enough understanding of what's going on with the code.

While you're doing all that, go read Dave's book, Behavioral Mathematics for Game AI, which you can probably check out from your library if you're too poor (or cheap) to buy it. I would also highly recommend going to IntrinsicalAlgorithm.com which is the website for Dave's AI consulting business. There's a number of really good articles posted on there, everything from editorials like the EQN letter, to links to GDC lectures and papers, to amusing stories about unexpected behaviors that sometimes crop up.

I would also highly recommend doing a google search for The Sims AI and utility-based AI. I don't think Dave's approach to utility-based decision making for NPCs is identical to The Sims, but there's a family resemblance that helps understand the ways that utilities are constructed and used to create lists of possible actions and score them.

And watch those free GDC lectures and read the free GDC papers. You might have to read them multiple times to understand what's going on in some places, but they are quite often pretty well laid out and simply enough explained for a layman who puts in some effort to get it.

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

Programming:

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.

Art:

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/SharpstownBestTown · 1 pointr/Cplusplus

SFML Game Development

SFML Game development is super straight forward and simple, this book does a good job of breaking down some of the concepts you will learn in the other book I've listed and applying them with c++ and sfml. Having started with SDL and using both SFML and SDL extensively, SFML is definitely my favorite of the two.

Game Programming Patterns

Does a great job of explaining many of the common programming patterns used in and outside of game development, and it's a great piece to read if you're still conceptualizing how certain modules in your game will function at a high level.

Both are excellent books, and I believe will get you what you are wanting to learn.

Edit: Both books are written for those without extensive knowledge of their topics, the SFML book is written for much more novice c++ programmers, and the Patterns book is written for those with a little more experience. Even if you're familiar with many programming patterns, I'd consider the second book a great refresher course.

u/strican · 3 pointsr/UniversityofReddit

Also, check out Coursera and EdX. They usually have beginner programming classes running, and they're actually structured courses. If there's none running, you can usually access the course materials to do self-study.

Also, cs50.tv has all the lectures and materials for the Harvard Intro CS class. It's hard work and rigorous, but rewarding. MIT Open Courseware also has a lot of material from past offerings of their Intro CS series. One of my friends is doing this now.

If you're interested in game programming, I might recommend a book I used to learn. Beginning C++ Through Game Programming is what I used back when I was still learning. Mind you, you won't be learning anything with graphics, but you will be learning programming (and one of the harder, more widespread languages while you're at it).

There's a lot of resources available. Those are the ones I recommend right off the bat. Programming can be tricky, but beginning is the hardest part. Don't get discouraged, stay with it, and eventually, it'll be easy! Good luck!

u/naevorc · 2 pointsr/gamedev

To get you acquainted with some of the basics, I recommend starting out with Codecademy's Python course.

Then perhaps move on to auditing this Intro to Computer Science 6.00 from MIT. It's completely free, has all the lectures as video, assignments and quizzes as PDFs.

Check out this playlist from a separate MIT course for the Recitations. Since this is also a 6.00 class the recitations are still relevant for you, and I recommend going over them as well once you've covered the appropriate material. (Or you could simply take that class)

Both codecademy and that class use Python 2.x, which is a bit different from today's 3.x, but honestly not so different that you can't learn from them (it seems basically the same to me except for a few expressions).

If you like books, I picked this one up after some research. Learning Python by Mat Lutz 5th ed. Pretty big textbook, about 1600 pages, but it's pretty clearly written and has a lot of exercises. It's also only $40 bucks so that's a plus.

A lot of people also recommend "Learn Python the Hard Way", but I haven't been using it.

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/JuiceShepp · 2 pointsr/learnprogramming

Everyone will have a different opinion for this, I think. But for me, I started learning C++ before Java, and I found it great for underlying concepts at the time (all those "beginner programming" tutorials stuff), but I don't think I really fully understood the concepts of OOP, classes, etc. until I did Java. However, that could just be because of the way my university program is structured (poorly).

Personally, I loved writing a game in Java. I didn't use the exact game in his book (he does asteroids, I made a vertical scrolling space shooter), but the fundamental concepts of movement, sprites, sounds, collision detection will be the same (mostly) for any (basic) game.

Looking at that course list, the C->Java->C++ sounds like a good structure - procedural (C), OOP using Java, and then OOP in C++ - OOP concepts seem to work better in Java as it almost forces it on you... I'd probably skip the C if you already know the basics.

All that being said, I love C++ and can't straight up turn anyone away from it. Java is easy to pick up if you already have concepts from C++ (my opinion, but I think most will agree).

u/christinamasden · 1 pointr/learnprogramming

C++ is great, but I wouldn't suggest trying to master it until you've become a pretty solid programmer. Have you built a game engine yet? Since you already have C# experience, maybe you could try to build a solid project involving OpenGL. Here's a book that teaches you how to develop a sidescroller with C# and OpenGL. You'll need a portfolio anyways, especially if you don't have a degree...and this will help you gain expertise in C#. After finishing, then you'll feel pretty competent with your skills and the transition to C++ will be much easier.

u/fives_is_alive · 1 pointr/gamedev

I would highly recommend this book : http://www.amazon.com/Game-Programming-Line-Express-Learning/dp/0470068221

This book is what helped me get started with Pygame about 5 years ago. It's written for Python 2 not 3 so keep that in mind and it very helpful for someone who is just starting out.

While I eventually moved on to Unity because it had more of what I needed, starting in Python(my favorite language) helped me in understanding basic concepts of game design and programing. When you understand the basics jumping to C# or any other language is much easier.

Best of wishes and I hope this helped some! :)

u/fuzzylumpkinsclassic · 1 pointr/gamedev

It depends on how fast you want to get into game stuff, and how much you want to know.

I started my c++ career with

http://www.amazon.com/Beginning-Programming-Premier-Press-Development/dp/1592002056

There are lots of online resources to help you out (and while game programming is arguably some of the hardest programming out there, all it takes to get started is a firm grasp of the basics, a metric ass load of determination, and the ability to learn as you go).

Even googling something like "c++ tutorials", gets you this site http://www.cppgameprogramming.com/, which seems as good a place as any to start. (c# and c++ are VERY similar, just that c# does some things to make your life easier, but at the cost of removing some control of the machine from the programmer).

If you're interested in programming, and really want to dive straight into the core fundamentals of it all, pick up "The C Programming Language" (known as the K+R), and start from ground 0 with that, although that really is the path of most resistance.

good luck!

u/s-ro_mojosa · 4 pointsr/learnpython

Sure!

  1. Learning Python, 5th Edition Fifth Edition. This book is huge and it's a fairly exhaustive look at Python and its standard library. I don't normally recommend people start here, but given your background, go a head.
  2. Fluent Python: Clear, Concise, and Effective Programming 1st Edition. This is your next step up. This will introduce you to a lot of Python coding idioms and "soft expectations" that other coders will have of you when you contribute to projects with more than one person contributing code. Don't skip it.
  3. Data Structures and Algorithms in Python. I recommend everybody get familiar with common algorithms and their use in Python. If you ever wonder what guys with CS degrees (usually) have that self-taught programmers (often) don't: it's knowledge of algorithms and how to use them. You don't need a CS degree (or, frankly any degree) to prosper in your efforts, but this knowledge will help you be a better programmer.

    Also, two other recommendations: either drill or build pet projects out of personal curiosity. Try to write code as often as you can. I block out time three times a week to write code for small pet projects. Coding drills aren't really my thing, but they help a lot of other people.
u/CodyDuncan1260 · 2 pointsr/gamedev

Be sure to take a look at Microsoft XNA Game Studio 3.0 Unleashed.
It has a good section on high level shader language, and of course lots on the basics of the framework.

Otherwise, I might also suggest Game Coding Complete, Third Edition. PartII and on is a lot of C++ implementation details, but Part I has a great deal of good advice, concepts, and ideas that are applicable. Best to see if your local library has it.

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

Hello there I cannot help with your code because I am almost falling asleep but I made a version of Tic Tac Toe and think you would benefit from looking at it. I am not sure of what your skill level is - mine isn't good so don't worry - but have a look at how my named my variables and function names and how they handle things.

https://github.com/RyanSwann1/Tic-Tac-Toe/tree/master

Also, this book has been invaluable for me in teaching good design for applications. http://www.amazon.co.uk/Beginning-C-Through-Game-Programming/dp/1305109910/ref=sr_1_1?ie=UTF8&qid=1452898795&sr=8-1&keywords=c%2B%2B+through+game+programming

Whilst it isn't theory heavy it gives fun examples on coding principles and is honestly an incredibly good introductory book.

u/Artist_Ji-Li · 2 pointsr/learnprogramming

I had a lot of my start with C++. This was the textbook I used to learn it initially and I had a lot of fun going through this book:

https://www.amazon.com/Beginning-C-Through-Game-Programming/dp/1305109910/(I would suggest reading only up to right before DirectX chapter though, since I believe the DirectX section has been outdated for a long time now for these books. Personally, I only briefly learned to do DirectX programming in general in college and never used it professionally, so I'm not aware of how often much older versions of DirectX is used, but I remember hearing things like the X files format we used in college got deprecated.)

I have worked professionally as a developer in and out of the game industry and I definitely agree that learning C++ to start would actually be advantageous, regardless of what languages you may have to work in later on because it makes everything easier to learn in comparison I feel. I use C# now for my current role and never had taken courses in it or such, but I was able to self teach it because of my C++ background.

u/Aeyoun · 3 pointsr/Astroneer

System Era Softworks are looking for C++ developers, so your information seems accurate.

I’d recommend you start out [playing around(https://www.amazon.com/Python-Cookbook/dp/1449340377) with Python before committing to C++. It’s much easier to achieve to some tangible goals. Maybe start out scripting some simple tasks. E.g. create ten files that each contain their own creation date and file path. Then progress through making some short text-based multi-choice adventure game (Gender-Neutral-Internet-Person and the Quest for the Reddit Upvotes). Start out simple and see if you enjoy the challenge before committing to learning C++ through game development.

P.S.: System Era lists familiarity with Python as a desired skill. It’s still relevant for automating tasks and getting stuff done even when you learn more complex languages.

P.P.S.: Python 3 is the right choice. 2.7 is an outdated dialect. You’ll know what this means soon enough.

u/BloodyThorn · 2 pointsr/gamedev

If you're going to go to Unity, don't really worry about your game developing skills. That's the idea of using framework like Unity. Just jump in and start at it. Java is enough like C# that you should burn through the tutorials.

I chose XNA mostly because it wasn't Unity. I wanted to learn more of the guts of game programming, rather than use the huge shortcut that Unity was.

And on the other hand I also didn't want what I was doing to be too complicated. Unity was so much of a shortcut I was afraid that I wouldn't learn certain things I might want to.

And now that I am learning OpenGL with C#, I have been proven right. I am really enjoying learning the nuances of creating game loops, and spritemanagers, and new data types to handle vectors, etc. After spending the entire summer working on XNA, now working in OpenGL is giving me some insight as to what XNA did for me without my having to make it myself.

If you want a suggestion, here is the book I am currently going through. It's not a book for learning C#, the author assumes you know it. But if you are decent in java and with OOP, I don't see that as a problem for you. And make sure you get the 2010 release, and not the 2005. If you buy used, or get it... elsewhere.

u/boloney048 · 1 pointr/learnpython

There are few reasons that fact that mentioned book is published in Poland is quite important to me:
a) I'm Polish so polish is my native language and my English could be better
b) polish issues of popular books about Python are translated very slowly, for example: we don't have polish translation of this famous book yet (older editions were published here)
c) books are quite expensive here, I'm not one hundred percent sure if my interest in Python is worth the investment
d) original editions of books about programming are very expensive here
e) I have read good opinions about this book

u/danny95djb · 1 pointr/learnpython

I'm current using learn python 5th edition and i have to say its been really good covers 2.7 and 3.3, its slightly behind the most current update but a really good book in general.

Also the book teaches you about ides you can choose from and such to help you make the best choice for you.

u/Wussie · 1 pointr/gamedev

Good overview, Realtime Rendering and Gregory's Game Engine architecture are awesome, definitely recommended!

Hadn't heard of Real Time Cameras yet, will probably pick that up, looks interesting!

If you're looking for some (pretty accessible) information on performance and dealing with those problems: Eric Preisz's Video Game Optimization is a good one to pick up.

http://www.amazon.com/Video-Game-Optimization-Eric-Preisz/dp/1598634356

u/InventorWu · 1 pointr/learnpython

3 approaches:

  1. Whenever you need a function, try to search online and see how other pythonist use for what you intended to do. This way you can quickly accumulate a list of commonly use function in your task/daily job, but usually its lands on a function and a few lines of code, and hence you wont have a good understanding of the overall picture of the libary
  2. Skim through https://docs.python.org/3.6/library/ and see what seems to be useful to you. Be expected more searching needed after locating a function you need. This way you will have a more comprehensive idea what python offers, but reading without an aim is always a pain, be expected you will read a lot of unused functions.
  3. Read some beginner-mid level Python books. I have read though learning python by Mark Lutz, https://www.amazon.com/Learning-Python-5th-Mark-Lutz/dp/1449355730 which is a good intro to a lot of libraries, but also a very time-consuming piece. For the time you spent you will gain a better overall understanding of Python and common libraries as well as detailed examples and codes.
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/myanrueller · 1 pointr/learnprogramming

Having gone through something similar where I worked at a hospital from 2-11 (not nearly as bad as your hours, but still):

If you can manage it financially, find a way to go to school, even if it's part time. Large employers are required by law in most countries to give you reasonable accomodations if you're a full or part time student. It requires you telling your employer and HR once you start classes: I need X amount of time for homework per week. I need in order to be successful here and at school to work no more than X hours.

In this case the X is what you need.

School gives you structure for programming, and someone (your professors) to hold you accountable to working on it. And you're paying for it in most cases, so you have a financial incentive to do the work. You get out of a class what you put in, financially or otherwise.

But returning to school isn't a reality for everyone either. Maybe you just give yourself one problem a week you find in a "Learn [Language Name] through [Whatever Interests You]" book or website. I heartily recommend Beginning C++ Through Game Programming personally. It's how I started, and the chapters/projects are small enough to be digestible in the limited time frame you have. I'd look for a book like that in a language that interests you if you can't justify school financially. They give you small enough projects to learn with that you can work on when you can.

Check with your local library for any resources they have. I know Omaha (Nebraska) Public Library has Lynda access for every patron.

I also watch Humble Bundle. They have bundles on coding, even game development ones are useful tools. $15 for enough books to keep you going a while isn't a bad deal.

u/HassanElwy · 6 pointsr/learnprogramming

Python is a great choice for a young beginner, and if he's interested in game development rather than just modding you should check this out

Free PDF

Book

The book's target is younger readers, and although I didn't read this one, I read the author's other book and it was very good and simple, I think making a game every chapter will be an exciting experience for him if he's interested in it

u/atdk · 9 pointsr/Python

Here is my list if you need to become a good programmer with Python as your language of choice.

Follow this order for rigorous course on learning Python thoroughly.

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/Lcthulou · 1 pointr/interactivefiction

I'm working on doing the same thing to my stories in Inform 7. right now I'm working my way through the "Creating Interactive Fiction with Inform 7" book my wife got me for Christmas, and once done with the sample game, will be retrofitting it into my fiction world.

I don't know about exporting it into a format that Steam could use. I'm planning to use the website export to put it on my site. There are lots of options to export the game along with an interpreter to run it.

I looked at Twine, but am just starting to learn coding. Inform uses a natural language approach- it uses a text parser to create code from natural language commands. It's a little wonky, but once you get the basics down, it's a lot of fun.

u/Robodude · 2 pointsr/javascript

I've taken a look at impactjs and it's pretty great except for 1 thing... it requires setting up a local apache web server just to get the level editor to work. You need to get the level editor working to do any meaningful development in impact.

If you insist on moving forward there is this node dev server so you don't need to mess with apache:
https://github.com/drhayes/impact-dev-server
and also a pretty good book that I used to learn:
https://smile.amazon.com/Building-HTML5-Games-ImpactJS-Introduction/dp/1449315178

In my personal opinion, impactjs was great when it was the only thing out there, but these days you have so many other options like http://phaser.io/ or https://unity3d.com/ that I would say it doesn't make sense to learn impactjs.

u/cannibalbob · 3 pointsr/cscareerquestions

The feedback about "jargon for development" can be solved by going through some books cover to cover, making sure you understand the theory, and implementing the exercises. I understand that feedback to mean that the person who gave the feedback believes there is too high a chance you will inflict damage on the codebase by making decisions not grounded in solid theory.

Examples of titles that are classics and widely known:
Algorithms (4th Edition): https://www.amazon.com/Algorithms-4th-Robert-Sedgewick/dp/032157351X (there is an accompanying coursera course).

Code Complete: https://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670/ref=sr_1_1?s=books&ie=UTF8&qid=1469249272&sr=1-1&keywords=code+complete

Clean Code: https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882/ref=sr_1_1?s=books&ie=UTF8&qid=1469249283&sr=1-1&keywords=clean+code

Functional Programming in Scala: https://www.amazon.com/Functional-Programming-Scala-Paul-Chiusano/dp/1617290653/ref=sr_1_2?s=books&ie=UTF8&qid=1469249345&sr=1-2&keywords=scala

Learning Python: https://www.amazon.com/Learning-Python-5th-Mark-Lutz/dp/1449355730/ref=sr_1_1?s=books&ie=UTF8&qid=1469249357&sr=1-1&keywords=learning+python

Effective Java: https://www.amazon.com/Effective-Java-2nd-Joshua-Bloch/dp/0321356683/ref=sr_1_5?s=books&ie=UTF8&qid=1469249369&sr=1-5&keywords=java

Haskell Programming From First Principles: http://haskellbook.com/

I included multiple languages as well as language-agnostic ones. Functional programming is the near-to-medium term future of software engineering, and most languages converging towards that as they add functional features.

I don't think bootcamp is required. Learning how to learn is the most important thing. If you get into these books, lose track of time, and feel "aha! that's how these things that I previously thought were unrelated are actually the same thing!", and are able to keep it up for weeks, then that is a good sign that you can get to where you want to be.

u/Echohawkdown · 6 pointsr/TechnologyProTips

In the interim, I suggest the following books:

  • Digital Design and Computer Architecture, by Harris & Harris - covers the circuitry & hardware logic used in computers. Should also cover how data is handled on a hardware level - memory's a bit rusty on this one, and I can't find my copy of it right now. Recommend that you read this one first.

  • Computer Organization and Design, by Patterson & Hennessy - covers the conversion of system code into assembly language, which itself turns into machine language (in other words, covers the conversion of programs from operating system code into hardware, "bare metal" code). Knowledge of digital circuitry is not required before reading, but strongly recommended.

  • Operating System Concepts, by Silberschatz, Galvin & Gagne - covers all the basic Operating System concepts that each OS today has to consider and implement. While there are Linux-based ones, there are so many different Linux "flavors" that, IMO, a book that covers a specific Linux base (called a Linux kernel) exclusively would be incomplete and fail to address all the key aspects you'll find in modern OSes. Knowledge of coding is required for this one, and therefore should be read last.

     

    As for the coding books, I suggest you pick one up on Python or Java - I'm personally biased towards Python over Java, since I think Python's syntax and code style looks nicer, whereas Java makes you say pretty much everything you're doing. Both programming languages have been out for a long time and see widespread usage, so there's plenty of resources out there for you to get started with. Personally, I'd suggest going with this book for Java and this book for Python, but if you go to Coursera or Codecademy, you might be able to get better, more interactive learning experiences with coding.

    Or you can just skip reading all of the books I recommended in favor of MIT's OpenCourseWare. Your choice.
u/idoescompooters · 2 pointsr/learnprogramming

If you're into building any games I would really recommend Beginning C++ Through Game Programming by Michael Dawson here. I have it and it's very good, one of the best. Even if you aren't really into gaming like myself, I would still suggest it.

u/jh1997sa · 1 pointr/learnprogramming

It doesn't matter how old you are or whether you can afford classes or not, you can learn to program. There are tons of resources online for learning a programming language. If you're wanting a book you could buy the book from amazon or something or you could download an ebook from somewhere for free (hint hint)

Here's a few good books for different languages:

Learning Python - Python

Beginning Java - Java

C++ Primer - C++

If you don't like reading books then a lot of people like thenewboston although I've watched a few of his videos and he teaches some bad coding habits.

If you need any more help, feel free to PM me here on Reddit or email me @ jhpy1024@gmail.com

btw, I'm 16 ;)

u/sj2011 · 8 pointsr/programming

This book by Jesse Freeman was my launching point. I learned about the entity structure, game loop, and resource loading, through this book, which I'd recommend as a great starter.

To be honest I'm not sure it's a great thing to get started in - I have a few years of experience, but the forums are pretty dead, and an amazing help site called 'Point of Impact' has since gone down. There is another engine called Phaser that seems to be more up-to-date and maintained.

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

Based on the code you provided:
for (int y = 0; y < arrayHeight; y++)
{
for (int x = 0; x < arrayWidth; x++)
{
MapGrid[x, y].draw();
}
}

You're encountering a cache miss every time you access a grid cell. When the program is executed, a chunk of memory is loaded from the RAM into the CPU's program cache. This improves execution time by minimizing the number of times the CPU has to ask the RAM for data (which is relatively slow). To fully understand the problem it may be valuable to review what a 2d array actually is: an array of pointers to arrays. Because of this, each array (column, if you think about it as a 2d array) could be anywhere in memory. When you iterate over the first element in each array, the CPU has to grab that array from memory and put it in the program cache. The iteration in the loop you're getting the first element of the second array, which isn't in the cache, so it has to clear the cache and load the second array. This is the origin of your slowdown. Solving this problem is easy, just iterate over an entire array at once, reducing the potential cache misses from xy to x.
for (int x = 0; x < arrayWidth; x++)
{
for (int y = 0; y < arrayHeight; y++)
{
MapGrid[x, y].draw();
}
}
Another option is to use one contiguous array in memory. This will help with access time by minimizing the number of cache misses. You can still treat it as a 2d array by making an intermediate method to access an element:
GetElementAt(int x, int y)
{
return MapGrid[x
arrayWidth + y];
}

Hope this helps! :)

If you want to learn more about this, there's a great section of Game Coding Complete that talks all about cache misses and how terrible they are for performance.

Edit: After the first optimization it reduces the potential cache misses to approximately x instead of y. This is just an estimate though, because it depends on your platform, your CPU's L1/L2 cache size, and how things are allocated at runtime.

u/Dicethrower · 2 pointsr/Cplusplus

This is fairly basic stuff, so I'm not sure if you should be trying challenges if you're not ready to do it. No worries, everyone started somewhere.

A good way to start is to find a good C++ book and go through it until you're more comfortable attacking the problem. I started with Beginning C++ Game Programming by Michael Dawson (or amazon). Most books cover what you need in the just first few chapters and I'm pretty sure this one does that as well. Plus you get some insight in game development, which is always fun to do. If all else fails, always remember google is your friend.

That said, I kind of get the idea that, because it's a pastebin, this was posted by a teacher of some sorts. I feel even the smallest hint would give away too much and it wouldn't be much of a challenge/test if others did the work for you. Learning to program is all about figuring things out yourself. There's very little, besides common pitfalls, that someone can teach you more or equally effective, as opposed to just doing it yourself.

u/def-pri-pub · 7 pointsr/cpp
  1. Learn C++ better
  2. Learn the basic of game development. I don't recommend a full fledged engine like Unreal 4; yet.

    This was my first C++ book:
    https://www.amazon.com/Beginning-C-Through-Game-Programming/dp/1305109910/ref=sr_1_1?ie=UTF8&qid=1502459253&sr=8-1&keywords=game+development+c%2B%2B

    You'll make text based games.

    As for a game development library, I'd recommend RayLib:
    https://github.com/raysan5/raylib

    As it's very simple. It doesn't have a lot of complex things provided for you already (such as Scene graphs and whatnot). You'll need to build that stuff for yourself. But it does give you the basics of graphics, audio, input handling, etc.

    I'd say once you feel comfortable with those two things, you should then move onto something like Unreal.
u/BM-Panda · 2 pointsr/gamedev

Yo, I just finished working my way through my first game dev book (which took me far too long, 3 months, I burned out after pulling all day sessions for a week, woops) and now I have two questions:

  1. What book should I move on to next to build on the foundations set by those books? There were one or two things that were "beyond the scope of this book" so I want to fill in any blanks I might have.

  2. I also want to just dive right in and try to apply some of this knowledge to actually building a game, but the book only contains information that would really be useful to text-based games as it didn't mention anything about engines, etc. So what's a good engine for mobile games (I want to start with something basic, and if it makes a difference I lean toward android) with a lot of documentation and tutorials to fill in any blanks I might have?

    I'm 29, so I started too late, but I'm excited to get going. Should have acted on this years ago, but I foolishly let other people tell me what I could and couldn't do. Advice to any kids that might be reading: Never do that. Anyone ever tells you they can't help you with the path you choose but "here's some leaflets on business classes as that's a much wiser choice," tell them to bugger off.
u/Zol95 · 3 pointsr/Unity2D

Here are some good books I recommend to you.

They can be read on the go as well, though they are mostly project based, therefore they require you to do the projects on the computer while you are reading. But of course you can read it anywhere and then later when you are near the computer, you can attempt to recreate the little games they show. (thats what I did with the first book on this list)

​

u/caffarelli · 1 pointr/AskHistorians

I picked a random low-priced popular CS textbook, $40 print and $30 ebook, so a $10 savings, but if you factor in the sell-back value it's a net price of $22 for the print. So 8 bucks more for the ebook in the end, but a better value if you keep books.

u/darkgnostic · 2 pointsr/roguelikedev

> AI: "Artificial Intelligence for Games" by Ian Millington

My favorite is Behavioral Mathematics for Game AI, I will definitely check yours :)

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/nimix16 · 3 pointsr/learnprogramming

If you're looking for a great beginner book, I personally recommend 'Beginning C++ Through Game Programming' by Michael Dawson. Don't let the name throw you off, it's just a different styled intro book and still teaches you all the main concepts. It's pretty much starting off with printing 'Game Over!' rather than 'Hello World!' https://www.amazon.com/Beginning-C-Through-Game-Programming/dp/1305109910/ref=dp_ob_image_bk

u/kiaran · 3 pointsr/math

A quick Google search suggest FEA is the same as Finite Element Method (FEM)? Is that right?

If so, then yes I agree FEM is just awesome. There's a great treatment of it in Game Physics Pearls (of which I was a contributing author, shameless plug!).

u/epreisz · 2 pointsr/gamedev

Optimizing graphics is something I've dedicated a lot of time to. It's fairly complicated and more often than not, we spend time optimizing things that aren't slow. I wrote a book on the topics. I normally wouldn't want to post something where it looks like I will profit from my advice...but don't worry...I promise you I won't make anything from you buying my book :(

http://www.amazon.com/Video-Game-Optimization-Eric-Preisz/dp/1598634356

u/shinigamiyuk · 1 pointr/learnpython

If you really want to learn about Python:

This

If you want to get up and running and have a good book to do some practice exercises and build some fun stuff:

This
if you buy the digital version makes sure you email the publisher to get an updated format so the code doesn't show up weird

u/ewiethoff · 1 pointr/learnprogramming

Python is an excellent choice for beginners, and I understand "Think Python" has been used successfully in high schools. There's a new book, Invent Your Own Computer Games with Python which looks promising, even for middle school kids.

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/jclemon81 · 5 pointsr/learnprogramming

I liked Beginning C++ Through Game Programming. Note that it is very basic, so you'll be creating text/console games. It's best to get the basics right before adding on graphics, audio, etc. From this you could move on to Unity, Unreal, OpenGL, etc.

u/seltaebbeatles · 2 pointsr/gamedev

Raimondas Pupius has a couple of books on SFML (which is C++ based), which are quite good despite being published by Packt: SFML Game Development by Example and Mastering SFML Game Development.

As /r/Redkast has pointed out above, Game Programming Patterns by Robert Nystrom is a definite 'must read' in my opinion as well. I also like this one by Sanjay Madhav: Game Programming Algorithms and Techniques.

The Kindle editions of all of the above books are reasonably priced.

u/uberstrassen · 1 pointr/Malware

I don't know any beginning X86 Assembly books but this is the closest thing I could find and strongly recommend you read this online or purchase it:

Assembly Language for Intel-Based Computers

Python:
Python for Informatics

Learning Python

I personally used these books in college

C/C++:
Please see SADISTICBLUE's comment above.

u/biochromatic · 1 pointr/learnprogramming

I followed this entire book and it was pretty useful. You won't really end up with a blockbuster game at the end of it, but your understanding of various game programming concepts will be strengthened.

u/Palantir555 · 1 pointr/cpp

Haven't read it, but this book has good reviews on amazon: link

There are some others. Look them up and see which one you like the most.

u/rjhelms · 1 pointr/Python

This is a great resource for the community - thank you for it!

I'm curious as to where the list of books comes from, and how they get categorized. Is that done manually?

In particular, I didn't see Lutz' "Learning Python" on the site, but it is listed in the GitHub issues. That's one I could definitely provide a review of!

u/Luage · 2 pointsr/math

Sure.

Here is how I started. View the videos in this playlist. http://www.youtube.com/playlist?list=0EE421AE8BCEBA4A. It's is an extremely boring and efficient way of learning the language. I only watched the first 100 videos and then went back and viewed those I needed. What I particularly like about C# is this great resource: http://msdn.microsoft.com/en-us/library/system.diagnostics.stopwatch.aspx (here at an article about the StopWatch class. Something useful for when you need to know how fast your algorithms are). Now comes the tricky part, OpenTK and OpenGL. I got this book http://www.amazon.com/Game-Programming-Serious-Creation/dp/1435455568 which introduces OpenGL to C# but through the Tao framework instead of OpenTK. When you are about halfway through that book moving on too here: http://www.opentk.com/ shouldn't be a problem.

Tao is a lot harder syntax vise, but that book gives a good foundation for graphics programming.

u/TheVitalPotato · 1 pointr/gamedev

You should also check out some other books, because I don't use C# so I'm not a 100% sure which book is good. But I think that this one is pretty good https://www.amazon.co.uk/Learning-Developing-Games-Unity-5-x/dp/1785287591/ref=sr_1_1?ie=UTF8&qid=1464339763&sr=8-1&keywords=greg+lukosek

u/MyNameIsRichardCS54 · 1 pointr/learnpython

I found Learning Python to be very good but I couldn't say whether it's the best.

u/cismalescumlord · 1 pointr/learnpython

Many programming text books have an accompanying web site where errata and answers to exercises can be found. I haven't read this book so I don't know if that's the case. The rating and reviews would certainly make me consider buying it , even at that price.

Probably the best book I have read on python. Okay, still reading.

u/Cristaly · 2 pointsr/leagueoflegends

I spent money on a book in attempts to kinda force myself to sit down, it hasn't gone too well. But when I do, it feels more scholarly so I am more focused on learning?

I got this one for free, it's made by the dude who made C++ himself, and is more accessible than expected!

And I bought this one, since it felt more activity based!

u/roguecastergames · 7 pointsr/roguelikedev

Divided Kingdoms

I've been very busy at work, so development time was limited this week:

u/logicalinsanity · 1 pointr/gamedev

I still have the first edition of Beginning Game Programming. Great book that teaches the basics of c++ using a "game programming" theme. :)

u/PiLLe1974 · 1 pointr/gamedev

Oops, sorry, I missed that short question...

I often revisit those books:

  • The Pragmatic Programmer
  • The Art of Game Design / A Book of Lenses
  • 7 Habits of Highly Effective People (more related to getting things done and right)

    ...so most are not about game dev only. :)

    There's also a book I wanted to read since ages:

    Behavioral Mathematics, by Dave Mark

    Otherwise I use the internet mostly and learn from articles, GDC, and colleagues.

    I guess many around me use other resources apart from books since we're in the industry for so long.

    We got specialized, so most new input comes from playing other games, code or game reviews (programmers or designers giving feedback on features), R&D, iterating on features, etc.
u/AlSweigart · 1 pointr/programming

I think Amazon should have better delivery time, if you don't mind paying the full price. http://www.amazon.com/Invent-Your-Computer-Games-Python/dp/0982106017/

You can also download it as a PDF for free from the site.

u/bcorfman · 3 pointsr/Python

That's an OK book, as you can see from the reviews, mostly because he never develops a real game. You might find this page for Game Programming: The L Line to be helpful too -- it has a series of PowerPoint slides that give a Pygame tutorial as well.

u/bcostlow · 7 pointsr/Python

I think /u/swingking8 was spot on when s/he said to find a project that captures your interest. You'll be using the language and not just following a tutorial.

But, once you have a feel for the syntax, I can't recommend strongly enough that you look up presentations and writing by Raymond Hettinger and David Beazley.

If you learn best by reading before doing, Mark Lutz's Learning Python seems intimidating because of its size. But it's so big because it is both comprehensive and accessible for beginners. So depending on what you already know, you can skip large parts. But if you really understand everything in that book, you are well on your way to being an intermediate level Python dev.

u/zecbmo · 3 pointsr/gamedev

If you're looking for a great/simple place to start I recommend this book.


https://www.amazon.co.uk/Beginning-Programming-Premier-Press-Development/dp/1592002056


Detailed and simple to understand. It is all basic C++ so Console/CMD window games.

Great place to start. I say learn c++ before learning an engine.

u/programmingnewbie016 · 1 pointr/Python

Yes, I'm halfway into
https://www.amazon.com/Learning-Python-5th-Mark-Lutz/dp/1449355730?ie=UTF8&*Version*=1&*entries*=0

I didn't have to upgrade to win10 , win 7 update was enough

u/StrikeSaber47 · 6 pointsr/bioinformatics

This. I swear the best non-course instructed way is using this great e-book.

http://learnpythonthehardway.org/

Otherwise if that is what you are using already, then I recommend Learning Python 5th edition from the O'Reilly series of technical books.

http://www.amazon.com/Learning-Python-Edition-Mark-Lutz/dp/1449355730

u/Know_that_feel_bro · 3 pointsr/gamedev

(This specifically addresses which library/engine you should use) I may be unreasonable, but I have this need to build as much of my code as I can by myself, which is why I find DirectX so useful. It is not too difficult to get into, and with the right book you can start building up an arsenal of basic functions. Then, once you want to start building larger projects you can build your own game engine, that is designed exactly how you think it should, because you made it and not someone else. I've heard OpenGL is good too, though I've never tried it.
boldTL:DR bold Use DirectX/OpenGL if you want.

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/squidsniffer · 2 pointsr/Unity3D

UMotion Pro

Check out Game Programming Patterns, pretty good.

u/silenceb4thestorm · 1 pointr/unrealengine

If you intent on learning C++ I advice against using Unreal to do so. First of you should get a more basic understanding of the language and programming in general.

As a game programming student I work together with designers. What I have noticed is that the blueprints these designers create are filled with mistakes and bugs. Simply because they don't understand the concept of programming, in any language that is.

Besides that you are only really ever forced to use C++ in Unreal for things that can seem rather more complicated, instantly being thrown in the deep.

I advice you start with the very basics (https://www.amazon.com/Beginning-C-Through-Game-Programming/dp/1305109910 read this if you want to understand the very basics). From there you should start exploring in smaller C++ projects to learn how to properly use functions and all the other benefits C++ brings with. This, in turn will help you make more robust blueprints making your code more readable, adaptable and less prone to bugs.

I could recommend you a youtube tutorial that teaches you how to make a very simple game from scratch using C++

u/AeroNotix · 7 pointsr/django

Looking at your posting history you really need to pick up a book or two. Very unfocused learning going on here.

OpenShift is probably the most unusual way of deploying or learning how to deploy Django. This is confounding your learning troubles. Omit OpenShift.

If you already know Python, skip this one, but at least think about it: Learning Python. Then.

Pick up Two Scoops of Django. Learn it, read it. All. Local. Do not use a "real" database, use SQLite. Do not think about deploying at all.

Once you're comfortable with Django. Experiment with understanding what a database actually is, how it works and how to administer it, how to configure it. How to configure it with Django. Use something other than MySQL, which invariably means Postgres.

Once this is done and I mean done. Only then is it time to think about how to get deploying Django. Use a VPS, do not use a magical "we'll do it all for you" thing. It's just clouding too much for you to clearly understand what's going on. It's hindering learning. Omit things which cloud understanding.

u/megazver · 1 pointr/learnprogramming

Yeah, I'd recommend Inform as well, along with this book:

http://www.amazon.com/Creating-Interactive-Fiction-Inform-7/dp/1435455061

u/auspiciousham · 1 pointr/videos

Buy a proper book:

Learning Python - O'Reilly

Programming trial-by-fire with a book to support you is way better than copying someone else's work from a video, or even worse, just watching the video and believing that you actually understood and retained it.

If you're doing it for work they should buy you that book and if you skim through it you should be pretty decent after a few days.

u/Pellanor · 3 pointsr/EQNext

There's a lot of different ways to do this. Something tells me they'll be using Utility Based AI, if only because Dave Mark wrote the book on it. http://www.amazon.com/Behavioral-Mathematics-Game-Dave-Mark/dp/1584506849/

He's given a number of talks on AI at the game developer conference. Most of those are behind a paywall, but this one is free.
http://www.gdcvault.com/play/1015683/Embracing-the-Dark-Art-of

Then here's some slides from an older talk he gave about MMO AI http://www.gdcvault.com/play/1011855/Cover-Me-Promoting-MMO-Player

u/Teflon_Samurai · 2 pointsr/learnprogramming

Newer consoles also have multicore processing. Therefore threading.
Also, this book is a great intro to programming book that uses a variant of BASIC for its language. The whole book is also a journey towards building a version of brickbreaker, so you'll be able to apply a lot of the same principles to PONG!

u/mysticreddit · 3 pointsr/gamedev

Hey RJAG. We don't always see eye to eye but you seem to be one of the more level headed guys around here! I almost always appreciate your posts -- they usually have an interesting perspective to them -- even if they aren't well received. I probably should pay more attention to them! But enough of how reddit tends to shoot the messenger and ignore the message.

You're right -- a lot of material is total crap. Out-of-date, not explained well, piss-poor naming, poor architecture, etc.

Warning:


I first started doing professional game dev back in 1995, so I am extremely biased. I've seen the fad of programming languages, toolkits, libraries, etc., come and go. I think Boost's 1,109 lines for a simple CRC is over-engineered C++ crap compared to the ~30 lines of C/C++ you actually need to solve the real problem.

With the #include <disclaimer.h> out of the way ... ;-)

The best authors I have found are (aside from Jason obviously):

u/JackStratifPapaJohns · 1 pointr/learnprogramming

Learning Python is honestly the only thing I can recommend. Whether you already know a programming language or not, it is the most comprehensive resource for truly understanding Python from the bottom up.

I've looked at a lot of the other resources suggested in this subreddit and they teach you how to use Python but not how to use it and understand why it works the way it works.

u/furas_freeman · 3 pointsr/learnpython

"Automate the Boring Stuff" and other books the same author are free online - http://inventwithpython.com/


There are other free books for beginners

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/costlymilk · 3 pointsr/technology

Seriously! When I was starting to pursue web design, my dad (a graphic designer) sent me tons of textbooks and personal notes from his college days. It made me realize how nice it was to have years of knowledge, physically laying next to me on my desk.

For those wanting to learn C++, I just recently picked up this book when i was in Oregon http://www.amazon.com/gp/product/1435457420?ie=UTF8&at=&force-full-site=1&ref_=aw_bottom_links
I highly recommend checking it out if you are into games. It teaches you to code through basic game programming.

u/bakersbark · 1 pointr/math

Python is a good place to start because it leaves some training wheels on while taking a lot of the more important ones off. It's also widely used. I've found this book helpful:

http://www.amazon.com/Learning-Python-Edition-Mark-Lutz/dp/1449355730

u/punXter · 1 pointr/gamedev

Currently I'm reading Game Coding Complete by Mike McShaffry -- it is Code Complete for game developers. It discusses topics from basic project setup till rendering, AI and networking. Also it provides additional reading material for further reading. Imho very good book and recommended read. http://www.amazon.co.uk/Game-Coding-Complete-Mike-McShaffry/dp/1584506806

u/5larm · 1 pointr/learnpython

> where do I start?

What's your learning style?

u/blackdrago13 · 6 pointsr/learnpython

Try Learning Python by Mark Lutz. It provides a comprehensive, in-depth introduction to the core Python language (Support Python 2 and 3). It's a hefty read, 1648 pages, only to discuss the about the core of Python.

Or his Python Pocket Reference might suits you better.

u/_domZ_ · 3 pointsr/gamedev

There is also that book - Behavioral Mathematics for Game AI - it talks about similar concepts, including Utility theory. I'm reading it right now, liking it a lot - just wanted to share.

u/mikenseer · 1 pointr/Unity3D

This one may be a good choice. All the low reviews are because it assumes the reader has little to no C# experience and walks them through it. So, likely the perfect place to start.
Learning C# By Developing Games in Unity

u/IamABot_v01 · 1 pointr/AMAAggregator


Autogenerated.

[XPOST] I'm the author of Unity in Action, a popular book about game programming. AMA!

The 2nd edition of Unity in Action has just been released and some people have asked me questions about the writing and publishing process. Here's proof of identity.

I'm not sure how many questions there will be, so I don't have a specific time limit in mind. I'll probably just keep answering questions until they stop getting asked.


NOTE - This thread is just a cross-post, so ask questions in the thread on r/gamedev:
https://www.reddit.com/r/gamedev/comments/8f5em7/im_the_author_of_unity_in_action_a_popular_book/


-----------------------------------------------------------

IamAbot_v01. Alpha version. Under care of /u/oppon.
Comment 1 of 1
Updated at 2018-04-27 15:35:26.811382

This is the final update to this thread

u/Disagreed · 2 pointsr/learnprogramming

I sent you a message. Beginning C++ Through Game Programming seems to have good reviews on Amazon.

u/origamimissile · 1 pointr/linguistics

Dive Into Python 3 is always good, and one can just find the highest rated Python book on Amazon (right now it's Learning Python, 5th Edition

u/TheQuantumZero · 1 pointr/gamedev

If you want to get into programming, then start with C++. Once you are comfortable with C++98 & C++14, learn SDL/SFML & then OpenGL.

If you already know C++, then start with https://www.amazon.com/SFML-Development-Example-Raimondas-Pupius/dp/1785287346.

u/matt_benett · 2 pointsr/Unity3D

thanks for all the ideas, he really is a book person and has no trouble with complex books/concepts, as such I have ordered " Learning C# By Developing Games in Unity " and will get him on the playground videos until that arrives. thanks for the thoughtful suggestions.

u/thisdudehenry · 2 pointsr/learnprogramming

This was fun Beginning C++ Through Game Programming https://www.amazon.com/dp/1305109910/ref=cm_sw_r_cp_apa_FZs.yb130YGED. They have projects to do on your own

u/dont_mod_your_rhodes · 2 pointsr/learnprogramming

I can't recommend this book more. Don't be put off by the title -Game Programming Patterns- by the authors own admission too many examples are dry examples such as accounting or library lending systems.


It's easy to read and has far too many important paradigms and lessons to even begin listing them here.

u/footshred · 1 pointr/playark

https://www.amazon.com/Video-Game-Optimization-Eric-Preisz/dp/1598634356

>All the examples covered in the book can be applied to a variety of game types and coverage of how to optimize system memory, CPU processing, graphics, and shaders is included.

u/[deleted] · 1 pointr/learnpython

These are the two books that I learned python from and I highly recommend them:

Python Programming for the Absolute Beginner

Game Programming: The L Line, The Express Line to Learning

Both of these books teach you to program your own computer games, starting with the basics and then progressing into tkinter and pygame.

u/drLagrangian · 1 pointr/learnprogramming

I did this in 15 minute chunks on my breaks. I used /r/inventwithpython a free web book to get started.

I used http://www.amazon.com/Learning-Python-Edition-Mark-Lutz/dp/1449355730 to get a primer on all the hard core stuff.

and then I just started browsing /r/learnpython , /r/python , the python.org docs and practicing my own stuff.

and all of it 15 minutes at a time.

u/0b_101010 · 1 pointr/learnprogramming

This looks like a book for you. Check out other books on Amazon too.

u/sooooma · 1 pointr/IndieDev

I started by reading this (now obsolete) book back in 1999 or something.

Windows Game Programming for Dummies

Once I knew the basics, I started to learn different technologies over the years: OpenGL, Mobile Java, iOS development and most recently Unity. I personally prefer books, and here is a good one to get you started with Unity, which makes everything easier, but with higher expectations.

Unity in Action

​

​

u/insec99 · 2 pointsr/learnpython

http://www.amazon.com/Learning-Python-Edition-Mark-Lutz/dp/1449355730
Learning python by Mark Lutz is another exceptional book for python beginners would absolutely recommend it.

u/Madamin_Z · 1 pointr/Cplusplus

I recommend to you this book

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/estiquaatzi · 19 pointsr/ItalyInformatica

La scelta del linguaggio di programmazione dipende molto dal contesto e dalla applicazione specifica. R é ottimo per l'analisi statistica, ma appunto si adatta solo a quello.

Per iniziare, mantenendo una forte connessione con quello che desideri studiare, ti suggerisco python.

Leggi "Python Data Science Handbook: Essential Tools for Working with Data" e "Learning Python"

u/whattodo-whattodo · 1 pointr/learnprogramming

If it has to be a book, my only advice is do the opposite of what I did. I got Learning Python, 5th Edition, which is a huge, dry book. It's great, but it was daunting & more than was even good for me to know about at the time. I would suggest any guide meant for beginners.

I should mention that Learn Python the Hard Way & Automate the Boring Stuff with Python are the standard suggestions. I still suggest a beginner's book, but this is what the community likes.

That being said, I usually insist that people follow this order.

1) CodeAcademy's course on Python

a) It only teaches you things that are essential.

b) It provides you with an editor & a runtime environment. These two steps may become a little confusing later, but it's good to not have to tackle them all at once.

c) It provides training that is still hands on

Note: I specifically suggest doing the course more than once. As many times as needed to feel excruciatingly bored and unchallenged by it.

2) Lynda's Learn Python 3 Standard Library. It is free through the Public Library. It is a series of videos so it is not hands on, but it helps you see what is possible before you're able to write it. Knowing what is possible is a big part of the process. Once you know what is possible, the how is often mostly irrelevant & figured out with Google.

Note: I specifically suggest watching the videos more than once. As many times as needed to feel excruciatingly bored and unchallenged by it.

3) Only here do I usually suggest a book. Any book will do, but once you're swimming in ideas & have been prepped & re-prepped. You should be ready to go.

There is a very good chance that installing Python, picking en editor & running the code will give you a hard time. Python is a pain to set up in Windows the first time you do it. Though, if you're running Linux, it's seamless. Once you get here reach out to me (or /r/learnpython). There are some tricky steps, but once you're up and running, you won't look back.

Good luck. If you have any trouble with any part, shoot me a message.


Edit: I like this guy's setup too. https://www.reddit.com/r/learnpython/comments/6f7ybq/_/dig45b0?context=1000

u/OmegaNaughtEquals1 · 1 pointr/cpp_questions

This is popular on Amazon, but is not on the Definitive List.

u/smeagol13 · 2 pointsr/learnpython

Just for the exercises, I'd recommend Mark Lutz's Learning Python. Normally, I wouldn't recommend it, but since you ask for exercises, that's the only Python book I've read that's got exercises.

u/MakerTech · 1 pointr/learnprogramming

From what I can see on the page you link to, then I don't think so.

I can recommend this book for beginners to programming who want to start out with C++.

u/AnAdversaryOfJesus · 2 pointsr/awakened

haha oh no I literally had just watched it. Though I wish :(

for reference here are the other syncs I remember:

  • Magicians EP (4/13 and 4/4)
  • Persefone (prog rock band) (4/12)
  • Rats in my ceiling (too long - not soon enough)
  • Doing misc stuff today/night when

    There was a 3rd persephone sync but I have not slept so my memory module is a bit floppy
u/digital19 · 2 pointsr/Python

You might look at Game Programming, the L Line, The Express line to Learning

You can get it used fairly cheap. You wouldn't know from the title, but it only uses Python. It has 'Practice Exams' at the end of each chapter, usually with 2 questions that ask you to augment programs in the book.

u/TiGeRpro · 1 pointr/gamedev

Any reason not to get the Fourth Edition of the book?

u/ThunderSnowStorm · 1 pointr/dotnet

Actually, it is not. It is a design pattern that I first encountered in this book.

u/snakesarecool · 2 pointsr/learnpython

"Learning Python" is designed for experienced programmers getting into Python. http://www.amazon.com/Learning-Python-Edition-Mark-Lutz/dp/1449355730

u/metallidog · 1 pointr/learnpython

Learning Python by Mark Lutz.

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