Best game programming books according to redditors

We found 391 Reddit comments discussing the best game programming books. We ranked the 98 resulting products by number of redditors who mentioned them. Here are the top 20.

Next page

Top Reddit comments about Game Programming:

u/hermitC · 36 pointsr/gamedev

Here's a list of all "Game Project Completed" Amazon links for all supported countries:

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/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/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/shinigamiyuk · 16 pointsr/learnpython

Python crash course is excellent and the 3 books I would recommend for anyone just starting with python would be:


Python Crash Course (I like this book but I think it can be skipped)

How to Think Like a Computer Scientist

Problem Solving with Algorithms and Data Structures using Python

If you are more into theory I would choose:
Learning Python, 5th Edition

u/madpew · 15 pointsr/gamedev

If you are interested in the whole engine and the rendering process with all the tricks used to get wolf3d running so fast you might be interested in Fabien Sanglards "Game Engine Black Book: Wolfenstein 3d".
https://www.amazon.com/Game-Engine-Black-Book-Wolfenstein/dp/1539692876
(edited the link)

u/mysticreddit · 10 pointsr/gamedev

FAR too many to list. Here is a very short list of notable topics:

u/Adaax · 9 pointsr/GameDeals

Quite good, I think. The "Dummies" (I know, I know) guide is actually very decent, and would help structure what and how you are learning.

https://www.amazon.ca/GameMaker-Studio-Dummies-Michael-Rohde/dp/1118851773

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/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/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/coisinhadejesus · 7 pointsr/brasil

O Steve Yegge fala uma coisa que é o seguinte, você não pode dizer que sabe uma linguagem de verdade até conseguir escrever um compilador dela.

Por isso, se você quer viver de uma linguagem, é melhor encarar logo um camalhaço de mil e quinhentas páginas que ensina tudo de cima até embaixo do que tentar ficar aprendendo gambiarra ( e no caso de python tem muitas ).

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

Divided Kingdoms

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

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/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/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/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/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/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/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/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/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/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/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/tp_12 · 4 pointsr/Kotlin

Oh, I missed that there was a book. Here it is for my fellow sleepy heads:

Exercises in Programming Style by Cristina Videira Lopes

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/dmendro · 3 pointsr/GameDeals

The GameMaker for Dummies book is available both new and used on the Buying Choices page for the book on Amazon. I picked mine up new for $7.99 incl tax and shipping.
https://www.amazon.com/gp/offer-listing/1118851773/ref=olp_f_used?ie=UTF8&f_new=true&f_used=true&f_usedAcceptable=true&f_usedGood=true&f_usedLikeNew=true&f_usedVeryGood=true

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

For free:

Unity or CryEngine tutorials on YouTube.

For cheap(ish) money:

The current Game Development humble bundle

Learning C++ through Game Programming

More expensive:

Lynda.com SFML and Unity courses

Udemy Unity and CryEngine courses

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/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/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/[deleted] · 3 pointsr/gamedev

Get him the book Masters of Doom, and if he's not motivated to make games after reading that, it's hopeless.

I also recommend this book if he wants to get going with game programming. I'm currently working through it, and it's explained very, very clearly. I took a year of classes at college and this book filled in some gaps.

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

> I'm just afraid to fail that too or be too overwhelmed.

You said you learned math on your own via Khan Academy and you're afraid to fail. Clearly you need a refresher about what Khan Academy is all about. :)

I think you need to become more structured in your studies and really sit down to complete something from start to finish rather than knowing a little bit about a lot of things. I'd suggest picking up a book like Learning Python and setting a schedule each week where you'll sit down and read the book. Once you complete that book cover to cover, you can move onto a book like Programming Python.

​

I absolutely think college is a great option for you. If you're scared, start off by getting 2 year degree then move onto a 4 year degree. What a disservice to the world it would be for such a curious mind to be wasted working in a construction store.

​

Always remember bud, life is a marathon not a sprint.

