[可视化编程] U3D Playmaker 开发的游戏 -【炉石传说】 Unity【可视化游戏设计】 【第一章】...

查看:9959 |回复:146 | 2015-7-3 12:45:25

您需要 登录 才可以下载或查看,没有账号?注册

x
U3D  Playmaker 开发的游戏 -【炉石传说】 Unity【可视化游戏设计】  【第一章】
BD3B415E5CE14F57AC4A2212244ECCAC.jpg


Playmaker下文简称 PM  ,是Unity3D的一款插件,他有独特的魅力,可以独立做完一个完整的游戏,当然有程序的支持会更效率,更强大。
但这种开发模式能用好的很少,开发观念和传统开发差别很大。由设计师调用功能和资源去完成游戏玩法。这种开发思路的 代表作是  暴雪系列  巅峰作品 魔兽3下的 DOTA

很多使用者一直都在纠结一个问题,到底用PM做完整商业游戏靠不靠谱,有没有成功案例。
答案是  【靠谱 】 ,代表作 就是  暴雪的【炉石传说】  这是 暴雪 在u3d下 可视化游戏设计的思路延续

还有大量不知名游戏-,你不知道的在国外会很多。你也不想去一个一个分析。
是否能做成品游戏,其实是初学者或者不了解的人才会有此顾虑,当你真正了解的的时候,你会发现一切是这么合理,高效。
对的,这就是你要的最直观,最简单,最快捷的稳定的方案,一切都在你的预期之内,你需要的就是有足够的时间,把这些看似不可思议的想法 一个一个做出来。
相信没有人会对一个工具感兴趣,他只是一个工具而已,可以被很多方式取代。我们感兴趣的是 【开发方式】,而pm是这种开发方式的一个稳定成熟解决方案

876059DB0D01404EAFF28F0513ACA631.jpg
在一次暴雪的访谈中,暴雪的开发者提到过这个问题,炉石传说使用 u3d开发已经是众所周知,但是使用pm开发,并非人人都明白这意味什么。
这意味者,暴雪开发模式在unity的 延续 与 一系列的解决方案不再依靠他们传统而又复杂的编辑器,而是适合u3d下面的一套简易化解决方案,并且你可以在u3d商店下载到一样的工具
那么, 炉石中pm的比重是多大,起到了 什么作用?咱们来一起分析吧!



先解开 炉石传说的包包  看看里面 有些什么东东  (u3d的游戏都是可以拆解的)
首先里面有个playmaker.dll   这个只是验证了,他的存在,但是运用的程度,还要继续深入分析


真是不得了啊!  吓坏了

暴雪给playmaker做了一组代号为 【Pegasus】 天马  的 action 集合库,并且很多action可以发送各种事件给程序
按照字母排序, 并且其中有注释啊!大概可以了解其用法和思路  
" "  为注释 ,不能准确翻译,暂时不翻译了!很多是内部用语
一共 62 个action, 可以看到为炉石的专有属性打造了很多行为
其中包括  英雄  卡牌  施法  声音  效果  鼠标行为 高亮行为  目标对象 金钱 时间 动画等
加上默认的action, 可以控制炉石内所有的玩家可以直接感知的事物和行为,
程序负责后台的复杂技能逻辑运算,和稳定性,数据库,把各种资源调配,体验效果和事件调用编辑全部交给设计师  



