Androi SDK那些下载也是下不起,也没找到合适的教程,有没有推荐安卓导出教程和下载的东西
   
导出安卓的说是要SDK什么的,我找了个20年的up发布有网盘SDK、jdk8的玩意。这有没有版本的说法?
   
2023年10月23日问,我安装的4.12版本,下载了内置的安卓工具资源,但是为什么导出APK是总是不成功,求大佬指点,感谢。
   
有谁知道如何生成linux系统Arm64架构的导出模板吗
   
由于我在游戏Colorspace上一直拖延,我最终决定花时间自动化构建和上传我的 Godot 游戏。现在我已经做到了,我不明白为什么我不早点做。这就是为什么我想分享我是如何做到的,并希望向您展示它相对简单。

源代码Python脚本下载:(用于导出 Godot 游戏并将其上传到 Itch 和 Steam)
https://github.com/MrEliptik/godot_auto_export

在深入解释之前,让我告诉您我想要实现什么以及我决定为此使用什么。目标是为我拥有的每个模板(Windows 和 Linux、Steam 和 itch)导出一个构建,并自动创建构建号、文件夹和存档。我还想让它自动上传到我使用的两个平台:Steam 和 Itch。
为此,我决定使用 python,因为它非常容易编程并且可以在任何地方运行。Python 与 GDScript 非常相似(或者相反?),所以我知道这会很容易。您可以轻松地调用您需要的任何程序或执行命令,这似乎比批处理更容易处理。我发现 Python 更容易使用,尤其是当您必须处理路径、文件夹创建、从文件中提取字符串和存档创建时。
为了上传到 Steam,我使用了steamcmd,他们的命令行工具用来做很多事情。您应该已经拥有它,因为它随 steamworks sdk 一起提供。
为了上传到 Itch,我使用了Butler,他们的命令行上传工具。使用起来超级简单!

【使用 Godot 导出】
【Godot3】
使用 Godot 3.5,如果路径中有 Godot,则导出名为“Windows ITCH”的模板如下所示:

godot --export "Windows ITCH" build/test/game_name.exe

很简单,对吧?这将打开 Godot,并以发布模式开始导出。
“Windows ITCH”是我想要使用的模板,最后“build/test/game_name.exe”是我想要创建的可执行文件的路径。

【Godot4】
Godot 4 的命令略有不同

godot --export-release "Windows ITCH" build/test/game_name.exe

--export,现在--export-release最重要的是允许--headless在不启动 Godot 编辑器的情况下运行导出,这应该更快一些,并且允许在没有显卡的平台上导出。

【获取内部版本号】


我想要的另一件事是自动获取内部版本号。有多种方法可以做到这一点,但我所做的是在项目设置中创建自己的条目,以便我可以通过使用
ProjectSettings.get_setting("application/config/build_number").

为了在 Python 中执行相同的操作,我会遍历文件的每一行,检查是否在其中找到“config/version”,并获取值。

# If you have a better way of parsing the file, tell me!
with open(file, 'r', encoding='UTF-8') as f:
for line in f:
if 'config/version' in line:
number = line.strip().split("config/version=", 1)[1]
number = number.replace('"', '')
return number

【上传】
下一步是上传到 Itch & Steam。

【Itch】
我从 Itch 开始,因为它似乎是最简单的。要上传到那里,您需要首先下载Butler。安装后,您可以使用登录butler login,然后就可以开始了!

上传命令非常简单:
butler push directory user/game:channel --userversion x.x.0

对我来说:
butler push build/colorspace_buildnumber_itch.zip mreliptik/colorspace:windows --userversion buildnumber

在我的例子中,频道是 Windows 或 Linux。
基本上就是这样!它非常简单,而且因为它需要的设置非常少,所以您可以一直使用它,即使是在游戏堵塞时也是如此。

【Steam】
啊啊Steam,为什么你总是要这么复杂?我们喜欢你,但你已经对我们生产的所有产品打了 30% 的折扣,而且你还想要我们的时间?你这个小混蛋!
说实话,一旦你了解了它是如何工作的,事情并没有那么复杂。只是比Itch更复杂一点。

您需要steam_cmd,它位于steamworks sdk > 工具 > ContentBuilder 内。


找到该文件夹​​后,您将看到:

三个构建器文件夹,分别对应于 Windows、Mac 和 Linux 的构建可执行文件。
Content,对应于将要构建的内容。
Output,这是构建的结果(如果适用)。
scripts 是您放置定义构建应如何运行的不同脚本的位置。
如果需要,您可以将构建器路径放入环境变量中,或者使用可执行文件的完整路径。

