Homo Ludens: A Study of the Play Element in Culture


Johan Huizinga - 1938
    Like civilization, play requires structure and participants willing to create within limits. Starting with Plato, Huizinga traces the contribution of Homo Ludens, or "Man the player" through Medieval Times, the Renaissance, and into our modern civilization. Huizinga defines play against a rich theoretical background, using cross-cultural examples from the humanities, business, and politics. Homo Ludens defines play for generations to come."A happier age than ours once made bold to call our species by the name of Homo Sapiens. In the course of time we have come to realize that we are not so reasonable after all as the Eighteenth Century with its worship of reason and naive optimism, though us; "hence moder fashion inclines to designate our species asHomo Faber Man the Maker. But though faber may not be quite so dubious as sapiens it is, as a name specific of the human being, even less appropriate, seeing that many animals too are makers. There is a third function, howver, applicable to both human and animal life, and just as important as reasoning and making--namely, playing. it seems to me that next to Homo Faber, and perhaps on the same level as Homo Sapiens, Homo Ludens, Man the Player, deserves a place in our nomenclature. "--from the Foreward, by Johan Huizinga

Domain-Driven Design: Tackling Complexity in the Heart of Software


Eric Evans - 2003
    "His book is very compatible with XP. It is not about drawing pictures of a domain; it is about how you think of it, the language you use to talk about it, and how you organize your software to reflect your improving understanding of it. Eric thinks that learning about your problem domain is as likely to happen at the end of your project as at the beginning, and so refactoring is a big part of his technique. "The book is a fun read. Eric has lots of interesting stories, and he has a way with words. I see this book as essential reading for software developers--it is a future classic." --Ralph Johnson, author of Design Patterns "If you don't think you are getting value from your investment in object-oriented programming, this book will tell you what you've forgotten to do. "Eric Evans convincingly argues for the importance of domain modeling as the central focus of development and provides a solid framework and set of techniques for accomplishing it. This is timeless wisdom, and will hold up long after the methodologies du jour have gone out of fashion." --Dave Collins, author of Designing Object-Oriented User Interfaces "Eric weaves real-world experience modeling--and building--business applications into a practical, useful book. Written from the perspective of a trusted practitioner, Eric's descriptions of ubiquitous language, the benefits of sharing models with users, object life-cycle management, logical and physical application structuring, and the process and results of deep refactoring are major contributions to our field." --Luke Hohmann, author of Beyond Software Architecture "This book belongs on the shelf of every thoughtful software developer." --Kent Beck "What Eric has managed to capture is a part of the design process that experienced object designers have always used, but that we have been singularly unsuccessful as a group in conveying to the rest of the industry. We've given away bits and pieces of this knowledge...but we've never organized and systematized the principles of building domain logic. This book is important." --Kyle Brown, author of Enterprise Java(TM) Programming with IBM(R) WebSphere(R) The software development community widely acknowledges that domain modeling is central to software design. Through domain models, software developers are able to express rich functionality and translate it into a software implementation that truly serves the needs of its users. But despite its obvious importance, there are few practical resources that explain how to incorporate effective domain modeling into the software development process. Domain-Driven Design fills that need. This is not a book about specific technologies. It offers readers a systematic approach to domain-driven design, presenting an extensive set of design best practices, experience-based techniques, and fundamental principles that facilitate the development of software projects facing complex domains. Intertwining design and development practice, this book incorporates numerous examples based on actual projects to illustrate the application of domain-driven design to real-world software development. Readers learn how to use a domain model to make a complex development effort more focused and dynamic. A core of best practices and standard patterns provides a common language for the development team. A shift in emphasis--refactoring not just the code but the model underlying the code--in combination with the frequent iterations of Agile development leads to deeper insight into domains and enhanced communication between domain expert and programmer. Domain-Driven Design then builds on this foundation, and addresses modeling and design for complex systems and larger organizations.Specific topics covered include:Getting all team members to speak the same language Connecting model and implementation more deeply Sharpening key distinctions in a model Managing the lifecycle of a domain object Writing domain code that is safe to combine in elaborate ways Making complex code obvious and predictable Formulating a domain vision statement Distilling the core of a complex domain Digging out implicit concepts needed in the model Applying analysis patterns Relating design patterns to the model Maintaining model integrity in a large system Dealing with coexisting models on the same project Organizing systems with large-scale structures Recognizing and responding to modeling breakthroughs With this book in hand, object-oriented developers, system analysts, and designers will have the guidance they need to organize and focus their work, create rich and useful domain models, and leverage those models into quality, long-lasting software implementations.

