Playing at the World: A History of Simulating Wars, People, and Fantastic Adventure from Chess to Role-Playing Games


Jon Peterson - 2012
    From a vast survey of primary sources ranging from eighteenth-century strategists to modern hobbyists, Playing at the World distills the story of how gamers first decided fictional battles with boards and dice, and how they moved from simulating wars to simulating people. The invention of role-playing games serves as a touchstone for exploring the ways that the literary concept of character, the lure of fantastic adventure and the principles of gaming combined into the signature cultural innovation of the late twentieth century.

The Making of Prince of Persia: Journals 1985-1993--Illustrated Edition


Jordan Mechner - 2020
    

Designing Data-Intensive Applications


Martin Kleppmann - 2015
    Difficult issues need to be figured out, such as scalability, consistency, reliability, efficiency, and maintainability. In addition, we have an overwhelming variety of tools, including relational databases, NoSQL datastores, stream or batch processors, and message brokers. What are the right choices for your application? How do you make sense of all these buzzwords?In this practical and comprehensive guide, author Martin Kleppmann helps you navigate this diverse landscape by examining the pros and cons of various technologies for processing and storing data. Software keeps changing, but the fundamental principles remain the same. With this book, software engineers and architects will learn how to apply those ideas in practice, and how to make full use of data in modern applications. Peer under the hood of the systems you already use, and learn how to use and operate them more effectively Make informed decisions by identifying the strengths and weaknesses of different tools Navigate the trade-offs around consistency, scalability, fault tolerance, and complexity Understand the distributed systems research upon which modern databases are built Peek behind the scenes of major online services, and learn from their architectures

Think Stats


Allen B. Downey - 2011
    This concise introduction shows you how to perform statistical analysis computationally, rather than mathematically, with programs written in Python.You'll work with a case study throughout the book to help you learn the entire data analysis process—from collecting data and generating statistics to identifying patterns and testing hypotheses. Along the way, you'll become familiar with distributions, the rules of probability, visualization, and many other tools and concepts.Develop your understanding of probability and statistics by writing and testing codeRun experiments to test statistical behavior, such as generating samples from several distributionsUse simulations to understand concepts that are hard to grasp mathematicallyLearn topics not usually covered in an introductory course, such as Bayesian estimationImport data from almost any source using Python, rather than be limited to data that has been cleaned and formatted for statistics toolsUse statistical inference to answer questions about real-world data

The Well-Played Game: A Player's Philosophy


Bernie DeKoven - 1978
    De Koven's classic treatise on how human beings play together, first published in 1978, investigates many issues newly resonant in the era of video and computer games, including social gameplay and player modification. The digital game industry, now moving beyond its emphasis on graphic techniques to focus on player interaction, has much to learn from The Well-Played Game.De Koven explains that when players congratulate each other on a "well-played" game, they are expressing a unique and profound synthesis that combines the concepts of play (with its associations of playfulness and fun) and game (with its associations of rule-following). This, he tells us, yields a larger concept: the experience and expression of excellence. De Koven--affectionately and appreciatively hailed by Eric Zimmerman as "our shaman of play"--explores the experience of a well-played game, how we share it, and how we can experience it again; issues of cheating, fairness, keeping score, changing old games (why not change the rules in pursuit of new ways to play?), and making up new games; playing for keeps; and winning. His book belongs on the bookshelves of players who want to find a game in which they can play well, who are looking for others with whom they can play well, and who have discovered the relationship between the well-played game and the well-lived life.

Structure and Interpretation of Computer Programs


Harold Abelson - 1984
    This long-awaited revision contains changes throughout the text. There are new implementations of most of the major programming systems in the book, including the interpreters and compilers, and the authors have incorporated many small changes that reflect their experience teaching the course at MIT since the first edition was published. A new theme has been introduced that emphasizes the central role played by different approaches to dealing with time in computational models: objects with state, concurrent programming, functional programming and lazy evaluation, and nondeterministic programming. There are new example sections on higher-order procedures in graphics and on applications of stream processing in numerical programming, and many new exercises. In addition, all the programs have been reworked to run in any Scheme implementation that adheres to the IEEE standard.

Embed with Games: A Year on the Couch with Game Developers