我在 Content 旁边创建两个文件夹ContentWindows和ContentLinux,并在构建时使用它们来分隔内容。这是为了简化以后的脚本。我知道我将能够在该特定内容文件夹中构建所有文件,并且不必为不同的仓库过滤文件。

【脚本】
我们需要设置脚本,幸运的是,Valve 提供了默认脚本作为示例。您可以在脚本文件夹下找到它们,或者在GitHub 上的示例文件夹下找到它们。

您的应用程序有一个脚本,它告诉 Steam 您要为哪个软件仓库构建,并且每个软件仓库一个脚本。在我的示例中,您可以看到我有两个软件仓库脚本,因为我有两个软件仓库要构建:linux 和 windows。

在应用程序脚本中,您只需填写应用程序 ID、描述(如果需要),并在 depot 下为每个 depot 添加一行,以及您的 depot 编号和关联的 depot 脚本。

"AppBuild"
{
"AppID" "APP_ID" // Your AppID
"Desc" "Automatic build" // internal description for this build
"Preview" "0"
"ContentRoot" "" // content root folder relative to this script file
"BuildOutput" "..\output" // output folder relative to this script file
"Depots"
{
// file mapping instructions for each depot are in separate script files
"DEPOT_NUMBER_1" "depot_build_DEPOT_NUMBER_1.vdf"
"DEPOT_NUMBER_1" "depot_build_DEPOT_NUMBER_2.vdf"
}
}

然后,您为每个软件仓库创建一个脚本。您添加您的软件仓库 ID 和您创建的内容文件夹。该路径是相对于脚本的。在FileMapping下,我没有执行任何特殊操作,因为我想上传文件夹中的所有文件。下面是一个例子:

"DepotBuild"
{
// Set your assigned depot ID here
"DepotID" "DEPOT_NUMBER_1"

// Setup specific content folder for depot
// I have one content folder per depot number, one for linux, one for windows
"ContentRoot" "..\YOUR_CONTENT_FOLDER"

// include all files recursively
"FileMapping"
{
// This can be a full path, or a path relative to ContentRoot
"LocalPath" "*"

// This is a path relative to the install folder of your game
"DepotPath" "."

// If LocalPath contains wildcards, setting this means that all
// matching files within subdirectories of LocalPath will also
// be included.
"Recursive" "1"
}
}

【命令】
获得脚本后,您最终可以调用 steam_cmd 来上传内容。但首先,您应该手动运行该命令,因为 Steam 会要求您提供 steamguard 代码。

steamcmd +login STEAM_USERNAME STEAM_PASSWORD, +run_app_build_http APP_SCRIPT_PATH +quit

我的 python 脚本只是压缩构建,将它们移动到两个内容文件夹(linux 和 windows),上传到 steam,然后删除 zip。不过,您不必压缩它们,这就是我在构建过程中所做的。

最后的话

我希望这向您展示了构建和上传到 itch 和 steam 是非常容易的。当然,我编写的脚本适合我的需要,因此您必须根据自己的喜好进行调整。
我相信使用 python 非常容易,因为它非常接近 GDScript。
您还可以扩展功能以支持其他商店,甚至使用 github action 为您构建游戏。
对于一个客户项目,我在 GitHub 上设置了自动上传和发布创建,这很容易使用他们的命令行程序来完成。
查看更多.....
   
在本教程中,我将展示如何将 Godot 4 项目导出到 HTML 文件,并使其可在 itch.io 上运行!

本教程中导出的项目:https://gwizz1027.itch.io/html-tutorial

点击观看:

   
本教程介绍如何在 Godot 4 中从头开始制作一个完整的基于 2D 图块的平台游戏。它涵盖了从构建关卡到导出和上传到 itch.io 的所有内容。非常适合游戏开发和 Godot 新手。
成果展示:https://brettchalupa.itch.io/godot-2d-platformer
完整的源代码:https://github.com/brettchalupa/godot_2d_platformer/tree/8a776826a6c6af92ff9ad3a4cfd29f344a49a47d
下载平台游戏模板并制作您自己的平台游戏:https://github.com/brettchalupa/godot_2d_platformer

更流畅的平台游戏运动脚本:https://github.com/brettchalupa/godotypes/blob/main/devilboy/player.gd

