[心得] U of Utah MEAE Engineer 第一学期

楼主: nickchu35 (尼克邱)   2018-12-18 12:45:37
program 网址:
https://games.utah.edu/
本来是打算暑假就发的
结果拖到现在才来lol
当初在这个版找到了读 EAE 的学长
可惜今年新生没有台湾人
所以想说来分享一下硕士第一年经验
提供对这领域有兴趣的人参考
因为这个 program 相对还算很新 (刚过十周年)
所以每年的课上法有可能不一样
不过他们重点是着重在分组 project experience
我是 Engineering track
第一学期的课有三个必修
1. Game Design
2. Rapid Prototyping
3. C++ Game Programming (这个不同 Track 不一样)
只对程式课有兴趣的可以直接跳过去
1. Game Design
有两个老师
上一届是全部人同学听两个老师讲课
我们这届变成分成上下半学期 (下一届变成只有一个女老师教了)
先跟一个老师再换另一个
其中一个老师比较学术
会配合一些论文定义什么叫 play 什么叫 game
另一个老师是 UX 专业
但课上也没什么讲到太深入的 UX
通常上课有一半时间都是在作各种活动
例如在讨论平衡就让大家自创脚色然后互相对决
胜败数越接近的人加分
或者是修改简单的纸上游戏 AI
让玩家可以赢但是要赢的很惊险
作业方面每周有 reading 然后要写 reflection
这个几乎都会花掉我至少半个周末
系上美国人都写很快就是了哈哈
有时候要做 game design one page document
简单来说就是分析一个游戏然后把一些主要的设计点写进一页
用意是让人一眼就可以看出来游戏的重点
重点不在 UI 也不是游戏剧情 (可选来写的游戏通常都是很老的 arcade games 也没什么
剧情就是了)
而是游戏机制跟一些 aesthetic
我觉得收获最大的是写 good snack bad snack
自己挑游戏然后写他们的优缺点然后配一些照片或影片说明
一开始都会满好写的但到后来就会感觉大家都把游戏用光了 lol
或者是坏的很难写
因为 bugs 或 glitches 不算
必须要是他们做的游戏机制
可能当初团队觉得很好但是其实玩家都不喜欢的这种
这个能看到不同人对各种游戏机制想法差很多满有趣的
也有一些很明显就是在唬烂而已
期末考是分组做一个 Casino game 然后最后一天在教室大家互玩
赚最多钱的组或人总成绩直接升等 (B+ -> A- 这样)
所以设计的重点就是要让人会想玩还要感觉很容易赢
但是都还是要让庄家赢
2. Rapid Prototyping
这是就是分组 project 课
不断打乱重分组让彼此认识也锻炼跟不同人不同团队的合作
我这届做了五个 prototype
依顺序用的引擎或 framework 是
1. MonoGame or PyGame
2. HTML5 (大家几乎都用 Phaser)
3. Unity serious game (我们组用 oculus 做 VR)
4. Unity
5. Unreal Engine
说是说 prototype 但大家根本都是当 mini-game 在做
因为不这样的话 artist, technical aritst 根本都没东西可做lol
每组结束后都要自评跟互评
最后打成绩的依据基本上就是这个而已
过了一学期才发现专业度跟沟通能力真的会被锻炼出来
学会怎么接受批评或者是东西被砍掉
还有怎么跟 producer 沟通进度跟 artist 要素材
或者是自己先用 placeholder 这样
做的过程中一定会看好几次天亮 (通常都是 engineer lol)
不过大家都才刚进来这个 program 都很有干劲所以还满热血的哈哈
3. C++ Game Programming (这个不同 Track 不一样,就是专业必修的意思)
老师非常强!
前 Disney Avalanche 工程师现在在 Epic Games 做 Unreal Engine 跟 Switch 的接口
简单来说这门课就是用一学期做一个 Heap manager
因为跟 OS 要 memory 的速度太慢
所以要会自己写一个 heap manager 自己分配
毕竟每个游戏的 allocation pattern 都不一样需要的配置可能也会不一样
我有一件很意外的事情就是系上同学程度落差真的超大
有一个印度人已经自己写过引擎 C++ 超强
一个中国女生也很厉害
但也有从来没碰过 C++ 也不知道 pointer 是什么的人
让我很困惑他们的标准是什么 lol
对这两个极端的人来说这堂课的帮助都有限
而我觉得我是正好在中间
有办法跟得上但又能学到很多东西的程度
这个老师非常注重 const correctness 所以经过一学期真的是再也对 C++ const 一点困
惑都没有哈哈
不过他有时候讲课声音会慢慢消失不见...所以很多同学会睡着 lol
我是坐在第一排他面前然后狂灌咖啡才撑得住的
第二学期的课两个必修一个选修
我的是
1. Game Project
2. Game Engineering I
3. Virtual World (选修)
1. Game Project
这个我们那时候争议超大
因为很多人近来都是预期会像历年可以花一年半做我们的 Thesis Project (毕业论文/游
戏)
结果他们改了政策变成先做一个一学期的再做一个一年的
他们的想法是很多人都没有做这种大型 project 的经验然后一下从 prototype 那种两三
周的规模变成一年半
大家其实都不知道怎么规划然后浪费了很多时间 (?)
印象中是这样不知道有没有记错 lol
所以有不少人反弹
然后这也造成了一个问题就是这一学期做的游戏都 over scale
因为大家脑中都还是想着一年半的游戏然后只是把它规模想小一点
五组中大概只有一组是 scale 抓得比较好的
但可能也是因为他们 engineer 程度受限没办法做太难哈哈
不过还有另一个大家不太 ok 的点
就是系上要求大家的游戏一定要能跑在任何 mobile device 上
他们是说这样的话去 GDC 可以非常容易的 demo 给其他人看
但从结果来看根本没几个人真的有在 GDC 给别人看游戏
我很天真地跑去 Playstation 问他们能不能让我们的游戏发在 PS4 上
他们也非常大方地安排了一个会议室让我们整组跟他们的 developer relation 谈
不过最后还是得到很官方的回复
就是去上网找 form 填哈哈哈
有点扯远了
反正就是要求游戏要能在 mobile 上玩但也没规定做 mobile game 就变成像我们组做一
个游戏然后支援键盘摇杆跟触控
花了很多时间在一些不是那么重要的东西上
其实这门课要过的规定是大家的游戏都要成功发布
结果到期末因为各种问题都没人发
只有一组最后暑假想办法弄到了 google play 上面
我们组是最近重新开始动工昨天才把 steam works 加进去
简单来讲就是个看组员吃饭看自己想做多少的一门课
个人对于用一学期的规模来衔接其实觉得还不错啦
学到很多
也知道大家一学期大概能做到多少
就比较好抓一年的目标
2. Game Engineering I
跟上学期同一个老师
不过这学期就是着重于游戏引擎的各个部分
multi-threading, smart pointer, Lua data file, AABB collision detection,
intel intrinsics 还有一些有的没的
然后期末 project 是用自己的引擎做一个简单的游戏
老师提供一个简单的 Direct3D rendering library
基本上作业都不容易做
但是真的学到很多
而且老师跟 TA 都给很多时间补作业没有什么硬性 deadline
所以整体不算太难的课
直到需要想办法 render, detect collision 然后跑在不同 thread 上面...
到期末都还一直出一堆奇怪的 bug 不知道是发生什么事
老师还有一堂课跟大家分享他各种面试经验
让大家练习白板 coding 然后讲怎么样面试
问题跟上学期差不多就是很容易睡着哈哈
3. Virtual World
教 Level-design 的课
整学期大概做 3 个 project 吧
可以自己选用 Unity 还是 Unreal
1. 去找一个现实中存在的区域,把他做成游戏中的一块 level ,基本上的理论就是看这

