新春“码”启 | 0 基础开发微信小游戏,Cocos 游戏引擎 + AI 辅助编程(第1天)

好羡慕小朋友们,已经放了快两周的寒假了,还好从今天开始,我这个“大朋友”也要开始放飞自我了。

今年春节假期,我给自己定了一个小目标:给小朋友们研发一款小游戏! 这也是我为小朋友们预定的一份特别的新春礼物!

缘起:做个能写游戏的程序员父亲

我一直对游戏兴趣不大,总觉得一个真实世界的人在一个虚拟的世界里玩得不亦乐乎,除了是浪费时间之外,实在是无可取之处。

可是,每当我看到小朋友站在别的小朋友身边,聚精会神的看着别的小朋友玩游戏的时候,我总觉得我是不是对游戏有什么偏见?也许游戏还真的挺不错。

我完全不懂写游戏,但是又有点担心小朋友误入暴力、杀戮、血腥等这些有害身心的游戏,于是硬着头皮承诺小朋友们:今年春节,我给他们写一个更好玩的游戏。 谁叫她们有个程序员的父亲呢?程序员不应该懂得电脑的一切吗,包括修电脑、装系统、布网线、做黑客,还有写游戏等……

虽然我从没有写过游戏代码,但我还是有那么点信心,因为今年已经是 2025 年了,AI 时代早已来临,有 AI 辅助编程,应该可行!

选择 Cocos 游戏引擎

于是乎,我信心满满地打开了微信小游戏的官方指导文档,以为能和微信小程序一样,立马就可以动手干了:https://developers.weixin.qq.com/minigame/dev/guide/

  • 第 1 章:起步 账号注册,这个后续上线的时候可以再补,不着急;微信开发者工具目前已经有了。
  • 第 2 章:游戏引擎 到这章,感觉计划要泡汤了,小游戏是一个不同于浏览器的 JavaScript 运行环境,没有 BOM 和 DOM API ,也就是说,我之前的这些 Java GUI、Flutter、Web 等可视化编程的经验全都用不上了!

要想编写微信小游戏,我必须得学习一个全新的游戏引擎,幸运的是,微信小游戏已经适配好了好几个游戏引擎:Cocos/Egret/LayaBoxUnityCocos2d-x

游戏引擎

那么现在我需要做的是,从这几个已经适配好的游戏引擎中,选择一个更适合自己的游戏引擎即可。为了了解这几个引擎的优劣,我首先使用“腾讯元宝”大模型进行分析,因为考虑到对于微信小游戏来说,元宝预训练的数据也行比其他大模型要丰富一些,毕竟微信小游戏是自家产品。

Prompt 提示词:

你是一个微信小游戏市场分析专家,你总是根据用户的分析需求,为用户提供客观准确的分析数据,并提供参考建议。
现在,我想学习一个小游戏引擎进行游戏研发,请根据目前已经上线的微信小程序所使用的引擎,详细分析一下这几个引擎的优劣并提供学习建议:Cocos、Egret、LayaBox、Unity和Cocos2d-x

引擎比较

同时,我通过 Bing 同步搜索了这个几个引擎的优劣,加上元宝的分析结果,总结如下:

  • Unity 丰富的生态,被全球广泛使用,适合做 3D 游戏,可惜采用的是 C# 研发语音。
  • Cocos 社区比较活跃,文档齐全,性能较好,2D 和 3D 游戏均可,重点是开源免费和采用JavaScriptTypeScript研发语音。
  • Egret 专注于 HTML5 游戏开发,学习门槛低,社区不如 Cocos 引擎。
  • LayaBox 可研发 2D 和 3D 游戏,社区不如 Cocos 引擎。
  • Cocos2d-x 同 Cocos 引擎,是它的 2D 版本,统一到 Cocos 引擎即可,无需单独分析。

对于初学者来说,可预料到会遇到很多的问题,因此活跃的社区和丰富的文档就显得相当重要。同时,春节时间有限,需要减少不确定性,不宜专门学习一门 C# 编程语言。

因此,老牛同学最终选择的是:Cocos游戏引擎

了解微信小游戏

选好了 Cocos 游戏研发引擎,接下来就是通读一遍微信小游戏的研发手册,看看还有什么不理解的地方,避免成为后续研发的卡点。

