在接触新的游戏引擎的时候,如何能快速地熟悉并开发出一款新游戏?

引言
大家好,今天分享点个人经验。
有一定编程经验或者游戏开发经验的小伙伴,在接触新的游戏引擎的时候,如何能快速地熟悉并开发出一款新游戏?
利用现成开发框架。
1.什么是开发框架?
开发框架,顾名思义,它是一个框架。
通常会把引擎看似复杂的内容,整理和浓缩到一套代码里面。
通过这套代码,你可以轻松实现游戏功能,编写游戏逻辑。
开发框架通常会提供标准化的示例,你或者团队只需要模仿示例的代码,去实现流水化地开发。
开发框架还有什么好处?
2.为什么要使用开发框架?
主要有以下几个观点。
1.不重复造轮子
有搭建过开发框架的小伙伴都知道,所谓的造轮子,就是把我们需要用到的游戏引擎提供的方法,整理到特定的类里面去管理。
开发的时候直接通过整理好的类去创造内容,举2个例子。
配置管理器,有了它,我们只需要准备好相关的配置,然后通过配置管理器的接口,就可以获取到配置的内容,而不需要去考虑配置如何加载到游戏。
SDK管理器,有了它,我们只需要在对应平台的类里面实现各自平台的特定方法,兼容不同平台的内容。而不需要去考虑开发时怎么办、打包成安卓原生时怎么办或者打成小游戏的时候怎么办。
2.模块化
开发框架会把相同功能或者特定功能的内容划分开来,形成一个个独立的模块。
例如关于资源的管理,会整理到资源管理器。UI界面的相关操作,会整理到UI管理器等等。
3.模板化
开发框架通常会整理出比较清晰的模板示例。有明确的规范。
例如管理视图的应该在哪里写、实现游戏逻辑的应该在哪里写、甚至连游戏开发常量的声明地方都规范地比较仔细。
这样能够减少代码经过迭代后导致乱七八糟的局面,也是团队开发非常必要的一点。
4.不用填坑
一般框架是作者在开发游戏时整理出来的一个体系,在打造这个体系的过程中,难免会遇到一些坑,这些坑会随着开发框架的迭代去处理掉。
因此我们使用框架,有着一种站在巨人的肩膀上开发的感觉,不用为了一些莫名其妙的问题浪费宝贵的时间。
3.开发框架的选择
通常开发框架包含下面几种:
-
开源框架: 一般会上传开源社区,这里建议选择一些使用人数较多的,多人使用,作者才会勤奋地迭代。
-
商业化框架: 商业化框架,意味着需要付费才能使用。一般会相对于开源的更加稳定。
-
商业游戏源码: 一般游戏开发团队会基于商业游戏的源码进行二次开发或者换皮。
个人开发者和新人,通常建议从免费的开源框架入手,通过给定的实例,同时结合官方的教程和API文档,去理解如何驱动游戏开发。
有条件或者有决心的小伙伴,可以考虑商业化的框架,付费的比免费的的好处就是,你或许以为付费仅仅是获取了知识,其实更多地是链接上作者或者作者的圈子,你的问题更容易被解决,这个收益是远远大于表面看到的。
公司团队,由于需要资金成本较大,不建议浪费时间在搭建框架,一般会考虑对应类型的商业游戏的源码进行二次开发或者换皮,但是也看具体有没有这类的源码,一般商店可能会出售。虽然可能不是比较完整的内容,但是也能节约大部分时间。
有了开发框架之后,还有其他建议吗?
4.积累
框架只是我们开发功能时的一套工具,它是游戏开发中比较普遍内容的规范。然而需要实现一些特定的内容时,我们还是需要靠平时的积累。
例如我们要用到重力感应去控制游戏时,我们需要知道怎么去监听陀螺仪,并且根据得到的参数驱动游戏内容。
再如我们要实现一些技能效果时,我们需要了解如何使物体旋转、位移。
再如我们要实现一些游戏效果时,我们可能需要利用到Shader等等。
以上特定的内容一般不会在开发框架中植入,要靠我们平时的积累。
当我们需要用到某些功能时,我们可以去查看官方API文档、可以去搜索引擎搜索、还可以通过商店去直接购置。
为此笔者特定整理了一系列有趣又实用的实例和教程,大家可以关注我,目标是完成100个。
结语
笔者整理了一些实用源码,可以扫码或者阅读原文看看,付费不仅是知识的获取,更是对笔者的支持和认可,感谢!

