当前位置:首页 > 每日看点 > 正文内容

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

卡卷网1年前 (2024-12-22)每日看点178

取决于几个问题。

一个是你从哪开始,同样是不用引擎。从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

分享给朋友:

相关文章

下班后可以做点什么副业赚钱呢?

下班后可以做点什么副业赚钱呢?

首先说明一下,我分享的任务不需要交钱,也不需要入群,只需要你去平台学习就可以。如果有任何让你交钱,进群的任务,请警惕被割韭菜。今天给大家分享7大赚钱副业,新手小白0粉丝0门槛0技术都可以去做,不说大富大贵,但是赚个零花钱还是可以。如果你已经...

电视参数哪个最重要?

电视参数哪个最重要?

在选择智能电视时,面板类型是一个关键因素。IPS面板以其宽广的视角和出色的色彩还原能力受到青睐,尤其适合日常观看和游戏。尽管可能会有轻微的漏光,但在大多数情况下,这并不影响使用体验。相比之下,VA面板提供更高的对比度和更深的黑色,增强了沉浸...

手机买16+256的还是12+512的好?

手机买16+256的还是12+512的好?

到底选大内存还是大存储,一直以来是很多朋友的纠结点,大内存意味着可以应用多开不卡顿,大存储则是可以存入更多文件、应用,如果两个配置价格差距不大(如0-200元),确实有点难选。 不过从实际体验出发,大存储的手机显然更应该优先选择才是。首先,...

数字人民币为什么又不火了?

我完全不懂行。我一开始以为,数字人民币,是对我银行里的每一分钱,都赋予一个独一无二的数字编码。我要用一块钱买矿泉水,它就从我的存款中随机选取一百个一分钱,组合成一块钱,支付给商家。我花一百块钱吃饭,它就随机选取一万个一分钱,组合成一百块钱,...

用wordpress做这个网站的话,需要用到哪些插件?

一个完整成型的B2C电商独立站,如果用wordpress+woocommerce搭建,最终会用上20来个插件,而且是在经过慎重筛选,剔除不必要的插件的情况下,别问我为什么。wordpress建站,插件安装多了,速度会变慢,这是常识,但需要在...

想入个键盘,想买机械的但是太贵,求知友推荐一款手感比较好的薄膜键盘?

想入个键盘,想买机械的但是太贵,求知友推荐一款手感比较好的薄膜键盘?

相信很多接触过286的90后朋友都和我有一样的体会,以前的机械键盘真的是让人头皮发麻,不仅敲击要非常用力,而且很吵。所以后面随着大家的生活消费水平的上升,家家户户都有电脑了,自然也不想再用打字来宣扬自己有电脑的优越感,基本上大家都换成了又轻...

发表评论

访客

看不清,换一张

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