找回密码
 立即注册
查看: 930|回复: 14

[笔记] 同样是用 C# 做游戏,为什么 XNA 非常失败,Unity 却成功了?

[复制链接]
发表于 2021-3-17 19:53 | 显示全部楼层 |阅读模式
同样是用 C# 做游戏,为什么 XNA 非常失败,Unity 却成功了?
发表于 2021-3-17 20:01 | 显示全部楼层
unity跟xna完全就不是一个东西,如何比较。
unity提供了完整的界面,托托拽拽轻松撸个小游戏,又赶上了移动浪潮,而且还免费。
xna就是个代码框架,其他什么都不管。
门槛越低,越傻瓜化的工具,在铺量的阶段才有绝对优势。
C#根本不是重点。
发表于 2021-3-17 20:05 | 显示全部楼层
Unity 的成功始于手游(iOS及Android)。
XNA 支持 Windows、Xbox 360(仅能发布给每年付99美金的会员)及——Windows Phone
发表于 2021-3-17 20:13 | 显示全部楼层
用破逼mono能成功unity完美诠释了在对的时间点对的平台上对的项目...技术牛逼都是扯淡,只要没啥大问题,先占着坑再说...“你提的这个issue我们会在下一个大版本解决,噢,对,就是unity2017”.....
发表于 2021-3-17 20:17 | 显示全部楼层
XNA只提供了API连引擎都算不上,而unity3D提供了完整开发环境;XNA只支持微软自家的平台,而Unity3D支持的平台要多的多。所以2者根本不能相提并论。
发表于 2021-3-17 20:21 | 显示全部楼层
典型的小弟干活,功劳都让领导占了.没错,C#就是领导,只会发号施令(逻辑),小弟(C++)干活.
先摆事实:
XNA=Manager DirectX + library(C#)
Unity=OpenGL/ES/DirectX + framework/engine(C/C++) + interface script drive(Mono C#)
后讲结果:
1.因为Unity从易用性到功能/特性和XNA根本不是一次层次的.
2.因为XNA依托Manager DirectX,基本都是C#驱动渲染和逻辑,所以是真正的C#做游戏.所以失败了.可以看出C#不适合干驱动显卡的事.当然也有商业等各种因素原因.
3.C#易学,好用,快速上手,群众基础广.依托Mono还能跨平台.所以用来驱动Unity的游戏逻辑.但真正呈现五光十色,绚烂的画面的是C++,他才是真正干活的哪个.Unity聪明的把合适的语言用在了最合适的地方.
Unity拯救了C#,C#也能写这么牛逼的3D游戏,谁说C#不能写游戏?王者农药呼你一脸.看见C#er得意的神情,我想Unity真是太棒了.
发表于 2021-3-17 20:24 | 显示全部楼层
与其用XNA去对比Unity,不如用XNA衬托一下Unity看看,Unity为何如此成功吧。
1,XNA大多时候是用来开发XBOX游戏的(当然这应该是我知识面太狭窄导致的偏见),但是Unity主要用来开发手游,而国内你可以找到几千家手游开发公司,但找不出100家xbox游戏开发公司,所以Unity在战场选择方面显然是非常成功的。
2,Unity允许用户写Shader,而在游戏行业混的客户端程序员大都有一个喜欢渲染的心,为什么喜欢渲染呢?因为渲染的事情功劳最清晰,你做了一丁点就可以拿出来装逼,结合滑坡谬误,又产生了另一个错误的观点——至于游戏玩法内容和业务么,随便来个应届毕业生就能写。XNA大多就是写写游戏玩法的,也就是这样的人认为的“应届毕业生用的东西”,所以看起来就很low。但事实是什么?99%挂掉的项目,都挂在游戏的内容玩法写的不行,导致甚至后期策划数据录入简直就不是地球人干的事情,或者各种凑效果凑出来的bug,每天这些渲染bug员(不好意思,这样的家伙不配称作程序员)都能写出新的bug来修复老的bug,因为他们压根不懂也不在乎更不愿意去理解游戏的业务写法——什么AI,什么技能框架,什么系统玩法,不就是if else么?应届毕业生都能写,我们要写的是shader!可惜,挂掉的游戏100%在渲染方面都不是不咋的,而是很渣渣。
3,Unity有个“编辑器”,我的天,这太合外行的意了,甚至egret、cocos什么都纷纷效仿。很多初级游戏程序员甚至认为做游戏和做软件一样,拖拖控件写点if else就能搞定(当然最大的区别还是shader,写shader多牛逼),想来也不奇怪,当年风靡一时的delphi不就是拖拖控件,写个逻辑么。更何况程序界的愿景正是——代码不值钱,值钱的是思想。自然地,有个图形化可视编辑器,就变得非常非常重要了,哪怕用这个做不了大游戏没关系。
4,Unity有神一样的针对性(非贬义,从一个策划角度来看,他的商业手法是对的)。先说unity不适合做大游戏,但是他做个小游戏,做个demo什么的,绝对是占优势的,因为什么?这种量级的游戏,就算你的效果都是凑得,也不会有问题,it just work,不需要考虑商业化以后太多的维护带来的业务变化,所以Unity主攻如何做好小游戏和demo战略方向没错,因为很多团队本身也就是只要做一个小游戏或者demo,去忽悠点钱来快活快活而已。Unity的针对性还不仅限于此,你想想unity的逻辑框架是什么模式的?ECS的,但是写法呢,至少到了今天几乎就是OOP的。OOP思想的ECS,呵呵,多么神奇,为什么会这样呢?这一批所谓程序员,都是学着OOP长大的,所以思想就是OOP的,ECS的抽象方式他们接受不了,如果你非要ECS写法,那就是自找不痛快了。而现在还抱着OOP不放的人,也正是那种觉得——写游戏的水平就是看shader,核心业务逻辑没什么技术含量,甚至认为横版动作游戏用物理引擎可以轻松搞定的人。这种用户的针对性,简直就是商业产品的一种典范水平。
5,Unity真正可取之处也是他的渲染,也包括他的ECS思想,可是这些东西最大的价值在于被借鉴,而不再是本身使用unity了。所以Unity要做一个看起来复杂的集成环境没什么毛病,想想为什么你见过的H5团队会选择egret而不是(甚至不知道)phaser?因为phaser看起来“就是一套api而已”,直白的说,就是逼格不够,看起来就不像开发游戏的,开发游戏的应该怎么样?至少外行看来,应该和当年的delphi一样,拖拖控件,写写逻辑,按一下三角箭头按钮就能运行,然后重要的区别是多一个写shader(看似底层编写代码)的环境。如果你要用一句中性词来描述这个现象,那应该叫——unity的产品完整度比较高,呵呵。
6,Unity在凑效果和方便凑效果的方面,可谓一绝。什么叫凑效果?就是策划设计了一个游戏,你去做的看起来就那样,但是背后完全不是游戏的逻辑——it just work。视觉依赖于逻辑,是游戏开发,反之就是典型的凑效果。就比如你要做一个放置游戏,地图完全依赖于美术做好的,角色依赖于物理和一些乱七八糟的东西在美术做好的地图上跑,而不是逻辑层在运行,视觉层将运行结果显示出来。
所以,如此好的产品思路,配合犀利的市场营销(这块我就不分析了,如果你都看不明白王者荣耀和阴阳师背后的营销策略,那也就没得说了),Unity怎么就能火不起来呢?
发表于 2021-3-17 20:32 | 显示全部楼层
同样是用中文写小说,为什么《三体》成功了, @流浪的蛤蟆 却烂尾了?
发表于 2021-3-17 20:39 | 显示全部楼层
过去几十年累计市场的示意图:北美以前游戏开发就是指XBOX

XNA在全球看非常成功,与Unity不相上下。微软的XBOX借此冲入主机市场三足鼎立,价值远远超过Unity公司的少量许可费。
而中国因为盗版和政策限制,一直没有主机游戏开发市场。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2021-3-17 20:39 | 显示全部楼层
XNA那是时代不同,顺便XNA失败???
FEZ,堡垒一直到今年的哈迪斯:你再说一遍?
顺便XNA现在改名叫MonoGame了
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-5-20 05:32 , Processed in 0.162967 second(s), 27 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表