
Introduction to Game Design, Prototyping, and Development, 3rd edition
BRAND: PEARSON
eBook edition. 1 year Subscription. Dành cho Cá nhân | Trường ĐH, Nhóm, Thư Viện: Gọi 0915920514 để báo giá Pearson, Vital Source eBook hoặc mua Sách In
Tổng quan sách
Tìm hiểu tất cả các kỹ năng thiết kế và phát triển mà bạn cần để tạo ra những trò chơi tuyệt vời với Unity, Engine trò chơi chuyên nghiệp phổ biến nhất thế giớiNếu bạn muốn thiết kế và phát triển trò chơi, không gì có thể thay thế được trải nghiệm thực tế, mạnh mẽ với các kỹ thuật và công cụ hiện đại. Đó chính xác là những gì cuốn sách này cung cấp. Người hướng dẫn hàng đầu và nhà phát triển trò chơi độc lập Jeremy Gibson Bond đề cập đến cả ba lĩnh vực mà bạn cần để thành công: lý thuyết thiết kế trò chơi, tạo nguyên mẫu lặp lại nhanh và lập trình thực tế.Dựa trên hai cuốn sách bán chạy nhất trước đây, Phiên bản thứ ba này có hàng trăm cải tiến trên hơn 400 trang mới, tất cả đều được thiết kế để khiến nó trở nên dễ hiểu hơn và hữu ích hơn trong việc phát triển trò chơi hiện đại.Năm hướng dẫn trò chơi đã được sửa đổi và mở rộng kỹ lưỡng để bao gồm nhiều phương pháp hay nhất khác cho việc tạo nguyên mẫu và phát triển, đồng thời tất cả các ví dụ hiện đều sử dụng Unity 2020.3 LTS (Hỗ trợ dài hạn), một tiêu chuẩn ổn định và giàu tính năng trong nhiều năm tới. Nội dung mới bao gồm các hướng dẫn nâng cao đáng kể, một chương về Ngăn xếp công nghệ hướng dữ liệu (DOTS) hiệu suất cao của Unity, các Thử thách viết mã mới để giúp bạn chuyển sang tạo trò chơi của riêng mình từ đầu và các mẹo về các bước tiếp theo sau khi bạn đọc xong cuốn sách . Trang web được cải tiến bao gồm các phiên bản có thể chơi được của tất cả các trò chơi mẫu, cùng với một công cụ mới thú vị cung cấp phản hồi ngay lập tức về các lỗi tiềm ẩn trong mã của riêng bạn.Phần I: Thiết kế trò chơi và tạo mẫu trên giấySử dụng Layered Tetrad để hiểu và thiết kế những trải nghiệm tương tác mạnh mẽ.Khám phá các phương pháp thiết kế trò chơi cốt lõi về tạo mẫu, thử nghiệm và lặp lại trên giấy.Tìm hiểu các chiến lược hiệu quả để luôn đi đúng hướng và đúng tiến độ.Nhận các mẹo để tìm được một công việc xứng đáng trong ngành ngày nay.Phần II: Lập trình C# trong UnityTìm hiểu C# từ những điều cơ bản thông qua kế thừa lớp, lập trình hướng đối tượng và thiết kế hướng dữ liệu.Phần III: Hướng dẫn nguyên mẫu trò chơiTriển khai trò chơi trên năm thể loại: trò chơi điện tử, trò chơi vật lý thông thường, trò chơi bắn súng không gian, trò chơi bài solitaire và trò chơi phiêu lưu từ trên xuống. Mỗi trò chơi được thiết kế để có thể dễ dàng mở rộng vào các dự án của riêng bạn.Đưa ba trò chơi từ nguyên mẫu đến trò chơi “có thể chơi được lần đầu tiên” thông qua các chương hướng dẫn mở rộng mới giúp cải tiến trò chơi hơn so với các phiên bản trước của cuốn sách.MỚI! Phần IV: Các bước tiếp theoGiải quyết thư viện Thử thách viết mã mới đang phát triển, một phương pháp đã được chứng minh để chuyển từ hướng dẫn sang tạo dự án của riêng bạn từ đầu.Nhận ý tưởng và nguồn lực cho các dự án mới để bạn tự mình giải quyết.
- ForewordPrefacePART I Game Design and Paper Prototyping
- Chapter 1Thinking Like a DesignerYou Are a Game DesignerBartok: A Game Design ExerciseThe Definition of GameSummary
- Chapter 2Game Analysis FrameworksCommon Frameworks for LudologyMDA: Mechanics, Dynamics, and AestheticsFormal, Dramatic, and Dynamic ElementsThe Elemental TetradSummary
- Chapter 3The Layered TetradThe Inscribed LayerThe Dynamic LayerThe Cultural LayerThe Responsibility of the DesignerSummary
- Chapter 4The Inscribed LayerInscribed MechanicsInscribed AestheticsInscribed NarrativeInscribed TechnologySummary
- Chapter 5The Dynamic LayerThe Role of the PlayerEmergenceDynamic MechanicsDynamic AestheticsDynamic NarrativeDynamic TechnologySummary
- Chapter 6The Cultural LayerBeyond PlayCultural MechanicsCultural AestheticsCultural NarrativeCultural TechnologyAuthorized Transmedia Are Not Part of the Cultural LayerThe Cultural Impact of a GameSummary
- Chapter 7Acting Like a DesignerIterative DesignInnovationBrainstorming and IdeationChanging Your MindScoping!Summary
- Chapter 8Design GoalsDesign Goals: An Incomplete ListDesigner-Centric GoalsPlayer-Centric GoalsSummary
- Chapter 9Paper PrototypingThe Benefits of Paper PrototypingPaper Prototyping ToolsPaper Prototyping for InterfacesA Paper Prototype ExampleBest Uses for Paper PrototypingPoor Uses for Paper PrototypingSummary
- Chapter 10Game TestingWhy Playtest?Being a Great Playtester YourselfThe Circles of PlaytestersMethods of PlaytestingOther Important Types of TestingSummary
- Chapter 11Math and Game BalanceThe Meaning of Game BalanceThe Importance of SpreadsheetsExamining Dice Probability with SheetsThe Math of ProbabilityRandomizer Technologies in Paper GamesWeighted DistributionsWeighted Probability in Google SheetsPermutationsUsing Sheets to Balance WeaponsPositive and Negative FeedbackSummary
- Chapter 12Guiding the PlayerDirect GuidanceIndirect GuidanceTeaching New Skills and ConceptsSummary
- Chapter 13Puzzle DesignScott Kim on Puzzle DesignThe Steps of Solving a PuzzlePuzzle Examples in Action GamesDesigning and Developing Puzzle GamesSummary
- Chapter 14The Agile MentalityThe Manifesto for Agile Software DevelopmentScrum MethodologyBurndown Chart ExampleCreating Your Own Burndown ChartsSummary
- Chapter 15The Digital Game IndustryAbout the Game IndustryGame EducationGetting Into the IndustryDon't Wait to Start Making Games!SummaryPART II Programming C# in Unity
- Chapter 16Thinking in Digital SystemsSystems Thinking in Board GamesAn Exercise in Simple InstructionsGame Analysis: Apple PickerSummary
- Chapter 17Introducing Unity Hub and the Unity EditorDownloading UnityIntroducing Our Development EnvironmentCreating a Unity AccountChecking Out a Sample ProjectCreating Your First Unity ProjectLearning Your Way Around UnitySetting Up the Unity Window LayoutSummary
- Chapter 18Introducing Our Language: C#Understanding the Features of C#Reading and Understanding C# SyntaxSummary
- Chapter 19Hello World: Your First ProgramCreating a New ProjectMaking a New C# ScriptMaking Things More InterestingSummary
- Chapter 20Variables and ComponentsIntroducing VariablesStatically Typed Variables in C#Important C# Variable TypesThe Scope of VariablesNaming ConventionsImportant Unity Variable TypesUnity GameObjects and ComponentsSummary
- Chapter 21Boolean Operations and ConditionalsBooleansComparison OperatorsConditional StatementsSummary
- Chapter 22LoopsTypes of LoopsSet Up a Projectwhile Loopsdo...while Loopsfor Loopsforeach LoopsJump Statements within LoopsSummary
- Chapter 23Collections in C#C# CollectionsUsing Generic CollectionsListDictionaryArrayMultidimensional ArraysJagged ArraysJagged ListsChoosing Whether to Use an Array or ListSummary
- Chapter 24Functions and ParametersSetting Up the Function Examples ProjectDefinition of a FunctionWhat Happens When You Call a Function?Function Parameters and ArgumentsReturning ValuesReturning voidFunction Naming ConventionsWhy Use Functions?Function OverloadingOptional ParametersThe params KeywordRecursive FunctionsSummary
- Chapter 25DebuggingGetting Started with DebuggingStepping Through Code with the DebuggerSummary
- Chapter 26ClassesUnderstanding ClassesClass InheritanceSummary
- Chapter 27Object-Oriented ThinkingThe Object-Oriented MetaphorAn Object-Oriented Boids ImplementationSummary
- Chapter 28Data-Oriented DesignThe Theory of Data-Oriented DesignDOTS Tutorial and ExampleThe Future of Unity DOTSSummaryPART III Game Prototype Tutorials
- Chapter 29Apple PickerWhat You Will LearnTheApple PickerPrototypeThe Purpose of a Digital PrototypePreparingCoding theApple PickerPrototypeGUI and Game ManagementSummary
- Chapter 30Mission DemolitionWhat You Will LearnTheMission DemolitionPrototypeGetting Started:Mission DemolitionGame Prototype ConceptArt AssetsCoding the PrototypeFrom Prototype to First PlayableSummary
- Chapter 31Space SHMUP --Part 1What You Will LearnGetting Started:Space SHMUPSetting the SceneMaking the Hero ShipAdding Some EnemiesSpawning Enemies at RandomSetting Tags, Layers, and PhysicsMaking the Enemies Damage the PlayerRestarting the GameShooting (Finally)Summary
- Chapter 32Space SHMUP --Part 2What You Will LearnGetting Started:Space SHMUP-- Part 2Enemy to Enemy_0Programming Other EnemiesShooting RevisitedShowing Enemy DamageAdding PowerUps and Boosting WeaponsRace Conditions & Script Execution OrderMaking Enemies Drop PowerUpsEnemy_4 -- A More Complex EnemyTuning Settings for the Game EntitiesAdding a Scrolling Starfield BackgroundSummary
- Chapter 33Prospector Solitaire-- Part 1What You Will LearnTheProspectorGameGetting Started:Prospector SolitaireBuild SettingsSetting Up the Unity Window LayoutSetting Up the Camera and Game PaneImporting Images as SpritesConstructing Cards from SpritesImplementingProspectorin CodeImplementing Game LogicSummary
- Chapter 34Prospector Solitaire --Part 2What You Will LearnGetting Started:Prospector --Part 2AdditionalProspectorGame ElementsAdding GUI Elements to Display the ScoreBuilding and Running Your WebGL BuildSummary
- Chapter 35Dungeon Delver --Part 1What You Will LearnTheDungeon DelverGameGetting Started:Dungeon DelverSetting Up the CamerasUnderstanding the Dungeon DataShowing the Map with a Unity TilemapAdding the HeroGiving Dray an Attack AnimationDray's SwordProgrammatic Collision in Unity TilemapThe InRoom ScriptEnemy: SkeletosKeeping GameObjects in the RoomAligning to the GridMoving from Room to RoomMaking the Camera Follow DraySummary
- Chapter 36Dungeon Delver --Part 2What You Will LearnGetting Started:Dungeon Delver --Part 2Dungeon Delver --Part 2 OverviewImplementing TileSwapsSwapping in LockedDoor GameObjectsImplementing Keys and Unlocking DoorsAdding GUI to Track Key Count and HealthEnabling Enemies to Damage DrayMaking Dray's Attack Damage EnemiesModifying Enemy to Take DamagePicking Up ItemsEnemies Dropping Items on DeathImplementing a New Dungeon -- The HatImplementing a GrapplerSummaryPart IV Next Steps
- Chapter 37Coding ChallengesWhat Is a Coding Challenge?Getting Started on a Coding ChallengeFilling in the BlanksHow to Approach Each Challenge
- Chapter 38Beyond This BookContinue to Learn Unity DevelopmentBuild a Classic GameStart a Small Game Project or PrototypeMake Games for Lifelong EnrichmentConsider Going to School for GameDevExplore Advanced Game DesignFinally, Drop Me a LinePART V Online AppendicesAppendix AStandard Project Setup ProcedureThe Set Up Sidebar for Tutorial ProjectsSetting Up a New ProjectImporting a Starter UnityPackageSetting the Scene NameSetting the Game Pane to Full HD (1080p)Setting Up a WebGL BuildUnderstanding Unity Version ControlSummaryAppendix BUseful ConceptsTopics CoveredC# and Unity Coding ConceptsAttributesAutomatic PropertiesBitwise Boolean Operators and Layer MasksCoroutinesUnity Example--CoroutinesDelegates, Events, and UnityEventsUnityEventsEnumsExtension MethodsInterfacesUnity Example--InterfacesUnity Makes Frequent Use of Interfaces for Observer PatternJSON (JavaScript Object Notation) in UnityLambda Expressions =>Naming ConventionsObject-Oriented Software Design PatternsComponent PatternObserver PatternSingleton PatternStrategy PatternMore Information on Design Patterns in Game ProgrammingOperator Precedence and Order of OperationsRace ConditionsUnity Example--Race ConditionsRecursive FunctionsString Interpolation -- $""StringBuilderStructsUnity Messages Beyond Start() and Update()Life-Cycle MessagesFrame-Based MessagesPhysics-Based MessagesVariable ScopeXMLXML Documentation in C#Math ConceptsCosine and Sine (Cos and Sin)Unity Example--Sine and CosineDice Probability EnumerationUnity Example--Dice ProbabilityUsing Data-Oriented Design to Improve the DiceProbability CodeDot ProductInterpolationLinear InterpolationTime-Based Linear InterpolationsLinear Interpolations Using Zeno's ParadoxInterpolating More Than Just PositionLinear ExtrapolationEasing for Linear InterpolationsBezier CurvesThree-Point and Four-Point Bezier CurvesA Recursive Bezier Curve FunctionA Data-Oriented Bezier FunctionPen-and-Paper Roleplaying GamesTips for Running a Good Roleplaying CampaignUser Interface ConceptsComplex Game Controller InputInput Manager Mapping for Various ControllersRight-Click on macOSControl-Click = Right-ClickUse Any PC MouseSet Your macOS Mouse to Right-ClickSet Your macOS Trackpad to Right-ClickAppendix COnline ReferenceTutorialsUnite ConferenceUnity's YouTube ChannelProgrammingSearching TipsFinding and Creating AssetsOther Tools and Educational DiscountsAppendix DTips for Teaching from This BookThe Goal of This AppendixTeaching Introduction to Game DesignTeaching Introduction to Game ProgrammingMore Information Is Available