Game Programming

遊戲程式設計

Making a game has always been a dream of mine. When I was in elementary school, I likes to play all kinds of video games. They gave me so much fun and left me with a creative personality. As I grow up, I want to be a game producer. Though I did not choose computer science as my major at NTHU, I still made some progress by myself.

Last summer break, I find a game engine called Unity. It is a program that is used for making games. No matters which type of games you want to make, from 3D action to 2D online card game, you could always find a way on Unity. The best part is that it is the most popular game engine, so it has numerous tutorials and many experts online who can answer my problems. And I used that summer break to make a 2D platformer and realize that it is not that easy. Unfortunately, I finally realize that it is not that easy.

The first challenge I faced is not as interesting as I thought. Although most of the part is fun, such as making character moves, drawing animation, designing UI, etc, there are a lot of boring parts. In fact, a game program is composed of many different scripts. Figuring out how every script works individually or how they work together sometimes is a tedious job. Another problem is that it spends me so much time. It costs me two days on merely a character animation, not to mention game mechanism and debugging. After two months of programming, I only got a semi-finished games without time to finish it since I need to get back to school.

This semester, I have a class called game programming. It is a class held by the Department of CS teaching how to use Unity and some details knowledge that I never think of before. At the end of the semester, we need to make our own games with our teammates and show them to the professors. The game we made is called “Get Out The City”. It is mainly about a robot wakes up with consciousness in an abandoned city, and tries to figure out how to get out and what is hidden in this city. I am responsible for player control scripts, while other team members make different scenes and monsters.

Fortunately, this time, we have more people and more time. Though it’s still not finished yet, it has potential to be a fun and interesting game. Here is the demo video of our games. Hope you enjoy it.

製作遊戲一直是我的夢想。我從小時候就喜歡打電動,各式各樣的都玩。長大後,我想當一個遊戲製作人。雖然我沒有選擇讀資工系,但我還是有想辦法找資源自學。去年暑假,我發現Unity這個遊戲引擎。無論是 3D 動作遊戲或是 2D 線上卡牌遊戲,Unity都有支援。最重要的是,它是世界上最多人使用的遊戲引擎,所以網路上早就有大量的教學和高手可以回答我的問題。在那個暑假,我做了一個 2D 平台遊戲,才意識到沒我想的那麼容易。

第一個問題是它沒有我想像的那麼有趣。雖然大部分的東西像是角色操作,腳色動畫,設計UI等等很好玩,但是也有很多枯燥的部分。事實上,一個遊戲程序是由許多不同的腳本組成的。弄清楚每個腳本如何單獨工作和協同工作有時是一項乏味的工作。第二個問題是它花了我很多時間。僅僅一個角色動畫就花了兩天時間,更談不上游戲機制和debug。經過兩個月的努力,我只得到了一個半成品,因為需要回去上課,而學期間也沒有時間完成它。

這學期我修了一門課叫遊戲程式設計。是資工系開的課,教Unity的操作方法和一些之前沒想過的用法。學期末有個final project是要以隊為單位製作遊戲給教授們看。我們製作的遊戲叫「荒城逃亡」。主要是在講一個機器人在廢棄城市醒來,試圖弄清楚如何出去以及這座城市的秘密的故事。我負責寫腳色控制的腳本,而其他團隊成員製作不同的場景和怪物。

幸運的是,這一次我們有了更多的人與時間。雖然還沒有完成,但我相信他會是一個有趣的遊戲。這是我們遊戲的demo影片。希望你們會喜歡~