ActorAction         "INTERNAL USE ONLY"
ActorEliteEventAction      "Send an event based on an Actor's Card's elite flag."
ActorGoldEventAction     "Send an event based on an Actor's Card's Golden state."
ActorPlaySpell       "Play a spell on the given Actor"
ActorRarityEventAction  "Send an event based on an Actor's Card's rarity."
ActorSetVisibility          "Show or Hide an Actor without messing up the game."
ActorSetVisibilityRecursiveAction        "Sets the visibility on a game object and its children. Will properly Show/Hide Actors in the hierarchy."
AnimatorPlayAction         "Enables an Animator and plays one of its states."
AnimatorStopAction         "Disables an Animator."
AudioLoadAndPlayAction    "Loads and Plays a Sound Prefab."
AudioPauseAction     "Pauses the Audio Source of a Game Object."
AudioPlayAction      "Plays the Audio Source of a Game Object or plays a one shot clip. Waits for the audio to finish."
AudioPlayClipAction   "Generates an AudioSource based on a template, then plays that source."
AudioPlayRandomClipAction     "Plays a random AudioClip. An AudioSource for the clip is created automatically based on the parameters."
AudioPlaythroughAction      "Plays the Audio Clip in the Audio Source on a Game Object or plays a one shot clip. Does not wait for the audio to finish."
AudioSetLoopAction      "Sets looping on the AudioSource on a Game Object."
AudioSetMuteAction    "Mute/unmute the Audio Source on a Game Object."
AudioSetPitchAction       "Sets the pitch of an AudioSource on a Game Object."
AudioSetRandomPitchAction      "Randomly sets the pitch of an AudioSource on a Game Object."
AudioSetRandomVolumeAction     "Randomly sets the volume of an AudioSource on a Game Object."
AudioSetVolumeAction     "Sets the volume of an AudioSource on a Game Object."
AudioStopAction   "Stops an Audio Source on a Game Object."
AudioVolumeFadeAction    "Fades an Audio Source component's volume towards a target value."
CopyTransformAction      "Copies a game object's transform to another game object."
GetAmbientColorAction     "Get scene ambient color"
GetBoardAmbientColorAction    "Get scene ambient color"
GetHeroPowerAction        "Use the spell to find the hero power"
GetShadowColor    "Get shadow color"
GetTimeScaleAction   "Gets the global time scale into a variable."
SetTimeScaleAction   "Sets the global time scale."
HighlightContinuousUpdateAction   "Used to control the state of the Pegasus Highlight system"
HighlightFinishAction     "Tells the Highlight system when the state is finished."
HighlightShowHide       "Used to Show and Hide card Highlights"
HighlightStateAction     "Used to control the state of the Pegasus Highlight system"
HighlightUpdateAction      "Used to control the state of the Pegasus Highlight system"
iTweenMoveActorTo      "Move an object's actor.  Used for spells that are dynamically loaded."
MouseHoldAction       "Fires events based on how long you hold the left mouse button over a GameObject."
MousePickRandomAction     "Raycast from camera and send events. Mouse Down can have a rendom chance to send event"
RandomCreateObjectAction    "Randomly picks an object from a list and creates it. THE CREATED OBJECT MUST BE DESTROYED!"
ResetAmbientColorAction    "Set scene ambient color"
SetActorLightBlend   "Show or Hide an Actor without messing up the game."
SetAlphaRecursiveAction      "Sets the alpha on a game object and its children."
SetAmbientColorAction    "Set scene ambient color"
SetUberTextVisibilityRecursiveAction     "Sets the visibility on UberText objects and its UberText children."
SpellAction      "INTERNAL USE ONLY. Do not put this on your FSMs."
SpellAddTargetAction  "Adds a target to a Spell."
SpellCardIdAction         "Send an event based on a Spell's Card's ID."
SpellCardIdAudioAction     "INTERNAL USE ONLY. Do not put this on your FSMs."
SpellCardIdAudioPlayAction    "Plays the Audio Source of a Game Object depending on a Spell's Card's ID."
SpellCardIdAudioPlayClipAction    "Generates an AudioSource based on a template, then plays that source depending on a Spell's Card's ID."
SpellCardTypeAction   "Send an event based on a Spell's Card's Type."
SpellCustomActorVariable   "Initialize a spell state, setting a variable that references one of the Actor's game objects by name."
SpellFinishAction     "Tells the game that a Spell is finished, allowing the game to progress."
SpellGetActorAction   "Put a Spell's Source or Target Actor into a GameObject variable."
SpellGetCardAction     "Put a Spell's Source or Target Card into a GameObject variable.")
SpellInitActorVariables     "Initialize a spell state, setting variables that reference the parent actor and its contents."
SpellMultiTargetDebugAction    "[DEBUG] Setup a Spell to affect multiple targets."
SpellRemoveAllTargetsAction      "Removes all targets from a Spell."
SpellRemoveTargetAction           "Removes a target from a Spell."
SpellSetSourceAction            "Sets the source for a Spell."
SpellSourceTargetDebugAction     "[DEBUG] Setup a Spell to go from a source to a target."
SpellStateAction      "Handles communication between a Spell and the SpellStates in an FSM."

