Android 遊戲開發基本概念

文章推薦指數: 80 %
投票人數:10人

最常見的遊戲引擎包含用於設計和編輯程式碼的遊戲編輯器,遊戲開發人員通常會將這類引擎與Android Studio 搭配使用。

在Windows 上,我們也支援透過Visual ... Platform AndroidStudio GooglePlay Jetpack Kotlin Docs Games Language English BahasaIndonesia Español–AméricaLatina Português–Brasil TiếngViệt 中文–简体 中文–繁體 日本語 한국어 Signin Games Overview Guides AndroidGameDevelopmentKit GamesonGooglePlay GamesonPC Platform AndroidStudio GooglePlay Jetpack Kotlin Docs Games Overview Guides AndroidGameDevelopmentKit GamesonGooglePlay GamesonPC Introduction Newdeveloperguide Developerpreviews Toolsandlibraries Overview AndroidGameDevelopmentKit(AGDK) OverviewLibrariesDownloadReleasenotes AndroidStudio AndroidGameDevelopmentExtensionforVisualStudio OverviewQuickstartConfigureaprojectDebuggerMeasureappperformanceModifybuild.gradlefilesforAndroidStudioSamplesReleasenotes AndroidGPUInspector OverviewQuickstartSupporteddevices Systemprofiling OverviewViewasystemprofileGPUperformancecounters Analyzeasystemprofile FrameprocessingtimesMemoryefficiencyTexturememorybandwidthusageVertexmemorybandwidthusageThreadscheduling Frameprofiling Overview Analyzeaframeprofile MostexpensiverenderpassesVertexformatsShaderperformance FrameProfilerUI PerformancepaneCommandspaneFramebufferpaneGeometrypaneReportpaneShaderpaneMemorypaneStatepaneTexturespaneTexturepanePipelineviewpaneSupportedVulkanextensionsTroubleshoot AndroidPerformanceTuner MemoryAdviceAPI OverviewGetstarted Developwithgameengines Useprebuiltorturnkeygameengines Overview DevelopwithDefold InstallandconfigureprojectsforAndroidSupportmultipleformfactorsandscreensizesExporttoAndroid DevelopwithGodot InstallandconfigureprojectsforAndroidGodotrendereroptionsSupportmultipleformfactorsandscreensizesExporttoAndroid DevelopwithUnity OverviewCreateanAndroidAppBundlewithUnityIntegratePlayAssetDeliveryUnityLightinginMobileGames UseAndroidPerformanceTuner OverviewEnabletheAPIIntegratethepluginInitializethelibraryandverifyoperationDefineannotations,fidelityparameters,andqualitylevelsAddloadingtimerecordingfunctionsRunthemonitorappReviewandpublishTroubleshootcommonerrorsReferenceDevelopwithUnrealRequestinguserpermissionsSecureyourgame Customizeorportgameengines Overview Gettingstarted IntegrateGameActivityConfiguregraphicsUnderstandAndroidgameloops Processinputevents AddtouchsupportSupporttextinput Supportgamecontrollers OverviewUsethegamecontrollerlibraryUsecustomcontrollerdevicemappingsAddmousesupportSupportsensorinput Achieveproperframepacing Overview FramepacinginOpenGLES IntegrateUpdateyourbuildsettingsAddframepacingfunctionsVerifyframepacingimprovement FramepacinginVulkan IntegrateUpdateyourbuildsettingsAddframepacingfunctionsVerifyframepacingimprovementReference IntegrateAndroidPerformanceTuner OverviewRunthedemoappEnabletheAPIUpdateyourbuildsettingsDefineannotations,fidelityparameters,andsettingsAddframetimingfunctionsAddloadingtimerecordingfunctionsValidate,package,andpublishtheAPKTroubleshootcommonerrorsAdvancedusageReference Outputaudio OverviewUpdatebuildsettingsUseOboeCodesamplesFullOboeguide Managememory OverviewDebugnativememoryuseDeliverassetsDetectanddiagnosecrashes Optimizationandbestpractices Improvegameperformance Reducegamesize Improvedeviceavailability Support64-bitarchitecturesSupportallscreens GameMode OverviewOptimizewithGameModeAPIGameModeinterventions VulkanandOpenGL 3DassetoptimizationVulkanPrerotationVertexdatamanagement Gameservicesanddistribution Overview GooglePlayGamesforPC OverviewGetstarted Setupyourgame PCcompatibilityGraphicsconfiguration Deviceinput Setupinput InputSDK OverviewQuickstart Continuity OverviewContinuityrequirementsVerifyingrequirementsExistingidentitysolutionsUsetheemulatorTestonChromeOS Publishanddeploy PackageSubmitUpdateFAQ GooglePlayInstant Playasyoudownload GetupdatesfromtheGoogleforGamesDeveloperSummitatg.co/gamedevsummit Androidgamedevelopment Games Guides Android遊戲開發基本概念 本指南為新的遊戲開發人員介紹Android遊戲開發作業的主要工具和程式庫。

