您的位置:首页 > 职场人生

游戏开发者面试题

2013-01-28 11:48 239 查看
游戏经验

请简述你在对应平台上所接触的游戏,对其中1-2款对你影响最大的游戏做简要的分析和评价。

*请根据实际情况选择作答

TV-Game:SQUARE公司的FF8。这是我接触到的最让我震撼的一款RPG游戏,在当时的条件下,电影般梦幻的效果实在令人倾倒。感人的剧情,特殊的双线游戏进程,绝美的CG动画,8头身的人物模型,都一改玩家对RPG游戏的一贯理念。而SQUARE公司更趁势进军电影界,开发了全CG的FF系列电影。在TV-GAME历史上,这绝对是值得重视的一款重量级别游戏。

Pc-Game:BLIZZARD公司的WAR3。作为一个有多年经历的电子竞技玩家,毫无疑问,对我影响最大的就是我所参与的电子竞技项目—魔兽争霸3 。虽然在平衡性上并不受称赞,但是牺牲平衡性的基础上引入英雄这一游戏单位,却使得游戏性大为增强。并且BLIZZARD公司所开放的游戏地图编辑器,使得游戏在玩家的不断努力之下,有了多重发展方向,让游戏的生命力更加旺盛。再加上免费的BATTLE NET系统,玩家通过联机进行对战,无疑BLIZZARD通过各种手段使得游戏的影响力远远超过其他公司的产品。

Pc-Game-online:仙境传说ONLINE。这款2002年的游戏,可以说是我最早全身心投入进去的网络游戏了,对我的影响之大不言而喻。虽然当时还没有出色的任务系统,只是单纯的打怪练级,但是游戏卡通风格的画面,唯美的音乐,手感极佳的角色控制系统,都成为RO成功的因素。而RO的商店系统,在如今看来虽然落后,但是在当时,却使得游戏环境看起来热闹无比,讨价还价的玩家们,让主城看起来极富生活气息;之后的转职系统,也使得游戏更加丰富多彩;而最值得称道的是游戏的数值平衡,非常出色,在几次更新调整以后,已经可以用极其完善来形容,玩家可以通过一定的公司甚至是专门的计算工具来衡量加点的必需性。所以我认为,这款游戏的系统可以成为后来者学习的模范。

选答题

一、脚本分析:

A:任务表分析:以下内容是某个游戏的某个任务数据,请解读逻辑结构,并进行注释。其中“□”为替换文字,不具有逻辑意义。

[quest 639]

name=□□□符印

started_by=npc2703

finished_by=npc2703

levels=32 37

next_quest=640

deliver=4440 1

qtflags=elite

quest_flags=020

requirements=q638

reward_xp=5376

reward_gold=4000

reputation=296

desc=帮□□村的□□拿回□□□符印。

completion=Excellent, mon. That's a good start to collecting the sigils we'll need to remove Trol'kalar from Trollbane's tomb.

details=在古代,□□曾与□□□帝国以及我们最强大的对手——被称为“□□□的□□□□□”的□□□□作战。□□□□总是挥舞着□□□□剑进行作战。在古代语中,□□□□是“□□杀手”的意思。$B$B然而,现在□□□□子孙的势力已大不如前了,他们的要塞也已经变成了废墟。$B$B□□□□剑是由几块符印保护的,这些符印现在都在□□堡的幸存者手中,我们必须获得它们。$B$B□□□组织拥有第一块——这一块应该就在他们驻扎于□□□的那群人中的某个人手里。

incomplete=Have you located the first sigil yet? It is most likely carried on the person of one of the Syndicate agents in Stromgarde.

zone=45

//precompletion=Have you located the first sigil yet? It is most likely carried on the person of one of the Syndicate agents in Stromgarde.

B:AI脚本:以下内容是某个游戏的某个怪物所调用的AI脚本,请解读逻辑结构,并对内容进行注释。

namespace eval BHN_Boss {

variable timeline [ clock seconds ]

variable timediff 3

proc CanCast { npc victim } {

variable timeline

variable timediff

set now [ clock seconds ]

set mobh [GetHealthPCT $npc]

set spell_list "22539 23364 22687 20623 18431 17646 17131"

##############################################################################

# NPC Say

#######################

set spellid [lindex $spell_list [expr {int(rand()*[llength $spell_list])}]]

if {$spellid == 22539} { Say $npc 0 "Burn! You wretches! Burn!" }

if {$spellid == 23364} { Say $npc 0 "I'll swap you from these grounds!" }

if {$spellid == 22687} { Say $npc 0 "Stop healing and face me!" }

if {$spellid == 20623} { Say $npc 0 "I command death!" }

if {$spellid == 18431} { Say $npc 0 "RROOOAARRGGH!" }

if {$spellid == 17646} { Say $npc 0 "My whelps will become as powerful as I am one day!" }

if {$spellid == 17131} { Say $npc 0 "Obey me! The Broad Mother of the Black Dragonflight!" }

############################################################################

# NPC & Victim Spell Line

############################################################################

## Circle of Flame

if { $mobh == 98 } {

castspell $npc $npc 17447

if { $now >= ( $timeline + $timediff ) } {

return $spellid

}

}

## Boss Flying (remote timer test)

if { ($mobh <= 75)&&($mobh >= 70)} {

Emote $npc 254

# Landing Script Call Command

if { $now >= ( $timeline + $timediff ) } {

# Boss Landing

Emote $npc 293

}

}

## Self Heal (potion spell)

if { ($mobh <= 5)&&($mobh >= 2) } {

castspell $npc $npc 4042

if { $now >= ( $timeline + $timediff ) } {

return $spellid

}

}

## Return Else

else { return $spellid }

}

set loadinfo "Flying & Landing Boss"

set loadvers "Beta 2.00"

puts "[clock format [clock seconds] -format %k:%M:%S]:M:$loadinfo ($loadvers) - Tha-Doctor"

}

点击查看全部
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: