JCSUnity概要

JCSUnity Repo: https://github.com/jcs090218/JCSUnity 前言 這裡要介紹什麼其實真的不好說, 這是我已經開發將近3年的框架. 這個是我在大三的時候開發的框架, 也算是比較完整的框架. 在閱讀此篇之前,讀者最好要先了解框架,工具箱,圖書館,等等類似的東西的差別, 在這裡就不多贅述. 在我寫這個工具的時候, 我已經使用Unity大約兩年的時間. 從中做了不少的遊戲,畢竟課業需求,做遊戲如同家常便飯一樣. 寫程式也已經邁入第三年, 那時候的我才剛學完"資料結構",“演算法”,“設計模式”. 特別是設計模式, 對於遊戲開發是特別有用的. 因為大多軟體架構都 是非常小的, 不然就是已經被前人給包好了. 例如, .NET框架, Visual BASIC/C++/C#, NetBean Graphic, 等等. 但是遊戲不同, 遊戲的架構通常再怎麼包都是非常大且複雜的. 了解底層運作更是十八般武藝… 在這些基礎之上,這個已經是我搭建的第三個框架,前面兩個我已經記不起來了. 我只記得其中一個是用AS3跟Starling框架配合. 對於寫API函式我已經算是有一定程度上的了解, 但是對於遊戲引擎的架構就有點顯得無知了. 在寫這個的時候我已經研究完了基 礎的遊戲引擎結構, 但是依然對於Unity Engine專門設計的API以及操作並不是很了解. 這使得我的工具顯得有點不是非常一致. 但是在我寫這個文章的時候, 這個工具已經大到非常難以管理的地步. 裡面的我自己寫的腳本大約400到500個. 每個腳本都是可以 獨立運行的,所以變化上由想可知是非常多的,同時也帶來了可能不必要的效能. 介紹 JCSUnity是一個可快速搭建自己遊戲成品的高完成度框架. 由於框架的設計符合 Unity引擎遊戲設計師的設計理念, 版本相容度是非常高的, 基本上每次的Unity 版本升級都不會有問題. 這個框架更是完美呈現了框架的用意, 框架能提升開發者 的產能(productivity). 本人原本需要開發15周的時間能壓縮到3周, 因為這個 框架擁有了大多數遊戲都需要的設置, 但是Unity引擎本身並沒有提供的設置. 例 如, 慢慢地切換場景, 切換背景音樂, 銀幕等比例相容, 等等. 這個框架能讓遊戲 開發者高度集中在遊戲核心上的開發, 進而發展更多好玩的遊戲. 可獨立運行腳本 接著上面所說的, 什麼是可獨立運行的腳本呢? 比如我有三個腳本, ...

July 2, 2018 · 2 分鐘 · 226 字 · Jen-Chieh Shen

Emacs vs Vim

實際上,我並不是個Emacs或Vim專家.我只是單純剛好在這兩個編輯器上面都有些了解. 如果你查看我的兩個 Emacs 和 Vim 的repo,那可能是最糟的經驗. 我秉持著一個想法, 那就是編輯器對我只是個工具. 在我對於我的工具不滿意的時候我才會選擇去修改我的工具. 不是很必要的我就不會 特地去強求. 畢竟我不是要再造一個輪子,也沒打算讓Emacs或Vim分個高下. 先說結論,我是Emacs的使用者. 但為什麼我是Emacs使用者不是Vim使用者對我來講是 有一套根據的. 首先我對於開發者的理念以及角度做了一個簡單的對比. 依照我的個人 經驗以及橫跨世界的開發者角度來看,使用Emacs的通常都是開發軟體(Software Engineering)的較多. 則使用Vim的大多是駭客(Hacker)或者從事資訊安全(Cyber Security). 其實這個道理很簡單,相信可能已經很多人都發現了. 身為軟體工程的我 會更喜歡Emacs本身設計師的理念, 他讓了軟體設計師有了強大的韌性以及空間去做最 大幅度上的修改. 因為軟體工程師的工作大多都需要在一個軟體待得很久, 這樣聽起來 是不是對某個東西很熟悉呢? 沒錯, 那就是一個Integrated Development Environment (IDE). 當然一定會有人開始要爭論Vim也做得到, 但是那並不是Vim 本身的設計理念. Vim本身是為了快速地能夠在終端修改文本而產生的編輯器. 他是為了 快速而生的, 所以在建造這個Vim的時候並沒有在修改上有其專門性. 在這方面在Emacs 面前較會略為遜色, 相反的Vim在速度以及需要跨足到其他軟體的行業來講是非常受到 歡迎的,以及近年來改的版本也越來越傾向於Emacs那樣的設計了! 但同時也衍生了一 個問題,如果Vim是為了快速修改文本,再增加每一個插件的同時,也帶來了效能上的消耗. 打開文本的速度會越來越慢. 這樣的衝突實在讓我百思不得其解… 至於Emacs本身設計 的同時就打算在這上面有所顧忌了,所以他一開始就沒打算跟Vim去比速度. 這也是為什麼 大多Vim使用者覺得Emacs太肥,因為Emacs本身的設計就不是為了速度. 他是選擇夾在類 Vim跟大多的IDE中間. 這剛好滿足了軟體工程師討厭的肥大的IDE,以及同時保留了IDE大 多數或者更棒的功能! 但是這麼棒的東西為什麼還是這麼少人用? 原因很簡單, 我個人學Emacs的時候是學 Raw Emacs, 也就是什麼都沒有開始建起來. 我特別能夠感受到Emacs它的獨特性以 及它的不友善性… 它官方的文檔我覺得做的不算好,教學視頻也不是很多, 也沒有 Vim口令那樣的設計巧思. 根本就是一塊石頭. 在這樣的情況下,有誰會想用它? 在 學習曲線這麼陡的道路上,以及大多數的功能還要自己去寫,寫之前還得要去學Emacs 它們搭建的腳本層的語言/語法(Emacs Lisp),這些都是不少的工程以及時間上的花費. 我學到現在第四年了,我依然還沒辦法很精通它. 也沒打算精通了,畢竟平時開發上我 認為比較重要. ...

