====== Patterns for Game Design ====== In software development a design pattern is a reusable solution to a common problem. Usually, design patterns are the domain of experienced programmers who have worked on a number of projects. This experience allows the developer to identify trends and abstract a pattern. Experienced programmers know design patterns intuitively and understand that they are an important part of their toolbox. The right pattern allows them to focus on their work without making common mistakes or reinventing the wheel. A design pattern is a general thing that can be found in all domains of software engineering. Not surprisingly, game development has its own set of design patterns. However, as a relatively young field of programming game developers have yet to reflect on the patterns in their trade. The goal of this document is to provide a place to discuss design patterns relevant for game design. Through discussion we can focus and strengthen our knowledge of common game design patterns while leaving behind a resource for future programmers. ===== Recent Design Patterns ===== * [[design pattern:Abstract Entity]] * [[design pattern:Animatable]] * [[design pattern:Entity]] * [[design pattern:EntityGroup]] * [[design pattern:Finite State Machine]] * [[design pattern:Level]] * [[design pattern:Proxy]] * [[design pattern:Grid]] ===== Other Places to Go ===== * [[design pattern:start|List of Design Patterns]] * [[wiki:quick_syntax|Quick Syntax]] * [[wiki:Contribute]] * [[wiki:FAQ]] * [[wiki:Suggestions]]