打包发布相关的内容,老牛同学暂时都先跳过了,因为这些是最后发布才需要学习的内容。首先重点学习了解游戏框架部分内容:

  • Scenes 场景,顾名思义,就是一个游戏界面;它是一种资源,每个关卡可以代表一个场景。
  • Entities 实体,也叫节点,分为 2D 节点和 3D 节点,游戏中的承载功能的对象,而功能通过组件来实现。
  • Prefabs 预制体,它是一种资源,是创建节点实例的模板。
  • 关键类型 最常用的有 engine 对象,节点类 Entity 等。
  • 脚本组件 代码脚本(样例全部都是 TypeScript 脚本),操纵实体(Entity),实现游戏逻辑。
  • 序列化系统 实例存储和加载,如保存与加载组件或是资源。
  • 生命周期 声明周期钩子函数。

上面几个概念理解感觉都不难,简单理解:场景就是游戏操作界面,实体/节点就是界面上的内容,预制体实例化后生成实体/节点;在整个生命周期钩子函数中,通过 TypeScript 脚本组件控制实体/节点,这样实现了游戏操作功能;而在脚本组件中,engine 和 Entity 会比较常用,因此后续我们需要重点关注他们的 API 和相关属性。

小游戏框架

对于一个游戏引擎来说,当一个游戏界面的展示内容、操控脚步都准备好了,那么解下来就是展示给用户和用户操作了,即:渲染

  • 资源,即需要展示的内容。
  • 渲染器,包括网格、蒙皮网格、线段和尾迹共 4 种渲染器。
  • 相机,简单理解就是窗口,即用户可以看到的游戏界面部分。
  • 光照,让游戏界面更加真实,包括不同光源、阴影等。
  • Gizmos 可视化工具,用于绘制基础图形,包括网格、实体选中后的辅助线等。

Gizmos可视化辅助工具

初识 Cocos 游戏引擎

微信小游戏的官方文档中,对小游戏的整体进行了介绍,示例中使用大量的 TypeScript 脚本,老牛同学目前还没有细看,等后续用到了详细了解。

接下来,来看看 Cocos 游戏研发引擎:https://docs.cocos.com/creator/3.8/manual/zh/

Cocos Creator介绍

简单理解:Cocos是游戏引擎,Cocos Creator是制作游戏的可视化工具,它包含了游戏引擎、资源管理、场景编辑、游戏预览和发布等游戏开发所需的全套功能,感觉像是个 Cocos 游戏研发的超级 IDE。

同时,Cocos 在 B 站还发布有学习视频,同时还有 2D 和 3D 游戏实例教程,果然文档很丰富。

在功能模块部分,和微信小游戏的文档基本能一一对应上,包括:图像渲染、2D 对象、动画系统、音频系统、物理系统、粒子系统、缓动系统、地形系统、资源管理,还有多语音系统。

针对每个功能章节,都有详细的文字和截图使用说明,非常详细。

老牛同学今天先初略浏览一番,明天开始,正式启动小游戏的构思和研发之旅。敬请期待!


Transformers 框架序列:

01.包和对象加载中的设计巧思与实用技巧

02.AutoModel 初始化及 Qwen2.5 模型加载全流程

03.Qwen2.5 大模型的 AutoTokenizer 技术细节

04.Qwen2.5/GPT 分词流程与 BPE 分词算法技术细节详解

05.嵌入(Embedding)机制和 Word2Vec 实战

06.位置嵌入(Positional Embedding)

Pipeline NLP 任务序列:

零·概述 丨 01.文本转音频 丨 02.文本分类 丨 03.词元分类和命名实体识别 丨 04.问答 丨 05.表格问答 | 06.填充蒙版

往期推荐文章:

Cline 免费插件 + Qwen2.5 大模型,零经验也能开发“对联王”微信小程序

使用 Cursor + Qwen2.5 大模型 零经验研发微信小程序:自由构建个性化节拍器应用实战

Bolt.new 用一句话快速构建全栈应用:本地部署与应用实战(Ollama/Qwen2.5 等)

基于 Qwen2.5-Coder 模型和 CrewAI 多智能体框架,实现智能编程系统的实战教程

vLLM CPU 和 GPU 模式署和推理 Qwen2 等大语言模型详细教程

基于 Qwen2/Lllama3 等大模型,部署团队私有化 RAG 知识库系统的详细教程(Docker+AnythingLLM)

使用 Llama3/Qwen2 等开源大模型,部署团队私有化 Code Copilot 和使用教程

