Book picks similar to
Fundamentals of Game Design by Ernest Adams
game-design
games
non-fiction
game-development
Deep Learning
Ian Goodfellow - 2016
Because the computer gathers knowledge from experience, there is no need for a human computer operator to formally specify all the knowledge that the computer needs. The hierarchy of concepts allows the computer to learn complicated concepts by building them out of simpler ones; a graph of these hierarchies would be many layers deep. This book introduces a broad range of topics in deep learning.The text offers mathematical and conceptual background, covering relevant concepts in linear algebra, probability theory and information theory, numerical computation, and machine learning. It describes deep learning techniques used by practitioners in industry, including deep feedforward networks, regularization, optimization algorithms, convolutional networks, sequence modeling, and practical methodology; and it surveys such applications as natural language processing, speech recognition, computer vision, online recommendation systems, bioinformatics, and videogames. Finally, the book offers research perspectives, covering such theoretical topics as linear factor models, autoencoders, representation learning, structured probabilistic models, Monte Carlo methods, the partition function, approximate inference, and deep generative models.Deep Learning can be used by undergraduate or graduate students planning careers in either industry or research, and by software engineers who want to begin using deep learning in their products or platforms. A website offers supplementary material for both readers and instructors.
Automate the Boring Stuff with Python: Practical Programming for Total Beginners
Al Sweigart - 2014
But what if you could have your computer do them for you?In "Automate the Boring Stuff with Python," you'll learn how to use Python to write programs that do in minutes what would take you hours to do by hand no prior programming experience required. Once you've mastered the basics of programming, you'll create Python programs that effortlessly perform useful and impressive feats of automation to: Search for text in a file or across multiple filesCreate, update, move, and rename files and foldersSearch the Web and download online contentUpdate and format data in Excel spreadsheets of any sizeSplit, merge, watermark, and encrypt PDFsSend reminder emails and text notificationsFill out online formsStep-by-step instructions walk you through each program, and practice projects at the end of each chapter challenge you to improve those programs and use your newfound skills to automate similar tasks.Don't spend your time doing work a well-trained monkey could do. Even if you've never written a line of code, you can make your computer do the grunt work. Learn how in "Automate the Boring Stuff with Python.""
Artificial Intelligence: A Modern Approach
Stuart Russell - 1994
The long-anticipated revision of this best-selling text offers the most comprehensive, up-to-date introduction to the theory and practice of artificial intelligence. *NEW-Nontechnical learning material-Accompanies each part of the book. *NEW-The Internet as a sample application for intelligent systems-Added in several places including logical agents, planning, and natural language. *NEW-Increased coverage of material - Includes expanded coverage of: default reasoning and truth maintenance systems, including multi-agent/distributed AI and game theory; probabilistic approaches to learning including EM; more detailed descriptions of probabilistic inference algorithms. *NEW-Updated and expanded exercises-75% of the exercises are revised, with 100 new exercises. *NEW-On-line Java software. *Makes it easy for students to do projects on the web using intelligent agents. *A unified, agent-based approach to AI-Organizes the material around the task of building intelligent agents. *Comprehensive, up-to-date coverage-Includes a unified view of the field organized around the rational decision making pa
How to Do Things with Videogames
Ian Bogost - 2011
Reviews of new games and profiles of game designers now regularly appear in the New York Times and the New Yorker, and sales figures for games are reported alongside those of books, music, and movies. They are increasingly used for purposes other than entertainment, yet debates about videogames still fork along one of two paths: accusations of debasement through violence and isolation or defensive paeans to their potential as serious cultural works. In How to Do Things with Videogames, Ian Bogost contends that such generalizations obscure the limitless possibilities offered by the medium’s ability to create complex simulated realities.Bogost, a leading scholar of videogames and an award-winning game designer, explores the many ways computer games are used today: documenting important historical and cultural events; educating both children and adults; promoting commercial products; and serving as platforms for art, pornography, exercise, relaxation, pranks, and politics. Examining these applications in a series of short, inviting, and provocative essays, he argues that together they make the medium broader, richer, and more relevant to a wider audience.Bogost concludes that as videogames become ever more enmeshed with contemporary life, the idea of gamers as social identities will become obsolete, giving rise to gaming by the masses. But until games are understood to have valid applications across the cultural spectrum, their true potential will remain unrealized. How to Do Things with Videogames offers a fresh starting point to more fully consider games’ progress today and promise for the future.
The Art of Immersion: How the Digital Generation Is Remaking Hollywood, Madison Avenue, and the Way We Tell Stories
Frank Rose - 2011
Now, on YouTube and blogs and Facebook and Twitter, we are media. And while we watch more television than ever before, how we watch it is changing in ways we have barely slowed down to register. No longer content in our traditional role as couch potatoes, we approach television shows, movies, even advertising as invitations to participate—as experiences to immerse ourselves in at will. Wired contributing editor Frank Rose introduces us to the people who are reshaping media for a two-way world—people like Will Wright (The Sims), James Cameron (Avatar), Damon Lindelof (Lost), and dozens of others whose ideas are changing how we play, how we chill, and even how we think. The Art of Immersion is an eye-opening look at the shifting shape of entertainment today.
Half-Real: Video Games Between Real Rules and Fictional Worlds
Jesper Juul - 2005
We win or lose the game in the real world, but we slay a dragon (for example) only in the world of the game. In this thought-provoking study, Jesper Juul examines the constantly evolving tension between rules and fiction in video games. Discussing games from "Pong" to "The Legend of Zelda," from chess to "Grand Theft Auto," he shows how video games are both a departure from and a development of traditional non-electronic games. The book combines perspectives from such fields as literary and film theory, computer science, psychology, economic game theory, and game studies, to outline a theory of what video games are, how they work with the player, how they have developed historically, and why they are fun to play.Locating video games in a history of games that goes back to Ancient Egypt, Juul argues that there is a basic affinity between games and computers. Just as the printing press and the cinema have promoted and enabled new kinds of storytelling, computers work as enablers of games, letting us play old games in new ways and allowing for new kinds of games that would not have been possible before computers. Juul presents a classic game model, which describes the traditional construction of games and points to possible future developments. He examines how rules provide challenges, learning, and enjoyment for players, and how a game cues the player into imagining its fictional world. Juul's lively style and eclectic deployment of sources will make "Half-Real" of interest to media, literature, and game scholars as well as to game professionals and gamers.
Getting Gamers: The Psychology of Video Games and Their Impact on the People Who Play Them
Jamie Madigan - 2015
They can be addicting. They are available almost anywhere you go and are appealing to people of all ages. They can eat up our time, cost us money, even kill our relationships. But it's not all bad! This book will show that rather than being a waste of time, video games can help us develop skills, make friends, succeed at work, form good habits, and be happy. Taking the time to learn what's happening in our heads as we play and shop allows us to approach games and gaming communities on our own terms and get more out of them. With sales in the tens of billions of dollars each year, just about everybody is playing some kind of video game whether it's on a console, a computer, a web browser, or a phone. Much of the medium's success is built on careful (though sometimes unwitting) adherence to basic principles of psychology. This is something that's becoming even more important as games become more social, interactive, and sophisticated. This book offers something unique to the millions of people who play or design games: how to use an understanding of psychology to be a better part of their gaming communities, to avoid being manipulated when they shop and play, and to get the most enjoyment out of playing games. With examples from the games themselves, Jamie Madigan offers a fuller understanding of the impact of games on our psychology and the influence of psychology on our games.
Code Complete
Steve McConnell - 1993
Now this classic book has been fully updated and revised with leading-edge practices--and hundreds of new code samples--illustrating the art and science of software construction. Capturing the body of knowledge available from research, academia, and everyday commercial practice, McConnell synthesizes the most effective techniques and must-know principles into clear, pragmatic guidance. No matter what your experience level, development environment, or project size, this book will inform and stimulate your thinking--and help you build the highest quality code. Discover the timeless techniques and strategies that help you: Design for minimum complexity and maximum creativity Reap the benefits of collaborative development Apply defensive programming techniques to reduce and flush out errors Exploit opportunities to refactor--or evolve--code, and do it safely Use construction practices that are right-weight for your project Debug problems quickly and effectively Resolve critical construction issues early and correctly Build quality into the beginning, middle, and end of your project
Game Programming Gems
Mark DeLoura - 2000
But instead of spending hours and hours trying to develop your own answers, now you can find out how the pros do it! Game Programming Gems is a hands-on, comprehensive resource packed with a variety of game programming algorithms written by experts from the game industry and edited by Mark DeLoura, former software engineering lead for Nintendo of America, Inc. and now the newly appointed editor-in-chief of Game Developer magazine. From animation and artificial intelligence to Z-buffering, lighting calculations, weather effects, curved surfaces, mutliple layer Internet gaming, to music and sound effects, all of the major techniques needed to develop a competitive game engine are covered. Game Programming Gems is written in a style accessible to individuals with a range of expertise levels. All of the source code for each algorithm is included and can be used by advanced programmers immediately. For aspiring programmers, there is a detailed tutorial to work through before attempting the code, and suggestions for possible modifications and optimizations are included as well.
Effective Java
Joshua Bloch - 2001
The principal enhancement in Java 8 was the addition of functional programming constructs to Java's object-oriented roots. Java 7, 8, and 9 also introduced language features, such as the try-with-resources statement, the diamond operator for generic types, default and static methods in interfaces, the @SafeVarargs annotation, and modules. New library features include pervasive use of functional interfaces and streams, the java.time package for manipulating dates and times, and numerous minor enhancements such as convenience factory methods for collections. In this new edition of Effective Java, Bloch updates the work to take advantage of these new language and library features, and provides specific best practices for their use. Java's increased support for multiple paradigms increases the need for best-practices advice, and this book delivers. As in previous editions, each chapter consists of several "items," each presented in the form of a short, standalone essay that provides specific advice, insight into Java platform subtleties, and updated code examples. The comprehensive descriptions and explanations for each item illuminate what to do, what not to do, and why. Coverage includes:Updated techniques and best practices on classic topics, including objects, classes, methods, libraries, and generics How to avoid the traps and pitfalls of commonly misunderstood subtleties of the platform Focus on the language and its most fundamental libraries, such as java.lang and java.util
The Pragmatic Programmer: From Journeyman to Master
Andy Hunt - 1999
It covers topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse. Read this book, and you'll learn how toFight software rot; Avoid the trap of duplicating knowledge; Write flexible, dynamic, and adaptable code; Avoid programming by coincidence; Bullet-proof your code with contracts, assertions, and exceptions; Capture real requirements; Test ruthlessly and effectively; Delight your users; Build teams of pragmatic programmers; and Make your developments more precise with automation. Written as a series of self-contained sections and filled with entertaining anecdotes, thoughtful examples, and interesting analogies,
The Pragmatic Programmer
illustrates the best practices and major pitfalls of many different aspects of software development. Whether you're a new coder, an experienced programmer, or a manager responsible for software projects, use these lessons daily, and you'll quickly see improvements in personal productivity, accuracy, and job satisfaction. You'll learn skills and develop habits and attitudes that form the foundation for long-term success in your career. You'll become a Pragmatic Programmer.
Working Effectively with Legacy Code
Michael C. Feathers - 2004
This book draws on material Michael created for his renowned Object Mentor seminars, techniques Michael has used in mentoring to help hundreds of developers, technical managers, and testers bring their legacy systems under control. The topics covered include: Understanding the mechanics of software change, adding features, fixing bugs, improving design, optimizing performance Getting legacy code into a test harness Writing tests that protect you against introducing new problems Techniques that can be used with any language or platform, with examples in Java, C++, C, and C# Accurately identifying where code changes need to be made Coping with legacy systems that aren't object-oriented Handling applications that don't seem to have any structureThis book also includes a catalog of twenty-four dependency-breaking techniques that help you work with program elements in isolation and make safer changes.
HTML and CSS: Design and Build Websites
Jon Duckett - 2011
Joining the professional web designers and programmers are new audiences who need to know a little bit of code at work (update a content management system or e-commerce store) and those who want to make their personal blogs more attractive. Many books teaching HTML and CSS are dry and only written for those who want to become programmers, which is why this book takes an entirely new approach. • Introduces HTML and CSS in a way that makes them accessible to everyone—hobbyists, students, and professionals—and it’s full-color throughout • Utilizes information graphics and lifestyle photography to explain the topics in a simple way that is engaging • Boasts a unique structure that allows you to progress through the chapters from beginning to end or just dip into topics of particular interest at your leisureThis educational book is one that you will enjoy picking up, reading, then referring back to. It will make you wish other technical topics were presented in such a simple, attractive and engaging way!
Hands-On Machine Learning with Scikit-Learn and TensorFlow
Aurélien Géron - 2017
Now that machine learning is thriving, even programmers who know close to nothing about this technology can use simple, efficient tools to implement programs capable of learning from data. This practical book shows you how.By using concrete examples, minimal theory, and two production-ready Python frameworks—Scikit-Learn and TensorFlow—author Aurélien Géron helps you gain an intuitive understanding of the concepts and tools for building intelligent systems. You’ll learn how to use a range of techniques, starting with simple Linear Regression and progressing to Deep Neural Networks. If you have some programming experience and you’re ready to code a machine learning project, this guide is for you.This hands-on book shows you how to use:Scikit-Learn, an accessible framework that implements many algorithms efficiently and serves as a great machine learning entry pointTensorFlow, a more complex library for distributed numerical computation, ideal for training and running very large neural networksPractical code examples that you can apply without learning excessive machine learning theory or algorithm details
Man, Play and Games
Roger Caillois - 1958
In this classic study, Caillois defines play as a free and voluntary activity that occurs in a pure space, isolated and protected from the rest of life. Play is uncertain, since the outcome may not be foreseen, and it is governed by rules that provide a level playing field for all participants. In its most basic form, play consists of finding a response to the opponent's action--or to the play situation--that is free within the limits set by the rules. Caillois qualifies types of games-- according to whether competition, chance, simulation, or vertigo (being physically out of control) is dominant--and ways of playing, ranging from the unrestricted improvisation characteristic of children's play to the disciplined pursuit of solutions to gratuitously difficult puzzles. Caillois also examines the means by which games become part of daily life and ultimately contribute to various cultures their most characteristic customs and institutions. Presented here in Meyer Barash's superb English translation, Man, Play and Games is a companion volume to Caillois's Man and the Sacred.