Android遊戲開發指南的適用對象是遊戲開發環境大多已規劃或設定完成的開發人員。

舉例來說,經驗豐富的遊戲開發人員通常已有一款正在開發的遊戲,且在開發時使用了特定遊戲引擎、IDE和圖形API。

在多數情況下,我們會建議新手採用容易使用的入門選項,而非能將效能最大化的進階選項。

如果您熟悉這些工具和程式庫,則可參閱總覽頁面,尋找支援特定最佳化類型(例如高效能或電池續航力)的指南。

遊戲引擎 遊戲引擎是一種軟體架構,包含一組遊戲開發專用的程式庫和工具。

您可以使用程式庫,在遊戲中加入有助於專注在遊戲內容和最佳化的各式功能。

這些功能通常包含圖形、動畫、音效、遊戲迴圈、輸入裝置支援等等。

此外,遊戲引擎通常包含IDE和其他工具,可用於設定功能、設計、開發遊戲,以及將遊戲匯出至Android平台。

開發遊戲時,最重要的是要決定是否要建立新的遊戲引擎、自訂現有的遊戲引擎,或使用未經修改的遊戲引擎。

預先建構 如果您是遊戲開發新手,我們建議使用這個方法。

有了預先建構的遊戲引擎,您無需花時間開發遊戲引擎或新增AGDK程式庫,就能輕鬆開發Android遊戲。

不過,如果想在不修改遊戲引擎的情況下開發Android遊戲,遊戲引擎必須已支援Android開發作業。

使用預先建構的遊戲引擎時,我們會提供額外的Android最佳化功能、工作流程工具和最佳做法。

此外,我們也提供GooglePlay服務,其中包括各式各樣的社交和發布工具。