Patterns of Enterprise Application Architecture


Martin Fowler - 2002
    Multi-tiered object-oriented platforms, such as Java and .NET, have become commonplace. These new tools and technologies are capable of building powerful applications, but they are not easily implemented. Common failures in enterprise applications often occur because their developers do not understand the architectural lessons that experienced object developers have learned. Patterns of Enterprise Application Architecture is written in direct response to the stiff challenges that face enterprise application developers. The author, noted object-oriented designer Martin Fowler, noticed that despite changes in technology--from Smalltalk to CORBA to Java to .NET--the same basic design ideas can be adapted and applied to solve common problems. With the help of an expert group of contributors, Martin distills over forty recurring solutions into patterns. The result is an indispensable handbook of solutions that are applicable to any enterprise application platform. This book is actually two books in one. The first section is a short tutorial on developing enterprise applications, which you can read from start to finish to understand the scope of the book's lessons. The next section, the bulk of the book, is a detailed reference to the patterns themselves. Each pattern provides usage and implementation information, as well as detailed code examples in Java or C#. The entire book is also richly illustrated with UML diagrams to further explain the concepts. Armed with this book, you will have the knowledge necessary to make important architectural decisions about building an enterprise application and the proven patterns for use when building them. The topics covered include - Dividing an enterprise application into layers - The major approaches to organizing business logic - An in-depth treatment of mapping between objects and relational databases - Using Model-View-Controller to organize a Web presentation - Handling concurrency for data that spans multiple transactions - Designing distributed object interfaces

Plot & Structure: Techniques and Exercises for Crafting a Plot That Grips Readers from Start to Finish


James Scott Bell - 2004
    Award-winning author James Scott Bell offers clear, concise information that will help you create a believable and memorable plot, including: Techniques for crafting strong beginnings, middles, and endsEasy-to-understand plotting diagrams and chartsBrainstorming techniques for original plot ideasThought-provoking exercises at the end of each chapterStory structure models and methods for all genresTips and tools for correcting common plot problemsFilled with plot examples from popular novels, comprehensive checklists, and practical hands-on guidance, "Write Great Fiction: Plot & Structure" gives you the skills you need to approach plot and structure like an experienced pro.

Style: Toward Clarity and Grace


Joseph M. Williams - 1981
    A logical, expert, easy-to-use plan for achieving excellence in expression, Style offers neither simplistic rules nor endless lists of dos and don'ts. Rather, Joseph Williams explains how to be concise, how to be focused, how to be organized. Filled with realistic examples of good, bad, and better writing, and step-by-step strategies for crafting a sentence or organizing a paragraph, Style does much more than teach mechanics: it helps anyone who must write clearly and persuasively transform even the roughest of drafts into a polished work of clarity, coherence, impact, and personality."Buy Williams's book. And dig out from storage your dog-eared old copy of The Elements of Style. Set them side by side on your reference shelf."—Barbara Walraff, Atlantic"Let newcoming writers discover this, and let their teachers and readers rejoice. It is a practical, disciplined text that is also a pleasure to read."—Christian Century"An excellent book....It provides a sensible, well-balanced approach, featuring prescriptions that work."—Donald Karzenski, Journal of Business Communication"Intensive fitness training for the expressive mind."—Booklist(The college textbook version, Style: Ten Lessons in Clarity and Grace, 9th edition, is available from Longman. ISBN 9780321479358.)

The Writer's Lexicon: Descriptions, Overused Words, and Taboos