游戏中使用的资产:
Sprites:Kenney 1 -Bit Platformer Pack (CC0) https://kenney.nl/assets/1-bit-platformer-pack
- 音乐:
Ted Kerr (CC-BY 4.0) - https://opengameart.org/content/8-bit-theme 和 https://opengameart.org/content/8-bit-quirky-waltz
- 音效: https://sfxr.me/

时间戳:
00:00:00 - 介绍
00:00:30 - 新项目和 Godot 界面概述
00:03:27 - 我们的第一个场景(主菜单)
00:08:36 - 添加按钮和我们的第一个脚本
00:15:18 - 连接信号
00:17:03- 添加关卡 1 和切换场景
00:23:41 - 检查输入
00:26:50 - 使用 Tilemap 构建关卡
00:36:13 - 添加玩家和碰撞
00:52:00 - 自定义输入操作
00: 54:44 - 玩家脚本解释
01:01:00 - 摄像机
01:07:00 - 关卡 2 和共享玩家场景
01:16:35 - 制作待办事项列表
01:19:35 - 用门切换关卡
01:35: 22 - 与全局自动加载单例共享代码
01:39:39 - 玩家动画
01:48:40 - 收藏宝石
02:07:40 - 跨关卡共享关卡代码
02:24:14 - 跨级别共享 HUD
02:29:13 - 音效
02:39:32 - 音乐
02:45:40 - 使用键盘和游戏手柄进行菜单控制
02:47:41 - 全屏切换
02:56:15 - 退出按钮
02:59:45 - 自定义图标
03:03:15 - 第 3 级
03:08:15 - 导出并上传到 itch.io
03:20:14 - 结尾

点击观看:

查看更多.....
   
Android Studio:
https://developer.android.com/studio?gclid=Cj0KCQjwuNemBhCBARIsADp74QSrQKn3b8tXkyUpN7T7PiiH4UCeIJnUUPjHQJVy8Glg5sdHimqoTc0aAn7CEALw_wcB&gclsrc=aw.ds

JDK:
https://www.oracle.com/java/technologies/downloads/

创建密钥库的命令:
keytool -genkey -v -keystore debug。 keystore -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000 -dname "C=US, O=Android, CN=Android 调试"

点击观看:

查看更多.....
   