基于 Qwen2 大模型微调技术详细教程(LoRA 参数高效微调和 SwanLab 可视化监控)

ChatTTS 长音频合成和本地部署 2 种方式,让你的“儿童绘本”发声的实战教程

微信公众号:老牛同学

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/874895.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

grammarly 使用问题

1 Word 使用时,有时下面的图标不出现,无法使用 2 3

那是我们的影子

那是我们的影子 题目描述 由 $3 \times n$ 个单元格构成的 $3$ 行 $n$ 列异形数独规则如下:每一个单元格都需要填入 $1$ 到 $9$ 之间的整数; 任意一个 $3 \times 3$ 的子矩阵中都不包含重复的数字;现在,牛可乐已经填入了一些数字,请你在此基础上帮助他计算,这个异形数独一…

NPS如何安装Windows版的客户端

Windows 首先下载Windows版的客户端: github下载地址:https://github.com/yisier/nps/releases 54 雨云ROS下载地址:https://cn-sy1.rains3.com/rainyun-assets/Pic/2023/11/windows_amd64_client.tar.gz 51我在需要运行NPS客户端的Windows设备的C盘根目录下建立一个名字叫【…

通过宝塔Docker安装NPS客户端

# 拉取 yisier1/npc 镜像 docker pull yisier1/npc安装拉取镜像成功后如下图所示:创建容器: 选择:命令创建 # 运行 npc 容器,按提示改好命令,如下图所示 docker run -d --name=npc --restart=always --net=host yisier1/npc -server=<ip:port> -vkey=<web界面中…

DeepSeekR1本地可视化运行!同时支持GPT4,Gemini,Cluade,Ollama所有开源模型

昨天使用Ollama在本地运行了DeepSeek R1这个可以深度思考的AI模型。通过这种方式可以快速体验模型,但是要长期高频使用的话,通过命令行这种方式终究是不太方便。所以今天来分享一个可视的软件ChatWise。 添加图片注释,不超过 140 字(可选)这是一个独立开发者开发的软件,界…

[ABC266Ex] Snuke Panic (2D) 题解

[ABC266Ex] Snuke Panic (2D) 题解 前言 前几天看到了这个,发现自己还真没仔细思考过。 做了两道题,把这个题当个总结。 思路 设 \(f_i\) 表示:在 \(T_i\) 走到第 \(i\) 个节点的最大收益。 有转移:\(f_i=\max \{f_j\} + A_i\)。 其中 \(j\) 需要满足:\(y_j\le y_i\) \(T_i…

DeepSeek R1果然有点意思! Windows本地使用ollama轻松跑起来。

这段时间国内外讨论DeepSeek的人都比较多,我印象比较深的是,Deepseek用较低的成本训练了一个不错的模型。另一个是说最近的R1可以匹敌chatgpt的o1。 对比chatgpt的模型很多,我也不知道是宣传而已,还是真的这么牛逼。所以准备本地运行一下看看。因为ollama上已经有这个模型了…

跟着狂神学java-第一天

Markdown学习 标题 (一个#+空格,一级标题) 二级标题 (两个#+空格,二级标题) 三级标题 (以此类推。。。) 字体helloworld (两个星号,加粗) hello world ( 一个星号,斜体) hello world (三个*,加粗的斜体) hello world (两个~,删除线) hello world…

36. 打印机

一、打印机应用程序一般都有打印功能,可以将重要内容打印成纸质资料。PySide6 支持打印操作,它可以识别系统中已经安装的打印机,驱动打印机进行工作,可以用与打印机有关的类直接打印,也可通过打印对话框进行打印,还可对打印的内容在打印前进行打印预览。与打印有关的类主…

MiniCPM-o 2.6 本地部署记录,Windows+RTX3060全部跑通!

上一篇中,大致聊了下国产小钢炮MiniCPM的特性,看起来很不错,可玩性很高。今天,主要来说一下,如何在本地运行这个项目。 添加图片注释,不超过 140 字(可选)配置过程花了一些时间,最终还是成功了,可以正常进行视频通话,语音通话,和聊天机器人。安装和测试过程中遇到了…

CTF-web-计算器

1.打开题目2.发现只能输入一个数字 3.查看源代码4.修改参数5.可以正确输入后得到flag

CTF-web-web2

1.打开靶场,发现是一个动图。2.通过直接查看源代码,发现flag3.flag :KEY{Web-2-bugKssNNikls9100}