不会编程也做出 炉石一样的游戏 理论是可行的,但实际是不现实的,暴雪的程序强力支持了很多功能给设计师调用,如果脱离这些支持,开发也将面临低效,或者一些根本过不去的坎
这种合作和模式是非常好的,并不是说游戏设计师 搞游戏玩法逻辑,程序就不用做事了,程序需要做的是保证那些复杂后台路逻辑稳定的行为,有开发效率的 好用的模组和功能,和好用的工具
至于这些 功能拿去做了什么事情,对设计师是自由的, 一个位移的控制方案,可以解决对象位移 ,摄像机位移 ,技能中对象的位移 等等。
程序提供完整位移方案,意味 着这个游戏的所有位移都应该由设计师通过一个工具能随心控制,不再受限,不再是每个系统 都会有着反复的操作位移的程序需求。

欢迎大家在微元素的  本板块 可视化设计 板块 交流PM 或者其他 可视化开发思路


第一章   完结  待续 ....






评分

参与人数 2元素币 +15 展开 理由
oermgern + 10 【感谢】楼主分享的内容!很棒!
yuankaitiancai + 5 【喜欢】看到这么好的帖如同回到初恋的年代!

查看全部评分

2015-7-3 12:45:25  
 赞 赞 1

使用道具 登录

146个回答,把该问题分享到群,邀请大神一起回答。
2#
赞{:1_145:}
回复 收起回复
2015-7-3 12:58:45   回复
 赞 赞 1

使用道具 登录

3#
怎么下载的? 在哪里?  
回复 收起回复
2015-7-3 13:18:02   回复
 赞 赞 1

使用道具 登录

5#
带你赚币带你飞,元素里面有正妹!
回复 收起回复
2015-7-3 13:33:54   回复
 赞 赞 1

使用道具 登录

6#
立刻提起了精神。
回复 收起回复
2015-7-3 14:40:33   回复
 赞 赞 1

使用道具 登录

7#
想要成大触,天天上元素!
回复 收起回复
2015-7-3 14:42:19   回复
 赞 赞 1

使用道具 登录

8#
带你赚币带你飞,元素里面有正妹!
回复 收起回复
2015-7-3 16:08:09   回复
 赞 赞 1

使用道具 登录

9#
看完楼主的帖子,感觉自己萌萌哒~!
回复 收起回复
2015-7-3 18:08:47   回复
 赞 赞 1

使用道具 登录

10#
{:1_146:}{:1_146:}{:1_146:}
回复 收起回复
2015-7-3 18:48:10   回复
 赞 赞 1

使用道具 登录

11#
{:1_145:}
回复 收起回复
2015-7-4 10:50:54   回复
 赞 赞 1

使用道具 登录

12#
元素那么大,我想来看看!
回复 收起回复
2015-7-6 12:29:40   回复
 赞 赞 1

使用道具 登录

13#
给力!元素有你更精彩
回复 收起回复
2015-7-10 10:30:47   回复
 赞 赞 1

使用道具 登录

14#
资源发布哪家强?元素首发称大王!
回复 收起回复
2015-7-15 20:34:08   回复
 赞 赞 1

使用道具 登录

15#
资源发布哪家强?元素首发称大王!
回复 收起回复
2015-7-22 09:40:16   回复
 赞 赞 1

使用道具 登录

16#
你们大神真会玩!
回复 收起回复
2015-7-23 09:07:25   回复
 赞 赞 1

使用道具 登录

17#
爱她就去优衣库,要耍就上微元素!
回复 收起回复
2015-7-24 09:01:14   回复
 赞 赞 1

使用道具 登录

18#
资源发布哪家强?元素首发称大王!
回复 收起回复
2015-8-14 10:10:01   回复
 赞 赞 1

使用道具 登录

19#
{:1_149:}看不懂
回复 收起回复
2015-8-14 15:16:12   回复
 赞 赞 1

使用道具 登录

20#
给力!元素有你更精彩
回复 收起回复
2015-8-28 19:23:59   回复
 赞 赞 1

使用道具 登录

CG 游戏行业专业问题

PlayMaker可视化脚本节点
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表