以下為支援Android開發作業的幾個現有遊戲引擎: Godot:支援多種程式設計語言(包含GDScript、C#和C++等)的開放原始碼遊戲引擎。

Defold:使用Lua程式設計語言的開放原始碼遊戲引擎。

Unity:使用C#程式設計語言且廣為使用的商業遊戲引擎。

Unreal:專精於處理高端3D圖形的商業遊戲引擎,採用Blueprint視覺指令碼系統和C++。

詳情請參閱在Android上使用遊戲引擎的指南。

自訂 最進階的方式是建立新的遊戲引擎,或是在現有遊戲引擎中加入Android支援。

這項作業既複雜又耗時,但可讓您開發出完全符合需求的客製化引擎。

舉例來說,許多現有遊戲引擎所提供的額外功能會增加遊戲大小並降低遊戲效能,排除這些功能即可有所改善。

有鑒於開發遊戲引擎的複雜性和所需時間,我們不建議新遊戲開發人員採用這個方法。

實際上,這個方法最適合計畫在多款遊戲中使用這個引擎的大型機構。

IDE 用於開發Android遊戲的IDE取決於所使用的遊戲引擎和工作流程。

最常見的遊戲引擎包含用於設計和編輯程式碼的遊戲編輯器,遊戲開發人員通常會將這類引擎與AndroidStudio搭配使用。

在Windows上,我們也支援透過VisualStudio偵錯及剖析Android遊戲。

遊戲編輯器 遊戲編輯器通常會將遊戲設計功能與程式碼編輯緊密整合,在某些情況下,這些編輯器可協助設計人員在不必編寫程式碼的情況下,完成開發作業。

如果您正在開發第一款Android遊戲,我們建議將這個方法與AndroidStudio結合使用。

採用這個方法有幾個好處: 使用者介面和工具組更側重於遊戲設計。

整合素材資源設計和程式碼編輯工作。

著重於遊戲引擎支援的程式設計語言或指令碼語言。

包含模型建立與轉譯工具。

AndroidStudio 這是用於開發Android應用程式的官方IDE。

由於AndroidStudio著重於Android開發作業,因此建議將其與您使用的任何其他IDE一併安裝。

以下是可以使用AndroidStudio完成的部分作業: 對於以C/C++、Java或Kotlin編寫的程式碼進行偵錯。

管理建構Android遊戲所需的AndroidSDK。

建構、剖析和最佳化遊戲。

使用AndroidNDK編輯C/C++程式碼。

設定應用程式套件和GooglePlay設定。

詳情請參閱AndroidStudio總覽。

VisualStudio 如果使用VisualStudio在Windows中開發遊戲,則可使用適用於VisualStudio的AndroidGameDevelopmentExtension(AGDE),將Android新增為目標開發平台。

這項設定針對使用VisualC++專案且正在開發中的遊戲,因此這個方法適合更高階的遊戲開發人員。

可以使用AGDE執行的操作如下: 使用現有VisualC++專案製作Android遊戲。

使用VisualStudio偵錯及剖析遊戲。

使用Incredibuild或SN-DBS等分散式建構系統。

詳情請參閱AGDE總覽。

AndroidNDK AndroidNDK是一套工具,可讓您使用C或C++以原生程式碼開發Android應用程式。

透過讓遊戲更直接存取裝置硬體,協助改善遊戲效能。

這套工具還允許重複使用C和C++程式庫,並在多個平台上分享遊戲程式碼。

針對Android進行開發作業時,某些AGDK資料庫和工具以及許多遊戲引擎都需要使用NDK。

其中一個原因在於,NDK是一種常用且強大的方法,可存取Android裝置所支援的最常見低階圖形API。

如要進一步瞭解NDK,請參閱AndroidNDK說明文件。

GraphicsAPIs 為達到最佳2D和3D圖形效能,您的Android遊戲必須使用低階圖形API來與GPU通訊。

支援範圍最廣的Android遊戲開發選項包括OpenGLES和Vulkan。

如果使用支援Android開發且未經修改的遊戲引擎,此類引擎很可能會使用OpenGLES或Vulkan。

如果使用AGDK在C或C++中開發遊戲,也需要使用OpenGLES或Vulkan。

此外,AGI圖形剖析工具僅支援這些圖形API。

OpenGLES OpenGLES具備下列優勢: 效能卓越。

更簡單且易於使用。

支援更多舊型裝置。

詳情請參閱Android的OpenGLES總覽。

Vulkan Vulkan具備以下優勢: 擁有更卓越的效能。

可進一步控管GPU。

可降低CPU用量。

詳情請參閱Android的Vulkan總覽。

ContentandcodesamplesonthispagearesubjecttothelicensesdescribedintheContentLicense.JavaandOpenJDKaretrademarksorregisteredtrademarksofOracleand/oritsaffiliates. Lastupdated2022-05-08UTC. [{ "type":"thumb-down", "id":"missingTheInformationINeed", "label":"MissingtheinformationIneed" },{ "type":"thumb-down", "id":"tooComplicatedTooManySteps", "label":"Toocomplicated/toomanysteps" },{ "type":"thumb-down", "id":"outOfDate", "label":"Outofdate" },{ "type":"thumb-down", "id":"translationIssue", "label":"Translationissue" },{ "type":"thumb-down", "id":"samplesCodeIssue", "label":"Samples/codeissue" },{ "type":"thumb-down", "id":"otherDown", "label":"Other" }] [{ "type":"thumb-up", "id":"easyToUnderstand", "label":"Easytounderstand" },{ "type":"thumb-up", "id":"solvedMyProblem", "label":"Solvedmyproblem" },{ "type":"thumb-up", "id":"otherUp", "label":"Other" }] Twitter Follow@AndroidDevonTwitter YouTube CheckoutAndroidDevelopersonYouTube LinkedIn ConnectwiththeAndroidDeveloperscommunityonLinkedIn MoreAndroid Android AndroidforEnterprise Security Source News Blog Podcasts Discover Gaming MachineLearning Privacy 5G AndroidDevices Largescreens WearOS AndroidTV Androidforcars AndroidThings ChromeOSdevices Releases Android11 Android10 Pie Oreo Nougat Marshmallow Lollipop KitKat DocumentationandDownloads AndroidStudioguide Developersguides APIreference DownloadStudio AndroidNDK Support Reportplatformbug Reportdocumentationbug GooglePlaysupport Joinresearchstudies Android Chrome Firebase GoogleCloudPlatform Allproducts Privacy License Brandguidelines Getnewsandtipsbyemail Subscribe Language English BahasaIndonesia Español–AméricaLatina Português–Brasil TiếngViệt 中文–简体 中文–繁體 日本語 한국어



請為這篇文章評分?