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

引言

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

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

利用现成开发框架。

1.什么是开发框架?

开发框架,顾名思义,它是一个框架

通常会把引擎看似复杂的内容整理和浓缩到一套代码里面。

通过这套代码,你可以轻松实现游戏功能,编写游戏逻辑

开发框架通常会提供标准化的示例,你或者团队只需要模仿示例的代码,去实现流水化地开发。

开发框架还有什么好处?

2.为什么要使用开发框架?

主要有以下几个观点。

1.不重复造轮子

搭建过开发框架的小伙伴都知道,所谓的造轮子,就是把我们需要用到的游戏引擎提供的方法,整理到特定的里面去管理

开发的时候直接通过整理好的类去创造内容,举2个例子。

配置管理器,有了它,我们只需要准备好相关的配置,然后通过配置管理器的接口,就可以获取到配置的内容,而不需要去考虑配置如何加载到游戏。

SDK管理器,有了它,我们只需要在对应平台的类里面实现各自平台的特定方法兼容不同平台的内容。而不需要去考虑开发时怎么办、打包成安卓原生时怎么办或者打成小游戏的时候怎么办

2.模块化

开发框架会把相同功能或者特定功能的内容划分开来,形成一个个独立的模块。

例如关于资源的管理,会整理到资源管理器UI界面的相关操作,会整理到UI管理器等等。

3.模板化

开发框架通常会整理出比较清晰的模板示例。有明确的规范

例如管理视图的应该在哪里写实现游戏逻辑的应该在哪里写、甚至连游戏开发常量的声明地方都规范地比较仔细。

这样能够减少代码经过迭代后导致乱七八糟的局面,也是团队开发非常必要的一点。

4.不用填坑

一般框架是作者在开发游戏时整理出来的一个体系,在打造这个体系的过程中,难免会遇到一些坑,这些坑会随着开发框架的迭代去处理掉

因此我们使用框架,有着一种站在巨人的肩膀上开发的感觉,不用为了一些莫名其妙的问题浪费宝贵的时间

3.开发框架的选择

通常开发框架包含下面几种:

  • 开源框架: 一般会上传开源社区,这里建议选择一些使用人数较多的,多人使用,作者才会勤奋地迭代。

  • 商业化框架: 商业化框架,意味着需要付费才能使用。一般会相对于开源的更加稳定。

  • 商业游戏源码: 一般游戏开发团队会基于商业游戏的源码进行二次开发或者换皮。

个人开发者和新人,通常建议从免费的开源框架入手,通过给定的实例,同时结合官方教程和API文档,去理解如何驱动游戏开发。

有条件或者有决心小伙伴,可以考虑商业化的框架,付费的比免费的的好处就是,你或许以为付费仅仅是获取了知识,其实更多地是链接上作者或者作者的圈子,你的问题更容易被解决,这个收益是远远大于表面看到的。

公司团队,由于需要资金成本较大,不建议浪费时间在搭建框架,一般会考虑对应类型的商业游戏的源码进行二次开发或者换皮,但是也看具体有没有这类的源码,一般商店可能会出售。虽然可能不是比较完整的内容,但是也能节约大部分时间

有了开发框架之后,还有其他建议吗?

4.积累

框架只是我们开发功能时的一套工具,它是游戏开发中比较普遍内容的规范。然而需要实现一些特定的内容时,我们还是需要靠平时的积累

例如我们要用到重力感应去控制游戏时,我们需要知道怎么去监听陀螺仪,并且根据得到的参数驱动游戏内容。

再如我们要实现一些技能效果时,我们需要了解如何使物体旋转、位移

再如我们要实现一些游戏效果时,我们可能需要利用到Shader等等。

以上特定的内容一般不会在开发框架中植入,要我们平时的积累

当我们需要用到某些功能时,我们可以去查看官方API文档、可以去搜索引擎搜索、还可以通过商店去直接购置

为此笔者特定整理了一系列有趣又实用实例和教程,大家可以关注我,目标是完成100个。

结语

笔者整理了一些实用源码,可以扫码或者阅读原文看看,付费不仅是知识的获取,更是对笔者的支持和认可,感谢!

亿元源码杂货铺

在哪里可以看到如此清晰的思路,快跟上我的节奏!关注我,和我一起了解游戏行业最新动态,学习游戏开发技巧。

我是"亿元程序员",一位有着8年游戏行业经验的主程。在游戏开发中,希望能给到您帮助, 也希望通过您能帮助到大家。

AD:笔者线上的小游戏《贪吃蛇掌机经典》《填色之旅》《重力迷宫球》大家可以自行点击搜索体验。

实不相瞒,想要个在看!请把该文章分享给你觉得有需要的其他小伙伴。谢谢!

推荐专栏:

和8年游戏主程一起学习设计模式