Cara Ellison - 2015
    The internet generously helped fund her travel costs through a subscription service, egging her on in the only way it could, the pledges going up each month. This is the collected work, called 'Embed With Games', with an exclusive introduction from Kieron Gillen, a cover from comics artist Irene Koh, and a conclusion exclusive to the ebook.From London to Los Angeles, from the Netherlands to Malaysia to Japan to Australia, the book reveals how people involved in games are taking what they see around them and expressing it in digital playgrounds for other people to experience.An emotional, weird, sometimes intimate experience, this is open ribcage writing about the side of making video games most people don't see or know about.

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

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

Head First Design Patterns


Eric Freeman - 2004
     At any given moment, somewhere in the world someone struggles with the same software design problems you have. You know you don't want to reinvent the wheel (or worse, a flat tire), so you look to Design Patterns--the lessons learned by those who've faced the same problems. With Design Patterns, you get to take advantage of the best practices and experience of others, so that you can spend your time on...something else. Something more challenging. Something more complex. Something more fun. You want to learn about the patterns that matter--why to use them, when to use them, how to use them (and when NOT to use them). But you don't just want to see how patterns look in a book, you want to know how they look "in the wild". In their native environment. In other words, in real world applications. You also want to learn how patterns are used in the Java API, and how to exploit Java's built-in pattern support in your own code. You want to learn the real OO design principles and why everything your boss told you about inheritance might be wrong (and what to do instead). You want to learn how those principles will help the next time you're up a creek without a design pattern. Most importantly, you want to learn the "secret language" of Design Patterns so that you can hold your own with your co-worker (and impress cocktail party guests) when he casually mentions his stunningly clever use of Command, Facade, Proxy, and Factory in between sips of a martini. You'll easily counter with your deep understanding of why Singleton isn't as simple as it sounds, how the Factory is so often misunderstood, or on the real relationship between Decorator, Facade and Adapter. With Head First Design Patterns, you'll avoid the embarrassment of thinking Decorator is something from the "Trading Spaces" show. Best of all, in a way that won't put you to sleep! We think your time is too important (and too short) to spend it struggling with academic texts. If you've read a Head First book, you know what to expect--a visually rich format designed for the way your brain works. Using the latest research in neurobiology, cognitive science, and learning theory, Head First Design Patterns will load patterns into your brain in a way that sticks. In a way that lets you put them to work immediately. In a way that makes you better at solving software design problems, and better at speaking the language of patterns with others on your team.

Code: The Hidden Language of Computer Hardware and Software


Charles Petzold - 1999
    And through CODE, we see how this ingenuity and our very human compulsion to communicate have driven the technological innovations of the past two centuries. Using everyday objects and familiar language systems such as Braille and Morse code, author Charles Petzold weaves an illuminating narrative for anyone who’s ever wondered about the secret inner life of computers and other smart machines. It’s a cleverly illustrated and eminently comprehensible story—and along the way, you’ll discover you’ve gained a real context for understanding today’s world of PCs, digital media, and the Internet. No matter what your level of technical savvy, CODE will charm you—and perhaps even awaken the technophile within.

Play Matters


Miguel Sicart - 2014
    So what, then, is play? In Play Matters, Miguel Sicart argues that to play is to be in the world; playing is a form of understanding what surrounds us and a way of engaging with others. Play goes beyond games; it is a mode of being human.We play games, but we also play with toys, on playgrounds, with technologies and design. Sicart proposes a theory of play that doesn't derive from a particular object or activity but is a portable tool for being—not tied to objects but brought by people to the complex interactions that form their daily lives. It is not separated from reality; it is part of it. It is pleasurable, but not necessarily fun. Play can be dangerous, addictive, and destructive.Along the way, Sicart considers playfulness, the capacity to use play outside the context of play; toys, the materialization of play--instruments but also play pals; playgrounds, play spaces that enable all kinds of play; beauty, the aesthetics of play through action; political play--from Maradona's goal against England in the 1986 World Cup to the hactivist activities of Anonymous; the political, aesthetic, and moral activity of game design; and why play and computers get along so well.

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!

Hamlet on the Holodeck: The Future of Narrative in Cyberspace


Janet H. Murray - 1997
    In this comprehensive and readable book--already a classic statement of the aesthetics of digital media, acclaimed by practitioners and theorists alike--Janet Murray shows how the computer is reshaping the stories we live by. Murray discusses the unique properties and pleasures of digital environments and connects them with the traditional satisfactions of narrative. She analyzes the dramatic satisfaction of participatory stories and considers what would be necessary to move interactive fiction from the formats of childish games and confusing labyrinths into a mature and compelling art form. Through a blend of imagination and techno-wizardry, Murray provides both readers and writers with a guide to the storytelling of the future.

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.