Godot 游戏简介

  Godot 是一款免费开源的游戏制作引擎。它也非常轻量级,整个安装包不到 100M,却又功能齐全,易于上手。作为一个后期之秀,Godot 并未得到多少关注,尤其是中文的社区资料就比较少。但如果你在 github 上搜索 “game” 或者 “game engine”,按照星标数排序,就能看到 Godot 以 43.7k star 排名第一,紧随其后的分别是 pixijs(34.7k star)和 phaser (30.7k star)。

  它的引擎整个是开源的,并且是 MIT 协议,这也就意味着你可以在它的代码上改一改,就可以宣布自己做了个游戏引擎,要拿出去商用也都是可以的。引擎制作的游戏可以导出到多个平台,如 Windows、Linux、Android、iOS、Web 等等。

  Canvas、WebGL、WebAssembly

  现如今如果要在以浏览器内核运行游戏,你就会频繁听到以上这些概念。他们都与 JavaScript 有点关系,但彼此又不太相同。Canvas 其实是 HTML5 的一部分,可以用脚本去控制一些 2D 元素的渲染。而 WebGL 则脱胎于 OpenGL,是一套图形的 API 标准,可以在 Web 端渲染 3D 的图像。WebGL 是 OpenGL 的 web 实现,主要用于在浏览器上展示 3D 图形的底层图形技术。

  这样,网页端游戏的第一大类实现,就是基于 WebGL 的,例如微信小程序、Cocos Creator、Pixijs 等。

  拿微信小游戏举例,它其实是封装了一层 runtime 环境,从底层操作系统开始,封装出了一层 Javascript API,它和 WebGL 长得一样。上层的使用者(如 Cocos )就基于这层接口做开发。但这个 runtime 又是一层阉割版的浏览器内核,它实现 HTML5 的部分内容。如果要操作原生 DOM,这在 chrome 里是可以,但在小程序的 runtime 里就不行。参考 https://forum.cocos.org/t/faq/54842

  而 WebAssembly 则可以看作是汇编版的 JavaScript,弥补 JavaScript 在执行效率上的缺陷。可以通过 Emscripten 这样的工具,直接从 C/C++ 程序编译出可以在网页端运行的二进制代码。参考 https://developer.mozilla.org/zh-CN/docs/WebAssembly/Concepts


  这也就意味着,如果以 C++ 写的引擎代码,可以直接编译到网页端运行,以 JS 作为胶水来粘合。这就形成了网页端游戏的第二大类实现,我们说它是基于 WebAssembly 的,把游戏引擎搬到了网页中,例如 Unity、Godot 等。这里的引擎有 WebGL 的部分,也有其他的(例如物理系统等等)。

  【包的导出】

  在 Godot 中导出到网页的操作是比较容易的,选择 Project -> Export,添加 HTML5 的导出模板即可。在添加之后,工具栏上也会出现一个按钮,点击之后可以直接在网页端预览效果,十分地方便。

  打开导出的文件,主要会包含 index.html、index.pck、index.wasm,还有一些 js 的胶水文件。index.pck 是场景、素材、资源文件的打包,而 index.wasm 即是游戏的引擎文件。占据主要大小的是后两者。

  【关于 pck 文件及优化】

  一般来说,pck 文件中会包含场景(.tscn)、脚本(.gd),还有资源(.jpg, .ttf)等。代码和场景都还好,一般占大头的是图片等资源。对于特别大的图片,可以选中图片资源、双击,切换到 Import 选项卡,在 Compression 的模式中选择 Lossy(有损):


  更多的导入选项可以参考文档
  https://docs.godotengine.org/en/stable/getting_started/workflow/assets/importing_images.html

  【关于 wasm 文件及优化】

  默认导出的 wasm 大概有 18M 左右(可能随版本会有差异),里面包含了整个引擎的所有功能。换句话说,哪怕只是做了一个空的项目,导出的 wasm 也是一样的,因为 wasm 就相当于一个 exe 执行文件。其实并非所有的引擎功能都是需要的,例如只是做个 2D 游戏的话,3D 部分的代码就不需要了。

  Godot 提供了通用模板的方式,允许使用者按照他自己的实际情况来开/关某些模块。也就是说,你可以通过重新编译源代码的方式,来生成你自己专属的 wasm。官方文档其实写的很详细了,但是第一次看还是会蛮头大的,这里面其实还是有很多潜在坑的。

  如果想要自己定制引擎,首先需要在 github 上克隆最新的仓库代码,并且切换到指定的分支。

  #Get Godot repogit clone https://github.com/godotengine/godot.gitcd godot# List remote branch and checkout one of them (e.g. 3.4)git branch -rgit checkout 3.4

  然后参考这个教程 https://docs.godotengine.org/en/stable/development/compiling/compiling_for_web.html,按照顺序按照 Emscripten 、Python 和 Scons。

  安装 Emscripten 的时候参考官网通过代码来安装,只需要执行:

  # Get the emsdk repo

  git clone https

  ://github.com/emscripten-core/emsdk.git# Enter that directory

  cd emsdk

  # Download and install the latest SDK tools.

  python emsdk

.

  py install latest

  # Make the "latest" SDK "active" for the current user. (writes .emscripten file)

  python emsdk

.

  py activate latest

  # Activate PATH and other environment variables in the current terminal

  source

  ./emsdk_env.sh

  默认的 Emscripten 安装脚本有点问题,尤其是在先前已经安装过 python 的情况下,这里根据自己的情况改,然后使用 pip install scons 安装 scons

  然后就可以按照之前的文档去进行构建了,可以先运行 scons platform=list 查看有哪些打包环境可用。(对于导出到网页端来说,如果不安装 emsdk,就无法进行到下一步)

  最简单的,可以用 scons platform=javascript tools=no target=release 来打包一个 Release 环境的包。

  那么,如何针对性的选择要开启/关闭哪些功能呢,可以参考文档上的说明,但更快的方式是,使用一个 custom.py 模板。进入到下面这个页面 https://godot-build-options-generator.github.io/ ,在左侧勾选你需要或者不需要的模块,就可以在右侧生成一个 python 文件:


  把这个文件丢到引擎的源代码根目录,再运行 scons 的时候,就能够识别到了。它会在 bin 目录下生成一个 zip 文件。这个文件需要放置到导出窗口下的 Custom Template,如下图所示,在每次导出前配置即可。


  使用的定制模板导出的文件大小,就会在把 3d 模块、视频播放等一些不必要模块去掉以后,生成的 wasm 大小可以压缩到 10M 以内,优化了一半大小。(这里需要注意的是,如果开启了图片有损压缩,那就需要把 webP 功能打开,不然会 error)

  进一步优化

  同时,如果在服务端能够开启 gzip 压缩,则能够进一步地减小包传送的大小,经过测试,10M 左右的包在开启压缩以后,只传送了 2.8M 的数据,只有原来的 1/3 大小了,如下:


  小结

  以上便是,在用 Godot 引擎导出到网页端的一些具体的实践。通过上面的操作,可以显著降低导出包的大小,希望能对你有所帮助。