8年主程手把手打造Cocos独立游戏开发框架

从零开始开发贪吃蛇小游戏到上线系列

游戏开发的技巧、心得、资讯

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

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

相关文章

ArkUI List组件

我们在column中使用foreach循环渲染数据的时候,如果数据过多,超出屏幕高度,会出现隐藏的情况。 class Item {name: stringimage: ResourceStrprice: numberdiscount: numberconstructor(name: string, image: ResourceStr, price: number,dis…

微服务-理论 分布式事务

一、分布式事务理论模型 分布式事务问题也叫分布式数据一致性问题,简单来说就是如何在分布式场景中保证多个节点数据的一致性。分布式事务产生的核心原因在于存储资源的分布性,比如多个数据库,或者MySQL和Redis两种不同存储设备的数据一致性…

智慧储能数字孪生,引领新能源革命

随着社会对清洁能源的需求不断增加,智能储能技术成为能源转型的关键驱动力。在这一领域中,数字孪生技术的应用为智慧储能带来了全新的可能性。数字孪生是指数字化、实时、可视化的模拟系统,通过复制现实世界中的对象或过程,为智能…

区块链实验室(32) - 下载arm64的Prysm

Prysm是Ethereum的共识层。 1. 下载prysm.sh curl https://raw.githubusercontent.com/prysmaticlabs/prysm/master/prysm.sh --output prysm.sh && chmod x prysm.sh2. 下载x86版prysm共识客户端 ./prysm.sh beacon-chain --download-only3.下载arm64版prysm共识客…

Android CoordinatorLayout

一、CoordinatorLayout CoordinatorLayout(协调者布局) 用于协调管理其子视图之间的交互行为。它旨在处理复杂的用户界面行为,允许子视图之间响应用户输入、动画和滚动等交互操作。 CoordinatorLayout 通过 Coordinator (协调者)来管理子视图…

Java CPU使用率高排除方法

CPU使用率高排除方法 查询CPU使用率高的进程查询线程CPU使用率ps命令方式top 命令方式 查询线程堆栈 jstat 查询gc情况 查询CPU使用率高的进程 ps aux --sort-pcpu | head -10通过ps指令看到pid1799程序CPU使用率47.1%,再看看程序的线程使用情况。 查询线程CPU使用…

Leetcode—2961.双模幂运算【中等】

2023每日刷题&#xff08;五十六&#xff09; Leetcode—2961.双模幂运算 实现代码 class Solution { public:int func(int a, int b) {int ans 1;for(int i 0; i < b; i) {ans * a;ans % 10;}return ans;}int func2(int a, int b, int m) {int ans 1;for(int i 0; i …

【EXCEL】折线图添加垂直x轴的竖线|画图

相关链接&#xff1a;excel 添加垂直竖向直线 如何在Excel中添加水平和垂直线&#xff1f; 因为加辅助列有点不习惯&#xff0c;已经有分位数横坐标了&#xff0c;想着试下用散点图的误差线画 效果图&#xff1a; 步骤&#xff1a; s1&#xff1a;随便框选两列数据–>插入(…

华为防火墙配置谷歌账户控制功能

组网需求 如图1所示&#xff0c;FW作为企业网关部署在网络边缘&#xff0c;某些企业只允许员工使用企业规定的账号登录谷歌服务&#xff0c;禁止员工使用个人账号登录谷歌服务&#xff0c;此时通过在FW上配置谷歌账户控制功能可以解决该问题。 配置思路 1.配置接口IP地址…

AR-LDM原理及代码分析

AR-LDM原理AR-LDM代码分析pytorch_lightning(pl)的hook流程main.py 具体分析TrainSampleLightningDatasetARLDM blip mm encoder AR-LDM原理 左边是模仿了自回归地从1, 2, ..., j-1来构造 j 时刻的 frame 的过程。 在普通Stable Diffusion的基础上&#xff0c;使用了1, 2, .…

Vue自定义指令插槽作用域插槽具名插槽

Vue自定义指令&插槽&作用域插槽&具名插槽 一、学习目标 1.自定义指令 基本语法&#xff08;全局、局部注册&#xff09;指令的值v-loading的指令封装 2.插槽 默认插槽具名插槽作用域插槽 3.综合案例&#xff1a;商品列表 MyTag组件封装MyTable组件封装 4.路…

RZ、NRZ、NRZI、曼彻斯特编码

1、RZ编码 RZ编码也成为归零码&#xff0c;归零码的特性就是在一个周期内&#xff0c;用二进制传输数据位&#xff0c;在数据位脉冲结束后&#xff0c;需要维持一段时间的低电平 2、NRZ编码 NRZ编码也成为不归零编码&#xff0c;即高电平表示1&#xff0c;低电平表示0。它与RZ码…