http://www.gamasutra.com/view/feature/184783/the_metrics_of_space_molecule_.php?page=1
我去 SLC downtown library 然后做了那周边的区域,把一栋最高的 wellsfargo 大楼当
成 weenie
2. 玩一个自己喜欢的 2D platformer,分析他的 level,然后自己想办法重制一个类似

但是一开始不知道要重制只知道老师叫我们玩一个所以我就玩了 Hollowknight
后来觉得有点后悔因为他的 level mechanics 不太多重点是在 metrovania
有的同学选 super meat boy 之类的就不错
3. 找一个喜欢的游戏一样分析然后重制
我选了 Uncharted 4 然后把一些游戏里面的部分组合起来 lol
花了很多时间在做 climbing 跟 grapple hook 哈哈其实变得有点像在做
gameplay......
上述几个 project 做多做少都是看个人
然后课堂上其实讲课不太算多
有时候会看影片
我是觉得学到满多的
基本上大概这样吧
好像打得比预期多一些lol
对这 program 有兴趣的话欢迎问我
作者: simon1202 (LooSnake)   2018-12-18 13:33:00
原po又帅又强
作者: indiroia (姊就是宰辅)   2018-12-18 14:29:00
推认真心得 但原PO玩马车都作弊
作者: m4a123 (11)   2018-12-18 14:36:00
感谢分享 <3
作者: Mariobrother (马力欧兄弟)   2018-12-18 15:06:00
感谢 program 分享
作者: human000123 (浏海长到?)   2018-12-18 16:22:00
感谢分享
作者: kuo880402 (小龟)   2018-12-18 22:26:00
感谢分享
作者: bob71735 (Lai)   2018-12-19 06:50:00
推祝爷
作者: d92001314 (鸡蛋)   2018-12-19 16:26:00
谢谢分享!!
作者: jasonoscar88 (Csan)   2018-12-19 18:37:00
推推
作者: vqawa (拜托)   2018-12-20 05:31:00
作者: paulloxa (OracleH)   2018-12-20 13:58:00
推祝爷

Links booklink

Contact Us: admin [ a t ] ucptt.com