Kathy Steinemann - 2017
    When they’re not nodding, they roll their eyes.Time to slash the Pinocchio strings and turn them into real people. Award-winning author Kathy Steinemann provides the tools. She cuts through the so-called rules and offers simple solutions.Too many repetitions of “little”? There’s a cure for that. Do you rely on “very” too often? There’s a cure for that too. You’ll find the remedies in this book’s dispensary.Should you ever use anything other than “said” to attribute dialogue? Are exclamation points taboo? The answers might surprise you.Learn how to harness body language, purge hackneyed adjectives, and draw on the environment for ambience. No more wooden characters. You’ll transform them into believable personalities that your readers will learn to love. Or hate.Get in the driver’s seat, relax, and enjoy your journey—with Kathy Steinemann’s book as your GPS.

Itchy, Tasty: An Unofficial History of Resident Evil


Alex Aniel - 2021
    Itchy, Tasty narrates the development of each Resident Evil game released between 1996 and 2006, interspersed with fascinating commentary from the game creators themselves, offering unique insight into how the series became the world-conquering franchise it is today.

Story Genius: How to Use Brain Science to Go Beyond Outlining and Write a Riveting Novel (Before You Waste Three Years Writing 327 Pages That Go Nowhere)


Lisa Cron - 2016
    Informed by story consultant Lisa Cron's science-based insights into how story structure is built into the architecture of the brain, this guide shows writers how to plumb the nitty-gritty details of their raw idea to organically generate a story scene by scene. Once writers reach the end of Cron's program, they will have both a blueprint that works and plenty of compelling writing suitable for their finished novel--allowing them to write forward with confidence.

Show Your Work!: 10 Ways to Share Your Creativity and Get Discovered


Austin Kleon - 2014
    Now, in an even more forward-thinking and necessary book, he shows how to take that critical next step on a creative journey—getting known. Show Your Work! is about why generosity trumps genius. It’s about getting findable, about using the network instead of wasting time “networking.” It’s not self-promotion, it’s self-discovery—let others into your process, then let them steal from you. Filled with illustrations, quotes, stories, and examples, Show Your Work! offers ten transformative rules for being open, generous, brave, productive. In chapters such as You Don’t Have to Be a Genius; Share Something Small Every Day; and Stick Around, Kleon creates a user’s manual for embracing the communal nature of creativity— what he calls the “ecology of talent.” From broader life lessons about work (you can’t find your voice if you don’t use it) to the etiquette of sharing—and the dangers of oversharing—to the practicalities of Internet life (build a good domain name; give credit when credit is due), it’s an inspiring manifesto for succeeding as any kind of artist or entrepreneur in the digital age.

Team Topologies: Organizing Business and Technology Teams for Fast Flow


Matthew Skelton - 2019
    But how do you build the best team organization for your specific goals, culture, and needs? Team Topologies is a practical, step-by-step, adaptive model for organizational design and team interaction based on four fundamental team types and three team interaction patterns. It is a model that treats teams as the fundamental means of delivery, where team structures and communication pathways are able to evolve with technological and organizational maturity.In Team Topologies, IT consultants Matthew Skelton and Manuel Pais share secrets of successful team patterns and interactions to help readers choose and evolve the right team patterns for their organization, making sure to keep the software healthy and optimize value streams.Team Topologies is a major step forward in organizational design for software, presenting a well-defined way for teams to interact and interrelate that helps make the resulting software architecture clearer and more sustainable, turning inter-team problems into valuable signals for the self-steering organization.

Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement


