作者anterior (Anterior)
看板GameDesign
標題[請益] 關於從零開始的企劃學習生活
時間Mon Feb 13 03:27:02 2017
以下使用手機編輯排版不便請見諒
由於我是完全“0”基礎的情況下,想往研發企劃這條路開始著手,在拜讀了版上許多文
章、經驗後大概擬定出了三個要點:
1.學習程式基礎
-Unity
-3Ds Max
-C#
2.學習美術基礎
-PhotoShop
-美術基礎概論
3.企劃、人際、數學等
-Excel、PowerPoint、Word
-人際關係心理學
-數值、統計、分析等概念
4.一拳打死牛(X
------------------------------------------------------
‵
1.學習程式基礎
這兩天從Youtube上許多的教學影片中學習了最簡單的各程式操作,如:
Unity:建立一個Terrain並使用內建的FPS Controller在上面閒逛。
3Ds Max:利用內建的物體簡單做出了一間我家的格局,目前學到簡易的Array部分。
C#:剛開始接觸,目前還在Hello World。
------------------------------------------------------
2.學習美術基礎
目前還未開始著手,僅簡單的瞭解PhotoShop的功能後大概知道爾後在與美術溝通及企劃
書圖片的部分需要使用大量的圖層堆疊功能,並之後等程式大概有個段落後會開始學習一
些美術基礎(如色彩學等等)
------------------------------------------------------
3.企劃、人際、數學等
這個部分我想等到上述兩點先有底子之後再開始著手
------------------------------------------------------
當前目標:
我的構想是先將程式部分學習好,可以製作出一款簡單的小遊戲後,開始製作一款用於履
歷的簡易遊戲企劃與Prototype。
以目前學習Unity後想做一款3~5分鐘的FPS互動式電影恐怖遊戲,類似於P.T或Outlast那
樣,只不過這個部分由於我目前還未深入瞭解製作難度因此僅是紙上談兵,不急著構想。
而在製作企劃的過程中順便學習美術與關卡設計等等(這也是我想以恐怖遊戲為方向的原
因,較好展現出我的風格,如果沒有新穎的玩法也能從關卡中得知我的設計概念)
而等到Prototype完成後開始準備履歷並學習人際關係與數學等,以及學習企劃的深層次
方面,且利用投履歷與面試空檔重新擬一份完整的企劃書以豐富我的履歷與能力。
------------------------------------------------------
以上是我自己目前個人的規劃,能否請教版上各位前輩給予一些意見以及學習過程中的困
難點或是上述有不合理或思考的太美好的部分。
比如我現在由於一次學習三種程式,所碰到的困難點在於:
Unity簡單製作完地形後,我目前所看的影片跳到了3Ds Max建模與導入的部分,因此我又
重新找了一套3Ds Max的教學影片開始學習建模,並且也知道Unity在深入以後就是從C#等
程式碼開始設計後也開始學習C#,因此目前主要想先學習
C#的基礎,有推薦的影片或是書籍嗎?這樣子三線學習會不會容易變的雜亂無章或是能相
輔相成呢?
而我目前由於沒有任何相關經驗,能否請教各位若將我上述的程式學習部分直到製作Prot
otype大約需要多久時間呢(以一天約12小時來算)?畢竟雖然家人很支持但是我還是想
給他們一個時間交代。
非常感謝您抽空看完我的疑慮。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.230.111.232
※ 文章網址: https://webptt.com/m.aspx?n=bbs/GameDesign/M.1486927624.A.A99.html
※ 編輯: anterior (61.230.111.232), 02/13/2017 03:39:07
※ 編輯: anterior (61.230.111.232), 02/13/2017 03:43:00
1F:推 Ninja5566: 你這樣學不就是美術程式企劃三個都學? 02/13 05:02
是的,因為有看過版上一些文章,得知美其名為“企劃”,實際則是一個需要會所有事情
的工作,當然我並不是要學到專業,僅僅是需要能有基礎,方便與程式或美術溝通以及知
道自己的企劃案能否實行的能力而已
當然,最主要的原因是由於我並沒有這行業的任何相關經驗,如果我能有底子功夫相信對
於求職之路也會比較順暢。
※ 編輯: anterior (61.230.111.232), 02/13/2017 05:47:47
2F:推 cjcat2266: 這樣的技能組合在歐美稱設計師(designe)02/13 07:06
3F:→ cjcat2266: ^designer 02/13 07:06
4F:→ cjcat2266: 主要領域有機制設計、關卡設計、平衡調校、概念設計等 02/13 07:08
5F:→ cjcat2266: 有人專精一個領域,有些則是什麼都會涉獵,看團隊需求02/13 07:09
6F:→ cjcat2266: 我們家的大部分屬於後者,要會寫腳本實作&實驗遊戲機制02/13 07:10
7F:→ cjcat2266: 要會用Maya輔助關卡block mesh設計,同時調校平衡02/13 07:11
8F:→ cjcat2266: 我一直很不喜歡"企劃(planner)"一詞,感覺定位很模糊02/13 07:11
9F:推 Sidney0503: 技能半生不熟提出的想法通常是害死人02/13 08:17
10F:→ Sidney0503: 版上一直以來企劃都是笑話02/13 08:18
11F:→ Sidney0503: 你確定要來這邊問?02/13 08:18
12F:推 supertyphoon: 其實企劃就是打嘴砲啦 你把這分析打個約八十七倍長 02/13 09:29
13F:→ supertyphoon: 你就是個及格的企畫02/13 09:30
14F:推 laikyo: youtube剛好有horror 類型的教學02/13 09:33
15F:推 dreamnook: 推心態 02/13 09:43
17F:推 cowbaying: 我是覺得企劃反而是難度最高的 結果什麼都不會的通通 02/13 14:58
18F:→ cowbaying: 跑來這塊 有點無言 02/13 14:58
19F:→ cowbaying: 企劃還需要有點財務的底子 不然只會設計出做不出來的02/13 14:59
20F:→ cowbaying: 東西02/13 14:59
21F:→ xdorz87: 企劃很難,好嗎。國外的企劃不像臺灣這是entry level 02/13 21:16
22F:推 derek000: 套一句我朋友講的 什麼都會也什麼都不會..02/13 21:49
感謝大家熱情的回應,
我今天進一步學習C#過後目前對於程式中的兩個class結構有點不解
使用教材:
http://tinyurl.com/z2ghuhj
目前所寫的code:問題點使用
紅色標示
註解以
綠色標示
namespace Console_Wars
{
class Hero (第一個class)
{
public string name ="君島達己"
public void showName1()
{
Console.WriteLine(name);
}
public static void showRelationship()
{
Console.WriteLine("enemy");
// Console.WriteLine(name);無法使用於static
}
/*
//public是公開的意思,代表這個方法可以被其他類別所使用
public static void UpdateA()//method
//void Update() 缺少public的公開性將無法跨class運作
//Hero.Update 缺少static的靜態性將無法使用
{
}
public void UpdateB()//method
{
}
*/
}
//console程式
class Program (第二個class)
{
public string name = "Phil Spencer";
public void showName2()
{
Console.WriteLine(name);
}
//靜態的method(function)
//static 靜態的
//void 沒有回傳值
//string[] args 參數,引數
static void Main(string[] args)
{
//Hero是類別名稱
//HeroA是物件名稱
Hero HeroA = new Hero();
//產生一個HeroA物件
Hero HeroB = new Hero();
//產生一個HeroB物件
// Program HeroC = new Hero();
//(不可執行))
HeroA.name = "ABC";
string lower = HeroA.name.ToLower();
HeroA.showlower(); (主要問題點)
HeroA.showName1();
HeroA.name = "平井一夫";
HeroB.name = "Phil Spencer";
HeroA.showName1();
//呼叫物件的方法
HeroB.showName1();
Hero.showRelationship();
/*
Hero.UpdateA();
// Hero.UpdateB();//由於UpdateB缺少static因此無法執行
HeroA.UpdateB();
*/
/*
//string 代表物件的型態
//str0 str1 代表物件的名稱(可自定義)
//"456" "七八九" 代表物件的內容
string str0 = "456";//產生一個字串物件
string str1 = "七八九";
float dist = 123.456f;//產生一個浮點數(有小數位)變數,
數字後面需要加f
int age = 23;//產生一個整數(沒有小數位)變數
//WriteLine是Consle這個類別的static method
Console.WriteLine(str0);//一句敘述
Console.WriteLine(str1);//一句敘述
Console.WriteLine(dist);//一句敘述
Console.WriteLine(age);//一句敘述
Console.WriteLine("abc");//一句敘述
Console.WriteLine("123");
Console.WriteLine("xyz");
//"abc" "123" "xyz" 為字串,存放資料用的
//Program.Main(null) 呼叫
*/
-----------------------------------------
目前問題癥結點在於:
我使用了
string lower = HeroA.name.ToLower();
解出一段可以自動切換成小寫英文字母的程式,
並將其結果顯示於lower
而我開始研究如何show這個lower的內容
但是我利用
public void showlower()
{
Console.WriteLine = (lower);
}
並將其放於class Console_Wars(第一個class)
卻導致由於沒有於該class設計lower的定義便無法執行
若在第一個class中對lower進行定義後,如:
public string lower ="EDF"
則在其後會直接覆蓋掉之後轉譯的lower
而放在第二個class的案例中則是直接導致後續程式碼全部error
並發現到似乎是不能使用string的方式來寫
因此我的問題點在於:
是因為
string lower = HeroA.name.Tolower();
這種寫法的問題
還是我這個project的結構導致
因為我上網搜尋了一下之後發現似乎是要改用foreach來寫
(關於返回值目前還沒有了解)
※ 編輯: anterior (61.230.111.232), 02/14/2017 00:58:53
23F:推 rhox: 對阿,企劃都是打打嘴炮而已02/13 23:17
※ 編輯: anterior (61.230.111.232), 02/14/2017 01:05:19
※ 編輯: anterior (61.230.111.232), 02/14/2017 01:12:38
24F:推 juicefish: 1.call function時代字串進去 Hero.showName1(lower)02/14 01:10
25F:→ juicefish: 2.修改name後call function02/14 01:11
26F:→ juicefish: HeroA.name = HeroA.name.ToLower();02/14 01:11
27F:→ wannasaynone: code建議還是扎實的從基本學吧02/14 01:15
28F:→ juicefish: 剩下的可能要學完fuction多玩幾次才比較懂(?02/14 01:17
非常感謝juicefish大的回答,不過因為現在時間有點晚,因此我會等到明早在來嘗試研
究
而也謝謝wannasaynone大的建議,我目前是僅先以瞭解Unity與Code之間的關係,在剩下
兩個影片學完之後我會從頭開始學習C#這門語言
不知道這樣的方向是正確的嗎?
再次感謝兩位前輩與上面許多前輩們的指點
※ 編輯: anterior (61.230.111.232), 02/14/2017 01:31:05
29F:推 shiftsmart: 我覺得以你自己想做的Prototype來學會比較好 02/14 03:14
30F:→ shiftsmart: 像是想做攻擊就找網路上的程式碼複製貼上再改改 02/14 03:20
31F:→ shiftsmart: 有遇到不會的再深入去學 你不會的程式部分 02/14 03:21
32F:→ shiftsmart: 就這樣子組出你心目中的Prototype 02/14 03:22
33F:→ shiftsmart: 這樣雖然程式會很醜 但是你的成就感會蠻高的 02/14 03:24
34F:→ shiftsmart: 而且也比較快給個交代給你父母 02/14 03:26
35F:→ shiftsmart: 以上是我自己的方法啦 不一定是正確的 02/14 03:38
36F:→ shiftsmart: 你跟我想做的事情很像 不過我也剛開始沒多久而已 02/14 03:39
37F:→ shiftsmart: 不能告訴你會不會成功XD 02/14 03:39
38F:→ shiftsmart: 最後祝你成功完成你的Prototype 加油嚕 02/14 03:43
39F:→ LayerZ: 沒玩過C#,不過應該差不多?y 02/14 10:11
40F:→ LayerZ: lower是class中Program中定義的local var 02/14 10:14
41F:→ LayerZ: 若在第一個class中對lower進行定義後 <-- 02/14 10:16
42F:→ LayerZ: local var在離開定義的範圍之外就找不到了 02/14 10:19
43F:→ LayerZ: ...我在說啥,等等 02/14 10:21
44F:推 laikyo: HeroA.showlower(lower); 當然 方法需增加string型別 02/14 10:52
45F:→ laikyo: error提示 Null reference 對吧? 02/14 10:54
46F:→ LayerZ: 我回在下面=w= 02/14 10:59
感謝以上的前輩們的指點
首先謝謝shiftsmart大的建議,
我目前剛好學到關於public的用法時機,
大概瞭解到遇上會有修改可能的情況下盡量不使用,
那麼如果爾後如果我成功當上遊戲企劃時,
就能預先設想哪個部分可能會需要修改等等,
並傳達給程式員們(不知道這樣理解有沒有錯?)
因此目前想先以瞭解遊戲整體程式結構,
之後便會考慮直接從想做的prototype類型來參考
(今天有大概上Youtube找horror tutorial,有相當豐富的資源)
關於laikyo的解法,
影片剛好正準備學習到這個部分,
我等看完以後會開始研究並回報給各位的
而LayerZ大的部分我也向您在下一篇文章回覆
再次感謝以上幾位前輩的指點
※ 編輯: anterior (61.230.111.232), 02/14/2017 11:28:34
47F:推 AmosYang: 推心態 02/14 11:43
48F:推 ao6qup3: 推薦"Learn C#"這個app,SoloLearn出的 02/14 19:46
49F:→ ao6qup3: 課程安排非常棒,深入淺出,適合完全零基礎的學習 02/14 19:47
50F:推 rhox: 不開玩笑了,對企劃有興趣可以找我發的文章,推文有書單 02/15 00:24
51F:噓 Sidney0503: 問code去專版 02/15 08:07
52F:推 twoweeks: 推薦 YouTube "c#语言入门详解" 02/15 09:57
53F:推 wix3000: 貼程式碼建議用GitHub Gist或HackMD別人比較看得懂 02/15 10:17
54F:推 artpoet: 很棒呀,推行動力 02/17 15:31
55F:推 xkamome: 推心態,一起努力 02/21 12:40
56F:推 wix3000: 了不起,負責 02/21 15:15