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

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

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

取决于几个问题。

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

分享给朋友:

相关文章

微软浏览器Edge 现已提供新的快速启动功能

微软浏览器Edge 现已提供新的快速启动功能

微软 Edge 现已提供新的快速启动功能10月24日消息 微软现已为 Windows 平台 Edge 浏览器 Canary 版本提供了一项新功能,称之为 “启动加速”,正如字面意思,它提升了 Edge 启动时的速度,减少等待时间。目前大部分…

需要做一个微信小程序项目,大公司价格太高怎么办?

需要做一个微信小程序项目,大公司价格太高怎么办?

一个小程序制作开发多少钱 构建一个微信小程序大概需要花费多少资金? 一、自主开发如果选择自主开发,这里面门道可不少。 微信小程序认证费用: 300 /年 域名费用: 30 - 80 /年 服务器费用: 600 - 3000 /年 这么一…

4499 元起的荣耀Magic7 系列实际使用体验怎么样,值得入手吗?

全是软文。。。。。。不过我买了,标准版。为什么买荣耀:屏幕看着舒服,玩游戏选择大屏,超声波指纹解锁。其它,系统、续航、充电、拍照,不是最强,但均衡下来短板都不是很短。其它米OV,IQ、一加,都看了,预算有限,米OV的小屏不感兴趣,OPPO硬…

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

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

为什么扫码支付在中国流行,在发达国家被排斥?

因为这是一种落后的技术。 卖菜的大爷花5毛钱就可以打印出一张二维码来接受付款。 你觉着这种先进么?跟先进完全不沾边的。正是因为不先进,所以才能流行。 卖菜大爷用不起一台先进的、具有NFC感应功能的、还能刷各种银行卡的收款机。 这就是现实。…

我觉得华为Mate60Pro明明配置不高,为什么还是有那么多人买呢?

我也好奇啊,所以闲聊时,我问了我们公司的副总,我说Mate60pro配置这么拉胯你怎么还买啊? 他一脸疑惑的看着我,配置?什么配置?我这手机信号挺好的啊? 我们总经理用的是去年华为出的折叠手机,花了一万多,我也想问问他同样的问题,但奈何一直…

发表评论

访客

看不清,换一张

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