5th Kind Games 日本遊戲公司實習心得


前言

由於保密的問題,因此不太能講清楚工作內容,然後TGIP計畫的各家公司的文化都差很多,所以在不同公司的僅供參考喔!

這次實習主要是透過南臺科大主辦的教育部計畫得到機會的,這邊也非常感謝主辦的人員們給了這樣非常難得的機會
(詳細工作坊過程心得可以參考: TGIP-工作坊心得)

此計畫的實習過程中,公司是沒有支付薪水的
但教育部有補助一筆還不錯的生活費,雖然自己可能還要稍微貼一點,但貼的數字大概就是你在台灣本來就需要花的生活費左右的錢


5th Kind Games

5th Kind Games目前是位於沖繩宜野灣市的小公司,由於是小團隊而且社員平均年齡也很輕,目前的環境就像是新創公司的感覺
雖然說感覺像新創公司、成員年齡也輕,但在技術上面是有一定程度的水準的,社長與社員們都是有一定遊戲開發經驗的人士!
公司不像傳統 IT 公司在比較高壓嚴肅的氣氛下工作,雖然感覺公司還是有一定的工作專案壓力在
但大家比較像是積極正面的在為團隊一起努力打拚的感覺,整個Team一起成長

公司表定的上班時間為月曜日-金曜日 10-19時(含一小時休息)

實際上在公司整天大概的流程如下:

  • 09:30 - 09:50,在這個時間左右到公司,上班前要先將自己今天預計要做的工作內容先發在公司的群組上(類似上班打卡的概念)
  • 10:10 - 10:40,大家進行 Meeting,將目前專案進度以及今天要做的工作內容進行報告
  • 10:40 - 13:00,工作 Time
  • 13:00 - 14:00,午餐 Time,大家一起買東西回公司一起圍一圈吃飯
  • 14:00 - 18:45,工作 Time
  • 18:45 - 19:00,專案進度上傳,本日工作內容整理
  • 19:00 - ??:??,基本上雖然是下班了但大家都不會馬上走,包刮繼續做工作的事啊或是社員們大家出去吃飯或是在公司打電動耍廢

公司的座位是開放的空間,所以一有任何問題都是直接找對方討論,或是幾個專案成員一起馬上開會討論
在公司群組上也須要養成隨時回報目前正在工作的進度狀況,讓彼此知道各自的狀況如何,有沒有遇到甚麼困難等等
這些都是小團隊的好處呢!

因為是遊戲公司,基本上要在公司電腦裝遊戲打電動也都是 OK 的,其他軟體就要詢問一下公司了(要記得!)
雖然我的手機網路是吃到飽但還是會降速,如果在家裡用算是只能做基本的通訊而已,到圖片影片的等級速度就慘不忍睹
所以大部分假日沒事也都會跑到公司(大部分時候公司也都會有人在),然後在公司耍廢 XD

公司也對實習生們都很 Nice,沖繩基本上是以開車為主,因此社員們也都會常常開車載我們到處吃飯或是安排出去玩的行程等等
由於我們剛開始還是會有點怕講日文或聽不懂(畢竟我日文菜到不行),社員們都會主動找話題跟我們聊,然後就中英日混雜的溝通 XD
社員們都很照顧實習生,但在工作上該要求的也會要求並不會隨便,所以實習生們也都有一個責任心會盡力去學習還有製作專案

整體實習的感覺來說很棒,公司就像是第二個家的感覺 :)


2月14日 - 2月16日

在情人節的這天,終於開始了這趟實習旅程

其實這是小弟我第一次出國,然後就直接出國半年還是有點怕怕的,而且日文又超級菜(只懂日常一些日常用語的等級)
但沖繩離台灣實在非常近,飛機也才不到兩個小時就到了(高鐵從台北到高雄都不只了)
第一次坐飛機的感想就是: 飛機在下降的時候耳朵真的是痛到爆

我們是下午四點多的飛機,到了沖繩差不多是當地的七點多(時差無感的一小時)
之後社員就直接開車載我們去吃拉麵,剛開始還是免不了一點尬聊的氣氛 XD
不過由於小弟的室友日文 N2,都靠他邊翻譯邊尬聊w

