Book picks similar to
Rules of Play: Game Design Fundamentals by Katie Salen
game-design
games
non-fiction
design
Building Microservices: Designing Fine-Grained Systems
Sam Newman - 2014
But developing these systems brings its own set of headaches. With lots of examples and practical advice, this book takes a holistic view of the topics that system architects and administrators must consider when building, managing, and evolving microservice architectures.Microservice technologies are moving quickly. Author Sam Newman provides you with a firm grounding in the concepts while diving into current solutions for modeling, integrating, testing, deploying, and monitoring your own autonomous services. You'll follow a fictional company throughout the book to learn how building a microservice architecture affects a single domain.Discover how microservices allow you to align your system design with your organization's goalsLearn options for integrating a service with the rest of your systemTake an incremental approach when splitting monolithic codebasesDeploy individual microservices through continuous integrationExamine the complexities of testing and monitoring distributed servicesManage security with user-to-service and service-to-service modelsUnderstand the challenges of scaling microservice architectures
Refactoring UI
Adam Wathan - 2018
Learn how to design beautiful user interfaces by yourself using specific tactics explained from a developer's point-of-view.
Make It So: Interaction Design Lessons From Science Fiction
Nathan Shedroff - 2012
Freed from the rigorous constraints of designing for real users, sci-fi production designers develop blue-sky interfaces that are inspiring, humorous, and even instructive. By carefully studying these "outsider" user interfaces, designers can derive lessons that make their real-world designs more cutting edge and successful.
The Rust Programming Language
Steve Klabnik
This is the undisputed go-to guide to Rust, written by two members of the Rust core team, with feedback and contributions from 42 members of the community. The book assumes that you’ve written code in another programming language but makes no assumptions about which one, meaning the material is accessible and useful to developers from a wide variety of programming backgrounds.Known by the Rust community as "The Book," The Rust Programming Language includes concept chapters, where you’ll learn about a particular aspect of Rust, and project chapters, where you’ll apply what you’ve learned so far to build small programs.The Book opens with a quick hands-on project to introduce the basics then explores key concepts in depth, such as ownership, the type system, error handling, and fearless concurrency. Next come detailed explanations of Rust-oriented perspectives on topics like pattern matching, iterators, and smart pointers, with concrete examples and exercises--taking you from theory to practice.The Rust Programming Language will show you how to: Grasp important concepts unique to Rust like ownership, borrowing, and lifetimes Use Cargo, Rust’s built-in package manager, to build and maintain your code, including downloading and building dependencies Effectively use Rust’s zero-cost abstractions and employ your ownYou’ll learn to develop reliable code that’s speed and memory efficient, while avoiding the infamous and arcane programming pitfalls common at the systems level. When you need to dive down into lower-level control, this guide will show you how without taking on the customary risk of crashes or security holes and without requiring you to learn the fine points of a fickle toolchain.You’ll also learn how to create command line programs, build single- and multithreaded web servers, and much more.The Rust Programming Language fully embraces Rust’s potential to empower its users. This friendly and approachable guide will help you build not only your knowledge of Rust but also your ability to program with confidence in a wider variety of domains.
Agile Estimating and Planning
Mike Cohn - 2005
In this book, Agile Alliance cofounder Mike Cohn discusses the philosophy of agile estimating and planning and shows you exactly how to get the job done, with real-world examples and case studies.Concepts are clearly illustrated and readers are guided, step by step, toward how to answer the following questions: What will we build? How big will it be? When must it be done? How much can I really complete by then? You will first learn what makes a good plan-and then what makes it agile.Using the techniques in
Agile Estimating and Planning
, you can stay agile from start to finish, saving time, conserving resources, and accomplishing more. Highlights include:Why conventional prescriptive planning fails and why agile planning works How to estimate feature size using story points and ideal days--and when to use each How and when to re-estimate How to prioritize features using both financial and nonfinancial approaches How to split large features into smaller, more manageable ones How to plan iterations and predict your team's initial rate of progress How to schedule projects that have unusually high uncertainty or schedule-related risk How to estimate projects that will be worked on by multiple teams
Agile Estimating and Planning
supports any agile, semiagile, or iterative process, including Scrum, XP, Feature-Driven Development, Crystal, Adaptive Software Development, DSDM, Unified Process, and many more. It will be an indispensable resource for every development manager, team leader, and team member.
The Clean Coder: A Code of Conduct for Professional Programmers
Robert C. Martin - 2011
They treat it as a craft. They are professionals. In
The Clean Coder: A Code of Conduct for Professional Programmers,
legendary software expert Robert C. Martin introduces the disciplines, techniques, tools, and practices of true software craftsmanship. This book is packed with practical advice-about everything from estimating and coding to refactoring and testing. It covers much more than technique: It is about attitude. Martin shows how to approach software development with honor, self-respect, and pride; work well and work clean; communicate and estimate faithfully; face difficult decisions with clarity and honesty; and understand that deep knowledge comes with a responsibility to act. Readers will learn What it means to behave as a true software craftsman How to deal with conflict, tight schedules, and unreasonable managers How to get into the flow of coding, and get past writer's block How to handle unrelenting pressure and avoid burnout How to combine enduring attitudes with new development paradigms How to manage your time, and avoid blind alleys, marshes, bogs, and swamps How to foster environments where programmers and teams can thrive When to say "No"-and how to say it When to say "Yes"-and what yes really means Great software is something to marvel at: powerful, elegant, functional, a pleasure to work with as both a developer and as a user. Great software isn't written by machines. It is written by professionals with an unshakable commitment to craftsmanship.
The Clean Coder
will help you become one of them-and earn the pride and fulfillment that they alone possess.
Drawing Basics and Video Game Art: Classic to Cutting-Edge Art Techniques for Winning Video Game Design
Chris Solarski - 2012
It gives detailed explanations of game art techniques and their importance, while also highlighting their dependence on artistic aspects of game design and programming.” — John Romero, co-founder of id Software and CEO of Loot Drop, Inc."Solarski’s methodology here is to show us the artistic techniques that every artist should know, and then he transposes them to the realm of video games to show how they should be used to create a far more artful gaming experience ... if I were an artist planning to do video game work, I’d have a copy of this on my shelf."— Marc Mason, Comics Waiting RoomVideo games are not a revolution in art history, but an evolution. Whether the medium is paper or canvas—or a computer screen—the artist’s challenge is to make something without depth seem like a window into a living, breathing world. Video game art is no different. Drawing Basics and Video Game Art is first to examine the connections between classical art and video games, enabling developers to create more expressive and varied emotional experiences in games. Artist game designer Chris Solarski gives readers a comprehensive introduction to basic and advanced drawing and design skills—light, value, color, anatomy, concept development—as well as detailed instruction for using these methods to design complex characters, worlds, and gameplay experiences. Artwork by the likes of Michelangelo, Titian, and Rubens are studied alongside AAA games like BioShock, Journey, the Mario series, and Portal 2, to demonstrate perpetual theories of depth, composition, movement, artistic anatomy, and expression. Although Drawing Basics and Video Game Art is primarily a practical reference for artists and designers working in the video games industry, it’s equally accessible for those interested to learn about gaming’s future, and potential as an artistic medium.Also available as an eBook
Replay: The History of Video Games
Tristan Donovan - 2010
Based on extensive research and over 140 exclusive interviews with key movers and shakers from gaming's past, Replay tells the sensational story of how the creative vision of game designers gave rise to one of the world's most popular and dynamic art forms.
Applied Cryptography: Protocols, Algorithms, and Source Code in C
Bruce Schneier - 1993
… The book the National Security Agency wanted never to be published." –Wired Magazine "…monumental… fascinating… comprehensive… the definitive work on cryptography for computer programmers…" –Dr. Dobb's Journal"…easily ranks as one of the most authoritative in its field." —PC Magazine"…the bible of code hackers." –The Millennium Whole Earth CatalogThis new edition of the cryptography classic provides you with a comprehensive survey of modern cryptography. The book details how programmers and electronic communications professionals can use cryptography—the technique of enciphering and deciphering messages-to maintain the privacy of computer data. It describes dozens of cryptography algorithms, gives practical advice on how to implement them into cryptographic software, and shows how they can be used to solve security problems. Covering the latest developments in practical cryptographic techniques, this new edition shows programmers who design computer applications, networks, and storage systems how they can build security into their software and systems. What's new in the Second Edition? * New information on the Clipper Chip, including ways to defeat the key escrow mechanism * New encryption algorithms, including algorithms from the former Soviet Union and South Africa, and the RC4 stream cipher * The latest protocols for digital signatures, authentication, secure elections, digital cash, and more * More detailed information on key management and cryptographic implementations
Convergence Culture: Where Old and New Media Collide
Henry Jenkins - 2006
He takes us into the secret world of "Survivor" Spoilers, where avid internet users pool their knowledge to unearth the show's secrets before they are revealed on the air. He introduces us to young "Harry Potter" fans who are writing their own Hogwarts tales while executives at Warner Brothers struggle for control of their franchise. He shows us how "The Matrix" has pushed transmedia storytelling to new levels, creating a fictional world where consumers track down bits of the story across multiple media channels.Jenkins argues that struggles over convergence will redefine the face of American popular culture. Industry leaders see opportunities to direct content across many channels to increase revenue and broaden markets. At the same time, consumers envision a liberated public sphere, free of network controls, in a decentralized media environment. Sometimes corporate and grassroots efforts reinforce each other, creating closer, more rewarding relations between media producers and consumers. Sometimes these two forces are at war.Jenkins provides a riveting introduction to the world where every story gets told and every brand gets sold across multiple media platforms. He explains the cultural shift that is occurring as consumers fight for control across disparate channels, changing the way we do business, elect our leaders, and educate our children.
The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win
Gene Kim - 2013
It's Tuesday morning and on his drive into the office, Bill gets a call from the CEO. The company's new IT initiative, code named Phoenix Project, is critical to the future of Parts Unlimited, but the project is massively over budget and very late. The CEO wants Bill to report directly to him and fix the mess in ninety days or else Bill's entire department will be outsourced. With the help of a prospective board member and his mysterious philosophy of The Three Ways, Bill starts to see that IT work has more in common with manufacturing plant work than he ever imagined. With the clock ticking, Bill must organize work flow streamline interdepartmental communications, and effectively serve the other business functions at Parts Unlimited. In a fast-paced and entertaining style, three luminaries of the DevOps movement deliver a story that anyone who works in IT will recognize. Readers will not only learn how to improve their own IT organizations, they'll never view IT the same way again.
Gaming: Essays On Algorithmic Culture
Alexander R. Galloway - 2006
Yet there have been relatively few attempts to understand the video game as an independent medium. Most such efforts focus on the earliest generation of text-based adventures (Zork, for example) and have little to say about such visually and conceptually sophisticated games as Final Fantasy X, Shenmue, Grand Theft Auto, Halo, and The Sims, in which players inhabit elaborately detailed worlds and manipulate digital avatars with a vast—and in some cases, almost unlimited—array of actions and choices. In Gaming, Alexander Galloway instead considers the video game as a distinct cultural form that demands a new and unique interpretive framework. Drawing on a wide range of disciplines, particularly critical theory and media studies, he analyzes video games as something to be played rather than as texts to be read, and traces in five concise chapters how the “algorithmic culture” created by video games intersects with theories of visuality, realism, allegory, and the avant-garde. If photographs are images and films are moving images, then, Galloway asserts, video games are best defined as actions. Using examples from more than fifty video games, Galloway constructs a classification system of action in video games, incorporating standard elements of gameplay as well as software crashes, network lags, and the use of cheats and game hacks. In subsequent chapters, he explores the overlap between the conventions of film and video games, the political and cultural implications of gaming practices, the visual environment of video games, and the status of games as an emerging cultural form. Together, these essays offer a new conception of gaming and, more broadly, of electronic culture as a whole, one that celebrates and does not lament the qualities of the digital age. Alexander R. Galloway is assistant professor of culture and communication at New York University and author of Protocol: How Control Exists after Decentralization.
The Soul of a New Machine
Tracy Kidder - 1981
Tracy Kidder got a preview of this world in the late 1970s when he observed the engineers of Data General design and build a new 32-bit minicomputer in just one year. His thoughtful, prescient book, The Soul of a New Machine, tells stories of 35-year-old "veteran" engineers hiring recent college graduates and encouraging them to work harder and faster on complex and difficult projects, exploiting the youngsters' ignorance of normal scheduling processes while engendering a new kind of work ethic.These days, we are used to the "total commitment" philosophy of managing technical creation, but Kidder was surprised and even a little alarmed at the obsessions and compulsions he found. From in-house political struggles to workers being permitted to tease management to marathon 24-hour work sessions, The Soul of a New Machine explores concepts that already seem familiar, even old-hat, less than 20 years later. Kidder plainly admires his subjects; while he admits to hopeless confusion about their work, he finds their dedication heroic. The reader wonders, though, what will become of it all, now and in the future. —Rob Lightner
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.""
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.