(Part 2) Best computer & video game design books according to redditors
We found 709 Reddit comments discussing the best computer & video game design books. We ranked the 132 resulting products by number of redditors who mentioned them. Here are the products ranked 21-40. You can also go back to the previous section.
24. The Game Maker's Apprentice: Game Development for Beginners
6 mentions
Used Book in Good Condition
Game Engine Architecture 2nd Edition
http://www.amazon.ca/gp/product/B00MMOJ076/ref=dp-kindle-redirect?ie=UTF8&btkr=1
A great overview of all the engine subsystems that power a modern game. As a bonus, its written
by Jason Gregory (Lead Programmer at Naughty Dog).
https://www.amazon.com/Art-Game-Design-Lenses-Second-ebook/dp/B00OYUO4PY
Highly recommend this book if you don't have it already.
And watch tons of GDC talks (free).
These are some I can immediately think of right now
https://www.youtube.com/watch?v=WWXsmnlmADc
https://www.youtube.com/watch?v=YPy2hytwDLM
Production wise Unreal Engine official has so much learning material, courses, open sourced projects for you to learn. All free. Honestly for beginner there isn't much to spend money on, because game engine company like Epic has made so much money they invested a ton in return to further promote their engine. You just need patience.
Maybe get a Houdini Indie license? That's a rabbit hole you might want to think twice of.
And there're a lot of good stuff on Udemy, also very cheap.
Jesse Schell's "The Art of Game Design" is incredibly informative. Also Mark Brown's YouTube channel is tremendously educative.
First off, read anything by Carl Jung. His theories on archetypes and the collective unconscious form the groundwork upon which not only games, but the entire modern entertainment industry are built.
Basically Jung argues that there is a collective set of symbols and ideas that all humans, regardless of culture or upbringing will respond to. Understanding these symbols, and building your game around them - either as mechanics or story - allows you to influence how the player will respond.
Jung: A Very Short Introduction is a pretty easy way to get started. After you read that I'd suggest getting into the meat of Jung's own words with The Portable Jung (coincidentally edited by Joseph Campbell)
And with that, you should also read The Hero with a Thousand Faces by Joseph Campbell. He takes Jung's ideas, and shows the specific symbols used in the Hero's Journey - one of the most common story types. People talk about the Hero's Journey all the time - but it's a really important concept to understand if you're doing any sort of creative works. Here are two quick video primers on it:
A more serious one: Ted Ed: What Makes a Hero
A more awesome one: Glove and Boots: The Hero's Journey :)
If you want to go further on the narrative route I'd also suggest The Seven Basic Plots by Christopher Booker. He takes the Hero's Journey and shows how it is just one of several different plot archetypes, all of which have their own internal path, rules, and idiosyncrasies.
Now, in case you're thinking "Why are you sharing these books about narrative with me? Games are not stories!" remember that people have been responding to stories for all time - and good storytellers are masters at making people feel the desired emotion at the desired time.
Therefore I'd also direct you to Story By Robert McGee as well as Poetics by Aristotle. Both of these books look at story in a mechanical sense, and explain the precise methods storytellers (both ancient Greek ones and modern Hollywood ones) use to evoke emotions in the audience. These principles almost directly translate to game design.
After that I'd suggest looking at Chris Crawford's list of books all game designers should read. Unfortunately I can't find a copy of the list on the internet, but it's at the end of his book Chris Crawford on Game Design
These days there is only 1 book I would recommend, and a honorary mention:
Buy
Optional
There 2 much older books -- only pick them up used to help give a different perspective
Avoid
Misc.
You'll also want to browse our 2nd wiki for specific topics.
I know a good bit about this... engine programming specifically.
I have a physics degree and a standing offer to work at Naughty Dog. A good friend of mine from undergrad also has a physics degree, and is an engine developer at Naughty Dog. He is currently rewriting the companion AI for The Last of Us 2. And because it is only 7pm on a Saturday, I do mean currently. He is cited in the definitive text Game Engine Architecture. We talk often, and he even comes to me for help with especially tricky problems. I also have a copy of the 100+ pages of notes he used to study for the Naughty Dog interview... PM me your email for a copy.
This is what I suggest:
Step 1: Read Game Engine Architecture.
Step 2: Read Game Engine Architecture again, but slower this time.
Step 3: Learn 3D math. (There are other resources too, but one way or another you should know literally all the content in that book, because you will be asked 3d math questions during the interview, and if you're not you should keep interviewing.)
Learn how your computer works, from the ground up. Learn how to write extremely performant C++. This includes bitbashing, SIMD, caches, concurrency, etc. Not theory; real world experience. Learn how the GPU works. Learn computer graphics. Learn computer graphics for real. Learn collision detection.
Make a large number of small demos quickly. Decreasing development time is extremely important in the games industry. Make A*, a raytracer, a fibers threading engine, a shadow mapper, a FSM engine, etc.
Here is a recent question my friend asked me (as a brain teaser; he had already solved it):
> quickly check whether a
uint64_t x
is equal to any of 16 unique otheruint64_t
s>
bool f(uint64_t x, uint64_t a[16]);
> it will be called with the same
a[16]
every time, but varyingx
Hint: you expect >99% of calls to this function to return
false
. Post your answer and I'll tell you what's wrong with it. The obvious solution is incorrect. Same is true for anyone else, by the way.He recently came to me with a different problem: using all the time and compute in the world, encode a unit quaternion into 32 bits such that decode on the GPU is extremely fast, and minimize the max error possible. We managed to improve on the state of the art in both respects. No hints here, but I know some people you should talk to if you can show me a better solution. :)
Study games. Play games. Critique games. Love and breathe games. Because that industry will eat you up and chew you out, so you better be prepared to love every single second of crunch time. If you love it, you can do it, but it will torture you if you don't.
It is hard, but if you love it, and not just the idea of it, you can do it. However, as you can probably guess by my breakdown engine developers tend to be very experienced. My friend is an extreme anomaly at being as young as he is and an engine developer. It is more the type of thing you start trying to interview for with ~decade of experience.
That is the best answer.
There's also No Bullshit Guide to Linear Algebra, Vulkan Programming Guide, Physically Based Rendering, Game Engine Architecture
Dont listen to the people that comment about not making your engine. Making one is a great learning excersise and highly recomended to become a better developer.
I recomend you make sure your C++ is on point, and check this books:
If you dont want to do the 3d route, you can just do 2d games using the libraries SFML or SDL. SFML is easier to use, for C++, while SDL is a lot more C oriented and runs literally anywhere (including things like nintendo DS or PS4). With those you can try to make some simple games like Snake, which is a great learning project.
If you are inexperienced, try to avoid OOP designs (do not use inheritance). It will just make things more complicated than they should.
I wouldn't recommend Allegro for game programming tasks, but this is my personal taste.
For books, I recommend these:
David Perry on Game Design: A Brainstorming ToolBox.
http://www.amazon.com/David-Perry-Game-Design-Brainstorming/dp/1584506687
It is EXCEPTIONAL. Breaks down everything from common RPG stat systems to how to write dialog trees, how to create characters, design weapons, design levels, write design documents, put together art bibles..
Spend some time reading and asking questions before you spend any money.
This is a really good book:
Project Arcade: Build Your Own Arcade Machine
Also, check out this website: (from the author of the book)
Build Your Own Arcade Controls Forum
I find on amazon 1 results for either "d3d12 programming guide" and "dx12 programming guide" and that book seems to only be a touched up version of a previous dx11 book.
The LunaGXchange holds the official Docs, SDK and examples. Most of it can also be cloned from Github.
My colleague (suburban high school) does this and it seems really fun and successful. She mainly relies on this book.
I highly, highly, HIGHLY recommend this book (either buy it or see if your local library has it). I had no clue what I was doing, and this book explains every facet of the build, and comes with a CD-Rom with tons of plans and tons of pictures. This book was an absolute godsend.
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
​
​
​
​
​
Best Gamedev book I've read is: https://www.amazon.com/Game-Architecture-Design-Andrew-Rollings/dp/0735713634/ref=sr_1_1?ie=UTF8&qid=1525021361&sr=8-1&keywords=game+architecture+and+design
I read it years ago though - not sure if it's held up over the years...Maybe read some recent reviews to make sure it has stayed relevant.
Just basic VR is extremely easy to do, and since you're just making a simple environment, we'll have to know more about what you want to do in that environment.
Interactions in VR
This was a helpful tutorial for me though, I can't remember how basic it begins, but if it's not basic enough I know they have others that start from the very beginning that they reference.
VR Cookbook
If you aren't opposed to purchasing a textbook, this is a great option that I used extensively to help get myself started. Handles the basics as well as step by step guides on how he sets up his interactions. His system is very broad to apply to a wide range of interactions, so my suggestion to you would be to read through it first, then toy with the setup to see what parts of his system you want to use, then implement and modify them to fit your demands. Very thorough though, highly recommend.
I've recently completed my first game using Game Maker, and I couldn't be happier with the results. Game Maker is a pretty simple program to use, and it does wonders for making game development seem approachable and manageable. No coding is required, but you can still put in your own scripts if you want to get fancy (or you can just code the whole thing).
There is a pretty substantial free version that you can download here. Plus there are plenty of tutorials online that can help you out with the basics of making a game.
After that, I would recommend getting a book to help walk you through some of the more advanced things. Being a fan of platformers, I found this book to have everything I needed to help me learn what I needed to know to make my game. It has tutorials that walk you through step-by-step when creating a platformer game, and it does a great job of explaining what each and every bit of code does.
If making a platformer isn't your thing, you can maybe try this book. I've never read it, so I can't attest to what's in it, but it's written by the same people, so I'd imagine the quality is top notch as well.
Good luck with the motivation, man! Try not to compare yourself too much to other people though. Sure your first few games aren't going to compare to today's blockbusters. Hell, when you're starting out, you might even be envious of some indie developers as well. But these people have had years of experience. They started out making mediocre things too. You just have to keep at it, and eventually you'll be on the same level as them (and you won't even notice it!).
Pro-tip: Try to make as many games as possible, instead of trying to polish one game to perfection. You learn a lot more from completing projects than you can trying to perfect one. Having an opportunity to reflect on what you would do differently for next time is invaluable.
Anyhoo, just try to stay positive, and think about how awesome it is that you plan to make things that entertain other people (I mean seriously, how cool is that?!)
I found these helpful
https://www.amazon.com/Art-Game-Design-Lenses-Second/dp/1466598646/ref=sr_1_1?s=books&ie=UTF8&qid=1481045565&sr=1-1&keywords=game+design
https://www.amazon.com/Level-Guide-Great-Video-Design/dp/1118877160/ref=sr_1_5?s=books&ie=UTF8&qid=1481045521&sr=1-5&keywords=level+design
https://www.amazon.com/Level-Design-Games-Compelling-Experiences/dp/0321375971/ref=sr_1_3?s=books&ie=UTF8&qid=1481045538&sr=1-3&keywords=level+design
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.
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.
 
Good General book
 
This book is great if you're going to make a browser based game
 
General Knowledge books
 
Provide a working moveable 3D model with C++ and DirectX, Very cool.
 
More general game base building
 
Working product results books, little if any modification needed
Releasing in a couple months (hopefully) 2 Very good books using C++ to develop by.
 
Not presented in the best manner but still noteworthy:
 
I used to love XNA...but now it's not feasible for commercial development. If you're a beginner to game design...starting out with XNA might actually be useful. It's easy to pickup and put out a working product. XNA is C#
 
 
Working product books, modification needed to make run on current systems
Provides a working FPS game in C++ on DirectX 9. Good for some starting out knowledge for an FPS
 
Good for 3D Terrain rendering in DX9...however much of this is outdated...some concepts still apply, and it's not the worst idea to see a working example.
 
TLDR: Click links starting at top, buy, read, profit
These books are more theoretical and about self growth as a well-rounded designer, if you want game theory others listed some great ones like Rules of Play and Book of Lenses. That said, here's my list:
It's more of a broad game design book since it talks about all the pipelines / processes of all departments coming together, with an emphasis on scripting / level design for crafting experiences. Portion of the book uses Unreal Engine 2 as a reference, but you can probably use UE4 or something else to follow along the actual game design lessons he's teaching and not have the take away be a technical tutorial.
I cannot describe how invaluable this book is, if you're only to get one from the list it'd be this one. While it does covers Pixar's history as a frame of reference for a lot of stuff, it's also more importantly about their ideology for fostering creativity, productivity and work/ life balance -- all of which are important and can be applied to Game Design.
I read this one after Gabe Newell recommended it one of his interviews and it was at a time in my career when I was working at a AAA studio struggling with the corporate forces that got in the way of creativity / productivity. It was one of those that changed me as a developer. It's more from a management point of view, but seriously applicable if you are collaborating with other people in game development, either on the same level as you or those who rely on your work to do theirs. Or if you are going to work at studio, AAA or indie, it's also an insightful book to evaluate whether the culture cultivated by management is in your best interest so that you have the tools to do your best work without burning out.
This one is like Peopleware but not as exhaustive, it's an easier read since it's a compilation and edit of blog posts the authors wrote on their old website 37signals. It's more or less about getting stuff done and filtering out noise, simplifying things to make results better -- this one is relatable for planning game project milestones. A lot of it will sound like common sense that a lot of people may say they already know, but it's surprising how many don't actually practice it.
First off, I'm operating under the assumption that you're looking into English classes at the secondary school level.
Second, it might be helpful note the type of class(es) that could incorporate PnPRPG elements.
Specifically, are you interested in writing about teaching - Literature, Grammar, ESL, Critical Theory, all of the above, or something else entirely?
Finally, here are a couple links to get you started:
The Multiplayer Classroom
Classrealm Start Guide
Analysis of Gamification in Education
Disclaimer, I haven't personally built a full functioning game engine from scratch but I've been interested in game engine architecture. I recommend two books I'm currently reading, Game Engine Architecture and Game Coding Complete.
IF you need tutorials, remember that XNA applies a swell and it doesn't matter if it's 10 years old. But if you have been doing this for awhile then focus on general game dev information. A lot of good resources are written in c++ and are not about monogame. One of my favorite resources is http://gameprogrammingpatterns.com/ . It has a free web version.
​
Keep in mind that monogame is a frame work and it handles all of the low level stuff but you still are creating an engine. I really enjoy https://www.amazon.com/Engine-Architecture-Third-Jason-Gregory-dp-1138035459/dp/1138035459/ref=mt_hardcover?_encoding=UTF8&me=&qid=1557547565
​
This is my current favorite
https://www.amazon.com/Game-Development-Patterns-Best-Practices-ebook/dp/B01MRP7SPA/ref=sr_1_1?keywords=Game+Development+Patterns+and+Best+Practices&qid=1557547682&s=books&sr=1-1
​
But in the end, it comes down to any job. You reach a problem and search for a way to solve it.
It'd be helpful if you gave more context. What is the player's role and perspective in the game? What are the core gameplay elements? What is the set and setting of the game in more detail, e.g. pastoral or city, combat or none, wide variety (e.g. exploration) or more detailed (spend lots of time at one hearthplace), etc.
A blank canvas is harder for most people to start with than if you start with something.
For example, I would suggest swords if it were a fighting game, or including a setting where they might be stuck in the ground or a tree (war zone) or decor or just sitting (house or shed or armory), but not if it's a farming or family management sim during those times. They have lots of overlap, sure, but what about a sea-faring exclusive game? Etc...
I'd also recommend David Perry on Game Design's Part VII "Weapons and Armor"'s "Historical and Cultural Weapons" chapter.
Game development, here are some theory books:
Art of Game Design
Play Matters
I'm really happy with using Aseprite.. It has a few simple, but powerful tools for drawing, animating and exporting to your preferred game engine..
But ultimately it's not about what tool you use, but how you use it.. I would recommend watching/reading some pixel art tutorials to learn the fundamentals and what makes good pixel art good.. With enough practice, you can make great art with even the worst tools..
In short, to make good art, practice is more important than tools..
edit: A couple of recommendations
I've been following the writings of Chris Crawford for awhile, and he has a lot of interesting things to say about the game industry that you won't hear from anyone else.
Chris Crawford on Game Design was my introduction to him, and still my favorite book on game design. The first half of the book is a lot of insightful rants, but the real unique treat is the second half. The second half is like a game designer's memoir, where he reflects on each individual game in his career and details what challenges he had for each, what decisions he made, his mistakes and successes, etc, and highlighting what he learned from each project. Each game is treated like a short story, and is highly readable. I learned a lot more from these than the vast majority of postmortems I see from other companies. It's not on the Kindle yet, though :(
I downloaded the ACGD PDF ages ago, but I dislike reading books directly on the computer. Two weeks ago I noticed it finally got released on the Kindle for the cheap price of $3, so I snatched it up and I'm currently reading it.
He also has a personal website, with archives of all sorts of old articles he wrote or was involved in, including a journal of computer game design. There is a lot of game design gems buried in there.
His other two recent books are quite good also. Lots of general design insights in The Art of Interactive Design, and thoughts on what he's learned while developing Storytron in Chris Crawford on Interactive Storytelling.
Thanks again man, I really enjoyed reading your story!
I'm surprised no one has said it yet:
To start with you should buy this book. I may buy the most recent version as I didn't realize he had updated it.
Buy this book and read it - it is your arcade bible.
http://www.amazon.com/Project-Arcade-Build-Your-Machine/dp/047089153X/ref=sr_1_1?ie=UTF8&qid=1330997076&sr=8-1
Good luck on the build.
Not sure what you mean by "follow" exactly. The content is different, although the theoretical framework is the same. Actually, it's a bit more developed, as I wrote my book in 2012 and I've been able to tighten it up a lot since then. In fact, I spent much of this year writing a new book called Clockwork Game Design which will be available next year.
Hmm that's odd, try here if that doesn't work here's the direct amazon link :)
lua is the programming language.
if you have addons installed, you have the source code.
the blizzard API is how you access the system.
https://github.com/tekkub/wow-ui-source
http://www.curseforge.com/wiki/
http://www.wowinterface.com/forums/forumdisplay.php?f=11
There's a book out there on the topic too, although it's a few years old.
Playing at the World (A History of Simulating Wars, People and Fantastic Adventures, From Chess to Role-Playing Games) by Jon Peterson. The history of Dungeons & Dragons, mostly written from the perspective of obscure 1960's fanzines and letters. Goes back to the 17th century and explores the roots of D&D, both game mechanics and culture.
War Games and Their History by Christopher George Lewin. What the title says. The author has an impressive collection of really old wargames, and the book is full of nice photos and descriptions. Mostly 19th century and first decades of 20th century. Really interesting. It is interesting to see how ideas slowly develop and inspire new games until games we know now like Risk or Stratego (or modern wargames) evolved (and of course if you read up about RPG history, eg the book I mentioned above, you know how this closely ties in with RPGs and most genres of modern board and computer games).
Twisty Little Passages: An Approach to Interactive Fiction by Nick Montfort. A history of interactive fiction (text adventures) from the early Adventure/Zork games of the 1970's (and the paper-based games/books before that) through the big commercial games of the 1980's and the hobby scene after that. (Anyone remotely interested in this subject also ought to watch the Got Lamp documentary btw.)
On Game Design by Chris Crawford. About 50 % good recommendations on how to design games, 50 % stories about the good old days when he worked on making Atari games and other primitive platforms around 1980 that contains many fun little anecdotes and I found all of it very inspiring. Have read and reread several times.
Game Design: How to Create Video and Tabletop Games, Start to Finish by Lewis Pulsipher. Book on game design that is practical not just theoretical. Can really recommend it. Many tips for new designers that I wish someone told me long before I read this book. Not as deep into academic theories as other books, but interesting as word-definitions and arguing about "what is a game?" can be it is difficult to see how any of that will help anyone design better games in reality.
Uncertainty in Games by Greg Costikyan. A short but very interesting objective look at different ways to introduce uncertainty in games and why it is important to make interesting games. By objective I mean that the author do not for subjective reasons claim that some types of uncertainty are somehow always bad.
The Wargaming Pioneers Including Little Wars by H.G. Wells, The War Game for Boy Scouts and The War Game by Captain Sachs 1898-1940 by John Curry. Just one of many good books from the History of Wargames project. Of course you can get free copies of Little Wars elsewhere (a must-read!) but I liked this book. Basically a collection of old miniature games rulebooks and some articles, from late 19th century and early 20th century. Gives you some perspective on for how long some mechanics have been around and how little new there is in Turn Based Strategy. I have probably read a dozen of the History of Wargames books, but I think this is the one I would recommend any game designer to pick up. Most of the other ones are mostly if you are very much into designing war/strategy games.
Simulating War: Studying Conflict through Simulation Games by Phil Sabin. The author has taught war history by designing simple wargames for years, and this book contains some examples of games he has designed himself, and also a lot of discussion on how to design games. It's all about simulating some aspect of history/wars by designing tiny boardgames and how to abstract complex things into simple rules. If you look up some of his games eg on bgg you will see how unbelievably small and simple they are.
EDIT to add links:
Playing At The World book
Playing At The World blog
War Games and Their History
Little Twisty Passages
Chris Crawford on Game Design
Uncartainty in Games
Game Design: How to Create Video and Tabletop Games
Wargaming Pioneers
Little Wars download on Project Gutenberg
Simulating War
> What should I do now?
Here's what you should do: keep learning C# for now. C++ and C# are both form the C-family programming languages so when it's time to switch to C++ lots of things will feel familiar. When you are starting to feel comfortable with the language, install Unity and start learning about programming games while using your C# skills. C#/Unity will provide you with an awesome safe sandbox where you can experiment. Try creating small minigames like Snake or Tetris in the beginning and then try more complicated things. Also, at this point may be read Game Engine Architecture or a similar book. Learn about Scenes, game objects, entities, components, 3D math, meshes, shaders, animations, particle systems, etc. It will help you a lot to be familiar with all these concepts when you start working with Source.
When you are starting to feel comfortable with C# and Unity then start learning C++. The main difference compared to C# is that you will have to learn to be a bit more disciplined and manage the memory yourself instead of relying on a GC. Modern C++ (i.e. smart pointers) helps a lot with that but you should familiarise yourself with new and malloc also since Source is pretty old and I don't think it takes advantage of all the [not so] new [anymore] goodies in the standard. When you are starting to feel comfortable with c++, install Source and start working on that awesome Half-Life mod you have in mind! Looking forward to playing it! 😁
Chris Totten has an excellent book you may find helpful.
https://www.amazon.com/Architectural-Approach-Level-Design/dp/1466585412/ref=sr_1_1?ie=UTF8&qid=1502562900&sr=8-1&keywords=architectural+approach+to+level+design
You should check out Ralph Koster's A Theory of Fun, and Keith Burgun's Clockwork Game Design.
Those were the "eye openers" for me.
You need this, it answers all your questions.
http://www.amazon.com/dp/047089153X
I'm interested in doing this too (getting an undergrad degree in game design right now). I feel like it has a lot of potential when implemented well. I don't believe the Extra Credits video does a super good job of explaining the concept, because it focuses too heavily on reward systems (more on that in my comment to u/notjawn), which should not be the core of a gamification experience.
Have you heard about ClassRealm? From what I've seen/read, its creator has had a lot of success with it. However, don't be fooled - it might seem easy, but gamification can be very difficult to implement correctly.
I've read some good books on the subject that I highly recommend: The Gamification of Learning and Instruction and The Multiplayer Classroom.
Additionally, I don't know where you are in your schooling right now, but NYU has a great graduate program in this vein.
EDIT: For anyone looking for an overview of true gamification, here's a quick and simple slideset. It is much more than just giving out points.
It definitely has a steep learning curve and documentation can be difficult to follow, or find, at times. There's a book available that provides full documentation
I've personally come a long way from when I started developing WoW addons, but I did start from where you're starting now. It's been a journey of using the websites you've listed and a lot of googling.
Feel free to message me with any questions and I'll try my best to help out where possible. Alternatively, I commonly use the developer discussion forums on wowinterface.com to seek a lot of assistance.
Lastly, what software are you using to code with?
Pick your API first, then Google for that. For instance, here is one.
If you want to go even lower, then learn about Z buffers. Note that performance will be poor, though, since you will be implementing them in software.
http://www.amazon.ca/David-Perry-Game-Design-Brainstorming/dp/1584506687
Over 1000 pages, this is one of the best books out there.
Given you're a CS student, I'll assume you have at least a passing enjoyment of video games. /u/nickcano has a great book on game hacking if you're looking for an avenue to intersect learning with an existing hobby.
https://www.amazon.com/Game-Hacking-Developing-Autonomous-Online/dp/1593276699&ved=0ahUKEwi4lq_2y5rZAhURM6wKHfXOB98Q5OUBCF0wBw&usg=AOvVaw18ufFhR9oBAwJTzgMW9gA3
Thanks for the shoutout! The link is dead, but the official is here and Amazon is here.
@OP hacking games is what ignited my passion for coding. It allowed me to make things which were in line with my hobby--gaming--and quickly became my hobby itself. Whether or not you're a gamer, it's important to apply coding to whatever grabs your attention. When you go that route, you can be sure you'll have the drive to get better and make coding a way of life. Luckily for gamers who aspire to hack, game hacking is a popular industry and the techniques have reverse engineering baked right in, so it is a double whammy.
Highly recommend Clockwork Gamedesign
I've been out of town, but I had a chance to ponder your response for a bit. Your classes seem well-developed. Would the students choose their class? Also, would you have set parties that rotate through playing their characters/roles? Since you said you'd play on Fridays, will they know ahead of time and have any particular prep or lead-in assignments as they approach the session?
I teach sophomores. Last year, I had five total classes (two Honors). This year, I'll still have five, but only one Honors. They will read F451 over the summer, and then we'll spend the first two or three weeks on it as a set up for the year. My hope is to continue to leverage that story's focus on the value of thinking as a set up for the tone of the year.
One of the points I've come across in researching game-based thinking is that games give people context for action. I've tried to think about the actions required to be successful at reading, writing, and speaking in terms of the core engine of the game. Right now, this has lead me to the hope of structuring the year around "mission-givers" found within our expanded world of F451.
I don't know enough about DMing to feel confident in running a set session yet; I just played my first and only game of D&D last spring (it was incredibly fun). I'm trying to think of my DM role as more big picture for the class by creating essay assignments given by NPCs for specific purposes or to specific audiences.
I haven't quite found a way to integrate rolling dice yet, but I love that it would set up events that I don't determine. One of the important concepts I try to emphasize is their need to work within boundaries (when reading texts, when writing essays that actually support their thesis statements, when figuring out what to say in a discussion, etc.). The dice rolls are so enticing as a mechanic, and I want to find a way to work them in. Maybe I'll be brave enough this year to try a live session and see how it goes.
Here are some resources that have been inspiring in the intersection of learning and games:
The Multi-Player Classroom (A game designer who taught about game design by using game design)
Reality is Broken (also, I have her book Superbetter, but I haven't read it yet, and her TED Talks are good)
The latest point of interest for me has been the structure and mechanics of story games. They seem like RPGs, except they don't have number crunching. I think I can pull from different ones to help create context as I move throughout the year (Seven Wonders seems particularly interesting).
Also, The Big List of RPG Plots might prove helpful to quickly create trajectories for the story that develops. I'm worried about bogging down once we get a couple months in like I did last year. This might help to keep it fresh.
You can get it here on Amazon
If you want to make interesting mechanical game i suggest you Clockwork Game Design from Keith Burgun
In this discussion i wrote some more information and links.
https://www.amazon.com/Architectural-Approach-Level-Design/dp/1466585412/ref=sr_1_1?ie=UTF8&qid=1497126808&sr=8-1&keywords=architecture+of+level+design
I've not read it, but it's been cited several times by prominent level designers in the industry during talks. It is next on my reading list. I can recommend Totten's other book "Level Design: Processes and Experiences" which I'm half way through and is genuinely great.
It isn't an architecture book in the sense that it'll teach you architecture 101 on how buildings are designed. But it goes into solving practical "door problems" that both architects and level designers face, and how that relates to level design.
You can search the web and download the pixel art that you like to your PC and look at it with %1000 zoom and see how the pixels are organized and then try to replicate that yourself.
You can also read a book on the subject. I have this one and it covers the basics for beginners:
Pixel Art for Game Developers
its available on amazon on both kindle and paperback
making maps in source landed me my first level design job :) you can definitely learn much by creating your own level for a popular game. but I'm not sure if learning unreal engine would be more valuable today.
I can also recommend this book here https://www.amazon.com/Level-Design-Games-Compelling-Experiences/dp/0321375971/ref=mp_s_a_1_7?ie=UTF8&qid=1537244630&sr=8-7&pi=AC_SX236_SY340_QL65&keywords=level+design&dpPl=1&dpID=51%2B%2BTIueTAL&ref=plSrch
also a bit old but still .. oh man I think I'm old lol
There is actually a lot of good reading about level design out there. I can't remember all of the books/articles off hand, but I'll see if I can throw some links together.
Edit:
This one had a lot of good theory and concepts
Great book. If you are going to spend some money to buy a book, get this.
Also, I would recommend playing through games with good level design and breaking down each design choice. Getting a few overhead maps helps too. Start with old games, because their levels/art is often more simple and easier to pick apart. Then move up in generations to get a feel for how people tackle more complicated scenes and designs.
I am not sure what aspect you are interested in. The set dressing or the actual level design, but there are some differences between the too.
My first thought was that is was a great idea, but then I thought about classifying students as slaves, it might be a bit of an issue.
One of my big things for student engagement was to design and build in game-like structures in class.
I hate, absolutely hated lecturing and if I needed to have a class lecture, I kept it to ten-fifteen minutes. Then students used the information from that to create a game, play a game, have a debate, something within the class. I found that games were the surefire way of holding student engagement.
Here is a good book about building in game structures into the classroom - http://www.amazon.com/The-Multiplayer-Classroom-Designing-Coursework/dp/1435458443. If you are a gamer, think about how games hold your attention, and your students' attention. Typically it's just a bit of work for a big payoff. You play for a while and you level up. If you can build your classroom along those lines. We learn/play for a bit, then we "level up" kids take pride in that.
Simulations are awesome for this as well:
http://www.amazon.com/Short-Role-playing-Simulations-History-Classrooms/dp/0983426732
Here is a good article on game-based classroom learning - http://www.edutopia.org/blog/short-happy-history-of-historia-rick-brennan
I had a lot of fun building and designing simulations and games for my students. Because I was having fun, they fed off of that energy and they had fun as well. Some games we built the rules together.
I think one of the most fun lessons was when we were studying the American West and Populism - High School. Students had to research a particular aspect of that time period and teach it to their classmates by playing a board game. So I had four board games where kids were playing in my room. They had four stations and one person from each team stayed each turn to teach their games to the other group members. At the end, we had board game designer awards. One won for Best Game Design. One won for "I learned the Most". Another won for Best Game Artwork, etc. Each game design team won something and each team learned something. It took about three-four days from start to finish in a one hour - fifteen minute class. Day 1 - Quick mini-lecture on the basics of the time period. Students chose their topics, etc. Day 2 - Build day. Day 3 - Play/Awards day.
When I gave them my end of year evaluation. How did Mr. NameIdeas do this year? Did you learn something? What lesson/activity did you like best/least? How can Mr. NameIdeas improve his teaching, his relationships with students, his music choice, etc? They all remembered the games and, more importantly, the information from the games.
Get into Unity whenever you want. It's extremely intuitive and fun. If you don't have a background I would recommend picking up head first C# or a Unity based book like this.
Once you have a basic understanding of basic data types/loops and inheritance you can move on to building lots of cool stuff with Unity, the tutorials on their website are pretty detailed and easy.
2d and 3d really isn't that big of a deal. 3d requires a bit more maths but if you did a decent amount of precalculus you should be fine. It's mostly vector work, the trickiest thing I found was dealing with quaternions and imaginary numbers but you don't need to delve into the details, conceptually it's pretty simple.
The below book gives some pretty good beginner types of steps for what to look for and how to do it. Depending on the game, most now days have some pretty advanced protections that will get you caught, or these techniques just won't work any more. https://www.amazon.com/Game-Hacking-Developing-Autonomous-Online/dp/1593276699
For a lot of the folks that are publishing exploits, they have likely been doing it for a while and evolved with the times. Usually they know the classic symptoms of what could cause a duping bug, or glitches in level designs.
Buy this book, it was incredibly valuable in my project: http://www.amazon.com/Project-Arcade-Build-Your-Machine/dp/047089153X
It also comes with some plans. I personally went with Ultimate Arcade II.
For wood, I actually went with sanded finished birch. 60% of the weight of MDF and doesn't have toxic dust. Easier on blades as well. Ended up paying the same price as mdf and I went through 3 1/2 4x8 sheets.
Controls: never buy from happ. Overpriced and average at best. Groovygamegear.com has buttons for the same price and they're full leaf switches. Better performance and nearly silent. If you want to save some money their standard buttons are still great.
2 - solid plan
3-probably just need one. Joysticks are really subjective. I went with happ competition from GGG because they're cheap and passable. Not a huge fan. Zippy sticks are good and cheap and will probably look similar to the mag stick but there's better sticks out there. If you do get zippy sticks from GGG pay the extra few dollars for quiet switches.
5-ultimarcs trackball is great for a flush mount option. I love it.
Monitor: I have a 27" TV. It's great for 4p. I wouldn't go bigger (27 is pushing it for closeness) and I wouldn't go smaller than 25.
CRT TVs look almost as good arcade monitors. Biggest drawback is if you connect it with anything other than rgb Mame won't be able to adjust the refresh rate of games that are slightly off. Most are close enough and given the cost of the TV (free, I had it) and my video card already did s-video, I'm just fine with it.
"Level Design: Concept, Theory, and Practice" by Rudolf Kremers. Here's its Amazon page: http://www.amazon.com/Level-Design-Concept-Theory-Practice/dp/1568813384/ref=sr_1_1?ie=UTF8&qid=1367377785&sr=8-1&keywords=level+design+concept+theory+practice
While we're on the topic, I do recommend this book to anyone who's interested in level design. There are a couple sections that I'm not sure I agree with, but there are some very interesting ideas presented in here that at the very least will make you rethink the level design process.
Dumbing Us Down by John Taylor Gatto
The opening essay of this short read is a condemnation of traditional schooling techniques---and it's also the speech he delivered when he (again) won the NY Teacher of the Year award. Gatto gets at the heart of why public schools consistently produce pencil pushers, not leaders. Every teacher should read this book.
How to Survive in Your Native Land by James Herndon
If Dumbing Us Down is the manifesto in favor of a more liberal pedagogy, Herdon's book is a memoir of someone trying to put that pedagogy in action. It's also a simple, beautiful easy to read book, the kind that is so good it reminds us just how good a book can be. I've read the teaching memoir that made Jonahton Kozol famous, this one is better.
The Montessori Method by Maria Montessori
In the early 1900s, Maria Montessori taught literacy to children that society had otherwise assumed were unreachable. She did this by using the scientific method to study each child's learning style. Some of what she introduced has been widely incorporated (like child-sized furniture) and some of it seems great but unworkable in overcrowded schools. The bottom line is that the Montessori method was one of the first pedagogical techniques that was backed by real results: both in test scores and in growing kids that thrive on learning and participation.
"Why Are All The Black Kids Sitting Together in the Cafeteria?": A Psychologist Explains the Development of Racial Identity by Beverly Daniel Tatum
While not precisely a book on how to teach, this book is incredibly helpful to any teacher working with a diverse student population, or one where the race they are teaching differs from their own. It explains the process that white, black, and children of other races go through in identifying themselves as part of a particular race. In the US, race is possibly the most taboo subject, so it is rare to find a book this honest and straightforward on a subject most educators try not to talk about at all. I highly recommend this book.
If there is any chance you will be teaching history, definitely read:
Lies My Teacher Told Me and A People's History of the United States (the latter book is a classic and, personally, changed my life).
Also recommend: The Multi-player Classroom by Lee Sheldon and Teach Like a Champion by Doug Lemov
Finally, anyone who plans to teach math should read this essay, "Lockhart's Lament" [PDF at the bottom of the page].
PS, I was tempted to use Amazon affiliate links, but my conscious wouldn't let me.
> I was just wondering if any of you knew someplace that I could download some Game Development Documents/Scripts?
Did you try google? I was in your position some time ago and found a lot of stuff but really stuck on this one
But as any other Documentation of anything you can really write your own if you just describe what you want to do.
If you are interested in Game Design I can recommend this book
I'm basically following along with this outdated book which is required for my game design course: http://www.amazon.com/gp/product/1590596153/ref=oh_aui_detailpage_o02_s01?ie=UTF8&psc=1
The movements are declared with GMS's event/action GUI. I wish I could explain it better, but this is literally the first day that I'm using GMS. The only script that I wrote is for the game pause functionality and as well as the text prompt window.
Really that's a good thing and what they are aiming to do. http://www.amazon.ca/gp/aw/d/1584506687 is pretty good to read as well as http://books.google.be/books?id=-BCrex2U1XMC&printsec=frontcover&source=gbs_ge_summary_r&cad=0#v=onepage&q&f=false . Hope it helps
I'd recommend this massively:
https://www.amazon.co.uk/Game-Design-Vocabulary-Foundational-Principles-x/dp/0321886925/
It's really clear and helps you understand what you are using the levels for.
I'm about half way through this:
https://www.amazon.co.uk/Level-Design-Concept-Theory-Practice/dp/1568813384/
It's good so far.
There is this one that I'm planning to buy and read but still haven't done.
I'm not sure if this is what you mean - https://www.amazon.ca/Pixel-Game-Developers-Daniel-Silber/dp/1482252309/ref=sr_1_8?ie=UTF8&qid=1511670706&sr=8-8&keywords=pixel+graphics+book
I found it to be short but really clear on how to actually make pixel art.
If you want to be a good writer, you have to read.
If you want to be a good game designer, you have to play.
But if you are gonna play... then learn to make them too:
Good book on Game Design: Level Up by Scott Rogers
Design your own games easy: GameMaker and I suggest the book The Game Maker's Apprentice or Stencyl or even App Inventor for Android
Thanks! Yeah, the 8700 is an amazing projector. I went from a InFocus BigPlay72 which was 480p projector and I got to upgrade this year. Upgraded the screen too. Got in on the free lamp bonus too which makes this an even sweeter upgrade.
Anyway, I am intrigued with XBMC. I have known about if for some time about it but have never had a reason to make the switch. But since XBMC is so customizable, I could use a few pointers if you have any on getting it configured properly or some of your best tips to get the most out of XBMC (similar to the IceFilms.info plug-in you mentioned.) So any advice you can give me, I would greatly appreciate it.
As for the arcade, I would say that all told, it probably cost me about $500-$600 worth of materials (does not include spare PC to run MAME software). This cost also depends on the tools you have. I had to purchase some to get things going. It took me about a month and a month and half to get it built with the occasional help from friends. It was a really fun project and would love to build another one based on what I learned from the last one. I would recommend using the following things. I bought the first edition of this book to build my machine. This version was written this year so I am sure it is updated with all the latest technology upgrades. Then I recommend using this site and more specifically the forum. Lot's of great resources and helpful people there. I couldn't have done it without the help from the forum.
If you decide to take on the project, let me know. Like I said, it was fun and would love to offer up any advice if I can. Trade you for some XBMCtips :)
How about a subscription to an online tutorial service like www.digitaltutors.com. This way he can decide which software route to take and how much training he needs. Or maybe a book... Level Design: Concept, Theory and Practice
Read the book A Pattern Language by Christopher Alexander. It is actually a book for architecture, but you can use allot of it in game design. Another good book is Level design in games by Phil Co.
There aren't that many books about level design, but here are two:
https://www.amazon.com/Level-Design-Games-Compelling-Experiences/dp/0321375971
https://www.amazon.com/Level-Design-Concept-Theory-Practice/dp/1568813384
Meanwhile, one of my favorite tips about level design is setting up decision points. This is just one tool of course; there are a lot of things to consider when designing levels, but this is a useful little non-obvious way to spice up a level. Create places where the player has to choose which way to go, and there isn't a clear right answer because both directions have pros and cons.
A classic example is when the high road bypasses a bunch of enemies, while the low road has several enemies and an item pickup. Avoiding the enemies has obvious appeal, but then you also skip over the pickup.
The Game Maker's Apprentice: Game Development for Beginners (Book & CD)
I'll have to check that one out. Another book I found really interesting is Chris Crawford's book
My top three books are:
https://www.amazon.com/Art-Game-Design-Book-Lenses/dp/0123694965
https://www.amazon.com/David-Perry-Game-Design-Brainstorming/dp/1584506687
(more like an index of game design terms, ideal for brainstorming)
https://www.amazon.com/Game-Programming-Patterns-Robert-Nystrom/dp/0990582906
(more related to programming, but can give you a great insight how games should be structured, which can inform some design decisions)
Depends honestly.. brand new beginner ? YouTube and some udemy classes are best . I know I bought this for up-to-date VR stuff Unreal Engine VR Cookbook: Developing Virtual Reality with UE4 (Game Design) https://www.amazon.com/dp/0134649176/ref=cm_sw_r_cp_apa_ka7jzbK1RKRVG
This book has been really really helpful for me.
https://www.amazon.com/Architectural-Approach-Level-Design/dp/1466585412
I have had the same complaint, level design is often too loosey-goosey in the industry for someone like me.
Using architecture as a starting point for level design has been something of a revelation. These days I'm taking looks at random things..engines, lightswitch plates, building facades and seeing how they could be translated into different geometries for levels.
This book gives you a methodology for outlining and planning levels, similar to how you might outline and plan a script or a novel, breaking down design into discrete steps. It's somewhat complex but very helpful..it takes out a lot of the 'do it by feel' mantra you hear a lot in indie dev.
The Multiplayer Classroom
https://www.amazon.com/Multiplayer-Classroom-Designing-Coursework-Game/dp/1435458443
I found and updated version on Amazon: See!
> I played a little bit with Unity, but I would prefer to make it out of scratch.
if i understand correctly, you mean like using c/c++ and opengl/d3d. if that's the case, handmade hero is a decent resource. another more recent resource is handmade quake.
frank luna's upcoming d3d12 book might be of interest. from there you should see links to other books like gregory's game engine architecture, etc.
What helped me get into game design and works for all sorts of people is [Game Maker Studio.] (https://www.yoyogames.com/studio)
It's a program that contains easy drag-and-drop code for beginners, and real deal code in its own, simple to use language (GML) that takes inspiration from many other languages. Many professional games have been made with Gamemaker Studio (like Nidhogg, Spelunky, etc.) and it is absolutely great for any 2D game.
If you wanna get pretty serious on using Game Maker (you should, it's awesome) I recommend this book made by the creators of the software. It teaches you by guiding you through making games. At the start you're making simple shooters, and by the end of it you're making huge maze games.
Game Maker is so easy a kid could do it, and once you get into it, has pretty much everything you need to make a successful professional 2D game.
I haven't checked this book out yet but it might be helpful for you
https://www.amazon.com/dp/1466585412
I TAed a seminar for incoming college freshman with no prior programming experience, learning video games using Game Maker. It went extremely well.
I'd strongly recommend this book. It's great to let them do a few projects where it tells you exactly what to do and why you're doing it and gives you all the art assets already so that you can focus on just getting it up and running. After they've made a few using the tools provided, they can then apply those skills with their own ideas.
I only designed levels for my latest game, a short 2D Metroidvania. Before beginning to do anything, I tried to come up with an idea of what I want the player to think/feel as he/she progresses through it. After I have a rough idea drew stuff on the paper. I consider all available mechanics while drawing the layout. Then I create the level in the editor and iterate from there. Also, I recommend reading this book: https://www.amazon.com/Architectural-Approach-Level-Design/dp/1466585412. It is especially useful for FPS and 3d games.
I've bought this one : https://www.amazon.com/Architectural-Approach-Level-Design/dp/1466585412/ref=sr_1_2?s=books&ie=UTF8&qid=1482021984&sr=1-2&keywords=level+design
I'm a beginner too, and this book is really complete. I think it's a must read.
Do your own:
http://www.amazon.com/Game-Design-Workshop-Second-Edition/dp/0240809742
http://www.amazon.com/The-Art-Game-Design-lenses/dp/0123694965/ref=pd_sim_b_1
http://www.amazon.com/Challenges-Game-Designers-Brenda-Brathwaite/dp/158450580X/ref=pd_sim_b_2
http://www.amazon.com/Level-Up-Guide-Great-Design/dp/047068867X/ref=pd_sim_b_2
http://www.amazon.com/David-Perry-Game-Design-Brainstorming/dp/1584506687/ref=pd_sim_b_13
http://www.amazon.co.uk/Game-Architecture-Design-NRG-Programming/dp/0735713634/ref=sr_1_1?ie=UTF8&s=books&qid=1268416485&sr=8-1
http://www.amazon.co.uk/Programmers-Charles-River-Media-Development/dp/1584502274/ref=sr_1_2?ie=UTF8&s=books&qid=1268416506&sr=1-2
Those are my main two sources, I also have been looking at a couple of others as well. I'm only looking to implement one way of doing it. The game concept I have is very simple so it doesn't require some of the more complex solutions.
I googled it and this came up on Amazon.
https://www.amazon.co.uk/Level-Design-Concept-Theory-Practice/dp/1568813384
It's got very good reviews but also there is an abundance of level design books in the suggestions on the page below. I can't speak for any of them but one of them is bound to be good.
Yeah, the book is called Chris Crawford On Game Design. https://www.amazon.com/gp/aw/d/0131460994/ref=mp_s_a_1_4?ie=UTF8&qid=1483563082&sr=8-4&pi=AC_SX236_SY340_FMwebp_QL65&keywords=On+game+design&dpPl=1&dpID=517ReMCaAlL&ref=plSrch
I don't have time to type up the list sitting at my desk, but I'll do it at home tonight.
"How can I start practising myself by making some simple similar spreadsheets?" In the book "Introduction to Game Design, Prototyping, and Development" (http://www.amazon.it/gp/product/B00LIYS9F0?redirect=true&ref_=kinw_myk_ro_title) there is a detailed chapter on building spreadsheets for defining numerical models and balancing games. And also example sheets are provided. Its actually a great book overall.
I'm also making my own engine (C++ with lua integration) and here are some resources I found helpful:
- Game Engine Architecture By Jason Gregory Probably my most used resource, especially chapter 6.
- This Blog by Ming Lou "Allen" Chou (All parts)
- Lua Integration (All parts)
As a side note, I would recommend using C++ because with game engines performance is a key problem and C++ gives you so much more control. Plus using C++ will make sure you really understand everything that is going into making a game engine.