接下來的兩三天基本上都是帶隊老師帶著我們到處跑,做生活用品的採買與準備,
由於日本的房子都是空屋,甚麼都沒有,床組我們是先透過網路訂貨到公司然後社員再幫我們載到各自家中
冰箱、洗衣機…等等的家具就在二手家具店做採買,之後要回台灣的時候再統一賣回去
然後大部分的生活用品(盥洗用品、衣架、曬衣繩…),就統一在百元商店買,真的全部都日本百元有夠便宜

大致上初期採買的花費大約在3萬日圓左右,這幾天就是很累的跑來跑去準備東西,大概也就這樣惹

順代一提,日本租屋的部分看契約怎麼定,大部分是兩年約(可能也可以談調整),我們就是兩年約然後退的時候要多付一個月的違約金
在剛入住的時候要繳的叫做初期費用包括: 房子的契約、手續、保險費 + 第一個月房租
我是兩個人住 55000日圓/月 一人一間房間的房子,初期費用大約 10萬日圓,因此初期費用一個人大約5萬(這邊也因租的屋子而異)
以沖繩我們看到的房子來說,兩人大約落在4-6萬之間,一人的話也3-5萬之間

  • 附上幾張沒整理完的房子圖片

2月17日 - 2月23日

我只能說,日本的食物真的很強

由於還在第一周剛在適應的關係,大部分還是以外食為主,還沒開始自己開伙
公司樓下就是一間超市,一個便當的價格大概在400 500日幣左右,但一般的微波便當老實說跟台灣吃起來差不多難吃(就微波便當)
但只要隨便路邊的店進去吃真的都蠻屌打台灣的店的,大約在一般餐廳一份大概在700 800日圓左右

公司也在第一周帶我們到處吃,甚至吃得太好吃吃到自己都有點怕了

第一站:平價牛排(Yappari Steak)

他們平價的牛排店(1000多日圓),感覺肉就比台灣的西X還好吃了… 真的誇張

第二站:大根の花

這間店是以蔬菜料理為主的吃到飽,各種類的蔬菜料理蠻豐富的,在台灣沒有吃過這種蔬菜料理為主的店也是蠻新奇的
而且各種蔬菜料理也真的都很好吃,棒!

第三站:鐵板燒牛排(四季)

肉真的一間比一間屌,我不是甚麼很會形容美食的人,我只能說: 真d好吃

第四站:お寿司

小弟我比起肉類,其實更喜歡吃魚(雖然幾天下來我都快變得比較喜歡肉了…)
但終於讓我吃到壽司了!!! 原本在基隆吃的生魚片就大概是我吃過的極限,這邊的魚肉真的是刷新三觀阿…
芥末也跟台灣化學的不一樣,真正山葵的芥末很香而且不會有嗆鼻的感覺,真的好ㄘ

第五站:夢丸

在正式實習開始的第一天晚上,歡迎會吃的就是這間有名的燒肉店:夢丸
好吃到我連照片都只拍了一張,這等級的燒肉老實說還真是第一次吃到,吃東西的胃口都要被養大了呢…
肉的味道跟感覺真的完全不同等級,然後在跟社員們開心聊天的情況下真的是滿滿的幸福感

我們的租屋處到公司基本上只要不到五分鐘的距離,因次都是走路上下班
如果要去比較遠的地方都是以公車為主,但日本的公車其實也不便宜,一段車資大概就是要160日圓往上
司機基本上都會等大家完全坐好才開車,這點比台灣安全很多
日本的公車在上下車處是可以兌換零錢的,而且基本上你慢慢換不用特別趕也沒關係,因為基本上日本人已經習慣了(至少在沖繩)

大部分沖繩這邊還是都以開車為主,因此平常出去吃飯或是社員要帶我們出去大部分還是都依賴社員們開車~

剛開始上班的第一周
由於未接觸過Unreal,因此第一周都算在摸引擎還有熟悉 C++ 的 API
公司基本上要求我們盡量不要使用 BluePrint 都以自己撰寫 C++ 為主
不只是鍛鍊基礎,而且似乎在於手機上執行時的優化,直接寫 C++ 好像也會比拉 BP 來的好

還好小弟以前 C++ 學得還算熟悉,程式部分上手的還算蠻快的,但摸引擎就花了比較長的時間
主要是剛開始也就是不斷的一直採坑,找甚麼東西藏在引擎的哪裡
因為有些預設的東西 Unreal 會自動生成,或是 Input 的偵測、基礎的架構等等,反正就是在不斷採坑就是了

