作者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/cn.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