查看更多.....
   
Godot4版本导出H5Web版之后,挂在网站运行时总会出现一个问题提示:
The following features required to run Godot projects on the Web are missing:
缺少在Web上运行Godot项目所需的以下功能:
Secure Context - Check web server configuration (use HTTPS)
安全上下文-检查web服务器配置(使用HTTPS)
Cross Origin Isolation - Check web server configuration (send correct headers)
跨源隔离-检查web服务器配置(发送正确的标头)
SharedArrayBuffer - Check web server configuration (send correct headers)
SharedArrayBuffer-检查web服务器配置(发送正确的标头)
原因:
Godot导出的Web文件使用了SharedArrayBuffer,而要想使用SharedArrayBuffer对象,就必需对网站进行跨域隔离(Cross Origin Isolation),而进行跨域隔离,也就又需要将所有的资源文件声明为跨域资源。

不知是导出时可以做出一些特定的设置以规避,还是就是必须要在Web服务器上做出这样的修改,以适应Godot4Web版的需要?
查看更多.....
   

Godot游戏引擎经典的仿"谷歌小恐龙游戏"的无尽模式跑酷游戏开发视频教程,对面向对象编程的设计理念做了良好的传达,值得优秀初学者学习!感谢 卡萨德_王 的辛苦搬运和翻译,感谢原作者的付出!

1.Godot谷歌小恐龙跑酷游戏_项目介绍和设计原则

2.Godot谷歌小恐龙跑酷游戏_游戏项目结构化、分解与耦合

3.Godot谷歌小恐龙跑酷游戏_拓展场景、前景、背景

4.Godot谷歌小恐龙跑酷游戏_动画节点、碰撞

5.Godot谷歌小恐龙跑酷游戏_扩展玩家脚本、运动、地面检测

6.Godot谷歌小恐龙跑酷游戏_有限状态机

7.Godot谷歌小恐龙跑酷游戏_(障碍物)生成器

8.Godot谷歌小恐龙跑酷游戏_障碍物的运动等

9.Godot谷歌小恐龙跑酷游戏_扩展骨骼、物品和场景等

10.Godot谷歌小恐龙跑酷游戏_信号等

11.Godot谷歌小恐龙跑酷游戏_音频音效等

12.Godot谷歌小恐龙跑酷游戏_项目导出(含导出到HTML5Web网页端)

查看更多.....
   

Godot游戏引擎开发的多关卡地图平台闯关游戏实例视频教程,并生成发布Android安卓端、IOS苹果端、iPhone手机端、H5移动端、Google Play Store 游戏平台上,完整丰富的多关卡闯关游戏实例教程,玩家状态机、开门、推箱子、多种陷阱、机关按钮、屏幕UI、移动控制操纵杆等等,强烈推荐必学!感谢 爱丽丝的梦境Official 辛苦翻译和搬运,感谢原作者的付出。

1.游戏项目介绍

2.背景和瓷砖

3.敌人

4.玩家动画

5.设置玩家状态机

6.状态机:闲置、行走、跳跃、坠落

7.状态机:攻击、冲刺、死亡

8.地面按钮

9.开关

10.石门

11.盒子和碰撞

12.PlayerState玩家状态、推箱子

13.旋转的狼牙棒

14.地刺陷阱

15.坠落的长矛陷阱

16.关卡设计

17.声音

18.场景管理器和LOGO层

19.介绍屏幕和标题屏幕

20.音量设置功能

21.游戏结束界面

22.导出至Android安卓端

23.移动控制操纵杆

24.在 Google Play Store 发布

25.导出 iOS、iPhone 苹果端

26.导出 HTML5 移动端

27.游戏项目完结

查看更多.....
   
>>> Godot国内下载镜像 <<<
mirror.godotcn.com
(最新版本以及导出模板)
[投稿须知]
投稿邮箱:hareqj@163.com
教程投稿:可提供B站视频BV号,会直接生成视频播放页。
游戏投稿:须原创,请提供 作品web版文件、作者、简要操控说明。
内容举报邮箱:hareqj@163.com,请告知内容编号(右上角)及违规说明。
[Godot中文教程]
Copyright Godot中文社区 GodotCN.com All Rights Reserved.
Godot国内镜像:http://mirror.godotcn.com
京ICP备13032831号