Mattel F Intelli- Vision1 . Game Engine % 8 . J $ Arcade Game = ]% . 2008
1&
1979 MattelIntelli- vision1$game engine arcade game! " 2008 #2$% &' %(2 ) *+, $7-id Software3Quake'DoomEpic Games!UnrealValve Source T#6@."/"0.12) 3) 4 5 6A
$ 76 89 .!39 : 5 ; "7-'$ ,55+B # @ 5 )e")< e=
$ * > 78 ?@$" ?) $A+
B ?C1
• - A !%$ • /"'#
1$Intellivision+ 16% 68%Famicom4 2 multi-billion #8" 2008'" 117# 3 id Software ididentityDidentifier id ego superego id/kidk ?I D
3 4 1
• '5 • • E! " E • (#
$ F C $ - ' < "middleware-Havok OGRE 'Rad Game Tools Granny *,5 F B / " ' G
• "A"A
• configuration management revision control' build system • C/C++/ Visual Studio '
?C++/H " <? @ *% F 4 ;R?2@ e$'I", 1 R 89 ) < ?C
1.1 #
$8 !J# )" 0 (game studio51) )6 Gengineer2 artistgame designer0 producer'"K / / ). 1 J
1.1.1
$"9'#1 ) runtime programmertool programmer 1.1 76 5
$# #! 914 /#"#$ 18! $5% - & #' /$8(gameplay4 scripting< $/ ; 5 generalistL/
M -lead engineer N ' @ 8 !E81 B 4 24A< #' )
e 8technical directorTDB . $)chief technical officerCTO CTO
1.1.2
! content is king "#$ %! 6)!&' 4 #
• 0concept artist 0 (# ( /() *68V6 D B' .5Rconcept art • "!3D modeler +I0*5+# ) ) 1 !$ @foreground modeler'2 @background modeler6 $ @0E 7 #'"K B 2 @ 05-
• texture artist textureO* )4 (*1'
• lighting artist +, 1 '
4Gameplay0 . 51 gameplay programmerGPP$engine programmer 3 $engine engineer ! 'e" 6! level modeler #environment modeler&level artist 7$( %#"K%E #8'01& '7-$ ,013 #@ character modeler ! 2 character artist 6 1"D(
• ( animator 'E7,0-,&0 01 ,)8 ,C e#8 810 $8,
• ( motion capture actor49 eAB,0)e%$, (
• sound designer ' • voice actor • composer - art directorKF *
1.1.3
game designerEP,!)! "! #BI " I E" $ "K9 Q+' - "' 1B "K 8 6 gameplay engineer70 KF@1,A! 3
e B # # writer02F0347- 8 0I1!(4%Y
-"K) e8 < 3 game director $%A $ Q% # $ # 8 $
1.1.4 @
producer
8(, ( ()P, , P 7 1<, 9 && level designer 1.2 R6 7
$ ! 8 ! / " #$ $ ! % -Naughty Dog5 G & 'I
1.1.5 E@
/ G 'IT! IT! ' "
1.1.6 %
'$%publisher/ & / -Electronic ArtsEA THQ * VivendiSony6Nintendo (/ ) KF "/ / @KF.1 "/ / -THQ 8THQ) F ! 3! "# >$%first-party developer " (% 6%- / ) &"
1.2 A
R' "( ( board game-(8&Monopolycard game- pokerO blackjack casino game- roulette slot machine5IVmilitary war game F 1 $ $game theory A @ agent H' 1 ' 9F! *Q+.1 8 1"
, . O* -!Pong Pac-Man Donkey KongQC8# 3 Theory of Fun for Game Design P Y·)Raph KosterA!7 $P,E 249 B' C [26] C' 5fun)- !1/ ! !1 5
( !F " $O**Q +# $ 2116$S P 6)3<.1(P Flash(-H1Tetris # "massively multiplayer online gamesMMOG8FA " e$)e$. 14/ ! ,/
1.2.1 )8
O* * )soft real-time4( interactive3Gagent-based 8computer simulation 1 F) 1
4 + + ! modelB9) F . Q+ - A quark1) !+ !"< Q+8 !approximation simplification/ ##%$F < 4<
3G Q Q E @ P, * % . @ ( (@ 1object-oriented (object-based<
P, )8temporal simulation+ ( dynamic I"6I(+0$ T "graphical user interfaceGUI 1(! 6" ) deadline Q;R 7 '& %%241 ,6 1%30 60 ) NTSC 10 <K" - Q. 1201 #. !>$<.1/60 1 / 9 )soft real-time system - T$ )hard real-time system. T /0 control rod11 QQ+ . $ analytic numerical- E;1 /closed form . 1 y(t)= gt2 + v t + y (1.1) 2 0 0 . independent variable64 7-1 MB("y06v0 g@6'$t4 y(t) . ! @ .1% EU;4 #. y(t +Δt)=F (y(t), y˙(t), y¨(t),...) (1.2) A5E(t +Δt)4$2.1$2 2 D 2 OD'$$t X4 Q 1 %! time step"#<- 0 9 game loop' $9 %G@ "#7- @ ! Q %" !)e7. & /'"K7-D4P force feedback 10(8 NTSC 26A 2$ " 0 59.94Hz 11(8 @ 4 10 1 1.3 A $ game engine)20+90@ first person shooterFPS-id SoftwareU Doom "A$;"" - * % art asset+E rule of play)V> / 2) 3! ! $" .1!%) </mod"#mod $ / B20+90@% - III& Quake III Arena Unreal 6mod9 8 -id QuakeC.1 !3 O$ .4W/.12 $ !3 "" )$/ " 8 / ;"" 6 !!"3 " $ # $%O &@ .'# (%-' !)( orc > & .'!4* ' "' )(.'% + .1%6 ) 7 0 )!$"+ " (# data-driven architecture.14# $"G G$ $, ! #9%@ & #5" - 7 .)A ..'" T' "1 3) $1 F.1%$ .A "( $B8!1.1)$B85 / 9!# e .@1 @T $" Apple QuickTime@E C45AS.1 )3.)$ !W @@ 6 B! '!" ; 0'@ e! " ) " 2)e21( e $ " -'9 'G$"47- $ H() @32 $( ().@9 BSPW5 !E5 . 9 9 8 " 4 5E !!! " " #!' & $!% &''7( ) %7-.1 *+ 8 6!N2 /" !'"% .11@$0 mod '(%&3 /01$ ) *+$%& !"#III$%& ,-. 1.1: " 1.4 F2 $ F # genre ! tW # $(# " MMOG W FPS + RTS$.$<3 V67-9R # * F -B D/ /* heads-up displayHUD12 G E -$ 8 K - Epic Games ! Gears of War (Spicy Horse13, " American McGee’s Grimm1'Acro Games4 Speed Star 1 J 5 12# ) 84@ X ( X HUD +, - $ 13?) ) ?) 12 1 1.4.1 @ first person shootingFPS Quake Unreal Tournament Half-LifeP'Counter-Strike 6948Call of Duty1.2) 1 ,(.8 . @FPS.1 - ') @FPS ,.G# %hovercraft14!'$ FPS.D*115 1.2: 2Call of Duty 2 Xbox 360/PlayStation 3 FPS /8725 @ '! !W/, 0/ 1' ) FPSB $ + 6" <7 874)! FPS 8- • % G*Q+ 14(hovercraft ( .@ 9 I% '<.1') 15http://en.wikipedia.org/wiki/First-person_shooter 1.4 $ 13 • Q P ('= • Q! ", • • 43 ",' #9 ! • 2-2 ' !, '#@ • @4! 64#2'9 T %death match FPS 9 G85A$12% Y1 7-() (dungeon crawl16 O$3 binary space partitioningBSP tree 1(Wportal G5(FPS 9"K ! G7-'&%occlusion culling 4$A + sectorization1, , C!"$@> $ 2 + -s("%$ 8 '#1"FPS , %CE )"&'"K 87C!$0)$ 8'!" 1.4.2 E@ platformer1( ! third person game ) $E$7 O*@ Space PanicDonkey Kong3 &6&Pitfall!' Super Mario Brothers *@64Super Mario 64 Crash Bandicoot $2Rayman 2 Sonic the Hedgehog 2 Jak and Daxter1.3ZRatchet & Clank 1' Super Mario Galaxy) . * 17 B .1 /,/ Ghost Recon!"#Gears of War$1.4%&'" Uncharted: Drake’s Fortune 16(8A! '9)BL(6C# 0 17http://en.wikipedia.org/wiki/Platformer 14 1 1.3: Jak and Daxter 1.4: 'Gears of War 1.4 15 8 ability'4,locomotion mode181 )$ avatar' !, "4FPS #, 8 6FPS$ 1 %%' &, 1FPS 2! '2NPC 2 ' ( 8 9 2)!$'& , 8 - • ", % @ (A'K )4, • 4 • * 82< 2 DS PC PC $ 8 5 • 1 5E, E 1.4.3 fighting game % P! Soul Calibur Tekken$1.5* 19J ) 1 • , • = • ') • ()*+ #(, ;1)! ! +!world subdivision! ) 9 *" 18#$%,),%,-& 19http://en.wikipedia.org/wiki/Fighting_game 16 1'() 1.5: 33Tekken 3 PlayStation !- 3Fight Night Round 31.6 * > 1 • G[shader Q subsurface scatteringSSS' • , • ('/Q -Heavenly Sword U I )> ! brawler20)! ( ' 20!$ < beat ’em up!"KF) #1 "+$# %$ 1 hash and slash 1.4 17 1.6: 31 3Fight Night Round 3 PlayStation 3 1.4.4 racing game21G1"#K 6 ) 5 Q sims[E -Gran Turismo arcade #(- $San Francisco Rush#Cruis’n USA22Hydro Thunder 4 street racing"!) ."%kart racing< $# 9 e & 2-(%Mario KartX Jak X ! Freaky Flyers < !6$ '%7 - e& #CWBA! D"K 68 .*1%23 "")'FPS 8", 'FPS Q ) #"9 "")#%#6%# ) e. $ %&! A vehicle%#'5 8& &' G',' &1.7 95 Gran Turismo 5!0 ()& 21!"#4 RAC841$ 22(8A Cruisin’ USA 23http://en.wikipedia.org/wiki/Racing_game 18 1"D $# 1 • 9 ! C G%@27-9 O*4 " 86 • O* ! sector)7 4 !".visibility determination# #' C1'A3"K8! • ! Q02 ! (A • -@%#%1)'"K$$C!45 E 1.7: 5Gran Turismo 5 PlayStation 3 1.4.5 ) real-time strategyRTS .1 2Dune II: The Building of a Dynasty1992! GWarcraft \Command & Conquer@Age of Empires' Starcraft ) 0 battle units + 1 oblique top-down view24 () .* %25 RTS ! "# 1$% ) &9'/(RTS) 24*RTS 9 +isometric projection,3 120◦-1.8 25http://en.wikipedia.org/wiki/Real-time_strategy 1.4 19 (grid-based ( /cell-based + 9orthographic projection26) - - 1.8 $RTS@, RTS < 9 '*+8) . N9 1- 7--1.9 4\ 03 RTS @3- • %$!9B 2#9 ! • 692 height field terrain(' • =! ! • P,1" !W'1! 2!".#\! #!'$# 1.8: !CAge of Empires PC 26%8C&3$ C&'N &6 C&perspective projectionPC& 5 20 1"D 1.9: D3Command & Conquer 3 PC 1.4.6 @ # massively multiplayer online gameMMOG$#7' ( Neverwinter Nights 27')6!EverQuest $+World of Warcraft ': Star Wars Galaxies MMOG!" %! 4A)e +persistent world 9 +& 8 *"$+! %$"* 6 MMOG E6# MMOG #MMO MMORPGMMO MMORTS'MMO W MMOFPS()e #.,*%281.10#2$ MMORPG$+ MMOG; !)e!*I +3 )/< IP voice over internet protocolVoIP 27 ) (19911997AOL4Neverwinter Nights MMORPG)21 % Bioware'/! (2002/ 28http://en.wikipedia.org/wiki/MMOG 1.4 # $ 21 8295AMMOG7 L8<.@ ) gmicro-transaction)e7'/ )4.@ 8! ' MMOG MMOG$( "K 1.10: World of Warcraft PC 1.4.7 E 3# 6H7- • E'sports30 E' !"#-$6 • 0 role playing gameRPG • Qgod game-<#!Populous 31 Black & White 29(8'86@MMOGB"K# e# 8dedicated server1 $2&%'689Bpeer-to-peer " 8MMOG8 $ 6 @2P, 30(8A"4 SPT841 $ 31(8A Populus 22 1 D • Qenvironmental/social simulation- Q(SimCity Q The Sims • puzzle-H)1!Tetris • "- • ( - Pogo • K < $" ("!" "% # $ (( ! " $343. 1.5 1.5.1 $* %FPS 5&Castle Wolfenstein 3D 1992 )PC 'id Software \ ( id Software/Doom Quake 2Quake II '3Quake III )A )1 Quake !4 !!4 K - Medal of HonorPC " • 3id Software • SiN32Ritual • F.A.K.K.2Ritual • ,Medal of Honor: Allied Assault2015 & Dreamworks Interactive • Medal of Honor: Pacific Assault K ( <$' IValveSource !4/ <# 2@. A 328Sin 1.5 23 ! "@ !C )@ # " 2 @.id Software $33 ! 2".1Visual Studio #$@ !%$ % ) &$/! <.1 % ' @ -%! " &$) !#"( @ 1.5.2 1998Epic Games ) !Unreal FPS+' FPS'! $*+ !2@UE2 !$ 2004 Unreal Tournament 2004UT2004 <,!4- mods G !' !3@UE3 $( .!' !/ !0#6 #-#1 !'( shader2 $ Kismet34!'%! ! 5) UE30GEpic Games80 V Gears of War !$1"6@')# 8!$ &/ 1 1"#E" 4B35 !$5 A*0 prototyping# .405&6' 3D<. 40"K* !/ 2Unreal Developer NetworkUDN'9 !$ '"KR#36 UE2& .96'pUT2004&7.1 0mods 8UE2"K 'UE3& !9$39 . UE3 35' /' &0(@7+37 P ( ! $'* $$ $Beyond Unreal38 33http://www.idsoftware.com/business/techdownloads 34#8Kismet 4 358 /< " (61$ )< 36http://udn.epicgames.com 378200910Epic Games/ Unreal Development KitUDK )".9(2 01(!$Q4mod <49F"3" UDK UE36@' #UE338 (UDK49@/ !@UnrealScript@3C++&!4 9Windows 6http://www.udk.com/ 38http://www.beyondunreal.com 24 1 D 1.5.3 Source Valve9 /Source$05 2Half Life 2 80 2 /OHL2: Episode One/Two ! 2Team Fortress 2Portal)5 TheOrangeBox Source ". 39 1.5.4 XNA Game Studio XNA Game Studio (/ .( -YouTube XNA(C# ' Common Language RuntimeCLR XNA / Visual Studio !Visual Studio Express Visual Studio G@ %art asset / .1XNA PC'Xbox 360 !/ .1 Xbox Live 40 ) 9 XNA 4 1.5.5 E / . 1 8! %"!# ! *$) . ' %&" - Eric Lengyel(2001'Terathon Software#/C4 41(!.( ?C4*< 42 1.5.6 /* RTS (Westwood 39 id SoftwareSource 3.)3 "CryTek CryEngine 3 CryEngine 3* # !"# CryTek+@ . http://www.crytek.com/cryengine/presentations 402008/XNAXbox Live Indie (Xbox Live Marketplace$ . / .XNA Creators Club Onlinehttp://creators.xna.com/ 41http://www.terathon.com 42http://www.terathon.com/wiki 1.5 25 /SAGE Naughty Dog %Crash Bandicoot & 'Jak and Daxter'! % Uncharted: Drake’s Fortune< PlayStationPlayStation 2PlayStation 3 /!,/4 . )3-"Source' ( !- 1.5.7 #* '!// #open source)#$#@.$(/ " % "6* .1 @%!31licensing79GNU. "GNU General Public LicenseGPL GNU4."GNU Lesser General Public LicenseLGPL43GPL39(@8(< GPL @ < K 9 % 9K 3 P # . 44 ? ]4 - OGRE $A % *OGRE' *%, heads-up display HUD6 $ graphical user interfaceGUIO*2D overlay 1' - /bloompost-processingOGRE OGRE 8 " 1 K • Panda3D ( ! Python " # !"#*'Q$ • Yake (OGRE/ $ • Crystal Space % A • Torque45'Irrlicht &%9 43'(Gnu Public License6Lesser Gnu Public License 44 '(!http://cg.cs.tu-berlin.de/˜ki/engines.html! ?.)http://www. devmaster.net/engines/ 45'Torque & ".3 "@ %)