当前位置:首页 > 每日看点

不用游戏引擎做游戏有多难?

卡卷网2年前 (2024-12-22)每日看点291

取决于几个问题。

一个是你从哪开始,同样是不用引擎。从OpenGL+平台窗口api,和从SDL,和从ogre,和从MonoGame。完全不是一个概念。

一个是你到底要做什么规模的游戏。这也完全不是一个概念。

比如你从MonoGame这个档开始,做一个小规模的2D平台游戏。对比游戏引擎,其实就多了自己把碰撞系统,关卡瓦片系统,动画系统,简单物理系统,实体管理系统,如果想让画面和玩法更丰富些,可以再写个粒子系统和路径搜索,这些附加功能写完就可以开始了。没比从Unity/Unreal开始难太多太多。这一层叫做游戏框架,一般不称为游戏引擎,因为只提供给开发者游戏循环和非常简单的显示,资源,音频部分,其余的支持很少。

如果你从ogre这一档开始,你仅仅拥有你的场景,你可以添加你的灯光相机,添加你的地形天空,你拥有网格,拥有阴影,作为一个图形引擎,你方便的拥有了渲染部分。但是额外的你一无所有,你得考虑音频如何播放的方案,各种游戏设备输入检测的方案,物理碰撞检测的方案。另外还有游戏的专属类,例如游戏循环,组件模式,更新方法。这一层叫做图形库或者叫渲染引擎,一般提供对象图和3D渲染部分,其余的关于游戏的部分不会提供。

如果你从SDL这一档开始,你连你的世界都不存在了,你要考虑一切显示的东西,例如图像如何显示,纹理如何加载,GUI如何显示。游戏类,游戏循环,游戏对象类,场景图等依然要编写。这一层的叫法有很多,比如窗口库,多媒体库,游戏库,通常是OpenGL的携带库,自带上下文环境,便于直接使用OpenGL。这一层和游戏框架的显著区别是,游戏框架是框架调用你的代码,而库是你调用库的代码。

如果你从OpenGL这一档开始,你甚至连你的程序窗口都没有了,你要考虑你的平台窗口API,你要从你的GPU驱动中检索OpenGL函数,在这个级别,你相当于一个孤单的画家,你只有你的画笔,其余什么都没有。OpenGL甚至不会记住你画的是什么,你要自己记住它,自己更新它,不断的做绘制,擦除的循环。这一切包括,顶点缓冲区,正交透视相机,材质系统,纹理渲染,帧缓冲区等等等等。这一层叫做图形api规范,一般由GPU厂商开发者编写,根据委员会规范提供api供开发者使用。

如果你连GPU都不想用,可以直接考虑 Ray casting+ASCII 在控制台应用程序中渲染游戏画面,就像《Doom》那样。或者借鉴任天堂早期的SNES的Model7,用 Affine transformation 来伪造3D,就算没有图形卡也能跑的起来的伪3D世界。

就好比你把提问换成了,不去火锅店的话,吃一顿重庆火锅有多难。

你可以买一盒自热火锅,只需倒上水即可。(Construct)

你可以买一包火锅底料回家自己煮。(Unity/Unreal)

你可以买牛油和干辣椒回家自己炒火锅料。(MonoGame,经典案例有:《蔚蓝》《星露谷物语》《泰拉瑞亚》《盗贼遗产》)

你可以买牛肉和辣椒回家自己熬制牛油自己晾制干辣椒。(ogre,经典案例有:《火炬之光》《废品机械师》《Kenshi》《Roblox》)

你可以买个牛犊子和辣椒种子,自己养牛自己种植辣椒开始。(SDL,经典案例有:《神界原罪》《消逝的光芒》《博德之门3》《群星》《哈迪斯》《矮人要塞》)

你可以自己培育牛的品种和辣椒的品种,从牛的配种和辣椒的嫁接开始。(OpenGL)

你可以完全抛弃人类社会的购买途径,去自然界追寻牛和辣椒是如何进化演化的,是如何演变成我们如今吃到的品种的。到这层的时候我想已经不是为了单纯做游戏产品了,已经是在品味历史了,因为游戏从2D到伪3D到真3D就是这么过来的。(Ray casting / 仿射变换 + ASCII)

不用游戏引擎做游戏有多难?  第1张

1982年登录Atari8bit的《Wayout》,是世界上最早的利用Ray casting的FPS游戏,比《Doom》要早11年。

不用游戏引擎做游戏有多难?  第2张

超级任天堂中用仿射变换伪造的3D视觉效果,在视觉上是3D的,技术上依然是2D的。在官方手册中被称为Model7背景模式。

射线投射的初步原理可以看我另外一篇文章:

用最直观的gif解释毁灭战士(Doom)的渲染原理

所以说,越到底层,你的自由度越大,就像你可以养出油脂更高的牛,培育出更辣的辣椒。直接买火锅料的话,什么口味你都得依从火锅料了。比如人家给你用了劣质的原材料(源代码)造成你吃完了拉稀(游戏卡顿),也得忍着。

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2024/12/5153.html

分享给朋友:

相关文章

马云也搞不明白:为什么现在用户偏爱微信支付,而不是支付宝?

这题我会,我教马云一招。 你直接把你那破比支付宝的代码全删了,重新写一个。 打开支付宝直接就是一个大大的支付码,然后右上角按一下就是扫一扫。你要是还想保留你的其他那些乱七八糟的功能,麻烦将他们全部做到下拉菜单里。你这么设计我不说你能干死微信…

你为什么讨厌抖音?

我就被抖音毁了。 现在被我媳妇从抖音里拯救出来了。 我为什么会这样说? 我媳妇硕士在读,我文化程度相对就比较低了。 大多数人看抖音其实就是为了一图一乐呵 刚开始我也是这样的,我是2017年在朋友的推荐下注册了抖音,刚开始那时候对抖音不太上瘾…

闲鱼上为什么会有人问都不问直接下单?

我去年卖一个荣耀90,挂的2200,最终成交2137.5元。 对方是一个高高壮壮的西北口音,要求的自取。 大概我吃过午饭,约了旁边的商场,那里有荣耀售后。 见了面,先看了手机,试了好一会儿,各种测试,没问题。 然后去了商场二楼的荣耀售后,让…

都是前端框架,为什么用 React 的人会有优越感?

都是前端框架,为什么用 React 的人会有优越感?

上家公司一直搞react,最近第一次写个vue3项目。 老板朋友来了看了下页面说:这用vue写的吧。 我:是... 老板朋友:一看就知道是vue做的。 这tm你看一眼页面就知道用的啥框架? 这感觉就是,我一直用苹果,偶尔用了下华为打电话,有…

为什么程序员们愿意在GitHub上开源自己的成果给别人免费使用和学习?

开源可以垄断。 人类最高的权力不是什么国家而是意识形态,能够控制别人的思维方式。你把你的东西开源出来了,其他人就会懒于思考,在这一个思考上使用你的方式。 比如容器编排,经过了K8s后谁还会去开发那些奇奇怪怪的编排手段,直接用不就行了。形成了…

国外有没有像国内闲鱼这样的二手平台?

国外有没有像国内闲鱼这样的二手平台?

在当今全球市场,二手电商正迅速崛起,成为全球消费者购物的热门选择。很多国外的消费者,特别是那些 注重可持续和环保 的人群,包括富裕的消费者都经常购买二手商品。对电商卖家来说,进军二手平台是个很好的创收机会。尤其是在美国, 美国二手物品交易平…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。