本帖最后由 bmwmj 于 2011-1-17 22:08 编辑
3 S" b: d/ w9 b# f+ a
i& {! ^8 ^2 {2 _6 h: V) S& g中文翻译在三楼4 @, \6 U7 Y, Y& d
/ G7 q7 `3 R: c# K* P, ~$ z
Technologies Overview
/ Y5 V# Q4 v( P! O, R0 @, K
* `* `. a3 F# l F( ]. J9 ZPopCap Framework (PCF) [1]
0 r; Q/ [4 V. K+ f; y) k1 ~( Y5 l A& G9 s
This is the framework that is being used by the leading casual game developer PopCap for its hit games like Bejeweled, Zuma, etc. It was released in 2005 to public for free. However PopCap had discontinued support for the framework since May 2009. The source of the framework had been moved to SourceForge.net, an open source projects repository. [1] Users can still use the framework and need to put a credit though it is not essential. The framework is written in C++ and uses Direct3D7 for hardware accelerated rendering. It supports software rendering in order to maximize compatibility with older PCs. It has features like resource loading, memory management, XML parser, GUI control widgets and input event callbacks. Sound and music features are provided through 3rd party libraries such as BASS, FMOD, etc. Currently there's only a PC version of the framework available. But there are community ports of the framework to Mac.
6 a2 b7 b& a' T4 w" h0 L8 \( ?/ L" j1 T' g: H6 ]$ E6 W
3 y) x' [7 n, c# u9 {: F2 AFig 4: Games using PopCap Framework (PopCap Games©)2 x3 {2 c' k2 q) g& W) h
---------------------------4 n4 o# U/ B7 Q: ~" |: K8 n
PlayFirst's Playground SDK [2]! Y2 S1 h3 p: t2 x; j3 }
' H( r9 k+ X9 E" k
It is also a free framework from casual game developer PlayFirst. It supports both hardware accelerated 2D and 3D rendering. Users can use LUA language for game play scripting and laying out GUI elements. Source level script debugging is also supported using Decoda Lua Debugger [12]. Its main advantage over PopCap's Sexy Framework is that it supports both PC and Mac platforms. Localization for other languages can also be done easily using Unicode XML spreadsheet strings table.0 _; Z$ k: \# m n! d& C
1 a: |, Y7 t/ p; {$ J$ r& _, k' O* k) R, p* D8 \ k
Fig 5: Games using PlayGround SDK (PlayFirst©)) T+ R! U) Z* T6 q" S9 |; u' R
-------------------
! x0 ~# z* h/ _% c( D9 W' R" E+ rBlitzMax [3]
9 f8 w: a* {. l6 G/ O( C! D; r! u! N" O* X( C0 [. B! O ~! Z
BlitzMax is a commercial game programming language from Blitz Research. It allows developer to use a programming language based on BASIC but with a few enhancements. It is a multi-platform 2D game development language. Games written in BlitzMax will be able to run on all three major PC platforms, Windows, MacOS X and Linux. It is the successor of the original 2D game engine called BlitzPlus which is a PC only engine. For 3D game development, developers can choose another engine called Blitz3D.8 W- X. d4 Y/ q" \* Y, f7 }* v- |
6 L6 c8 c7 I9 T0 e0 m+ n6 J# i( [--------------------------------7 U+ o. P8 J) U
HAAF's Game Engine (HGE) [4]
8 v6 } e6 S) n. y. r+ v q, W7 l3 W# A8 } b" u; z( x
HGE is a powerful and easy to use hardware accelerated 2D game engine. It is a middleware to develop commercial quality 2D games rapidly and easily. It is built upon DirectX 8 using C++. And thus only Windows platform is supported. It has no support for scripting, networking and threading.
0 N1 t5 m5 n. s$ }7 F* D
/ X$ b5 C" o2 F% |9 `2 I) |
& \; ?1 [: p+ q7 ?, L Z- p. |6 C3 q--------------------------------------6 s: I8 _# \" _7 C
Fig 6: Games using Blitz2 G+ X2 |/ V3 f) b; O. i' p
(Voodoo Dimention©, Grey Alien Games©)5 S! m) t! T! o7 A& l) U% `. p/ D) k
+ d9 |' E4 [6 ~! J2 UIt has support for GUI controls but doesn't provide a tool to edit the layout. But it provides two great tools for game development: Particle Systems Editor which allows editing visually all the parameters of 2D particle systems and Bitmap Font Builder which allows creating ready to use bitmap font from any font installed in the system. The engine itself is free and open source but the sound library BASS [22] that HGE uses is not open source. The developers will need to purchase a license for BASS to use in commercial applications.* d% W' \, v' M$ d0 h
2 o4 T. U) G9 | _& J
9 ]0 U8 d2 }. v9 xFig 7: HGE Engine Architecture [4]* q* h( N* Z, Q, w: K1 s
* R; P [: W( T4 F. ^' C
. S% f! j+ T! ]& i7 u0 qFig 8: Games using HGE (Big Fish Games©)
- U: i3 D8 {; i! _( X-------------------------------------$ `: p; G5 }* g4 l0 Q
PTK 2D Game Engine [5]
! m6 a. h* r! H! K) L
$ x! z% K# f, ]" `# OPTK is a multi-platform 2D game engine with 3D capabilities built around OpenGL or Direct 3D accelerated hardware with a possibility to create 3D multi-platform games with OpenGL. It was designed with simplicity in mind and written in C\C++. It doesn't have GUI widget features like in the PopCap framework but the decision to choose this framework over PCF would be its multi-platform support including PC, Mac and Linux platforms.
" v! |- _1 f# e+ |, ^* A6 J! d0 r, _/ Y) Q
--------------------------------
$ S# ]$ N* j, y5 v# S) aXNA Game Studio [6]
, T! _0 e# p, T; R/ J9 {7 X% `$ W9 C8 c! B' P* y9 N
Microsoft XNA Game Studio is a set of tools based on supported versions of Microsoft Visual Studio tools that allow students and hobbyists to build games for Microsoft Windows, the Microsoft Xbox 360 video game and entertainment system, and Microsoft Zune. Microsoft announced the latest version 4.0 of XNA Game Studio at GDC 2010 which added support for Microsoft's upcoming Windows Phone 7 Series. To publish on the Xbox 360 the developers have two options, which vary based on budget and experience. For the Indie, XNA creator's club premium account is needed to publish and sell games on Xbox LIVE Marketplace. However, to distribute commercial Xbox Live Arcade and disc-based games, developers need to be an approved Microsoft Xbox 360 developer.
7 B% j6 ?/ {2 `. r0 W8 ?! Y5 a; |------------------------------------------( w5 E, q- Q' a @& a+ B- v X
Unity3D [7]8 f5 M& E8 j3 |& H
0 n0 u# o5 K' ^& ]2 z4 QThe first version of Unity had been available purely on the Mac. But the company released the first version of Unity for Windows with version 2.5 and it suddenly opened up Unity to a much wider development community. In October 2009, at Unity's annual "Unite" conference, the company announced Unity 2.6 and announced Xbox 360 support, and declared that the indie version of Unity would now be free. Just before GDC 2010, Unity announced Unity iPhone 1.6, which adds .NET 2.1 supports for the iPhone version, reduces the binary size of applications by up to 25%, and adds in the core networking features of other versions of Unity, allowing the developer to offer multiplayer game play over Wi-Fi or 3G. Over 100,000 people have downloaded and installed Unity, and more than 600 applications have been published to the iPhone app store using the iPhone version of Unity.[14] Unity 3.0 which will become available in summer 2010 will include a unified editor, source-level debugging, and a deferred rendering system. Unity is also announcing availability of Unity for Android, iPad and PlayStation 3 in addition to the current available platforms for the web, Xbox 360, Wii, and iPhone. / ~- j. j7 ?2 P- G9 W5 |+ k
! H! K! N# G/ D% Z7 R
Fig 9: Games using Unity (Freeverse, Inc©, EnerCities©)
; S/ X! u( D& X' _* T1 J( ~$ R. H; R8 L
----------------------------------------------5 [# n0 c4 \+ l6 B
Torque [8]5 J: W' X- J; P; x" Q9 o* d
8 D$ ]' J% w- vThe Torque Game Engine (TGE) is a modified version of a 3D computer game engine originally developed by Dynamix for the 2001 FPS Tribes 2 and is currently available for license from Garage Games. TGE is no longer available since the 3D engine of Torque family has been superseded by Torque 3D. Torque engine is available for almost all major gaming platforms including Windows, Mac, iPhone, Wii and Xbox 360. The engines from Torque family specialized separately for 3D and 2D games. For 3D there are Torque 3D, Torque for the iPhone 3D, Torque for Wii, Torque X 3D for independent Xbox 360 developers and Torque 360 for licensed Microsoft Xbox 360 developers. For 2D there are Torque 2D, Torque for the iPhone 2D and Torque X 2D. Latest publishing and distribution service available from Garage Games is the web publishing using their latest 3D browser plug-in technology called Instant Action [25]. Developers can license this technology to make and deploy 3D games playable inside the web browsers.' e4 X; G2 y% e
* P- ? ^2 n/ l7 T& ~; J- Y
---------------------------------------" V: j6 r$ X6 \+ k$ K
Unreal Development Kit (UDK) [9]
# e6 E' q- m7 z" Q2 E( H b6 n$ y, Y3 c! F0 x
UDK was released in November 2009 as a free PC edition of the Unreal Engine 3 (UE3). UE3 is the engine that powered the AAA games like Gears of War 2 and Unreal Tournament 3 and Rocksteady's Batman: Arkham Asylum. Though UE3 also supports other platforms including PlayStation 3 and Xbox 360, UDK is currently only available for PC. With the release of UDK, developers can now use it to create and release non-commercial Unreal Engine 3 games for free. However, developers who want to create and sell commercial games, Epic Games state in their licensing such that: "If you are creating a game or commercial application using UDK for sale or distribution to an end-user or client, or if you are providing services in connection with a game or application, the per-seat option does not apply. Instead the license terms for this arrangement are US $99 (Ninety Nine US Dollars) up-front, and a 0% royalty on you or your company's first $5,000 (US) in UDK related revenue, and a 25% royalty on UDK related revenue above $5,000 (US)."
( |/ C+ G, ^/ B- S( S: Y, N, D% n- `8 Z! W
-------------------------------------------------4 Z- _( X# q4 S! A) e" w1 s- V
Gamebryo LightsSpeed Casual [10]7 K+ U0 J- k( S0 [
" x& t: t$ E; U: }Gamebryo LightSpeed is the newest technology from Emergent Game Technologies delivering the professional technology for start-to-finish multi-genre/multi-platform game development. In 2008, the company announced Gamebryo for Casual to support the growing casual gaming market. This is the same engine and tools that are being used by AAA game developers in the past. Its multi-platform support includes PC (DirectX9 and DirectX10), Xbox360/XBLA and PS3/PSN. The company provides customized license model based on the specific budgets and timelines of individual developers but MMOs are excluded from this program.
' ~/ l0 U5 z' c' h
: j* p- A- [5 Q5 |' q. l: @-----------------------------------------
/ C$ @$ w4 u4 O4 F" X! \6 J- qAdobe Flash CS4, Flex and AIR [13]
& e9 q( U1 V1 g- I) U& ^" T' L( h% i2 n# A: B9 c9 y+ I
Adobe Flash CS4 is an artist-friendly tool to create interactive and rich media application for both desktops and devices. It is a great tool for prototyping. Developers can even embed Flash in C++ using a 3rd party application called F-in-box [15]. Adobe Flash Player is a cross-platform browser plug-in which is currently deployed over 98% of Internet-enabled desktops and Adobe AIR is a cross-platform runtime for building rich Internet applications that can be deployed outside the browser and integrate with the native operating system. Flex is a free, open source framework for building and maintaining expressive web applications that deploy consistently on major browsers, desktops, and operating systems. The Flex framework is the foundation of Flash Catalyst and Flash Builder software. These tools and frameworks build up is known as the Flash Platform. Its support for social applications like Facebook makes it the most promising choice to create social games. - ?# g% |9 u) s4 b) D
4 F" c6 _6 G* V8 BFig 10: Sample Flash based social games" y* }) s# i. J a2 b: p! L
(Zynga Game Network©, PlayFish©)! h0 i* ?, F* Z$ }! L
5 g- ?; v8 B; ?% j1 T
--------------------------% G0 e! l6 e. P0 A+ p3 a! m
Java [20]6 h5 R- }6 o& S) l) c+ q* I4 P
$ b! u4 A4 h1 r) O ?
Java is a programming language and platform released by Sun Microsystems in 1995. It is the underlying technology that many applications like utilities, games, and business software are using. Java runs on more than 850 million personal computers worldwide, and on billions of devices worldwide, including mobile and TV devices. [21] It has supports for basic 2D drawing. It does support 3D with an external library called Java3D API. But projects using Java3D are mainly academic and scientific visualization works and there are not much proven commercial games using this technology.
; O1 y. L7 {: o% ?& f1 D
$ g. X8 S& i7 @; W# _0 |& p3 m% x0 T0 E
----------------$ p# c' _; k1 C7 s
-----------------
: n, J0 X9 x+ @6 k: \4 zReferences
1 H% E- k% v& _, V; u- V5 C( Z- ~3 b. C7 T3 G+ O
[1] http://sourceforge.net/projects/popcapframework/9 I9 }0 X* r1 d" {. J: n% W1 d
7 o" J, W- Y7 {/ L$ f
[2] https://developer.playfirst.com/home
" M+ N% V0 n! h* h7 O }
3 O2 U+ b6 Y! m+ D! P$ G( }[3] http://www.blitzmax.com/
! r5 C. ~, M" G. f8 F
; I: [3 y8 _' r( {1 }, N[4] http://hge.relishgames.com/
5 j7 V" A: X1 s* X7 P) s; ~& `$ c1 |2 N0 N
[5] http://www.phelios.com/ptk/1 N; W, @) f- o) s' U
( Y# U6 s" w" S' Y
[6] http://creators.xna.com/" q: Y8 m0 Y% |) P/ f; l
- Y0 m6 C S* c" ~& y[7] http://unity3d.com/
: e3 E+ ?, _$ i d% Y- A* q; O; @+ c$ ^# D- }2 r8 B8 B, t# m
[8] http://www.torquepowered.com/, d7 J/ B/ u" ~; V+ k _
! g; a* x" D( S7 ]2 A) r[9] http://www.udk.com/
- E5 K2 n; ~2 T, Q+ k0 G+ E- H2 {1 J( r7 G# v- @" r
[10] http://www.emergent.net/en/Gamebryo-LightSpeed/: E2 c6 i, P; t B0 \
' W( _! i' q! g5 M# F" F4 s5 G/ r
[11] IGDA - Casual Games Technology Survey9 B/ q* T5 F {. }# h8 M5 {
; i7 [% f, ?5 n4 }: |. C4 _4 p
[12] http://www.unknownworlds.com/decoda: G' A6 n$ O" k* J1 i" t7 r
e9 \& T1 j" @: m; @: p
[13] http://www.adobe.com/products/8 p1 V6 _0 O( o) F4 O6 U
% a. r) F% D i6 Y5 o) p[14] http://unity3d.com/gallery/game-list/4 f I& R5 x U; V3 `
: W, q2 O& ]8 m. b[15] http://www.f-in-box.com/5 J% Y$ U: s5 U% `2 U5 [! g; U- m
2 J7 g& ]+ l+ r2 |8 n+ R
[16] GDC 09: Overview of Tools & Engines by David Fox+ ? f$ V$ j, v/ H, M, T
2 I% a) s* t# H( W6 E
[17] http://www.statowl.com/plugin_overview.php( q Z9 ^' S2 c& k# _) k9 n4 f
+ \2 V; I0 P m% q
[18] http://www.adobe.com/products/player_census/shockwaveplayer/5 L7 {4 A1 ]. l' t' I
; r4 C; V. i m/ x1 r$ h! k[19] http://blogs.unity3d.com/2008/03 ... plugin-penetration/
' O: b: J5 o0 L
9 c+ R/ T9 N' q* J0 N: Z6 B v6 K[20] http://www.java.com/en/; ~( U; m! x9 l
' X. M1 x- w e3 b( [6 L9 G
[21] http://www.java.com/en/download/faq/index.xml z$ j0 m0 t, N& q$ j
8 N' H: ?! B" m0 s# N4 h q[22] http://www.un4seen.com/
6 S7 Q; J! h- Y: T8 b$ M* s! Y% o, G
[23] http://gpwiki.org/index.php/Game_Engines
6 @( a# W' i2 X- e4 f& P. |) M8 V. c' {* U
[24] http://en.wikipedia.org/wiki/Usage_share_of_web_browsers: ?& R8 _( j5 |2 y5 y& p, o
# }# n# O7 H0 N) v, S) a
[25] http://www.instantaction.com/( q, f! ]8 Z) k% {
9 R* [; g( m3 S c# Q' T4 T5 X[26] http://en.wikipedia.org/wiki/Usage_share_of_operating_systems1 o3 x; E$ p! p
e+ D; S# t4 ~( o! m0 \. ^, s' o[27] http://blog.nielsen.com/nielsenw ... obalfaces_mar09.pdf* E" [3 r* ~/ P, Y- G& ?
2 U& G* Q5 u5 o" d, |[28] http://www.facebook.com/press/info.php?statistics/ }0 w9 Z. ]0 v) e$ g) w
' o2 p/ }' b$ ~7 n1 x3 |9 P3 ]
[29] Keynote - Apple iPhone OS 4 Event - April 8, 2010
' Y6 E3 ~3 y1 m' H) w4 j
) N, V D& u5 T[30] http://148apps.biz/app-store-metrics/ |