基本上學習的過程中有任何問題都可以馬上找社員詢問,不過老實說剛開始甚麼都不會的時候問題其實也不多,就只是要花點時間熟悉
第一周其實在不斷跟引擎玩捉迷藏的過程中很快就過惹~

  • よろしくお願いいたします!

2月24日 - 3月1日

新發現,原來日本大包裝的飲料比小包裝的還便宜
大瓶類似台灣純喫茶那種1000cc紙盒大約日幣90元,大小瓶鋁箔包(400-600cc)可能差不多價格甚至比較貴(可能是方便性的緣故吧)
因此幾乎只要買飲料都是直接名正言順的買大包裝的w

再來是介紹一下沖繩特有的 Taco Rice ,似乎有點像是墨西哥餅的內餡配上飯的感覺
裡面包含:飯、高麗菜絲、絞肉、起司、番茄、辣醬,而且重點是有夠大份的,連我算是很會吃的都有點吃不下

在某天晚上被社員帶去吃了中華料理 XD
我點了碗什錦炒麵,好吃是好吃拉但其實偏普通,而且在台灣可以用一半的價格左右吃到w
不過在日本吃中華料理也是不同的感覺,然後值得一提的是台灣人念不出菜單的名字,快笑死

接下來順便附上強大室友弄的壽喜燒,有個會煮菜的室友真幸福www

上週將基本的 Unreal 稍微有了初步的熟悉後,這禮拜就直接開始新專案的製作,以邊做邊學的方式繼續熟悉 Unreal

我們六位實習生共同製作一個新的手機遊戲專案
由於我算是三位之中對於 C++ 熟悉度相對比較高的,因此第一周我大部分都再先將基本的專案架構先寫出來,然後順便將其他兩位程式的 Code 接起來
這周基本上都處於打底的階段(當然也是在不斷採坑的過程下進行),美術們也剛開始製作腳色、遊戲場景的雛型,在邊習慣公司的一些作業規範下邊熟悉工作工具邊開發

基本上公司整合上是使用 SourceTree 由於之前都是使用 Command 下 Git 指令,所以轉成用 SourceTree 基本上沒甚麼難度
公司也已經將基礎的專案設定先設定好開好才讓我們抓,大部分都是在解決我們不懂 UE 那些東西要上傳那些不用的 Conflict 問題w

然後在程式方面,公司也有一定的 Coding 規範,說實話並沒有到非常嚴格,只要你寫得乾淨有配合公司的命名原則等等都還算 OK
這時候就要回去推薦一下之前看過的這本書 Clean Code ,把程式碼寫乾淨真的很重要,而且我還有寫過心得,有興趣的可以看一下

每兩周要交給教育部的心得

正式實習開始兩週了,由於Unreal為新接觸的引擎基本上第一周都在摸基本介面與架構的熟悉,就又體認到學習速度的重要。現在各種方便的引擎或API都可以幫助我們快速的進行各種遊戲或是軟體的開發,工具與技術更新的速度非常快,因此對於一樣新東西的上手速度就顯得相當重要。

Unreal由於為了效率以及用C++當作基底的情況下,比起Unity有了更大的彈性能做程式的開發,但同時Programmer要做的事情相較起來就會變多,再加上Unreal有一些較不直觀的default設定,造成剛開始摸的時候除了要考慮Unreal程式基礎物件的架構關係,還要檢查是不是踩到引擎default設定的坑。但陣痛期過後基本上與學習其他工具沒有甚麼其他不同,就是查API、想架構、接Interface,跟一般軟體工程開發並無太大差異。

在某天晚上坐社長車出去吃飯時,社長也聊到在學過許多程式語言、用過各種不同的工具或引擎,其實基本上寫程式的邏輯就差不多是那樣,只要基本功練好、甚麼工具其實沒有太大的差別,只是各個引擎有各自擅長的項目特性而已。身為資工系實在感同身受,在學過各種程式語言、API、各種工具,但程式的撰寫邏輯基本上相去不遠,因此基本功練好其實不管是很方便但龐大或是簡單但功能少的工具都是有辦法在上面做開發的。大部分的套件的內容都是有辦法自己做出來的,因此有時候去翻翻這些工具內部的code其實也可以讓自己的程式能力(包括:架構、邏輯、乾淨……)以及未來學習新東西的速度都能有很大的提升。

這周在辦公室辦了烏冬(うどん)大會
在辦公室裡從麵粉開始手做烏冬,雖然過程其實蠻累而且有點困難,可是跟著社員這樣玩的過程體驗也是蠻開心的 XD
最後做出來的麵其實有點不像烏冬,像台灣牛肉麵的手工麵,太有嚼勁了一點w 不過還是很好吃la


