当前位置: 首页 > news >正文

开始学习做游戏,就现在

开始学习做游戏,就现在!!!

我的初衷:

因为热爱玩游戏,所以想探索做游戏,

因为失业焦虑,正在横向寻求技术突破

视频分享讲解

本期内容视频 b 站:https://www.bilibili.com/video/BV1B6EuzQE7c

抖音 :https://www.douyin.com/user/self?from_tab_name=main&modal_id=7503079756418944256&showTab=post

当前学习情况(一个来月吧):

从写下第一行代码到现在已经断断续续一个月了,但是每天的开发时常不足 1 小时

我的目标是做好一个自己能够玩通关的小游戏(说是独立游戏我觉得不够格,那有一种说法就是做一款有一定玩法的 demo),在看到到处都是 Regulike 类型的游戏后,本来也准备做一款,但是感觉技术受限,所以我决定做更简单的传统塔防游戏,单纯为了简单,当然我自己也玩过一些塔防类型的游戏。我认为我的第一款游戏肯定不会太好玩,有自知之明。,目前游戏的代码(https://gitee.com/liuminghang/simpletowerdefense),有兴趣的可以跟着我一起学习。

我的概况:

  • 我是一名有 6 年开发经验的 c++ 开发工程师,所做的工作大多局限于上位机客户端开发,偶尔会进行服务端的开发,也就是我不是完全零基础。
  • 本着就业市场焦虑迫使我需要尝试新的东西和学习新的知识,比如做游戏,AI 相关的一切和自媒体相关,什么新的东西能让我横向突破,我都会愿意尝试,做游戏是因为自己喜欢玩游戏,其他都是为了提升自己挣钱养家的能力。
  • 如果遇到裁员了,我的下一份工作应该还会是 c++ 上位机相关的工作,因为这是我最熟悉,最能养活自己和家庭的方向,其他的开发作为业余爱好罢了,需要考虑现实情况。
  • 我是一名很急躁的人,并不能沉下心来做一些很宏伟的事情。就是我喜欢短期内看到能成果的那种。
  • 做游戏的话,我打算先弄个能让自己玩起来有趣的 DEMO,美术方面就先糙一点,毕竟我没啥艺术细胞。如果觉得有意思,再慢慢优化和拓展,或者说我也有朋友是做美术的(待业在家),但是没做特效的朋友。
  • 我会选择使用大量 AI 来做事情,拥抱 AI,以免以后会被社会发展抛弃,这也是横向拓展技术的一方面,因为随着年纪的增大,我也不再是意气风发的少年,学习的动力已经呈现是下滑趋势,我需要做出改变和拥抱新技术,
  • 我觉得阻碍我的事情:年纪的增大,对学习新东西会变慢,不过最主要的是由于太喜欢玩游戏,导致下班后的大部分时间会花在玩游戏上,而不是学习做游戏,到了周末又需要陪伴家人,所以能够做游戏或者说学习做游戏的时间太少

为什么选择 Godot 开发

Godot 在国内外都有一批比较忠实的粉丝,并且 Godot 的发展尤为迅速,名气越来越大,我个人是很喜欢拥抱开源的和成长快速的东西,包括我也会参与一些开源项目和学习开源的一些东西,因为曾在国产 linux 操作系统开发公司(统信)做过桌面开发,对开源的知识比较感兴趣所以倾向于 Godot。

市面上大家入门主要纠结的就是 unity,Godot,cocos 以及 UE5,如果你是准备找游戏开发方向的工作,我认为首选肯定是 unity,最成熟,不会踩坑的开发工具,缺点就是不够自由,也出现过朝令夕改的骚操作,但是大多数公司仍然会选择他,成熟且能很好的保护代码不被破解,不过我应该长期个人开发是没关系的,且代码也不值钱,如果你要上架小程序,抖音小游戏,cocos 目前更加成熟。我个人选择学习方向其实在 cocos 和 Godot 也纠结了较久的时间,之所以选择 Godot 是因为我认为他更简单(主观感受),

原因在于,我看了 B 站 UP 主“码客二十二”的一个两小时多的 Godot 教程(教程地址:[https://www.bilibili.com/video/BV1fuCrYFEoG])后,发现 Godot 的许多设计和使用体验都让我感觉很舒服

相对而言,我在先入为主的情况再去看 cocos 的教程就发现有点难或者说不太习惯,所以最终选择了 godot

程序代码的方向:

基础开发环境 Godot 4.3,已经过渡到 Godot 4.4.1
开发工具为什么用 Trae 不用 Cursor,单纯是的是因为 Trae 免费罢了,Trae 截至到目前比不上 Cursor 是客观事实,但是由于还有 cline 的插件(越来越倾向于使用 cline),那么我也觉得很 ok
AI 工具 Trae (国际版) + cline 插件 + 免费的 api (google 的 Gemini 2.5 flash Preview 04-17 + Gemini 2.0 flash +Gemini 2.5 pro Preview 05-06)
谷歌很慷慨,给的每天的免费额度很高,每个模型免费的额度不一样,你可以自己看,他这个也是变化的
一次提问不代表一次 Agent 流程,一次 Agent 流程可能包含几次到几十次提问,但是这些免费的额度绝对够用,以我之前使用 gemini 2.0 flash 为例,每天使用不会超过 200 次提问
其他在线工具 豆包加 Google ai studio(本质上两个都是 AI 问答的网页),因为 Gemini 2.5 pro 目前来看比较强大,所以会使用 Google ai studio 来进行问答,毕竟在里面提问免费
我的一般程序开发工具逻辑是有时用 Trae,有时候使用 cline 插件,因为使用 cline 主要考虑到不是大问题的场景,因为之前 Gemini 2.5flash 的模型没出,Gemini 2.0 flash 比较笨,所以有问题还是会使用 Trae 模型的模型(每天的前几次提问,无论是 Gemini 2.5 pro 还是 Claude3.7 Sonnet 都比较块,用了几次之后就开疯狂进入排队状态,并且排队就算了,还是经常失败和无响应,所以一般每天使用几次之后更多会使用 Claude3.5 Sonnet),后续发现 google Gemini 2.5flash 比较强大,就更多使用 Cline 来进行开发

闲谈现状和经验(不代表绝对合理):

Cline 添加 google api 的方法,如果 Trae 后面可以直接添加 google 的 gemini 的 api 就好了,截至目前,Trae 添加第三方模型只支持 Anthropic,DeepSeek,OpenRouter,火山引擎,硅基流动,阿里云,腾讯云,模力方舟,BytePlus 的 api,对于我们来说有用的自然是 Anthropic 和 OpenRouter 可能会使用到,但是白嫖党,着实一般,Anthropic 作为 Claude3.7 Sonnet 的母公司,最顶尖的 Agent 编码模型,好的东西自然是贵,如果都充钱使用 Anthropic 那为什么不选择 Cursor 的包月 20 美刀套餐呢,然后就是国际上都比较厉害的中转站 OpenRouter,OpenRouter 会提供一些免费的模型(每天的额度有限,并且如果想使用 gemini2.5 的 free 模型,需要存 10 美刀,存了 10 美刀的话,所有免费模型的额度都有上升),OpenRouter 最坑的是如果用自己的 google api 的时候还需要收取 5% 的中转费,所以不建议使用中转,还是直接的魔法环境使用 cline 搭载 google 的 api 较为合理。
file

程序重点 1 自己要会读懂 AI 写的代码

一定要基础的语法和官方提供的类的使用,可以是做的时候摸索的,也可以是最开始就读了官方文档的,不会使用代码是一定不行的,完全依靠 AI,在目前是不行的,AI 生成的东西不一定对,并且容易把自己带到死胡同,这个时候就需要一个领路人把 AI 从沟里面把他带出来,走上正轨,那个人就是你,你要会阅读 AI 生成的代码,理解他生成的代码的用意和可能存在的问题,如果他生成了一个正确的代码,组好就是 git push 一下,提交一下。

程序重点 2 不要一次性生成很多很多的功能

不要认为 AI 过于强大,然后你做了一个非常详尽的需求和功能让 AI 给你全部实现,这种方法不可取,即使是 Claude 3.7 sonnect 和 Gemini 2.5 pro 这种目前市面顶尖模型同样不行,他的理解和人的理解是存在一定差异的,人与人的理解都有差异,何况是他,并且容易生成错误的场景 UI 文件(大多数情况是不指定 parent 导致,这个在 Claude 3.7 connect 尤为常见),很多人会说试试 Cursor,我试用过,同样生成场景会出现一样的问题,不过 Cursor 生成的东西确实目前更精装,不过 Trae 也在进步,当然 Trae 那个排队真的难受,Cline+api 能够辅助来解决,godot 方向的 mcp(但是我没了解)

程序重点 3 主体框架建议自行搭建

AI 每一次生成代码一定要认真核对,否则后期很难维护,所以如果自己搭建一个框架,让 AI 沿着你的框架的枝干慢慢进行开发,能有效的让你能更懂你的程序,并且方便后期维护,所以你需要让 AI 跟着你的节奏走,而不是你跟着 AI 走

谈谈代码大模型水平(个人感觉):

Claude 3.7 sonnect 目前最强

Gemini 2.5 pro 目前第二

Claude 3.5 sonnect 依旧抗打

其他的不太行,如国内的 deepseek v324 和 doubao1.5 thingking pro,在 Agent 模式或者说 build 模式下不支持图文识别,并且在该模式下会重复生成很多代码,造成死循环等问题,chatgpt 的模型在 Trae 上用起来比较奇怪,比如之前的 GPT 4o 和现在的 GPT4.1 。

美术素材 :如何获得一些粗糙的素材

  • 前言:由于我现在的素材主打粗制滥造,你可以不参考
  • 所有素材全部由 AI 生成,且风格不统一
  • 人物素材生成方式 1: AI 出图-> 图生视频-> 视频转化为图片帧-> 批量抠图-> 缩减大小-> 批量重命名为文件夹名 +_数字-> 拼接所有帧数到一张图-> 进行使用
  • 人物素材生成方式 2: AI 出图-> 图生视频-> 视频转化为图片帧-> 缩减大小-> 批量抠图-> 批量重命名为文件夹名 +_数字-> 拼接所有帧数到一张图-> 进行使用
  • 我的选择 AI 出图工具:Google ImageFX( https://labs.google/fx/zh/tools/image-fx ),那么谈到这个玩意,那必是需要魔法,如果你会 sd 和 confyui 做图,当然更好,因为我现在主要目标是先做程序,并不太关注美术,所以不在意,所以直接使用 imagefx 是很好的原则 ,生成关键词我一般会选择豆包,举例是(https://www.doubao.com/thread/w7d6fe52827fbb566))
    file

file

  • 图生视频(https://jimeng.jianying.com/ ):对于我来说,每天生成几个视频就够了,所以,即梦 AI 每天免费都有额度,非常适合我,不要使用自带的下载,会有水印,使用迅雷插件下载,无水印

file

  • 生成效果

![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=Maximum%20upload%20size%20exceeded%3B%20nested%20exception%20is%20java.lang.IllegalStateException%3A%20org.apache.tomcat.util.http.fileupload.FileUploadBase%24SizeLimitExceededException%3A%20the%20request%20was%20rejected%20because%20its%20size%20(6302242&pos_id=img-I30zIUzD-1747570605361) exceeds the configured maximum (2097152))

file

  • 提示:迅雷下载可能不带后缀名,需要自己修改后缀名为 mp4
  • 视频转化图片帧工具 + 批量缩减大小工具 + 批量重命名工具 + 合并图片:直接使用 AI 编程让用 python 写个工具即可,根据自己的风格无限调整,我的工具箱下载地址在 https://github.com/dependon/sucaitools/releases,这个是根据自己的习惯来的,所有功能都是我自己要用的,我最佳的建议你们可以自己使用 Trae 实现一个也不错,如果你用的习惯,可以使用我的工具

file

  • 点击处理

file

  • 在线抠图(因为需要精度高一些,本地不做,不过如果自己比较熟悉抠图模型的用法的可以自己做一个)(https://www.koukoutu.com/ ):免费的在线抠图
    file

file

  • 批量压缩大尺度素材
    file

  • 开始拼接合并为一张图
    file

  • 最终效果,我在本地 png 是透明的图
    file

  • 选择较为相似的帧作为首尾帧,剔除掉不太好的帧
    file

  • 最终效果
    请添加图片描述

写在最后:

  • 由于存在东西需要魔法,这个东西就需要你们自己想办法了或者平行替代了

  • 魔法环境的经济方案

    • 一种可行的魔法环境搭建方法地址 ,来自零度博客的帖子 https://www.freedidi.com/17962.html ,不过建议你得进入魔法环境,去看下这个文章提到的视频,文章种提到的免费获得域名现在不太行,我试了很多方法和其他的一些找免费二级域名,没找到和没申请到,所以建议还是找一下阿里云和腾讯云有 1 元一年的域名(之前有,如果 1 块钱,而且品牌可靠),我是之前就买了腾讯云 10 年的 online 后缀的域名(腾讯云 169 还是多少,差不多时间长的较为便宜,因为我买域名还有其他的用处,要搭建网页)
  • 其他(暂无)

相关文章:

  • 写spark程序数据计算( 数据库的计算,求和,汇总之类的)连接mysql数据库,写入计算结果
  • 【数据结构】2-3-2 单链表的插入删除
  • JSON Schema 高效校验 JSON 数据格式
  • 翻到了一段2005年写的关于需求的文字
  • ⭐️白嫖的阿里云认证⭐️ 第二弹【课时1:提示词(Prompt)技巧】for 「大模型Clouder认证:利用大模型提升内容生产能力」
  • 软件工具:批量图片区域识别+重命名文件的方法,发票识别和区域选择方法参考,基于阿里云实现
  • HarmonyOS 与 OpenHarmony:同根而不同途
  • Kubernetes控制平面组件:Kubelet详解(六):pod sandbox(pause)容器
  • Kubernetes控制平面组件:Kubelet详解(五):切换docker运行时为containerd
  • 【提高+/省选−】洛谷P1495 —— 【模板】中国剩余定理(CRT)/ 曹冲养猪
  • 游戏引擎学习第291天:跳跃的怪物与占据的树木
  • Linux搜索
  • 【ubuntu24.04】pycharm 死机结束进程
  • 正则表达式 - 语法
  • Trae IDE和VSCode Trae插件初探
  • 第6章 实战案例:基于 STEVAL-IDB011V1 板级 CI/CD 全流程
  • PyTorch音频处理技术及应用研究:从特征提取到相似度分析
  • 中级统计师-统计学基础知识-第三章 参数估计
  • 【沉浸式求职学习day43】【Java面试题精选3】
  • Linux的进程概念
  • 自媒体假扮官方蹭反间谍热度攫取利益,国安机关提醒
  • 19国入境团抵沪并游玩,老外震惊:“怎么能有这么多人?”
  • 浦江潮涌征帆劲,上海以高质量发展服务全国发展大局
  • 魔都眼|邮轮港国际帆船赛启动,120名中外选手展开角逐
  • 机器人为啥热衷“搞体育”,经济日报:是向加速融入日常生活发起的冲锋
  • 本周看啥|《歌手》今晚全开麦直播,谁能斩获第一名?