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

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

引言

大家好,今天分享点个人经验。

有一定编程经验或者游戏开发经验的小伙伴,在接触新的游戏引擎的时候,如何能快速地熟悉并开发出一款新游戏

利用现成开发框架。

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地址&#xf…...

【基础知识】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…...

3大突破!LxgwWenKai字体效率革命:从代码阅读到多场景适配全指南

3大突破!LxgwWenKai字体效率革命:从代码阅读到多场景适配全指南 【免费下载链接】LxgwWenKai LxgwWenKai: 这是一个开源的中文字体项目,提供了多种版本的字体文件,适用于不同的使用场景,包括屏幕阅读、轻便版、GB规范字…...

设计师不用写代码了?实测TRAE SOLO Builder如何将Figma稿秒变可交互网页

设计师如何用TRAE SOLO Builder实现零代码网页开发 在数字产品设计领域,设计师与开发者之间的协作断层长期存在。设计精美的Figma稿转化为实际网页时,往往面临还原度不足、交互细节丢失等问题。TRAE SOLO Builder的出现,正在重新定义设计到开…...

ollama部署本地大模型|translategemma-4b-it效果对比:vs NLLB-3B、vs SeamlessM4T-v2

ollama部署本地大模型|translategemma-4b-it效果对比:vs NLLB-3B、vs SeamlessM4T-v2 想在自己电脑上跑一个翻译模型,但又担心模型太大、速度太慢?今天我们来聊聊一个轻量级的新选择——Google推出的TranslateGemma-4b-it。更重要…...

Python 官方下载页面(如 python.org/downloads/)的片段,列出了 Windows 平台下 Python 3.13.11

Python 官方下载页面(如 python.org/downloads/)的片段,列出了 Windows 平台下 Python 3.13.11(发布于 2025 年 12 月 5 日)的多种安装包选项。以下是各选项的简要说明: Windows installer (64-bit / 32-b…...

前端测试:别让你的代码在上线后崩溃

前端测试:别让你的代码在上线后崩溃 毒舌时刻这代码写得跟定时炸弹似的,不知道什么时候就炸了。各位前端同行,咱们今天聊聊前端测试。别告诉我你还在手动测试,那感觉就像在没有安全网的情况下走钢丝——能走,但随时可能…...

RoboMaster装甲板灯条匹配算法实战:从图像预处理到目标框定(附完整C++/OpenCV源码)

1. 项目背景与核心挑战 RoboMaster机甲大师赛中的装甲板识别是自动瞄准系统的关键技术难点。赛场上高速移动的机器人装甲板通常配备LED灯条作为视觉标识,这种设计让计算机视觉算法能够在复杂环境下快速定位目标。但实际开发时会遇到几个头疼的问题:强光干…...

OpenClaw+GLM-4.7-Flash:自动化会议纪要生成实践

OpenClawGLM-4.7-Flash:自动化会议纪要生成实践 1. 为什么需要自动化会议纪要 每周三下午的团队例会是我最头疼的时刻。作为技术负责人,我需要同时参与讨论、记录关键决策点、跟踪行动项,最后还要整理成文档发给全员。手忙脚乱的结果往往是…...

OpenClaw+GLM-4.7-Flash简报系统:自动生成每日行业动态摘要

OpenClawGLM-4.7-Flash简报系统:自动生成每日行业动态摘要 1. 为什么需要自动化简报系统 作为一名长期跟踪AI行业动态的技术博主,我每天需要花费大量时间浏览数十个技术博客、新闻网站和RSS订阅源。最痛苦的不是阅读本身,而是如何在信息洪流…...

Gin 框架中的规范响应格式设计与实现

为什么需要统一的响应格式?首先,让我们思考一个问题:为什么要统一API响应格式?前后端协作效率:一致的响应格式让前端开发者能以统一的方式处理服务端响应错误处理简化:标准化的错误码和消息便于统一处理各种…...

SerialTransfer:Arduino轻量级高可靠串行通信协议栈

1. SerialTransfer 库概述SerialTransfer 是一款专为 Arduino 平台设计的轻量级、高可靠性串行通信协议栈,其核心目标是解决嵌入式系统中跨设备数据交换的通用性、鲁棒性与工程可维护性问题。它并非简单的Serial.write()封装,而是一套完整的面向帧&#…...