3月2日 - 3月8日

本周來介紹社長帶我們去吃的家庭餐廳,名字我忘記了w
台灣比較少有這種在日劇或動畫裡面常出現的家庭餐廳
社長解釋,家庭餐廳基本上是沒有限時間用餐的,所以常常會有學生來念書或是大家開會聚會的場所
大概就類似台灣有些學生會在星巴克看書,或是上班族討論開會的那種感覺

價格上套餐加甜點在1000出頭日幣,小弟點了個鐵板豬肉定食 + 抹茶冰淇淋的甜點
連我沒有很愛吃甜點的人,都一下子就嗑掉了(忘了拍照了QQ),日本食物真的無敵

本周的進度主要在於角色物理的開發以及動畫的配合

這問題其實一直以來都困擾我蠻久的,尤其是判斷時機點的問題
在遊戲引擎中,碰撞的偵測或是重疊觸發任務、動作等等的偵測
都很容易因為物理的連續造成重複的偵測到,持續的發送訊號讓其他部分很難好好的控管
每一個物理或是動畫的判定條件就很難寫的很完美(所以才會有很多遊戲都有一些奇怪的判定)
目前就是不斷的微調跟動畫配合,再加上對於程式碼架構乾淨的要求,在這裡就花了非常多的時間進行調整修正
在過程中也有不斷的詢問社長的意見進行不一樣的判定及調整
又體認到城市真的要好好的寫乾淨,要找 Bug 要改需求才能在相當快的速度進行調整

然後我想加強我的日文溝通 QQQQQQ

蠻喜歡公司中午的時候大家一起做在公司地板吃飯的時間
不知道日本的公司都會這樣還是只有我們公司的文化
在邊吃飯邊聊天的過程不只慢慢訓練日文能力,也會培養大家之間的感情,聊聊台日之間的差異,蠻開心的~

本周跟跟社長玩了幾場 LOL www (上週也有)
在一個超級不習慣的鍵盤、滑鼠,以及還沒調過的設定,沒辦法改福文(剛開始完甚至沒有閃現、點燃、重擊)
這遊戲根本 Hardcode 模式,而且又好久沒打 LOL 感覺差超多,而且心態有點太 for fun
幾場下來就變成不是在戳就是在C,超級不穩定ww


3月9日 - 3月15日

來了一個月了 手機的食物照越來越多 其實有這麼一點的罪惡感XDDD

超好吃そば 我覺得日本洋蔥真的很合我胃口

とんかつ 類似炸豬排定食的感覺
我點的這份是里肌 + 腰內 + 蝦子 每種都很好吃 份量也頗大
順帶一提問了一下社員 とんかつ跟かつ丼的差別
かつ丼是炸豬排蓋飯,印象會是吃比較快相較起來比較便宜的
とんかつ比較像炸豬排定食,完整的一個Set、豬排跟飯是分開的,印象會是慢慢吃比較高級一點點的

しゃぶしゃぶ溫野菜
涮涮鍋,台灣也有這間店、雖然沒有在台灣吃過、但吃到飽的肉感覺就是爽

日曜日到了AEON(Shopping mall)做生活用品的採買
這次終於買了小桌子以及電鍋、估計未來煮飯的頻率應該也會比較上升
中間順便晃過Game Center,發現賭博性機台還真的不少,而且還沒有年齡限制 這點跟台灣差比較多XD
之後稍微嘗試了日本的娃娃機、講實在話比台灣的簡單太多了,可是一次就要100或200日圓、實在有點花不下去,所以只有試玩看看而已
可能是因為前幾天天氣都很差,今天出太陽所以商場的人真的是蠻多的,感覺不到武漢肺炎的防疫感XD

目前專案遊戲的雛型已經慢慢OK了,這周先將動畫跟物理的判定弄得比較OK好後就開始轉手製作比較系統的東西
首先將所有的遊戲物件都寫成自動生成的,使得場頸不再需要一個一個將物件拉進去
再來在寫Mesh, Anim Loading的時候遇到了比較多的問題
最後歸納出比較好的方法,應該是用Data Table去存Asset的Reference,然後進遊戲的時候用LoadSyncronize的方式為比較好的解決方法
但在建立的過程中又需要將C++全部製成BP,又花了許多時間去做程式碼的修正,這個禮拜的工作就差不多做到這裡

