<style>
html, body, .ui-content {
background-color: #333;
color: #ddd;
}
.markdown-body h1,
.markdown-body h2,
.markdown-body h3,
.markdown-body h4,
.markdown-body h5,
.markdown-body h6 {
color: #ddd;
}
.markdown-body h1,
.markdown-body h2 {
border-bottom-color: #ffffff69;
}
.markdown-body h1 .octicon-link,
.markdown-body h2 .octicon-link,
.markdown-body h3 .octicon-link,
.markdown-body h4 .octicon-link,
.markdown-body h5 .octicon-link,
.markdown-body h6 .octicon-link {
color: #fff;
}
.markdown-body img {
background-color: transparent;
}
.ui-toc-dropdown .nav>.active:focus>a, .ui-toc-dropdown .nav>.active:hover>a, .ui-toc-dropdown .nav>.active>a {
color: white;
border-left: 2px solid white;
}
.expand-toggle:hover,
.expand-toggle:focus,
.back-to-top:hover,
.back-to-top:focus,
.go-to-bottom:hover,
.go-to-bottom:focus {
color: white;
}
.ui-toc-dropdown {
background-color: #333;
}
.ui-toc-label.btn {
background-color: #191919;
color: white;
}
.ui-toc-dropdown .nav>li>a:focus,
.ui-toc-dropdown .nav>li>a:hover {
color: white;
border-left: 1px solid white;
}
.markdown-body blockquote {
color: #bcbcbc;
}
.markdown-body table tr {
background-color: #5f5f5f;
}
.markdown-body table tr:nth-child(2n) {
background-color: #4f4f4f;
}
.markdown-body code,
.markdown-body tt {
color: #eee;
background-color: rgba(230, 230, 230, 0.36);
}
a,
.open-files-container li.selected a {
color: #5EB7E0;
}
</style>
# 大學作品紀錄
雖然大學做過一些課堂作業與專題
但是沒有好好的記錄下來
這邊僅稍微紀錄大學四年所做過Project
## 畢業專題
大學四年實作能力展現就是在畢業專題上了
在這個階段我沒有選擇做人工智慧,或者是一些近幾年較熱門的題目。
或許做這個對未來的工作沒有幫助,但我知道這是我一直以來想要嘗試的東西,也剛好趁這個機會,有充裕的時間能夠完成一個作品。