在哪里可以看到如此清晰的思路,快跟上我的节奏!关注我,和我一起了解游戏行业最新动态,学习游戏开发技巧。
我是"亿元程序员",一位有着8年游戏行业经验的主程。在游戏开发中,希望能给到您帮助, 也希望通过您能帮助到大家。
AD:笔者线上的小游戏《贪吃蛇掌机经典》《填色之旅》《重力迷宫球》大家可以自行点击搜索体验。
实不相瞒,想要个赞和在看!请把该文章分享给你觉得有需要的其他小伙伴。谢谢!
推荐专栏:
和8年游戏主程一起学习设计模式
8年主程手把手打造Cocos独立游戏开发框架
从零开始开发贪吃蛇小游戏到上线系列
游戏开发的技巧、心得、资讯
相关文章:
在接触新的游戏引擎的时候,如何能快速地熟悉并开发出一款新游戏?
引言 大家好,今天分享点个人经验。 有一定编程经验或者游戏开发经验的小伙伴,在接触新的游戏引擎的时候,如何能快速地熟悉并开发出一款新游戏? 利用现成开发框架。 1.什么是开发框架? 开发框架,顾名思…...
计网 - TCP四次挥手原理全曝光:深度解析与实战演示
文章目录 Pre导图过程分析抓包实战第一次挥手 【FIN ACK】第二次挥手 【ACK】第三次挥手 【FINACK】第四次挥手 【ACK】 小结 Pre 计网 - 传输层协议 TCP:TCP 为什么握手是 3 次、挥手是 4 次? 计网 - TCP三次握手原理全曝光:深度解析与实战…...
个人养老金知多少?
个人养老金政策你了解吗?税优政策你知道吗?你会计算能退多少税吗?… 点这里看一看...
gpt3、gpt2与gpt1区别
参考:深度学习:GPT1、GPT2、GPT-3_HanZee的博客-CSDN博客 Zero-shot Learning / One-shot Learning-CSDN博客 Zero-shot(零次学习)简介-CSDN博客 GPT1、GPT2、GPT3、InstructGPT-CSDN博客 目录 gpt2与gpt1区别: gp…...
PyQt6 QDateEdit日期控件
锋哥原创的PyQt6视频教程: 2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计39条视频,包括:2024版 PyQt6 Python桌面开发 视频教程(无废话…...
【无线网络技术】——无线城域网(学习笔记)
📖 前言:无线城域网(WMAN)是指在地域上覆盖城市及其郊区范围的分布节点之间传输信息的本地分配无线网络。能实现语音、数据、图像、多媒体、IP等多业务的接入服务。其覆盖范围的典型值为3~5km,点到点链路的覆盖可以高达…...
RK3568平台 OTA升级原理
一.前言 在迅速变化和发展的物联网市场,新的产品需求不断涌现,因此对于智能硬件设备的更新需求就变得空前高涨,设备不再像传统设备一样一经出售就不再变更。为了快速响应市场需求,一个技术变得极为重要,即OTA空中下载…...
mysql迁移步骤
MySQL迁移是指将MySQL数据库从一台服务器迁移到另一台服务器。这可能是因为您需要升级服务器、增加存储空间、提高性能或改变数据库架构。 以下是MySQL迁移的一般步骤: 以上是MySQL迁移的一般步骤,具体步骤可能因您的环境和需求而有所不同。在进行迁移之…...
计算机网络应用层(期末、考研)
计算机网络总复习链接🔗 目录 DNS域名服务器域名解析过程分类递归查询(给根域名服务器造成的负载过大,实际中几乎不用)迭代查询 域名缓存(了解即可)完整域名解析过程采用UDP服务 FTP控制连接与数据连接 电…...
Jenkins离线安装部署教程简记
前言 在上一篇文章基于Gitee实现Jenkins自动化部署SpringBoot项目中,我们了解了如何完成基于Jenkins实现自动化部署。 对于某些公司服务器来说,是不可以连接外网的,所以笔者专门整理了一篇文章总结一下,如何基于内网直接部署Jen…...
如果一个嵌套类需要在单个方法之外仍然是可见,或者它太长,不适合放在方法内部,就应该使用成员类。
当一个嵌套类需要在单个方法之外仍然是可见,或者它太长不适合放在方法内部时,可以考虑使用成员类(成员内部类)。成员类是声明在类的内部但不是在方法内部的类,可以访问外部类的实例成员。 以下是一个示例,…...
Vue3 中的 Proxy--读懂ES6中的Proxy
Proxy用于创建一个对象的代理,从而实现基本操作的拦截和自定义(如属性查找、赋值、枚举、函数调用等) 1.用法 Proxy为 构造函数,用来生成 Proxy实例 var proxy new Proxy(target, handler)参数 target表示所要拦截的目标对象…...
zk_dubbo
图灵面试笔记 zk dubbo spi dubbo 文章 dubbo与spring整合之Service、Reference注解处理过程 JAVA备忘录...
Windows 安全基础——NetBIOS篇
Windows 安全基础——NetBIOS篇 1. NetBIOS简介 NetBIOS(Network Basic Input/Output System, 网络基本输入输出系统)是一种接入服务网络的接口标准。主机系统通过WINS服务、广播及lmhosts文件多种模式,把NetBIOS名解析对应的IP地址…...
【基础知识】Hadoop生态系统
Hadoop是一个开源的分布式计算框架,主要用于大数据的存储和处理,即一个包含多种组件的综合分布式系统,组件相互协作完成从数据存储到计算分析的完整功能。 关键词——容灾 主从结构、多副本 主要特点 分布式存储 - Hadoop采用HDFS文件系统,可以将大数据分布式存…...
[Linux] LAMP架构
一、LAMP架构架构的概述 LAMP 架构是一种流行的 Web 应用程序架构,它的名称是由四个主要组件的首字母组成的: Linux(操作系统): 作为操作系统,Linux 提供了服务器的基础。它负责处理硬件资源、文件系统管理…...
HPM5300系列--第二篇 Visual Studio Code开发环境以及多种调试器调试模式
一、目的 在博文《HPM5300系列--第一篇 命令行开发调试环境搭建》、《HPM6750系列--第四篇 搭建Visual Studio Code开发调试环境》中我们介绍了命令行方式开发环境,也介绍了HPM6750evkmini开发板如何使用Visual Studio Code进行开发调试(其中调试方式使用…...
LeetCode2697. Lexicographically Smallest Palindrome
文章目录 一、题目二、题解 一、题目 You are given a string s consisting of lowercase English letters, and you are allowed to perform operations on it. In one operation, you can replace a character in s with another lowercase English letter. Your task is t…...
Leetcode 40 组合总和 II
题意理解: 每个数字在每个组合中只能使用 一次 数字可以重复——>难点(如何去重) 每个组合和target 求组合,对合限制,考虑回溯的方法。——将其抽象为树结构。 树的宽度——分支大小 树的深度——最…...
智慧灯杆技术应用分析
智慧灯杆是指在传统灯杆的基础上,通过集成多种先进技术实现城市智能化管理的灯杆。智慧灯杆技术应用的分析如下: 照明功能:智慧灯杆可以实现智能调光、时段控制等功能,根据不同的需求自动调节照明亮度,提高照明效果&am…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...
PostgreSQL——环境搭建
一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在࿰…...
水泥厂自动化升级利器:Devicenet转Modbus rtu协议转换网关
在水泥厂的生产流程中,工业自动化网关起着至关重要的作用,尤其是JH-DVN-RTU疆鸿智能Devicenet转Modbus rtu协议转换网关,为水泥厂实现高效生产与精准控制提供了有力支持。 水泥厂设备众多,其中不少设备采用Devicenet协议。Devicen…...
xmind转换为markdown
文章目录 解锁思维导图新姿势:将XMind转为结构化Markdown 一、认识Xmind结构二、核心转换流程详解1.解压XMind文件(ZIP处理)2.解析JSON数据结构3:递归转换树形结构4:Markdown层级生成逻辑 三、完整代码 解锁思维导图新…...
企业大模型服务合规指南:深度解析备案与登记制度
伴随AI技术的爆炸式发展,尤其是大模型(LLM)在各行各业的深度应用和整合,企业利用AI技术提升效率、创新服务的步伐不断加快。无论是像DeepSeek这样的前沿技术提供者,还是积极拥抱AI转型的传统企业,在面向公众…...
C++--string的模拟实现
一,引言 string的模拟实现是只对string对象中给的主要功能经行模拟实现,其目的是加强对string的底层了解,以便于在以后的学习或者工作中更加熟练的使用string。本文中的代码仅供参考并不唯一。 二,默认成员函数 string主要有三个成员变量,…...
Canal环境搭建并实现和ES数据同步
作者:田超凡 日期:2025年6月7日 Canal安装,启动端口11111、8082: 安装canal-deployer服务端: https://github.com/alibaba/canal/releases/1.1.7/canal.deployer-1.1.7.tar.gz cd /opt/homebrew/etc mkdir canal…...
python3GUI--基于PyQt5+DeepSort+YOLOv8智能人员入侵检测系统(详细图文介绍)
文章目录 一.前言二.技术介绍1.PyQt52.DeepSort3.卡尔曼滤波4.YOLOv85.SQLite36.多线程7.入侵人员检测8.ROI区域 三.核心功能1.登录注册1.登录2.注册 2.主界面1.主界面简介2.数据输入3.参数配置4.告警配置5.操作控制台6.核心内容显示区域7.检…...