​

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

I highly recommend reading his book of which this is an excerpt from: a lot of nostalgia and very approachable considering the topics he's covering.

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

Forgive the shameless plug, but since you already know how to program you might checkout my book Unity in Action to quickly learn game development in that engine.

u/misatillo · 3 pointsr/gamedev

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

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

u/vergyl · 3 pointsr/gamedev
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/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/thePhilosophersStone · 2 pointsr/learnjava
u/ewiethoff · 2 pointsr/learnprogramming

One or both of these Python books:

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

You may be interested in this book by Jonathan Harbour. I read the Java one and found it to be quite a useful introduction; the one I linked is the C++ version, and uses DirectX.

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

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

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/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/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/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/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/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/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/whattodo-whattodo · 2 pointsr/learnpython

I guess it depends where you're starting from. If you have limited experience in programming, then I suggest CodeAcademy >> Lynda >> Fiverr. This is the method I use for interns where I don't actually know what they're starting off with.

If you have a little more experience, I suggest the Lynda course & then Learning Python, 5th Edition. This is the method I used for myself.

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/Chrono803 · 2 pointsr/AskProgramming

I've actually been reading Exercises in Programming Style and enjoying it quite a lot.

u/didibus · 2 pointsr/functionalprogramming

My advice is to stick to Python for now, and work through the book Exercises in Programming Style https://www.amazon.com/dp/1482227371/ref=cm_sw_r_cp_apa_i_JHj3Db3Q6F3GM functional programming section.

After that, you can move to Clojure or Haskell.

u/fernly · 2 pointsr/programming

Prof. C.V. Lopes, the Editor in Chief, has published Exercises in Programming Style, a very interesting book that is seems pragmatic and focused on details of practice.

However, browsing the contents of the first two issues of this new journal, I don't see anything with that flavor. The topics all seem to me academic in tone and focused on minutia and arcana.

For comparison see the topics in the journal "Software: Practice and Experience" -- which of course is not at all free and open like ASEP.

u/tknotknot · 2 pointsr/gamedev

This is an interesting read if you like stuff like this: https://www.amazon.com/Game-Engine-Black-Book-Wolfenstein/dp/1539692876

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

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

  1. The C# Player's Guide
  2. Unity in Action
u/LegendaryFrog · 2 pointsr/gamedesign
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/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/theBigDaddio · 2 pointsr/Unity3D

There is an entire book just for you

u/vreo · 2 pointsr/Unity3D

Another one with emphasis on c# and a bit of unity introduction:

http://www.amazon.com/Learning-Developing-Games-Unity-Beginners/dp/1849696586/

I have it and work through it, I can recommend it. If you know another language like me, then you could just quick read some basic concepts and concentrate on the things you need to know.

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

UMotion Pro

Check out Game Programming Patterns, pretty good.

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/ckdarby · 1 pointr/PHP

If you're brand new to programming I honestly push people towards this book to start learning, mostly due to the realistic per day learning: http://www.amazon.ca/Java-Teach-Yourself-Covering-Edition/dp/067233710X/

Followed by this book:
Design Patterns: Elements of Reusable Object-Oriented Software

For specifically PHP:
http://www.phptherightway.com/

Pretty much anything else related to PHP will be found here:
https://github.com/ziadoz/awesome-php

u/dbakathaillist · 1 pointr/learnjava

I used this site to help me learn. I also supplemented what I learned with this book here. Worked well for me.

u/trevorsmiley · 1 pointr/ottawa

Back in high school I used an old version of Sams Teach Yourself Java in 21 days and found it useful in learning to code and java.

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/AlSweigart · 1 pointr/programming

Yes, it's also available on Amazon. http://www.amazon.com/Invent-Your-Computer-Games-Python/dp/0982106017/

Or you can just download the book as a PDF for free.

u/gasshat · 1 pointr/gamemaker

This is a real thing, but I don't know if it's outdated.