這個遊戲內容主要是導覽校園,透過小任務的完成,玩家能夠一步步認識校園,有參考過去做類似項目的專題,就整體而言,我認為這次的專題成果可以說是相當完整。
選擇使用Unity的原因很簡單,他的社群是最大的,而且入門也相對容易,在手機平台開發遊戲可以說是首選。
原本想說能夠把製作[過程完整](https://fcuiecsfinal.blogspot.com/)記錄下來,但是後來有點懶惰,就半途而廢了,現在想起來也是有點可惜。
寫遊戲這件事情說起來容易,其中也牽扯到許多技術,這邊大概說明一下當初用到的技術內容或者使用到哪些服務
* C#
原本Unity有Java跟C#兩種語言的寫法,後來統一都改成C#了。
* Mysql

用於記錄使用者資訊與遊戲進度,因為Google有提供300USD的額度可以使用,所以這次有用到的雲端服務都架在Google Cloud上面。
* Photon
原本想說連線這個部分有沒有辦法自己用Socket慢慢搭起來,但是由於時間因素,就直接使用現成的服務,使用後覺得初學最好還是用一下現成的套件,在使用過程中才知道需要傳送那些資料和一些方法實作的過程。
另外專題我認為免費的雲端流量就非常夠用了,要找到20人同時在線非常困難:joy:
* Google Cloud
用在資料庫跟下載網頁建置,還可以把Photon Server架在上面,可以把流量拉到100人同時在線。
應該在這個時候就是AWS跟Google Cloud在做選擇,其實選擇上蠻簡單的,因為Google在台灣有資料中心,而且給的免費額度也比較高。
* AR

AR是使用vuforia這個套件去完成的,其實實作比想像中簡單超多。
通常會有體感的遊戲內容,比較容易讓使用者感到有趣。
* GPS

GPS在UNITY就有API能夠直接呼叫手機上的傳感器,原本想要多做一些GPS的互動,但主要在準確度上還是有一些誤差,最後只有做到導覽的功能與附近玩家的訊息傳遞。
最後畢業專題的評選上沒有得到上午評審的青睞,算是有點可惜的,推論結果應該是不符合評審的口味,加上是第一組上台,有些細節沒有做好,有點可惜。
但在下午的海報評選與攤位解說上,就受到老師的青睞了,最後也得了**最佳人氣獎**與**最佳專題展示**這兩個獎項。
整體而論,在結果上可以說是相當不錯,而在過程中,寫遊戲這件事真的非常吃熱情,因為基本上是從0開始,而且零零總總的code加起來破萬行應該也是輕輕鬆鬆,最後發布測試之後,回頭慢慢Debug才知道自己程式寫的很亂……
## 深碗專題
深碗專題是大三上的小專題競賽,在軟工組的三個課堂中和同修這幾堂課的同學一組,完成一個小專題
我們這組是利用爬蟲、Chatbot、Node.js、mysql架一個組電腦的網站,爬原價屋的資料下來重新建一個網頁,因為原價屋的網頁真的不太好用……
* 主畫面
這邊一覽全部功能,網頁會一步步帶你完成選購電腦零組件

* Chatbot
就算不懂也能詢問Chatbot,這邊有用到Dialogflow的功能,可以判斷使用者輸入那些關鍵字

* 選擇組件畫面
畫面都是用卡片式的來導覽,使用上非常流暢,而且容易上手

* 跑分排行
這邊是把跑分網站的數據圖表化顯示,我覺得如果之後能夠選購完電腦就能有個預跑分,應該對於常組電腦的人蠻有用的

* Q&A
這邊有整理一些組電腦可能會遇到的問題,供使用者查詢。

大二的時候其實就有學網頁了,但是還沒學到資料庫,導致基本上做出來都是偏靜態的網頁,所以這個時候就能實作出之前做不出的網頁內容,我覺得如果能夠多花一點時間把資料填入,我自己算是想使用這個網頁勝過用原價屋的DIY網頁。
最後這個深碗專題競賽的排名是第三名。
* **操作影片**
{%youtube vgIX2n9m3sw %}
## Line 通知-PTT Switch通知
這個是自己課堂外的實作項目,主要是這個時候剛入手switch,但是遊戲片的價格學生實在是很難應付得來,二手的價格比較捏得下去,但是大佛不可能隨時都出現,所以必須一直盯著版上的流動才能第一時間得知佛祖現身。

這個主要是用python爬ptt的網頁版,用heroku跑line的api呼叫跟每隔30秒爬蟲一次,網路上的通知沒辦法直接顯示價錢,自己寫的就是客製自己需要哪些資訊,基本上都能搶到頭香,真的非常實用!
## Arduino 飲料機
Arduino 算是一直都很想碰的東西,感覺用一塊小板就能完成超多事,樹梅派又太貴了,所以arduino入手相對輕鬆許多。
但是後期因為畢業專題跟同時準備研究所 只有實作出功能,沒有做機子外觀的美化有點可惜。


* **操作影片**
{%youtube tLo_Zy1LXog %}
## 3D列印競賽
這個就有點跟資工沒關係了,這是一堂3D列印的通識課去參加的比賽,印象中是大二升大三的暑假去比的,很謝謝這堂課的 張建祺 老師,免費幫我做3D列印,因為我的作品蠻大的,所以印出來的費用很高,真的是非常感謝這位老師的幫忙。
這個做的是一個投影機,利用手機拆下來的螢幕,利用燈泡與鏡頭投影出手機上的畫面,這個東西在台灣好像沒什麼人討論,大部分的資料都是從中國那邊的大神那裏找來的。


其實實際投影出來的畫面更好,只是手機拍不出效果,因為原手機的螢幕是1080P的,所以投影出來的也是1080P,這個實際上的難點在於亮度與發熱量的拿捏,如何做好散熱算是重點。
這次的競賽最可惜的地方是比賽當天不知道螢幕為甚麼壞掉了,無法做DEMO只能用圖片說明,最後的評分也因此受到影響,最後以佳作做收。
但過程真的是非常有趣,從採購零件都組建完成,非常有成就感!
以上是大學四年來留有紀錄的作品,最近有再摸一些AI的東西後續完成會再補上!!
2020/04/10