Eric Redmond - 2012
    As a modern application developer you need to understand the emerging field of data management, both RDBMS and NoSQL. Seven Databases in Seven Weeks takes you on a tour of some of the hottest open source databases today. In the tradition of Bruce A. Tate's Seven Languages in Seven Weeks, this book goes beyond your basic tutorial to explore the essential concepts at the core each technology. Redis, Neo4J, CouchDB, MongoDB, HBase, Riak and Postgres. With each database, you'll tackle a real-world data problem that highlights the concepts and features that make it shine. You'll explore the five data models employed by these databases-relational, key/value, columnar, document and graph-and which kinds of problems are best suited to each. You'll learn how MongoDB and CouchDB are strikingly different, and discover the Dynamo heritage at the heart of Riak. Make your applications faster with Redis and more connected with Neo4J. Use MapReduce to solve Big Data problems. Build clusters of servers using scalable services like Amazon's Elastic Compute Cloud (EC2). Discover the CAP theorem and its implications for your distributed data. Understand the tradeoffs between consistency and availability, and when you can use them to your advantage. Use multiple databases in concert to create a platform that's more than the sum of its parts, or find one that meets all your needs at once.Seven Databases in Seven Weeks will take you on a deep dive into each of the databases, their strengths and weaknesses, and how to choose the ones that fit your needs.What You Need: To get the most of of this book you'll have to follow along, and that means you'll need a *nix shell (Mac OSX or Linux preferred, Windows users will need Cygwin), and Java 6 (or greater) and Ruby 1.8.7 (or greater). Each chapter will list the downloads required for that database.

The CRPG Book Project - Expanded Edition


Felipe Pepe - 2018
    The completed ebook was first released as a free PDF in 2018, getting over 160,000 downloads. A deal was then made with Bitmap Books, which published a limited hardcover version of the book in 2019. All of the author’s profits (£20.992 as of January 2022) were donated to Vocação, a Brazilian NGO that helps kids and teenagers from poor areas to get a better education and find employment.In 2022, a new expanded edition was released, now with 160 extra pages, addressing issues with the previous release and expanding it to include games that were never released in English, as well as MMOs, MUDs, RPG Maker titles and more.This expanded edition is freely available for download at the project's website.

Several Short Sentences About Writing


Verlyn Klinkenborg - 2012
    It’s the harmful debris of your education—a mixture of half-truths, myths, and false assumptions that prevents you from writing well. Drawing on years of experience as a writer and teacher of writing, Verlyn Klinkenborg offers an approach to writing that will change the way you work and think. There is no gospel, no orthodoxy, no dogma in this book. What you’ll find here isn’t the way to write. Instead, you’ll find a way to clear your mind of illusions about writing and discover how you write. Several Short Sentences About Writing is a book of first steps and experiments. They will revolutionize the way you think and perceive, and they will change forever the sense of your own authority as a writer. This is a book full of learning, but it’s also a book full of unlearning—a way to recover the vivid, rhythmic, poetic sense of language you once possessed. An indispensable and unique book that will give you a clear understanding of how to think about what you do when you write and how to improve the quality of your writing.

Agile Game Development with Scrum


Clinton Keith - 2010
    It's no wonder so many development studios are struggling to survive. Fortunately, there is a solution. Scrum and Agile methods are already revolutionizing development outside the game industry. Now, long-time game developer Clinton Keith shows exactly how to successfully apply these methods to the unique challenges of game development. Keith has spent more than fifteen years developing games, seven of them with Scrum and agile methods. Drawing on this unparalleled expertise, he shows how teams can use Scrum to deliver games more efficiently, rapidly, and cost-effectively; craft games that offer more entertainment value; and make life more fulfilling for development teams at the same time. You'll learn to form successful agile teams that incorporate programmers, producers, artists, testers, and designers--and promote effective collaboration within and beyond those teams, throughout the entire process. From long-range planning to progress tracking and continuous integration, Keith offers dozens of tips, tricks, and solutions--all based firmly in reality and hard-won experience. Coverage includes Understanding Scrum's goals, roles, and practices in the context of game development Communicating and planning your game's vision, features, and progress Using iterative techniques to put your game into a playable state every two to four weeks-- even daily Helping all team participants succeed in their roles Restoring stability and predictability to the development process Managing ambiguous requirements in a fluid marketplace Scaling Scrum to large, geographically distributed development teams Getting started: overcoming inertia and integrating Scrum into your studio's current processes Increasingly, game developers and managers are recognizing that things can't go on the way they have in the past. Game development organizations need a far better way to work. Agile Game Development with Scrum gives them that--and brings the profitability, creativity, and fun back to game development.

The War of Art: Winning the Inner Creative Battle


Steven Pressfield - 2002
    Pressfield believes that “resistance” is the greatest enemy, and he offers many unique and helpful ways to overcome it.