u/OmegaNaughtEquals1 · 1 pointr/cpp_questions

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

u/TiGeRpro · 1 pointr/gamedev

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

u/Madamin_Z · 1 pointr/Cplusplus

I recommend to you this book

u/JulianCienfuegos · 1 pointr/cpp_questions

I started with beginning C++ through game programming. The games are simple, its pretty much just a book about basic c++ syntax. https://www.amazon.com/Beginning-C-Through-Game-Programming/dp/1305109910 . I'm not sure, but a Stroustrup book might be intimidating if you don't know anything about coding.

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/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/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/ThunderSnowStorm · 1 pointr/dotnet

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

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

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

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/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/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/shitzafit · 1 pointr/cscareerquestions

Thanks for the suggestions. I looked into C++ and checked into what seemed to be the most basic book on it at the time, https://www.amazon.com/Beginning-C-Through-Game-Programming/dp/1435457420/ref=sr_1_2?s=books&ie=UTF8&qid=1482801684&sr=1-2&keywords=c%2B%2B+beginners+games and a few others. All those did seem to introduce basic concepts of programming but in the samples I found that they tended to use jargon that I was not familiar with. I decided that I would study python until I understood the concepts and then move to more difficult languages. I often wonder myself that by learning python first, if I should instead be jumping headfirst into other languages that tend to be more in demand.

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/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/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/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/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/raydeen · 1 pointr/Python
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/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/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/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/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/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/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/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/MyNameIsRichardCS54 · 1 pointr/learnpython
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/TankorSmash · 1 pointr/videos

I'm a psychology major, I learned to code by doing literally every tutorial on the first page of google 'python beginner tutorial', used Codecademy's intro courses, and repeating a lot of tutorials a few times, because it took a while to sink in.

I've made a few games since (and am now working on this strategy game) shameless plug!), so I think anyone can learn to code if you just keep throwing yourself at it over and over again.

I also read https://www.amazon.com/Learning-Python-5th-Mark-Lutz/dp/1449355730/, even if it was harder to follow along with a paperback instead.

I think the tl;dr though is that it won't be easy and it'll be frustrating a lot of the time, but the highs you get are crazy satisfying.

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/metallidog · 1 pointr/learnpython

Learning Python by Mark Lutz.

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 @ [email protected]

btw, I'm 16 ;)

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/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/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/5larm · 1 pointr/learnpython

> where do I start?

What's your learning style?

u/roodammy44 · 1 pointr/ExperiencedDevs

I haven’t read it because I have no time and 2 young children, but I badly want to read exercises in programming style

u/MrDOS · 1 pointr/programming

While I have your ear, any idea when the book will be in stock on Amazon.ca? I could buy it from Amazon.com but then I'd have to pay for shipping and there would likely be import fees when it shows up.

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/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/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/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/WhiteCastleHo · 1 pointr/unrealengine

I'm in the same boat and I recently bought this book: http://www.amazon.com/Blueprints-Visual-Scripting-Unreal-Engine/dp/1785286013

The Kindle version was only $15, so it was hard to say no. I'm only about 20% of the way through, but so far I'd recommend it.

u/Flappers67 · 1 pointr/unrealengine

Yeah I completely agree. I was going to use the recommended Blueprints Visual Scripting for Unreal Engine book to make the First Person Shooter they go over, but was looking to do more than just that as that book is not very large and wouldn't take up the whole semester. Wasn't sure if other people had different recommendations to better approach learning a certain portion of UE4 as you mentioned.

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/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/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/divinedisclaimer · 1 pointr/Unity3D

If you're brand new to programming, I used the first four chapters of this book as a review recently.

http://www.amazon.com/Learning-Developing-Games-Unity-Beginners/dp/1849696586