December 10, 2017 · 1 分鐘 · 87 字 · Jen-Chieh Shen

最好的編輯器

WIP

November 12, 2017 · 1 分鐘 · 1 字 · Jen-Chieh Shen

生產力

WIP

October 24, 2017 · 1 分鐘 · 1 字 · Jen-Chieh Shen

一直以來製作中的框架

WIP

September 27, 2017 · 1 分鐘 · 1 字 · Jen-Chieh Shen

關於我

我一向不是很喜歡寫作以及談論自己的事情. 所以我一直很排斥去寫關於自己的事情, 更何況我誰也不是,既不是名人, 也從沒上過什麼報章雜誌. 這種情況我實在很難想 像誰會特地來看這「關於我」的文章. 至此, 我不打算寫一個太過沉長的自我介紹. 我現齡24歲, 活得不長也不短,但也足夠讓一個人回顧自己過往的經歷. 故事一開始總是悲慘的, 從小我就是個極度悲觀的人, 既容易放棄, 也不懂的堅持. 不知道失敗跟成功的區別, 從小可能有一定的天資, 以為即使不努力也能拿到好的成績。 等再大一點的時候,不知不覺成績已經是倒數了. 在自己的兄弟姊妹面前總是抬不起頭, 裝得一副無所謂的樣子。直到國中,我的人生才有了劇烈的轉變. 上了國中, 我的成績 平平, 在我爸媽的鼓勵下我決定轉往我比較有興趣的發展, 就是體育方面. 國中第一年 我參加了我們國中的網球班,在教練極端嚴厲的指導下, 再加上我天生的身體不算太好, 我依然克服了種種的考驗. 在第一次充分有了自己的專長後, 讓我了解到了「忍耐」、 「不看重」和「自信」. 最後一年, 我回到了普通的班級, 決定挑戰自己一直逃避的事情, 讀書. 當初真的很不容 易, 挑戰自己沒有興趣的東西真的很困難. 直到我在某種機緣之下了解到「人生不是都是 快樂的」和「某種意義上來說, 沒有人是愛讀書的」. 我才正式的開始了自己的挑戰, 挑戰自己不擅長的事物. 很神奇的是, 我的成績也真的爬上來了. 雖然依然不是前幾名, 但卻讓我體悟的人生最重要的事情. 「努力不會背棄你」和「領悟到成功的美好之後, 會讓自己覺得無所不能」, 這時候是我人生的最高潮. 第三件事情, 則是我人生的最低潮. 我住的是寄宿學校, 並不像國中一樣那麼自由. 我遭受了我人生第一次的霸凌. 有可能是過於自信, 也可能是過於追求完美。 盡是一些讓自己感到人生絕望的事情, 感受到了人生的不完美.更讓我學習到了 「謙虛」和「不要太計較」. 到了大學, 我開始小心的與人接觸. 去學習怎麼與人溝通, 怎麼做人更圓融. 對自己 不需過分要求, 只需要取得心中的平衡便可. 使我更加的成熟面對事情, 大學畢業了, 而我的冒險也將繼續. ...

September 2, 2017 · 1 分鐘 · 81 字 · Jen-Chieh Shen

開始部落格!

這是我個人的部落格, 我聽說了很多人寫部落格有許多好處. 所以我決定開始 寫這個部落格. 這裡我打算分享我在開發時遇到的事情,以及我認為成程序員 應該要是怎麼樣子,它們的工作有哪些, 而他們實際上又在做什麼呢?

September 1, 2017 · 1 分鐘 · 7 字 · Jen-Chieh Shen