※ 引述《neo5277 (I am an agent of chaos)》之铭言:
: 我是从 .NET 起家的
: 之前一直都在写网站跟服务,前端就是angular 跟 传统jquery
: 感觉电商上的流程跟环境都小小的跑了一圈。
: 自己对于打造出一个可用的产品越来越有想要尝试的感觉。
: 多方研究下觉得游戏这块可以说是一个完全体。
: 不管是单机,还是网络营运,在技术上可以说是整合了目前所有我能想像的到的
: 软件技能,以及非软件能力,也因为是从.NET 大概会先从 UNITY开始吧。
先分清楚 你是哪一种
1.喜欢玩游戏
2.喜欢做游戏相关技术
3.喜欢开发游戏
4.希望有一个游戏产业的工作抬头
5.希望能有一个知名游戏的工作抬头
6.希望能在游戏产业讨饭吃
7.希望能在游戏产业站着还能把钱挣了
从问的其他问题看来我觉得 偏向2.
那么这些问题多半都是电脑图学这门课可以回答.
所以其实去大学旁听就是正解.
以下是碎碎念
最近的体悟是 游戏软件是一个一不小心就很容易做出反智系统(Anti-Pattern)的专案.
以往所认定优秀的软件系统都是在需求稳定的情况下开发.
所以可测试性/可延展性/稳定性等等才随之而来.
在游戏软件传统开发的做法是:
做一个系统,让数值人员填表来扩展.(一行数值代表多一种怪物/多一种武器/多一种道具)
在这个系统开发之始,软件人员必定会问清楚,这个系统的极限(功能)在哪里?
砲弹是直射,雷射,抛物线,是撞击即伤害,还是爆炸后才伤害.
"可是" 系统完成后之后数值人员填表就"不会"超出这些类型范围
也就是说这个系统无法填表填出"让玩家觉得惊讶"的跳脱设计.
也就是说当系统完成或上线后的一个月后,
设计人员说要加"遥控飞机(Drone)"型的武器.
因为原先并没有开这个规格,所以就无法经由填表产生这样的功能.
软件人员抱怨归抱怨.
给出的答案就是下一版版更 把这个类型的武器
再"实作"(从某种程度看来就是 hard-coded) 到 游戏里面.
这件事情(超出原先设计规模)重复几次之后,code就会烂到不行.
因为原先在设计系统的时候没有想到要做成这样.
(同时也因为营运端需求来的通常是ASAP,最好不要更新就能做到.
玩家在论坛上的建议也真的都是最好我点餐完一个礼拜之内就有.
可是瑞凡,苹果审版本最短也都要两到三天)
每次当从这个时间点回头看每次开始做系统时候的规划,就会觉得当时年少太过天真.
所有的游戏引擎制作团队都会讲到一个反智的经验谈:
引擎/函式库 是结果不是原因.
多半都是在专案中先做出这个功能,
然后历经多个专案之后才把这个功能拆出来标准化,成为引擎工具.
衍生出来的一个悖论是:
有了引擎的帮忙,或是当引擎提供了某项功能,
代表成千上万的游戏可以快速实装这个功能,代表军备竞赛的标准又往上推了一层.
有了引擎事情不会变少,时程反而会因此变多,
因为工具加大了效率,要求或标准反而会再提高.导致目标更加远大.
共勉之