It's not perfect either, but it shows you how to start writing console programs inside Unity and how to apply those concepts. Get the cheap e-book version and display it on a secondary monitor or laptop. More importantly, it will apply to other programming languages. Brace yourself though, if you learn both Java and C++/C# at the same time basically be prepared to hate Java until your gravestone reads "fuck Java."

The problem with tutorials is that they either gloss over important things, drag on incessantly about trivial things, or just don't cover the topics in a logical way; I.E. you want to teach someone about data types once you've explained variables: that's probably a good time to do a cursory explanation of scope (the area in which a variable exists)- maybe the tutorial doesn't, maybe you end up confused later. Lots of rewinding as hosts do stuff at a weird pace, lots of shitty hosts, and not to mention lots of time spent looking for relevant tutorials (and topics) in the first place.

Buy a couple books and learn what's in them; tutorials are a PITA imo.

When you're first learning programming if you don't understand something keep going and you'll probably learn something else. Don't just get hung up on topics like inheritance or variable scope across classes (private vs public - when you start having programs span multiple files, which is the whole point of object oriented design) - those kinds of topics tend to click the first time you actually use them. Focus on what you've gained, not what you don't understand. Gain something every time you sit down.

Also, be prepared to spend a lot of time on it. From the tone of your post, you probably aren't ready for complex game development; but that doesn't mean you never will be. For you benefit, stop visualizing a complex game and just tear apart it's elements.

How do I make an object exist? How do I move that object (transform)? What are the terms used by Unity- like Prefab and GameObject, what do they actually mean? Maybe for your first project you get a cube in space with your own script that responds to Unity's Input.Key interface, and you can move it around. Critically, don't use prefabricated stuff like the default Character Controller. Supposedly it's for prototyping, but it's terrible in general and you didn't learn anything by using it.

Unity3d isn't like RPGmaker, it's not a WYSIWYG or a drag-and-drop, it's drag-and-drop features exists to make the programming half easier: not to replace them.

u/amable1408 · 1 pointr/gamedev

There are several books like this one -> Learning C# by Developing Games with Unity 3D.

These kind of books will help you achieve both things. Learn programming and make games at the same time. Each book will be focusing on a specific language and engine/framework. You pick the one you feel appeal the most.

u/flimflamgames · 1 pointr/Unity3D

Don't watch videos unless they're from professionals, or are very professional. Nothing personal, it's just a time spent thing. Get an into to C# with Unity book.

This one will teach you the basics you need to get started as a programmer, using Unity.
https://www.amazon.com/Learning-Developing-Games-Unity-Beginners/dp/1849696586

I would say you might do some other programming too, you should know that memory management exists; but don't listen to anybody trying to put you down for using Unity and C#. Remembering to clear memory you've allocated is hardly rocket science, though I'm sure it gets more interesting than what I've seen.

Know what a Turing machine is if you want to write programs for one, don't be silly.

u/ECG_Toriad · 1 pointr/gamedev

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

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

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

u/tyronomo · 1 pointr/gamedev
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/SuitableDragonfly · -1 pointsr/programming

> Whether intended or not, this communicates they must matter, or else why ask for them?

They are not being asked for. They are being mentioned, because it's presumed that there will be questions about them, but they are not being asked for.

> The way you get more clear about those things not mattering is by telling the applicants not to implement them.

"Make any simplifying assumptions you need to" means "don't implement anything you don't want to or don't have time to".

> Some vague statement about how the applicant should implement them if they have time is the opposite of saying they don't matter.

It doesn't say "you should implement them if you have time". It says "feel free to implement whatever you want to implement".

> Is it possible that a) your team hasn't done many of them as part of job applications and b) your existing developers did not implement the assignment before giving it to applicants?

Based on the git repo, this has been a thing for about a year. The company is in a period of rapid hiring, and many of the developers working here would have done this exercise. As for b), we actually have a weekly session to discuss different ways of implementing this particular exercise using this book which consists of nothing except that exercise implemented in different ways. I'm pretty sure this session started first, and the coding assignment came after.