每兩周要交給教育部的心得

正式在公司上班也開始一個月了,專案的內容開始不斷的增加的時候也要慢慢開始遇到程式碼的乾淨以及架構越來越複雜的問題。

Unreal的開發不像Unity只要將各個Script直接掛上場景中物件的Component這麼簡單,很多時候你寫的程式碼本身就直接代表著場景上的物件,必且在這個物件上所有Component之間的關係都要自己管理,再加上遊戲機制、UI、Camera….這些其他物件,整個遊戲的程式架構以及場上物件的互動就會越來越複雜,在每次增加新的程式內容進來之前,都要先好好的考慮一下整體的架構是不是有維持住原本設想的樣子,程式碼是不是有維持乾淨整潔,這也是不要挖坑給未來的自己跳。

這邊有幾個建議推薦給大家,我自己的習慣是會先將要新增的內容或是與別人合作的接口都先開出來,確定各段程式碼的互動關係以及架構後再開始填填看各個Function裡面要實作的內容,這樣不只能先跟團隊確定好要如何將各自的程式碼接起來,在寫程式碼的內容也不用擔心架構跑掉或不乾淨。公司也會有一定程度的Coding規範以及引擎本身希望你寫的規範,因此要如何把遊戲功能做出來還要符合這些樣子就需要長時間的思考以及經驗的累積。這邊也推薦大家未來實習如果公司有提供現有專案的程式碼,也可以好好的將專案的架構以及程式之間是如何互動思考一次,正大光明的將公司長時間開發的經驗給學起來,也能快速的提升自己的實力~

白色情人節

3/14 白色情人節,社長大大在幾天前把我們邀進了Messagener的秘密群組
我們打算在金曜日(3/13)的時候送公司的女生們千層蛋糕+上手寫的簡單卡片表達平常的感謝
本來打算要先在前幾天練習過,結果工作太忙直接在木曜日決戰上戰場XD
小弟我第一次製作甜點,雖然不是很難、但是比較費工一點點、要慢慢煎一層一層的蛋糕以及手打生奶油手真的很酸QQ

其實還做得有模有樣的XD

之後隔天一早就秘密的切蛋糕並裝好後上了社長的車就前往公司
在要開會之前偷偷的到地下室將蛋糕運上來後直接給了大家surprise XD
不過其實蛋糕我們完全沒有吃過w 不過聽女生們說很好吃就是了 哈哈哈哈哈哈
沒想到社長居然是這麼浪漫的人呢w

遊戲大會

土曜日的時候在公司辦了遊戲大會
開披薩趴然後大家分組打LOL
其實歡樂程度比較多拉XDDD 大家就是For fun的玩 第一局小弟玩了上路蒙多從頭到尾死不了我快笑死www
之後還一起玩了PS4, VR 又是開心快樂的一天~ 平常認真的工作、學習,假日開開心心的玩或是耍廢,我想這就是他們習慣的生活吧~~ 樸實無華的快樂XD


3月16日 - 7月23日

你們一定覺得很奇怪 怎麼只寫了一個月後面就直接帶過了
因為疫情的關係還有家庭的因素我先回台灣了 之後的工作都以線上遠端的方式完成
至於為什麼拖更拖這麼久 因為後來緊接著研究所生活實在是把每天都塞的蠻滿的 絕對不是因為我懶癌發作 應該吧
現在有始有終還是把後面的文章完成

心情

工作方面透過遠端的方式繼續完成 在工作溝通上雖然可能麻煩多了一點點 但基本上都還是能正常完成
主要後面還是都以同一個遊戲繼續製作為主 雖然是以遠端的方式但社員們其實還是會蠻貼心注意到我的心情的(很暖呢)
在邊學邊做的過程中相較於學校有許多還在研究開發的東西其實大部分問Google大神 查API或詢問社員基本上都會有答案
由於結案的時候也需要交一份不短的心得文給教育部就容許我在這後半段偷懶一下 (會附在後面)

老實說遠端工作是真的蠻無聊的 就一個人每天對著電腦雖然還有遠端的同事一直在線上但還是稍微感到有點孤單
雖然真的是蠻可惜這樣的機會的 但疫情老實說就算在日本也有蠻多地方沒辦法前往的 只能說就是緣份囉

未來有機會我一定會再前往沖繩好好的玩一遍!


心得