作者southp (肥仔压路机)
看板GameDesign
标题Re: [请益]请问该如何入门制作三消合成类游戏
时间Sun Aug 18 01:41:30 2013
※ 引述《hungta19 (cactus)》之铭言:
: 想请教各位前辈,想自己制作一款基本的三消合成游戏app,像是triple town或是brave
: smart这两款游戏的方式,希望像brave smart六边形的游戏操作,我该如何选择适合的
: 游戏引擎以及学习资源呢?
: 最後是希望在平板电脑上玩的游戏,作业系统不拘。
提供给原po个不同点的看法,基於你C++只有上过99乘法表的前提
『绝对绝对不要从C++开始入手』
我也建议其他无程式背景的人,如果想开始做游戏,良心建议你从Unity或GameMaker
或Flash这类工具直接开工就对了,会建议从C++开始的十之八九都是程式出身的人,
我就是这样出身的人,我知道这是我们熟悉的方式,但我认为这是不实际的方法。
C++是个General purpose的语言,从来都不是为了游戏而存在的,
你为了做一个可能很简单的三消方块游戏,结果先花个把月学会C++基础,然後再
花个一个月左右学会Cocus2D之类的source-level engine,学会怎麽deploy到你
想要的平台以及一些coding上的眉眉角角,然後再去实作你想要的游戏,
接着再因为经验不足,跟排山倒海而来的resource leak等问题奋战...
告诉你,除非你全职在做,不然这不是做到花儿都谢了,连你家隔壁的榕树都谢了
用上列现成的工具呢?认真学的话一个月内就能完成雏形了
除了很快有成果,你还可以很快知道自己对做游戏到底是不是真的有热情
---这很重要,多数人都知道自己喜欢吃美食不喜欢烹饪,但很多人都很爱玩游戏
就以为自己喜欢做游戏。
programmer会说:对,从最底层开始做会花很多工夫,但这样才能
练就真功夫。但我个人认为,现在早就不是做游戏和写程式一定要绑在一起的时代。
你不用担心缺乏所谓『紮实的基本程式功』做不出好游戏
Spelunky最早的版本是用GameMaker做的,作者Derek Yu是美术出身
Battle Heart是Unity做的,那两夫妻我记忆中应该是Flash美术出身
做Temple run的那夫妻好像是动画师,2代也是用Unity做
...等等等,我再列下去根本就有洗板嫌疑了
那这样会少学到东西吗?不,你反而会更快速熟悉现在做游戏的工具、流程和
许多游戏制作的重要观念,从C++开始刻,什麽时候才能熟这些东西?
那什麽时候会需要开始写底层的code?
如果你把工具用熟,发现它提供的东西不够用,有些东西效能有问题
你终於需要写些底层的code来解决问题,而且你发现很想自己做做看,
到时候再把时间投下去学真的不迟,而且届时你会学得非常有效率。
现在这时代,不管是工作室还是大公司,game content几乎都是designer
和artist用工具做出来,而不是programmer从code去硬写出来的,
programmer大多数时间比较像是提供service,让designer能够实现idea
等到你实际做完,你再自问你比较想做游戏本身,还是很想深入了解各种
技术究竟是如何实现,届时你就会更了解未来该往哪个方向走了
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.161.133.17
1F:→ cuteclare:总觉的会引起讨论 08/18 02:17
2F:推 KanoLoa:他要在平板上能跑,选择什麽平台都要写到不少程式,避不了 08/18 02:33
其实这也是我建议用现成工具的原因之一,现在大多数跨平台的game engine都是
选好发布平台,按一下deploy就可以生出可以在该平台上跑得package了
3F:推 GenialPP:Unity千秋万载,一统江湖 08/18 02:41
5F:推 FSVDFS:推 08/18 10:42
6F:推 doomleika:推 08/18 10:48
7F:推 raincole:我没记错的话 Derek Yu 大学念的是CS吧,虽然他自称美术 08/18 12:05
8F:→ raincole:但并不是没有程式基础的,只是日常工作不是写程式而已 08/18 12:05
原来我被他精良的美术骗了Orz
9F:推 Ebergies:Unity 也不是这麽简单的, 不过确实比从 C++ 开始好太多 08/18 15:32
10F:推 NIKE74731:可以快速做出prototype最重要 从C++学起真的需要强大的 08/18 16:12
11F:→ NIKE74731:心理煎熬 在有一定程度之前 根本看不到图形化的东西 08/18 16:12
12F:→ NIKE74731:光在Console排徊的那段日子可能就要先放弃了 08/18 16:13
13F:推 lovesnake:这样的路感觉是企划之路 08/18 17:21
14F:推 FukadaKyoko:推 中肯 08/18 17:44
15F:推 azureblaze:如果只是想写游戏C++有太多可以让人挫折的地方了 08/18 17:59
16F:推 cuteclare:我个人觉的作个 三消方块游戏 其实一点都不简单欸 08/18 18:24
17F:推 chenglap:我倒觉得 Unity 一开始就 3D 这点对新手很奇怪吧? 08/18 19:42
没错,这确实是个门槛
不过我个人认为如何在不同视图中操作,安排场景是个无关其他经验的技能,
至少就我个人经验,以前用过任何2D engine的经验都派不上用场,
就是要实际进去磨过呕吐一下才搞得清楚自己现在到底在哪
如果真的有困难,新手先用GameMaker等2D engine做也是很好的
18F:→ Killercat:不过C++有个好处 就是世界观阶层很完整而且灵活 08/18 21:57
19F:→ Killercat:他大概最大的挑战就是在Rendering, 不过整体来讲 08/18 21:57
20F:→ Killercat:单单就Game Engine来说的话 C++写起来不麻烦 08/18 21:57
21F:→ azureblaze:以已经会的人来说c++写起来当然不麻烦 08/18 22:00
22F:→ azureblaze:或者说如果会了c++转任何正常语言都不困难 08/18 22:01
23F:→ azureblaze:可是新手光是c-style string击坠数就不知道多少了 08/18 22:01
24F:推 littleshan:的确用Unity做2D的三消游戏反而麻烦,我推荐Corona 08/18 22:48
25F:→ littleshan:这年头做游戏不太需要从C++开始上手了 08/18 22:56
26F:→ littleshan:但彻底学会某个语言 (ex. C#、Lua) 仍然是必要的 08/18 22:57
这提醒了我,我原文中写得好像用Unity等就完全不用写code,这不正确
很多游戏逻辑还是要写些script才能完成,只是这类script language相对容易,
加上受限於用来表达游戏逻辑,又通常被保护在game engine的sandbox中,
需要担心的事又更少,更好入门了
27F:→ cuteclare:唉~因材施教 如果原po会问这种问题 丢个Corona他应该也 08/18 23:11
28F:→ cuteclare:没兴趣去研究 08/18 23:11
29F:推 asleisureto:推连你家隔壁的榕树都谢了XDD 08/18 23:30
※ 编辑: southp 来自: 220.135.58.34 (08/19 10:49)
※ 编辑: southp 来自: 220.135.58.34 (08/19 10:50)
30F:推 Killercat:单单做游戏的话Java的c/p挺高的 C# for Unity也是 08/19 14:49
31F:→ Killercat:java c/p高在於Android =P 学习挫折感很低 08/19 14:50
32F:推 holymars:Unity很多黑盒子是最讨厌的地方 08/19 17:10
33F:→ Killercat:另外我真的不觉得C++难,C-Style char放弃也没差 08/19 18:23
34F:→ Killercat:std::string几乎可以解决大部份的情况 pointer是难没错 08/19 18:24
35F:→ Killercat:但是花点时间搞懂也还好。大魔头template....恩... 08/19 18:24
36F:→ Killercat:我相信做完整个引擎应该还是可以用不到这玩意的 XD 08/19 18:24
37F:→ Killercat:C++难大概就是这两个,虽然这两个就占掉了高等C++ 1/2 08/19 18:26
38F:→ Killercat:但是其实要搞出一个游戏引擎...根本用不到那麽多 =P 08/19 18:26
39F:→ Killercat:我个人是觉得能rely STL的话 C++已经够亲民了 08/19 18:27
40F:→ Killercat:我有个朋友从不会写C++(他写php/javascript出身)到能够 08/19 18:29
41F:→ Killercat:用Irrlicht弄出一些小东西来 其实也不过两个月... 08/19 18:29
42F:→ Killercat:当然我承认我也投注很多资源上去 XD 不过我觉得啦,趁这 08/19 18:30
43F:→ Killercat:机会把C++大多数学起来的话,真的很值得,给元po参考 08/19 18:30
44F:推 chchwy:C++最大的困难是记忆体管理跟异常多的语言细节 08/19 19:20
45F:→ Killercat:记忆体管理困难 一开始就用shared_ptr. 语言细节就看别 08/19 21:25
46F:→ Killercat:人怎麽写,说真的,先骗近来学再说,其他都是次要XD 08/19 21:25
47F:→ Killercat:我就是这样骗我朋友的 XD 08/19 21:26
48F:→ VVll:我是觉得 为了写个小游戏 去学c++ 真的太绕远路了 08/19 21:57
49F:→ azureblaze:直接学c++就像直冲大装,中期会有一段优势 08/19 22:49
50F:→ azureblaze:前提是初期不要被挫折杀爆 普通人还是先买基本装吧 08/19 22:50
51F:→ azureblaze:当然强者或热爱写程式直冲就没差 08/19 22:51
52F:推 Ebergies:热爱写程式的都早就会了... 08/19 23:16
53F:推 asleisureto:目标是游戏的话 C++应该离生动活泼画面的动态游戏非 08/19 23:32
54F:→ asleisureto:常遥远XDD 08/19 23:33
55F:→ azureblaze:所以会问这种问题的人最好不要从C++开始XD 08/19 23:43
56F:推 poshboy:很中肯实际的建议 08/19 23:45
57F:→ Killercat:是没错拉 只是个人刚好有个例子 而且觉得还不错 =P 08/19 23:45
58F:→ Killercat:不过我也赞成 两个月+有个熟手全程cover的确是很大代价 08/19 23:46
59F:→ Killercat:的确,还是从别的语言下手吧... 08/19 23:46