Upload
emulatesu-website
View
264
Download
6
Embed Size (px)
DESCRIPTION
"Хакер (спец)" за март 2006 года - неплохой выпуск, целиком и полностью посвященный вопросам разработки игр. Из интересного - интервью с разработчиками культовой для фанатов ZX-Spectrum студии - Step Creative Group и многое другое
Citation preview
03|64| 2006
GAMECODING 6 DIRECTX 8 12 20 24 30 36 LUA! 42 46 56 62 66 76 3D- 80 FLASH 90 STEP CREATIVE GROUP 96
ii nn tt rr oo
, , , , , - , . , , , . !
, , , , . , . ? : , - . . ! , ! , ,. , ? , . . - , -? :). FallOut? (, , ) - - , . , death-mach Quake 3? - ? , , , - . , . , ,- !
! , . , - - Delphi, :). , forum.xakep.ru .
, , a l e x a n d e r @ r e a l . x a k e p . r u
6 8 DIRECTX .NET ?12 14
20 24 30 32
36 38 [] , 42 LUA! 46 52 DEAD CAN DANCE 56 , , 58 62 66
. . , , . .
AvaLANche ([email protected]) Dr.Klouniz ([email protected]) ([email protected])CD/OFFTOPIC SkyWriter ([email protected]) ([email protected])- ([email protected])
(game)land ([email protected]) ([email protected]) E ([email protected]) ([email protected]) ([email protected]) , ([email protected])- ([email protected]).: (495) 935.70.34: (495) 780.88.24
([email protected]) ([email protected]) ([email protected]).: (495) 935.70.34: (495) 780.88.24
PUBLISHING ([email protected]) ([email protected]) ([email protected])
.: 8 (800) 200.3.999
101000, , , / 652, [email protected] http://www.xakep.ru
ScanWeb, , 77-12014 4 2002 . 42 000 . .
03(64) 2006
www.xakep.ru
GAMECODING
76 TETRIS 80 3D-: 86 90 FLASH - The Office Space
SPECIAL DELIVERY
96 MADE IN RUSSIA Step Creative Group100 104
offtopic
STEP CREATIVEGROUP( )
HARD
106 : INTEL ! LGA 775 112 A-DATA VITESTA DDR2-533 DDR2SOFT
114 NONAME nnm.ru116 VPN- Windows 2003 Server
CREW
118 E- !STORY
120
, , , - . ! , ,
CD:DIRECTXDirectX 9 SDK ( 2006)DirectX SDK Symbols ( 2005)
AGL 1.1Irrlicht 0.14.0Nebula2 SDKOGRE SDK 1.0.7Torque Game Engine 1.4
Boost 1.33.1FMOD 4.03.00Lua 5.0.2ODE 0.5OPAL 0.3.1OpenALSDL 1.2.9
NONAMEAimOne Screen Recorder v1.31CUE Splitter v0.5Crypto 2.0DriveCrypt 4.20GIF Movie Gear 4.1.0Jet Audio 6.2.5 Plus VXLight Alloy 3.5.5944Miranda IM MDpack '07.02.06 New Weather v1.0Opera 9 TP 2 (en)Quiet Internet Pager (QIP) Build 7810 AlphaRight Click Image Converter 2.2.2Total Video Converter v2.4Unlocker 1.7.9
, - -p ( 7 p 2006 ) ( 3dgamers.ru):
1 CALL OF DUTY 22 P3 MAX PAYNE 24 P HP.
, Y 5 SILENT HUNTER 36 PP III7 P8 PP III9 2: Y YP1 0 COUNTER-STRIKE 1. ANTHOLOGY
p- Ozon, p -p ( ) - y p ( 3dgamers.ru):
1 P P 3: P (PRINCE OF PERSIA 3: TWO THRONES)
2 LADA RACING CLUB3 HALF-LIFE 2.
4 P : P P
5 LADA RACING CLUB6 WORLD OF WARCRAFT 7 CALL OF DUTY 28 NEED FOR SPEED: MOST WANTED9 X3: 1 0 - Y
NPDTechWorld, p- -p ( p 22 28 -p 2006 ) y p( 3dgamers.ru):
1 WORLD OF WARCRAFT2 CIVILIZATION IV3 THE SIMS 24 AGE OF EMPIRES III5 BATTLEFIELD 26 ZOO TYCOON 27 CALL OF DUTY 28 THE SIMS 2 NIGHTLIFE9 BATTLEFIELD 2 SPECIAL FORCES1 0 GUILD WARS
6 |
rrppgg , , RPG RolePlaying Game, . : - (, I - , -) . - , - :). , . ? 3D - 2D? RPG . : - , 3D RPG . , Fallout Nuclear Time, KingsBounti ( !). - Heroes 2.
:
.
.
-
.
:
-
: -
-
.
,
.
-
, -
-
: ) .
:
.
.
,
-
-
-
.
.
:
A I .
,
-
.
-
-
,
,
.
2006 , - : - , 2D-. , -. XXI , , - , ( FOR FUN). | ([email protected])
-? - RPG, ? , . : , . , . - . Dungeon Keeper, . : - -. , - . , - /new life of/ . . . , Warcraft 2000 War2, - - . - . , - :). ? . , , old_school' C&C 2. , - . - , ?
Mortal Combat, Street Fighter, Tekken ? , - , - ( ) , , , . ? :)
| 7
ffppss, , -. , , - . , . , - tacombs ( , Wolf 3D, , - ) Blood. , - - , .Pocket Hexen, Doom Quake , , , :).
:
,
.
,
(
,
) .
.
:
A I -
.
-
.
-
-
.
:
-
.
.
:
.
. , :), , , - . , - ( ) . ? :) , . , - , Pocket Pref, Open Source- Linux, - --, -, , -, AI. .-- :). -? , - AI , -. , ( -) . - , . , , ?
-. , : - - ---, ., , - ,
:
;
-
;
;
;
:
.
-
-
.
:
.
.
( ,
) .
:
-
.
?? , Managed DirectX DirectX , , .NET . - DirectX .NET, - Managed DirectX.
DirectX - 2003 . , - , , - DirectX. , C# - DirectX8. , - - . , - ( DirectX).
. - , , - , . , - , -- , -, .
- DirectX 9 , MS - Managed DirectX, DX SDK - . - , - DX SDK 9.0, - Help - directx9_.chm directx9_m.chm. - DirectX ++, DirectX 9.0 for Managed Code Managed DirectX.
DX SDK - Samples C# VB.NET DirectX . , - VB , - VB.NET , - DirectX.
Managed DirectX - :
MMIICCRROOSSOOFFTT..DDIIRREECCTTXX..DDIIRREECCTT33DD 3D-;
MMIICCRROOSSOOFFTT..DDIIRREECCTTXX..DDIIRREECCTTDDRRAAWW , 2D- ;
MMIICCRROOSSOOFFTT..DDIIRREECCTTXX..DDIIRREECCTTSSOOUUNNDD ;
MMIICCRROOSSOOFFTT..DDIIRREECCTTXX..DDIIRREECCTTIINNPPUUTT - .
, , - . , managed DirectX - .
:
MICROSOFT VISUAL C#
MICROSOFT VISUAL BASIC .NET
MICROSOFT VISUAL C++
MICROSOFT JSCRIPT .NET
. , Managed DirectX 3D-!
-. , - DX SDK, - FPS, - - DirectX, - Managed DirectX. - DXSDK\Sampl-es\C#\Direct3D\DolphinVS.
Pentium M 1.7 ( ATIMobility Radeon 9700) - FPS : 1) - C# Managed DirectX 540 FPS; 2) C DirectX 620 FPS.
80 FPS ( - 15%) . , - - - -. -, C# -
| 9
directx9_m.chm Managed DirectX
ddiirreeccttxx .NET?
MANAGED DIRECTX, , QUAKE, LINUX, WINDOWS
, .NET - MS - JAVA: ? - - JAVA?! , - .NET, MS - MANAGED DIRECTX (- DIRECTX) | AKA HORRIFIC
- . - , 15% , .
- . Managed DirectX -
, , C# VB.NET, . VB !
-, - Managed DirectX, - . - . API Managed DirectX. ?
, , Managed DirectX . Managed DirectX 9 Graphics and GameProgramming (Sams Publishing, 2004). , .
- Managed DirectX . , C# - Managed DirectX. MS, - .NET - - .NET Frame-work, , - .
. -, .NET, , Windows. - Linux, 100%.
, DirectX, . ManagedDirectX DirectX, -
COM. Linux, , - . Managed DirectX. , - , Sun, FreeBSD, MacOS, .NET, , - , .
, - . , , . - , MS - .NET .
ManagedDirectX? , , - - Microsoft. - - ATI GeForce, . - , . , -, Managed DirectX , - DirectX. , Managed,
10 |
, C#
( - MS). - Managed DirectX
GamePost
!
GamePost
FFaahhrreennhheeiitt ((IInnddiiggoo PPrroopphheeccyy))
$69.99
:
FFaahhrreennhheeiitt (( IInnddiiggooPPrroopphheeccyy)) 22000055 .. ,, ,, ,, .. ,, ,, - ,, - ,, - ..
::
Adventure
:
GGuuiilldd WWaarrss MMMMOORRPPGG - ,, ,, - .. - ,, - .. ..
::
RPG
AAggee ooff EEmmppiirreess IIIIII
$79.99
:
AAggee ooff EEmmppiirreess IIIIII XXVVII-XXIIXX .. ,, - .. - ..
::
Strategy
* * *
GGuuiilldd WWaarrss SSppeecciiaall EEddiittiioonn ((EEUURROO))
$79.99
12 |
PC NVidia GeForce 2GTS. -, . , - , , .
GeForce 3 1. DirectX 8.1. - - , - ( )., : 1., 2. 3.. ( Windows Longhorn) Microsoft DirectX 9.0c, - .
, - - , - (GPU). , Quake ? , , - -. , - GPU, - .
- , - , - , . , . - , (-). -
3D-: x, y, z , . - : , - , .. - , - (, , ).
- . - . , 25 . - . , , -
PhysX
IT, - . , . |TONY ([email protected])
PHYSX , CPU
- ( ). - , - ( ). - (,). , . ( -) , ( ), . ? , -, - . - , - . -. - .
- - . ( ), 1.4, . 2.0 - 2..
, - , . - (, ) - , CPU, ( ). - , - , () , ..
- , . - , - . : XML- VertexShader ( main). - , , , - .
, - - ( ) - , , - (-) . - : o.pos = mul( i.pos, Worl-dViewProjection ). main() (uniform) , - (Input re-gisters). , , CPU, - ( ). , - . ( ), . - - ( - nrm e2v). , ( ) - . (-). (2.0 2.) - , 2.0 (- ), , . - 2. - . , - , - , - .
- , . , . . : , , ( ) - .
- - . , . , GPU, -, , - , , - .
-. . Z- ( -), . - ? . - , - - . ? - , - .
(XML PixelShader). - , . , , - .. ( -). - . . , . - - . - , , - 2.- . () - , - . - ( ) .
| 13
1 . 4 2 . 3 . 0
( ) 8 32 224 () 16 16 () 16 16 2 12...32 32 / 4 16 16 / 2 8 10 1 1 (, ) /
- ,
IT-. - -. - PC . - , - , - () . - - . - , , -. PC- 512 , - 600 , 24- - . SLI . - . ?
, - , . - -: , , - . - Microsoft, - DirectX. ?
. - - -? . -, ? -, , , - , ? ? , : http://thg.ru/graphic/20060114/onepage.html.
1 . 1 2 . 3 . 0
128 256 512* ( ) 96** 256** 256** () 16 16 () 16 16 ( ) 16 16 16 12 12*** 32 1 1 (, ) 4 ( ) 8 8 12* , D3DCAPS9.MaxVertexShader30InstructionSlots** , D3DCAPS9.MaxVertexShaderConst*** , D3DCAPS9.VS20Caps.NumTemps
: , 1., 3.0
, - . , -, PPU (PhysicProcessing Unit). , 2005 , - , AGEIA - , - , - Voodoo 3DFx. , PhysX - , CPU. , ,, , .. PhysX. , , - AGEIA, , - , - , - . - , , - ( ) PhysX -. , 125 . , - 130- PCI PCI-Ex-press. 25 . , - 128 2.0 GDDR3-, - . - XDR-.
AGEIA - - , . , , - TSMC. $100 400. API PhysX SDK, Me-
gon NovodeX, 2005 . - 2005 , - 2006 . - AGEIA, , - . , AGEIA. - PhysX . - , $199. , -, , - AGEIA. , PhysX SDK Unreal Engine 3. 17 2006 - Emergent Game Technologies (- Gamebryo 3D). , - PhysX: The Elder Scrolls IV: Oblivion, Loki, Warham-mer MMORPG, City of Villains, Tom Clancy's GhostRecon Advanced Warfighter. - , , - PhysX.
- AGEIA. , Havok, Havok FX, - - CPU, GPU . Radeon, ATI, 3.0 1000 , , .
: Pentium 4 3 12 GFLOP, - 6 ; ATI RadeonX1800XT 120 GFLOP , , 42 . , - . - CPU GPU. , , , ATI - .
AGEIA ATI. AGEIA $400, ATI $600. , -. ATI Crossfire SLI NVidia: , , . - $1200, , , 400 .. AGEIA. , , - -. - Half-Life 2. (Havok 2) Intel AMD. , , , , -
? , - -
, ? , - , - , 2006. : Longhorn, AGEIA
PhysX, Sony PlayStation 3,Nintendo Revolution ,, -, Oblivion.
-, ?..
| 15
1.X F.E.A.R
2.X F.E.A.R
3.0,ParalaxMapping -
-
16 |
: : , , ?.. ? ?
: , - . Blazzads, - - Warcraft. -, - . , - , -. ., , .
, replayability, , . -, , The Sims, - -. , . FPS, -, . .
. , , . Enter the Matrix -, , .
: , .
: . . - , . , , ... , , . . , , , , , , ... , :).
: , -. , , - : -, . , , - , , - RPG, . , , -, , , - RPG-, -. , . , , :), . -, , , - .
: PlayStation2, Xbox, Xbox360, GameCube. , , - , , . , , , .
, , action/adventure,, RPG .. . - : , - , -, , , - . , - . , -. , - ( , ). , , -, , , .
: , , . -, , . . - , - , . . , . , , -, The Sims.
- . PR- - . -
PACHELLA
SWASHBUCKLERS:BLUE AND GREY. - -, .
CHSNARK
KDV GAMES. 15 ( ) ,3D-, , -, 3D .
| 17
: , . , , , , . , - . , ,, - .
: , , . - , - / .. -, . , -, . : , , , , - . , :).
: : ?
: , . -. , , , , . - , , .
: , - , . , . - -/ , . 90% - , .
: . . ( ZX-Spectrum) , , -, , , ...
: , , -. , : ?. -
STEP CREATIVE GROUP(www.stepgames.ru). - -
- . - OFFICIAL PLAYSTATION . - , - , - 20-
.. - - STEP CREATIVE GROUP (www.stepgames.ru). DESTINY GAMES,
MASSIVEASSAULT: (BY WARGAMING.NET)
MEDIAMOBILE GFI. .
TERAN
18 |
, , , , . : , Crytek, - , DirectX 10 Shader Model 4.0.
: . , - . , - , . .
: Windows - , . , , , , . . PC , , , , .
: , - - , . .
: , ( ) . - , - . , -. , , , -- . : ?.
: - , - , . , - ( , , ), - .
: ? , , , . ...
: . , , , , . , Warcraft III . Battlefield 2 F.E.A.R. . - ,
. -, . . - , , :), - . . , , Half-Life radeon', Doom geforce'...
: , 110% . , . , , . - , , , , - , , - . , - , - . .
: ( ). - :).
: - . - , - , , . : , - -. , , .
: , -. ( - 3D-), , . . , - .
: . - . , - - , . , . , : -, .
: , -- , - , , - , ,
MISTLAND SOUTH GFI (www.mistgames.ru). . : : , : -
C++ DEVELOPER. . PATHTRACE,
STEP CREATIVEGROUP (www.stepgames.ru). - . - 1:
www.boycottgun.com Association For American Indi-an Development p p -p GUN Activision, p- . p-p , p p p, y p- .
Doom 1994. - -. Doom - - Marine Doom.
p (Mike Morhaime Blizzard), ypMMORPG World of Warcraft ppp p . -, y py, yp p - p 5,5 p.
py yp www.metal-gearsolid.org, p p - , Kuja105. , Kuja105 , p py - p .
Vivendi Universal y - p y Ice Age2: Meltdown. p p Xbox,PlayStation, GameCube, GameBoy Advance,Nintendo DS PC 2006 ! , p p py :).
20 |
- (- ), ( - ). , - - . - -: rag-dolls (Half-life 2, Psi-ops ..). -, , , - . , , .
(() , - ( , - ). , , , 100% -, -
. -: - .
- : . - , - , .. -, quadtree ( ) -tree ( ), - . - - - . , - , - continuous collision detection (CCD)
, - . ( ) - , - | WWW.STEPGAMES.RU
P h y s X H a v o k T r u e A x i s O D E T o k a m a k N e w t o n
CCD rag-dolls
( -). continuous collision detection - , - , , - .
((), , - , . - : - , , . , , . - -. , , .
( ) -
(Rigid body simulation). , ( , , ..). - , , - - . , , (,, , ..), - ( , - ). - , - . , -: ( : - , , , -, , ), ( - ). , . . - , . , , , - ( - ), ( ).
- (rag-doll), - , ( ) , . - - . - (joint) (constraint).
, ( - ) - . ( ). ball-joint hinge-joint. Ball-joint , - , ( ). Hinge-joint -
, . rag-dolls.
, - : , - , -, , - - , - rag-dolls, ..
. , , - .
. , - . - , - . - : - , 100% - . - , - : , -, ..
- . , , ( ) - . - : - , -, .
, - , ( ). . -, - -, , , - . - : , - , rag-dolls .
. (- ), - . 2005 - AGEIA - , - -. , , 40 000 ( , , ).
, . , , , - ( www.devmaster.net/engines ).
PhysX ((www. aageia.com, ) - AGEIA , . - - ( Unreal Engine).
: -
(, , ) - , ;
| 21
-
22 |
- ;
;
;
(- ), - ;
;
;
- ;
;
.
Havok ((www.havok.com, ) . ( www.havok.com/content/blogcategory/29/73). - Havok - Havok FX, - 3.0.
: ;
;
- ;
;
RAG-DOLLS;
(- );
.
Trueaxis ((www.trueaxis.com) . .
: ;
- ;
- -, , ;
;
.
ODE ((www.ode.org, BBSD, ) -, ( S.T.A.L.K.E.R. ODE), - , . ODE .
: ;
;
, - ODE .
Tokamak ((www.tokamakphysics.com, c, )
: ;
( : BALL
HINGE -
RAG-DOLLS).
Newton ((www.physicsengine.com, c, - )
: -
;
;
RAG-DOLLS;
.
OPAL (open physics abstraction layer:http://ox.slug.louisville.edu/opal/wiki) - , - . - ODE, TrueAxis. http://prdownloads.sourceforge.net/opal/opal-0.3.1-src.zip?download.
, - opal-0.3.1-src\samples\simple\ - OPAL, . SDL (www.lib-sdl.org/index.php). - main.cpp h-. - .
, - . - main.cpp -, .
std::vector gEntities;opal::Simulator* gSimulator = NULL;
gSimulator opal::Simulator - OPAL. opal::Simulator , - . -. , - . , , - , - .
gEntities - opalSamples::Entity, . - , . opalSamples::Entity opal::Solid* mSolid. opal::Solid - OPAL. -, , . - getTransform mSolid.
mmaingSimulator = opal::createSimulator();gSimulator->setGravity(opal::Vec3r(0, (opal::re-al)-9.81, 0));
opal::createSimulator(). - setGravity -. , , - , . , , , , , , .
1. opal::Solid* platformSolid = gSimulator->cre-ateSolid();2. platformSolid->setStatic(true);3. opal::BoxShapeData boxShape;4. boxShape.dimensions = gGroundDimensions;5. platformSolid->addShape(boxShape);
- , . - ( - ).
, ( ), . - , , ..
- boxShape, ().
- , , addShape. (Shapes), - . OPAL, , - , , . , - ( dimensions ), :
Matrix44r offset;Material material;
offset - , material . OPAL' :
hardness 0 1. , - .friction 0 1, . , .bounciness 0 1, . , .density . - .
((, , - )
while (!gQuit){
opal::real dt = (opal::real)timer.getElap-sedSeconds();
gQuit = processInput();if (!gPaused){
gSimulator->simulate(dt);}
}
. - simulate , . - , , ..
gSimulator->destroy();
- destroy -, - , , , -, createSolid.
. , . , - , , - , - , -
| 23
24 |
: - . . , ;) | AKA HORRIFIC (WWW.VR-ONLINE.RU)
? - , , -, . - - . :), , , , - . . , , - , , -
- C++ , . , -, .
, ++, Microsoft. - , Windows , - ? - Windows ?
, !!! ? .
, ( ) - Pentium 4, - Visual C++ 6.0 . ? , VisualStudio 6.0 Pentium 4, MMX- . , ?
MMX , SIMD, - 20%, .
Windows? -, DirectX , , Intel? , - 10-15%, , - . -, , - , 10% , - . - .
- -, . ( , -), IntelVTune Performance Ana-lyzer. - . - VTune, -- ,
VTune. , , - . .
. - . , - .., - . - , .
, -. , - , -. : , , , - inline, , , - .. ( ), , -
. , 1000 , 3000 !
, - , . - .
iinntteell Intel - , . intel.com - . Hyper-Threading , - . - , ?
| 25
Intel VTunePerformance Analyzer
Intel Windows
- . . , .
- -. , , - , , - - .
: - ,, . - - , - .
C h S n a r k
K D V G A M E S
26 |
. , , , . - : www.intel.com/cd/ids/de-veloper/emea/rus/dc/games/index.htm.
, .
aattii nnvviiddiiaa ATI NVidia - - , Intel, -. - , - .
, - . ? -, , -, , .. - - , -.
- - www.ati.com www.nvidia.com, . , . , , . , : ATI, NVidia. . SDK , - . , -, - .
- , , , . , - , - . -, -. , - .
, - . , , , . - . - -, - , -. , , - . , .
? , , -. , -
- , . - ,
, , , , .
. , , - , .
, - 100x100 . - , - 10 000 . - 256 ( ), -
, 65 535. - -, 20 000 , , , - .
24 , -, 16 777 216. , : . - , .
- . - 800x600 16- , 800*600*2 =960 000 . 1 ! - 1024x768, - 1 572 864 . , , - .
, . - 15 .
- .kkrieger. 97 ( , ,)
DIRECTDRAW, GDI: .
, - 800x600, 1024x768.
- ., , 1280x800, - 800x600 1024x768 , . - .
- 16 , . - , . - , , -. , - .
- : - . - . - -, . , - , .
- - , Blt BltFast( DirectDraw). , , - : - , -
( Blt ) - , -. Blt - WinAPI- memcpy.
. , - 800x600 -, . , - , , , - , . - : 800x600 , . . , ? , , ? , . Blt, - . , - . , . , . - , - . - (, 600 : 200 , 400 ), - , . - !
, - , . - . , - .
. Command&Conquer(, , C&C). - . , -, , .. , , :
for (int i=0; i
28 |
, , , - . , -, -, , , , . - , , -, .
. - - . , - , ., , - , - , .
DirectX SDK - (DXSDK\Samples\C++\Direct3D\Billboard). , , . - - .
33dd - Direct3D - . , - IDirect3DIndexBuffer9 - 16- 32-. 65 535, - 16- . 32 , .
Direct3D . , . - ! -, , 32- -. , .
16-, . - , - , . -, .
-, . - .
, - ( , , -
). , - . .
, , , - . , . - 3D-, - ( 3D StudioMax), - . 30- . ( ), - 12- .
, , -, .
, . - 32- , 12-. , - , - . .
. , -. , , - . , . ? ? - , - .
-, :
( ), , - .
- , 16X16. , .
, - , .
, - ,
DirectX, - , - . , , . , - , - . , - , , , .
, - , - . www.vr-onli-ne.ru - - - .
! - ( )
32-
16-
!
GamePost AAggee ooff EEmmppiirreess IIIIIICCoolllleeccttoorr''ss EEddiittiioonn
$125.99
CCoommmmaanndd && CCoonnqquueerr::CCoolllleeccttiioonn
$49.99
CCaallll ooff DDuuttyy 22CCoolllleeccttoorr''ss EEddiittiioonn
$99.99
-
?
* *
*
*
Diablo AAction Figure: Necromancer $$4422..9999
ssyynnooppssiiss - - , - . - - , . - , , , - . - EAX- -, - , . - -, - : , -, .. , System Shock 2 , - - , -, -.
API - , - . , - FMOD.
. , , - , - | AKA TONY ([email protected])
30 |
- . - , PC, Mac, , PlayStation 3 Xbox 360. FMOD - -. , , MP3, , - -, OGG.
- FMOD_RESULT. FMOD_OK, - . - FMOD_Er-rorString(). FMOD ++, , - . FMOD , : DSP(digital signal processing), , .
// result = FMOD::System_Create(&system);// result = system->getVersion(&version);if (version < FMOD_VERSION){printf("Error! You are using an old version of FMOD %08x. This program requires %08x\n",version, FMOD_VERSION);exit(-1);}// , .result = system->getDriverCaps(0, 0, 0, 0, &speakermode);// FMOD result = system->setSpeakerMode(speakermode);// FMODresult = system->init(32, FMOD_INIT_NORMAL, 0);
FMOD, , - FMOD, - FMOD. init() - , , - , . .
// result = sound1->release();result = sound2->release();
// result = system->close();// result = system->release();
release(). - close().
// , result = system->createSound("../media/drum-loop.wav", FMOD_SOFTWARE | FMOD_2D, 0,&sound1);// result = sound1->setMode(FMOD_LOOP_OFF);// , , , , 3D-result = system->createSound("../media/ste-reo.ogg", FMOD_HARDWARE | FMOD_3D, 0,&sound2);
- System::createSound(), (, - ..). - System::createStream(), , - System::setStreamBuf-
ferSize(). , FMOD -, FMOD::Memory_GetStats(). FMOD::Me-mory_Initialize(). , ., - - . - - FMOD_3D. - , - - Sound::setMode().
FMOD - . , , - ,
. - - FMOD . - ( ) - update() .
// , result = system->playSound(system, FMOD_CHAN-NEL_FREE, sound1, TRUE, &channel);// 7.1result = channel->setSpeakerMix(channel, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f);// result = channel->setPaused(channel, FALSE);// FMODsystem->update();
, , -, ( , ) , - - -. -. , : - - .
// result = system->set3DSettings( 0.9, 0.9, 1.0 );// FMOD_VECTOR vel, pos;
result = channel->set3DAttributes(&pos, &vel);// FMOD_VECTOR vel, pos, forward, up;
result = channel->set3DListenerAttributes( 0, &pos, &vel, &forward, &up);
, . - , 22.00 , ;)
| 31
FMOD
32 |
: ? , /, ...
: PC Microsoft Visual C++ .NET 2003. - (CVS, SVN). Test Track Pro Seapine Software.
: , , , . : - ? , -
. , - : Visual Studio, 3DS Max/Maya,Photoshop, Microsoft Office. , : - ( 3DS Max), - , .. , - , , ., Facegen Modeller , , - , .
| 33
: : ++ . : Maya + Photoshop = (: -). . .
: Visual C++, 3D Max, Maya, , - . , .
: , . . , , , : MS Visual Studio (, .net) - - , GNU CodeWarrior; Maya 3DS Max 3D-, .. Photoshop Painter -. Sound Forge . MS Office .
: Visual Studio, Maya 3D, Photoshop . , middleware-, , . .
: , , Word',Excel'. Visio.
: , , - . ++, - . , OpenGL DirectX.
AI, . - : , .. , , (First Person Shooter). Quake 3, . , .. , . , , .
: J2ME SDK, . IDE (- ), J2ME. - Borland JBuilder, IDEA NetBeans. , - , , .
: ., , , . ?
: , ? - . , -, . , - () . Counter-Strike: -. . , - . , , . AI . , . - , , ( - ), . - , AI. , - . , -. .
34 |
, , -, . - .
: -, . , NPC, - . -, . - , , .
: , , - ...
: , , . , . - , , - . , - ( - ), -. , .
: - . . , - . , - , , .
: - , , . - , , - , :). .
: -, , . - . AI - .
: , , - , . , , , . -, , ..
: , - ( , , AI) - , . -, . - , . - , - . - , - . - AI ( ).
: ? , /, ...
: - StarForce, Securom .. . StarForce, , . , - . , . - . . - , , .
: : StarForce, SecuRom, SafenSec... . StarForce.
: ? , ?
: , , -: , , , .. . , . - , - - .
: - . -: - . - , .
: ( AI).
: , , -. . , , - . : - , - .
: ?
: , - , . - . - ( ) . , , , ,Bluetooth,
36 |
, - , , - . - - : , , , , , . - , , , .
- - , . , C++. , (, ), . , - . - .
, , (, - ) . - -, . , , - - .
- . - - , - . , , .
, - API , - - , , - , - , , . - ,
, , - / . , , , , , . - , - , .
?? - -. -. -, , - :).
, -, . , , - -, .
,, -, . , , - .
, , , -, - . , .
- - , - ( ). - - , , . , , ..
, - . , - , . , - - , , - .
, - . , . -, - .
- , - , - Microsoft Excel -. - Visual Basic. Excel , Visual Stu-dio. Excel CSV. VisualBasic' .
? - . - -, | (WWW.STEPGAMES.RU)
: ,
, - .
- - - .
, .
, - - , - .
- , . - - , - .
-, . ? - , . , .
Python ((www.python.org) OOpen SSource: (Guido van Rossum)www.python.org/~guido : 1990 : 2.4.2, (28 2005 .)
:
;
- ;
;
;
.
:
.
.
, , - -, -
.
- .
- , .
- , (, , C/C++). -, -.
, PYTHON 3000, - - - PYTHON 2.X.
Ruby ((www.ruby-llang.org) OOpen SSource: (Yukihiro Matsumoto)en.wikipedia.org/wiki/Yukihiro_Matsumoto : 1995 : 1.8.4, (12 2005 .)
: .
- , .
- .
2.0 -
-
.
: API .
, BO-OST.PYTHON LUABIND.
.
.
, , -
,
-
-
.
Lua ((www.lua.org) MMIT ((Open SSource): Roberto Ierusalimschy, Luiz Henriquede Figueiredo, Waldemar Celes : 1993 : 5.0.2, (17 2004 .)
: -
, .
API .
, - .
- (EXTENSIBILITY LANGUAGE).
( 150 ), - (RE-GISTER-BASED VIRTUAL MACHINE). - LUA - .
, - .
(DOMAIN SPECIFIC LANGUAGES).
, - .
- .
: -
, - UTF-8.
- - . - - . - -, - LU-ABIND (luabind.sf.net).
-, , .
, Lua - , - .Python, , . -, - Scons(www.scons.org) - Ruby , , , - 2.0
| 37
38 |
50- - . . , , - .
, . , , , - - .
?? - (artificial intelligence) . , - , . - , ,
- . -, . , , |YPP ([email protected])
,
[[]]
, , - , -? , , - , - , , . - , . , , .
- . , : , , - -. : ();; () ; () . , - , : - , , - .. - ( ) - (), , - . , , - , - , (- ) . -
// (, ;)), .
- / . , - , - (: , , ..), - . , - ( , -; ..). ( , , , . , :( . .)
. - : N , , - .
- .
,, , - , (fini-te state machine). :
. : , , , .. : , ; , , .
. , . - , -, ( ). , ? , (waypoint) . . , - , .
- . : - ; . -: ; - . -: ( ); - . :
| 39
, - -. . - (: W, A, S, D). , .
, . - , : , , - . ,
. - AI, , AI, -, - .
- , , AI, - , - . - -, .
/ A n d r u s h a
?
?
?
?
?
?
?
?
; (,) . . - , - . . , - , - . : - - ; - .
, , - ( ) , FPS. - Doom, Quake Wolfenstein, , .
, - , . , - -. , - ,. - 10% , 50% - 50% , - .
- . - () , - . , /-/, : , , ..
, . , , - . , , , -, . , , , ( ) . - , ( - ). , - . , ?( : , , - Half-Life...) - !
, - ., - - ( ). - - (rule system). - : ->-. . , - ( - ). , . , . - RTS:
1 ->
2 > && ->
3 > ( )-> , !
4 ->
5
, - . , 2 3, - , . (- , -
3 - 2.) , - . : true-> .
- . (decision tree), :
if ( 1 )1;
elseif ( 2 )
2;else
// ...
- -, . - , Age of Empires.
- - . , , ?
- - . -, -
40 |
, - / . -
/ ( GTA The Sims).
-, - ( ?). - , . , , . - (- -, ). , - (- , : , :) . -). : - , -. , -, . . . , -
, , -, , , .. (. ).
N ( ). (fitness testing), - . - - . , , , . -, N - . . .. -, , - . : - , , . .
, , - . - - - . - , - ,
. : -. - : 1) - , - ; 2) - , - (). - (weights) -. - , .
- , . , , - , , . - . -!
- , , . , , . , , :).
, - - . , - , , . , - , Crimsonland: - , , :)
| 41
?, - ? , , , . . - , , - - . , .
, , , , , , , , , , , 510 110. , ,
Half-Life
Lua 1993 - - - (Computer Graphics Technology Group, TeCGraf) - (Pontifical Catholic University, PUC-Rio) --. : (Roberto Ierusalimschy), (Luiz Henrique deFigueiredo) (Waldemar Celes). - (LOO-ah). www.lua.org/versions.html.
2003 5.0.2, - ( - 5.1 -) Lua . -, (register-based) , , -. - 150 (100 ).
Lua (clean) C( ANSI C C++), - , , ANSI C. - (portability) !
Lua - (extension lan-guage), ( Lua C API).
Lua , - Pascal. - , -
42 |
c 5.0.2LUA C API 5.0.2 -: ( 5.1 - ). LUA - (www.lua.org). LUA LUAFORGE (luabinaries.luaforge.net).
lluuaa!!
LUA (www.lua.org) -, . - | (WWW.STEPGAMES.RU)
- LUA 5.1 WWW.INF.PUC-RIO.BR/~ROBERTO/TALKS/NOVELTIES.PDF
Lua C- , , - - - . Hello world Lua :
print(Hello, world!);
. , :
print Hello, world
: , - C- . - Lua -, (Domain-Specific Languages, DSL), , . Lua - .
Lua -, - Excel, -- Visual Basic. , (, CSV), Lua .
- - Lua - , C++. Lua , , C++. - - , , C++, .
Lua . Lua (closures). ... , . - (coroutines) - ( - - , (callbacks) / (events). - (, type - ), Lua , - ( - Programming In Lua). (
- ), C++, Lua.
Lua, - - (Lua C API), - (lua.exe), , - . , . -, , - Lua, . - , .
. Lua - print, - , . print Lua . tostring() .
Lua (first-class values), -, - . - Lua . __con-sole_print, , - print Lua , , :
print = function(...)for i = 0, arg.n -1 do__console_print(tostring(arg[i]) .. "\t")end__console_print(arg[arg.n] .. "\n")end
-, __con-sole_print C/++, - , print (luaB_print() lbaselib.c Lua). - , fputs() - . , - print Lua :
print = __console_print
- , - -.
- C (Lua C API). C Lua . C, , , -, , - . , -, . Lua C API . , - push pop, - , , -. - Lua LuaReference Manual.
, -. - - Lua C API, , . , - -.
Lua (extension pro-gramming language), -
| 43
WWWWWW..LLUUAA..OORRGG LUA. , LUA 5.0 REFERENCE MANUAL, - PROGRAMMING IN LUA, - .WWWWWW..LLUUAA-UUSSEERRSS..OORRGG LUA. LUAUSERS WIKI, , , - .WWWWWW..LLUUAAFFOORRGGEE..NNEETT -, LUA, - LUA .WWWWWW..IINNFF..PPUUCC-RRIIOO..BBRR//~~RROOBBEERRTTOO - WEB- - ., , .WWWWWW..KKEEPPLLEERRPPRROOJJEECCTT..OORRGG WEB- LUA. , LUASOCKET, LUAPROFILER LUALOGGING.
Lua C (, , C++).
Lua C API, - , - Lua C C++. : 1) - , - ; 2) .
Lua, Lua C API - , -. API - . Lua Programming Manual Programming With Lua.
C++ Lua - :
TOLUA, TOLUA++ (www.tecgraf.puc-rio.br/~celes/tolua, www.codenix.com/~tolua);
SWIG (www.swig.org);
LUABIND (luabind.sourceforge.net).
toLua, SWIG (SWIG Lua, ).
Luabind C++ - Lua, - - - . , Luabind Lua C API( ).
Lua , . , Lua - . , , . , - Lua ( Lua , - Lua Users Wiki).
Lua - , . - , , -, . - ,
Lua -, .
, -, Lua, . - , ( ), , - dofile/dostring.
Lua - . , -. , , :
a = 2 * 34567 + ba = 69134 + b.
C++ . , - Lua , - , , C++.
, - . - - . , , , , , - 1% , - 1%.
( ) . , -, Lua Profiler (www.keplerproject.org/luaprofiler). , - .
, Lua, lua_pcall(), .
( , - ) - . , - , - . , , , .
, :
LUA
ERROR() NIL .
, ERROR(), ( ) - PCALL(), - PROTECT, - (DIEGO NEHAB) FINALIZEDEXCEPTIONS (www.lua-users.org/wiki/FinalizedEx-ceptions). - NEWTRY (. ).
- NIL. , , -, -, , - NIL.
- , , .., NIL.
- , - LOCAL - - - . - -. - -, G_. LUA LINT - . LUA 5.1 LUA, , - (_G), , - - .
- . - . , -. LUA LUA TECHNICAL NOTE 7: MO-DULES & PACKAGES - (www.lua.org/notes/ltn007.html).
. ,
44 |
, -, - . LUA - . , - LUA , - C++, LUA - .
Lua - (garbage collector): - , -, (,userdata, , ) - Lua ( ).
Lua - (threshold), . , - , , . -
, - , .
, - 0 ( lua_setgcthreshold() C collectgar-bage() Lua). , - .
, , - Lua, -, - . , - .
Lua , Lua - . 5.0.2 - ( non-incremental mark and sweep). , , ( , - , ). , ,
- , -. Lua, .
, , , Lua - , , : -, , , , .
( some_string), , some_string , :
some_string = some_string .. "a"
Lua TechnicalNote 9: Creating Strings Piece by Piece (www.lua.org/no-tes/ltn009.html). Lua 5.1 - , -
| 45
46 |
( , 70%) Java ( J2ME, Java 2 Micro Edi-tion) , - - - . - - -, - (Virtual Machine, VM). - VM Sun (- Java) -, - -, SDK ( - ) .
, , , , VM. ! . , - J2ME- - , - -
. , - ( - - ),, , , -
. , Sun - Java. , MIDP 1.0 - , MIDP 2.0 - . - .
IBM PC , . , , , -, , -. .
, -, , - .
, . , . , - , , .
, , . , , - . , - .
, . ! , , . , |
Eclipse J2ME
jj22mmee
- (Binary Runtime Environ-ment for Wireless, BREW) , Qualcomm. - CDMA, , , BREW, GSM- . , ! - SDK /++-
ARM Builder, - (- ).
- , Qualcomm ., BREW, . , , Qualcomm - . -, -
, - , - BREW .
Execution Engine In-Fusio, Sun, -, J2ME. - ( BREW), ( Java), - . 10-15 , 30 ! , Execution Engine (, -, , ), -
J2ME- - - -. Execution Engine -- , - . -: Philips Fisio 530/825, Alcatel OT735/535/531, Panasonic X70/G60, Sagem myX-5/myG-5/myX-6... , SDK - .
| 47
: J2ME , - - . , . - - ( ), .
, , ? . ,, - , - , J2ME.
( Fight Hard 3D) . ,
. , - , . - -, , , - , . - , -, .
. Synergenix . - . , J2ME - 400 KIPS, Mophun 60 MIPS, 150 . , , , ,. Synergenix .
bbrreeww
eexxeeccuuttiioonn eennggiinnee
mmoopphhuunn
- , - Execution Engine
ACE , Mophun
Wireless Graphics Engine ( WGE) TTPCom API, - - . , SDK . - .
wwggee
, WirelessGraphics Engine
:
. - , . , - , - , - - .
, - . - , - , CGA-, EGA- VGA-.
. - , - - , -. , - , - .
- . - , - . - , - . , , , - .
-,
, - - - .
- -. , . J2ME, - -.
, , , - - , - , - .
- - . - .
API . - - - , - , - - . - --, - - .
. , - , - - , . - ...
48 |
, - ( ) - . -, . - , . ?
, , -, , ZX-SPEC-TRUM, . -, , - . - ( , -), . -
, , - , - .
, - , - -,
- , - Execution Engine
: + CD + +
200 .
( . ) *( )
...
* . .
+ CD
6 12 900 . 00 . 1740 . 00 .
+ +
6 12 2550 . 00 . 5040 . 00 .
1 2 : 3 :
: (495) 780-88-24;
: 119021, , . , . 11, . 44-45, , .
! .
, , .
, , 20- .
. , . , , .
: -, (495) 500-00-60, www.interpochta.ru , , , , .
15% , ,
, , : 780-88-29 ( ) 8-800-200-3-999 ( , ,). : [email protected]
52 |
deadcan dance
. 3D-- 3D- /-, . - 3D Studio Max ( 3DS). , - MS DOS-.
3D Studio Max - , . , - - , - - . 3DS Character Studio, . - Character. , , -, .
- , - . -, 3DS MAX 6 Character Studio 4. (- . . http://bhv.ru/books/bo-ok.php?id=3888). ! , -
3DS. , - , .
, ? , , , , .
, . - 3DS MAX 6 Character Studio 4. - . . , , . , :). 3D-- - , . , . , .
, . . - - . , 0,5, 90 - - 45. - -. - ( 3D--
DX SDK DXSDK\SAMPLES\C++\DIRECT3D\MESHES\SKINNEDMESH
, - - . (MESH), , - , . , . | AKA HORRIFIC
Plug-in , .x-
| 53
). , 1, 100%.
, : -. ( - ). , , , . (,, ) - , , - .
-, - . , . -, -, - , ( -) . , , , - .
, , . -
: ? .max -, . .3ds, - . , . - , .
, .x, Microsoft , -
54 |
? , . 3DS Max .x, plug-in, Microsoft. plug-in - DX SDK, . - .
.x- -: Direct3D - -- -. Microsoft -
. - . - .
-, .x- . - , - . , . - , . . , :). - , , - .
, . - - , - . , - . - , - , . , -, , - . , , . , ,
. -.
- .x- - D3DXLoadMeshHierarchyFromX, :
HRESULT D3DXLoadMeshHierarchyFromX(LPCTSTR Filename,DWORD MeshOptions,LPDIRECT3DDEVICE9 pDevice,LPD3DXALLOCATEHIERARCHY pAlloc,LPD3DXLOADUSERDATA pUserDataLoader,LPD3DXFRAME* ppFrameHeirarchy,LPD3DXANIMATIONCONTROLLER*
ppAnimController);
.Filename - , .x-.MeshOptions . D3DXMESH_MANAGED, - . , , .pDevice IDirect3DDevice. , , .pAlloc ID3DXAllocateHi-erarchy, - .x-. - .pUserDataLoader ID3DXLoadUserData -
1 - . , - - -, - . -, - , . : D3DXFRAME, - , D3DXMATRIX. - - .
2 : - , . : , ,, .. - , - . , , - . , .
3 .X- , - . , - - , .
, :),
| 55
. , .x- , -, , , - - ID3DXLoadUserData.ppFrameHeirarchy D3DXFRAME.ppAnimController ID3DXAnimationController, - . , .x- - -. , .
D3DXLoadMeshHierarchy-FromX, - D3DXFRAME. ? :typedef struct _D3DXFRAME {LPTSTR Name;D3DXMATRIX TransformationMatrix;LPD3DXMESHCONTAINER pMeshContainer;struct _D3DXFRAME *pFrameSibling;struct _D3DXFRAME *pFrameFirstChild;
} D3DXFRAME, *LPD3DXFRAME;
?Name . - , , - . , , . -, - , , .TransformationMatrix . .pMeshContainer .pFrameSibling - D3DXFRAME, . , - , .pFrameFirstChild , - .
, . - - (- ), ( , ). - , : -
, . - - , ( ) . , , , , , . - :
void (D3DXFRAME , D3DXMATRIX ){// , ..
.TransformationMatrix *= ;
// ,
if (.pFrameSibling)(.pFrameSibling, );// ,
if (.pFrameFirstChild)(. pFrameFirstChild,.TransformationMatrix);
}
! , - - .
-. , .
, , - . - , . . , - -. .
http://cherb.web.ur.ru/mal.html -. , -, , - mesh . - - , - .
tiny.x, DirectXSDK
56 |
1989 . , - -. - 60, , , . : (, , , , - ). (-) , . ( 0) , - . . , , . , -, 14- - :). , - , . , , , -, , - - .
,, sseexxoonniixx , , - ( Sky). , , - -, :), - , - . , - , - ( , ). SeXonix' - , -. , . - - :).
?
. -
-
-
,
- -
: ) ,
. ,
-
,
.
:
X O N I X -
.
!
:
; ) .
. - ( ==== :)). - -, . , . , , . , . , - , - :(. :). - . , - . Must have, :).
?
-
. -
-
. -
-
-
E X - - ,
A D I D A S
( , -
-
-
.
. 10-15 . , , , - . ? . - ', - 286-, - . , : .. | ([email protected])
, ,
| 57
, , . PC , : . - : -. - . , - , game over. , , - ( ) AI: ,, , -. , Bluetooth'? :). , Delphi . :
B - O - O - O M !
-
!
:
,
, -
.
!
ccaassttllee wwaarr && ssccoorrcchheedd eeaarrtthh , . . . , . ? , . ! , -: . ? -, , ( Bluetooth? ;)) :).
Scorched Earth . ( , ) - - . , - . , !, - . , , - ( )
bboooommbbeerrmmaann-! , . - , -, - 90-. , -, . , ( ), .
BoomberMan ? - -? . , . . . - , , , , - - . , . - - ( ) ( : ). BoomberMan Java, ;).
:
C A S T L E W A R
.
, ,
!
-
,
-
W O R M S ' .
H T T P : / / 3 8 6 . B Y . R U / G A -
M E / C A S T L E . Z I P -
.
:
,
?
. -, - - . , , , . , - . , -, .
- , , - 3D- , , - , . -, .
- . - - , - . , , , ?.. - . - . - , .
, - . , , - , --, - . , - - , - , . ? - - .
, ( ). -, , - , ( ).
, , -, - . - . -: , , . - , , .
- - lipsync (lip ,sync synchronization, ). - . - , . - .
- . , . -- , , .
, - , , . -, - , -
-. , - , . , , - , , , .
- , , , -, - . (,, -) : - . , .
- . - , . , . . , . , - . , -
| 59
. - | , (WWW.STEPGAMES.RU)
- , - . DIRECTX FRAMEWORK
. , - .
- . - , - . - . - , , . - .
- - .
, - . (. skin ) , - . , . - , - , ( ).
, . . - - . - , .
, . - , : - - . - , , , .
, ( ).
. - ( - ). - .
- . , , - , . - -. - . , - , - , - .
() - - . - . . -. ( ). - , - .
, : - , , :
pos = pos1 * (1 weight2 weight3) + pos2* weight2 + pos3 * weight3.
- . - SetStreamSource() , . . , - , (, ).
HHLSL ( )// .float4x4 WorldViewProjection : WORLDVIEWPROJECTION;
float3 weight; // // weight.x // weight.y // weight.z
// void vshader(
float4 vPos0 : POSITION0, //
float3 vNormal0 : NORMAL0, //
float4 vPos1 : POSITION1, //
float3 vNormal1 : NORMAL1, //
float4 vPos2 : POSITION2, //
float3 vNormal2 : NORMAL2, //
out float4 oPosition : POSITION, //
out float4 oDiffuse : COLOR0 // )
{// // :float4 cPos = vPos0 * weight.x +
vPos1 * weight.y + vPos2 * weight.z;
// :float3 cNor = normalize(
vNormal0 * weight.x +vNormal1 * weight.y +vNormal2 * weight.z
);// .oPosition = mul( cPos, WorldViewProjection );
// float3 lightPos = float3(0, 0, 100); float3 invL = normalize(lightPos cPos);float NdotL = dot(cNor,invL); oDiffuse.xyz = NdotL + 0.2;oDiffuse.w = 0;
}
-, - , . . , , - . - , - . , , -
60 |
| 61
, , , . , , , |
. - , . - , - ( ), - .. -
- ( -, , ) - , - . , ( ) - . ( , - ),
, . - ( , - - , ). , , , - - .
62 |
- , . . - ( - ).
: , -- , (/). , , . , - , , - , , DSL.
, - . , . , -. ? - , - ? , - /-
, D - A. - -, ( ) -, -. , - -, .
.
FF11EEXX:: - QUAKE III. -
. - - , - , ... , -, ( ). !
CCYYBBEERRMMIINNDD:: STARCRAFT ! -
98- -, - . STARCRAFT , , , , - . -. , ! , - -: , .
MMCCDDAAUUNN:: DOOM 2 , .
SSEERRJJ:: WARCRAFT III TFT. -,
, -, QUAKE III . -, - -. - -, - , !
http://forum.xakep.ru/view.asp?topicID=64268
- -
GO! forum.xakep.ru
. , , - ( - ), - .
- //, - , . , -
. -, , - - , , , - , . - , - .
-. - - . , - , - -? , , : -
, .
! - .
, ,
, , . - , - - . , - ...
| 63
. , - . - , - , , , - . , , . - , (-, ) B ( -), B -
- ( ), - ( ). ... , - ( ). ? ! , . -, , - , !
GGRROOKKIINNNN:: OGAME.RU -, -
-, - - (, , ). , -, COMBATS.RU( ), -, . , - FLASH, - ( ). - , - -. , .
SSAAMMIIDD:: COMBATS.RU! ,
, .
]][[EEAALL:: , , -
. WOW - ( , ), - ( ,) , , QUAKE ( - - , ).
PPUUPPKKIINN-ZZAADDEE:: - BATTLEFIELD 2. -
, - . JOIN OPERA-TION, . COUNT-ER-STRIKE .
GGAACCKKTT:: STARCRAFT. , -
. LINEAGE2. ,, ( ) , - -. WOW , -
, . - - :). - UT2004, - :). .
RRUUSSSSOO__TTUURRIISSTTOO:: -
. - , . - ,
- . - , - , -, , - . - - , -. - , . , - , - :). -,
, .
- , - . - , B. ( ) .. , , D, - . - ( ). - : C ,
B - . B, : B=> A=> C? - !
64 |
. , - , , , .
BBEELLOOZZ:: WOW - !
WARCRAFT, BLIZARD WOW. , . - - -...
, .
QQUUEESSTTOO:: WOLFENSTEIN ENEMYTERRITORY. -
: http://strimarena.ru/games/et. *NIX' -- DVD , :).
SSUUGGAARR:: LINE-AGE2
. . . WOW, . .
www.l2online.ru, - , . - :). - ...
HHOO@@XXEERR:: ! . !
- . -. - !
KKRREEEEZZZZIISS:: WARCRAFTIII TFT, QIII, CS. -
, -
... - - , STARCRAFT,UT2004, HEROYES M&M 4 - NEED FOR SPEED.
AANNDDRRUUSSHHAA:: - -- :).
-, , , - ...
MMAADD HHAAMMSSTTEERR:: - ! - -
!
- -
, - . , . ... - , ( ) -
. . , - , , . : , (- ). - -, -, . - , , ! ?
- - ,
- , . - -, ! , . , , - - - .
, - . , - . - -, .
-
( - ping), - -, .. - , . , ( -) . , - .
( ) , , - Pentium. , - , .
- ,
( ) - ( ), - - , - - -, , ., - , , - ( - , - ). - , - , , . ! -, , - .
, -. -, , . - -, - , , - - . . . $8 Perl, PHP MySQL -. - - , XP ( ), ,
- .
, -, , . - - , - !
( , -) -, - -. - . - . -, ?
-. , - . , - , -, - , , , - , . , ! , , - - , - , . , -
, , ?! , , .
, , . , - , - , - , - - , , - . -, - . , - : , - , - ( -). , - ...
. , -. , - , -, !
| 65
-
-
66 |
, . -, , . - . . - , , . ,, , - .
- , - . - -, . , , .
, : , p-. -. , , , .
-. , (, , ). , - , , - . - , ,
100% , , !
, , - ( , ). . , , , , |
-. - , -
, ... , -, , . - ? - , .
, , - , - , . -! ! - ? ! - - - , , - .
- -, . -, - - , . - , : , /...
ASCII- UNICODE-- : - , -/ trial-/ , , -, /. - . , . - ? -, , , . - .
wrong ss/n , ssub_401000.text:00401016 call sub_401000.text:0040101B add esp, 4.text:0040101E test eax, eax.text:00401020 jz short loc_40102F.text:00401022 push offset aWrongSN ; wrong s/n\n ; .text:00401027 call _printf....data:00406030 aWrongSN db 'wrong s/n',0Ah,0 ; DATA XREF: 00401022h^o
, - , ( -, ), -
LoadString - , -. - , , , - . - LoadString uID, lpBuffer, - ... lpBuffer - , , , , . -, - , ( : NO_ACCESS , ).
- ( , ). ( - , -) , LoadString !
, - , - . , , Deb-ug Release, , - . , IsRegistered, .
.text:00405664 cmp _IsRegistered, 0.text:0040566B jz short loc_40567A
- , - . ++- , , IDA PRO - . ( ), ( ) - . , OO Softwa-re ( ) oorwiz.dll(, OO Regi-stration Wizard), , ...
| 67
!
68 |
ooorwiz.dll OOO SSoftware , 3 0 00001FD0 RegWiz_InitLicMgr1 1 000019D0 RegWiz_InitReadOnly2 2 00001D00 RegWiz_InitTrial
rtti , - RTTI (Runtime Type Identification) DELPHI/Borland++ Builder, , ! DEDE, Etlin HTTP Proxy Server, TfrmRegister, - fRegister - OK bOKClick, - 48D2DCh. - !
, -, , , . -, , (. obfusca-tion). -, , NOP, XCHG EAX, EBX/XHG EBX, EAX, - /. -, ,
, - .
, . , . XOR EAX, EAX/JNZ trg - ( - IDA PRO). - . , , , . - (, wasm'), - - , , , - , , . !
, - , . -, .NET Obfuscator http://blogs.msdn.com/obfus-cator/default.aspx. , - - ! , -, ( , -, ), , - . - : - . ,
( ) , , - . , , , - - , , - . : - API- , .
-, . : .
/- - , -, - . - : -, - .
- , , . () , - ( , ). - , - - /- .
, aarmadillo.00434000: 60 pushad.00434001: E800000000 call .000434006 -------- (1).00434006: 5D pop ebp.00434007: 50 push eax.00434008: 51 push ecx.00434009: EB0F jmps .00043401A -------- (2).0043400B: B9EB0FB8EB mov ecx,0EBB80FEB ;e?0e.00434010: 07 pop es.00434011: B9EB0F90EB mov ecx,0EB900FEB ;e?0e.00434016: 08FD or ch,bh.00434018: EB0B jmps .000434025 -------- (3).0043401A: F2 repne.0043401B: EBF5 jmps .000434012 -------- (4).0043401D: EBF6 jmps .000434015 -------- (5).0043401F: F2 repne.00434020: EB08 jmps .00043402A -------- (6).00434022: FD std.00434023: EBE9 jmps .00043400E -------- (7).00434025: F3 repe.00434026: EBE4 jmps .00043400C -------- (8).00434028: FC cld.00434029: E959585051 jmp 051533887.0043402E: EB0F jmps .00043403F -------- (9)
. -, .-, , , ( ).-, , - . , , , -. , -. , , , , - , , .. - , - . , - .
- . - , , .
pp- p- Visual Basic', - - ( VMWare). - -, , - , ( !) -, . ,
( ) . ( ). ?..
, - , -- , - , . , . - , , ... , p-
? ! ! ! p- - , , - . .
p- - - . p-, - , -.
, - , , . -! , ? , -, .
Pascal- Basic- - . p- ( ) . , , , - , - , IF THEN ELSE, ! , -, , - ? -
| 69
!
DEDE - RTTI- - Etlin HTTPProxy ( :fRegister, CtrlCheckCon-trols, FormShow, IRegi-sterURLClick, bOK-Click .)
70 |
- , ... - crackme -, .
. : --, p-, -, ---. -, - , . - . -. , - ...
- ( ssee.exe, IInterrupt LList')seg000:1F29 loc_1F29:; CODE XREF: start+39B9vjseg000:1F29 call sub_1F04seg000:1F2C mov word_A5C, bxseg000:1F30 mov si, dxseg000:1F32 mov bp, [bx+38h]
seg000:1F35 mov sp, [bx+36h]seg000:1F38 lodswseg000:1F39 mov bx, axseg000:1F3B jmp word ptr [bx]
- (, , ), . - - , - - .
- , - (, ), ... - , , (, , ), . . , - , - . , -, , ,
, - !
, , , . - . .
, - - ( - ), - . - ( CD-COPS, Star-For-ce) , - -. - Star-Force - , , - Windows Star-Force. - . - , - ,
- , - . , - . - - , - . - , - - ( !).
- , . , - . : , . - , , ? , - , -
RTTI - - !
, - armadillo
. , - .
, ? - ! - , . . - . (- , ). , - : InternetGetConnectedState , , , ( ). Macro Express , . - , InternetGet-ConnectedState , - . , , , , , - ... InternetGet-ConnectedState ! , - WININET.DLL, - InternetGetConnectedState, - , .
- , Microsoft . ! - -,
. , , - hiew' , . - - !
( ) - , ! , - . , .
- , - -, . -, . VM Ware , VM Ware. - , .
, - . - , VMWare, , , - - , - . ( , !) - VM Ware , - , . (, -). - , . ...
-. , . , - -, AS-PI ( ) SPTI
( NT/XP -). . GetVolu-meInformation -. , , -, . - , Windows- ( ) .
oonn ddeemmaanndd - , -, . . -, ( ), - , -, , . ?
-, , , . -, , - ( , , - MAC- ). - , - ( -), -, .
- -. -, . , - . , ( exe-
| 71
. - - -, !
72 |
). - -, - . PE--, - , , .
- , , , .
, - char *p = 0;// 1DWORD my_icon = MY_ICON_ID;// 2
if (!p) p = (char*) malloc(MEM_SIZE);my_icon = (DWORD) LoadIcon (hInstance, my_icon);
, , - . p - - , (!p) (!) , . , ! -, - :(. , - , , , - ? ...
LoadIcon - my_icon - , . , (, ), -, , . , -. , - :).
- , -. (- ), ... , .
( MMicrosoft VVisual CC++ MMFC).text:00402A82 push ebp.text:00402A83 mov ebp, esp.text:00402A85 push 0FFFFFFFFh
.text:00402A87 push offset unk_403748
.text:00402A8C push offset loc_402C06
.text:00402A91 mov eax, large fs:0
.text:00402A97 push eax
.text:00402A98 mov large fs:0, esp
.text:00402A9F sub esp, 68h
...
.text:00402BAA call ds:GetModuleHandleA
.text:00402BB0 push eax
.text:00402BB1 call _WinMain@16 ; WinMain(x,x,x,x)
GGetModuleHandleA API- GetModuleHandleA . , / start-up-- WinMain ( GetVesion/Get-VersionEx, GetCommandLine, GetStartupInfo ..). , - h API- , , . 8Bh, , -, , (-) 55h. VirtualAlloc, CCh 8Bh . ! , - Windows API- -, .
- Drx. mov eax,DrX - , , () , - , x86 - . , Drx, , ! , - , . , . SDK API- GetThreadContext, - , , - .
. SEH, - ( , - ) - . fs:0, SEH-- ( ).
fs:0. , , SEH-, fs:0 -
- - , -, -. , , ESP, - (soft-ice ) .
. , , - - ( , - ). - - , , , - , .
$$pc . - - . - , - . , - , - ( ), - - . . , . $pc ( x86 eip) , - , -, . !
- , soft-ice , . . , -- ( p-) soft-ice -. --, , -, , - , , -, .
, -, . , 9x, NT, . - Microsoft, Windows. , - , , . - , .
, IceExt - soft-ice, -. , soft-ice+IceExt, OllyDbg. - -. soft-ice . . . - . , .
-, rand(), . , , , 69h, -. -, - .
, , , . - ! , - . , / , - , ! - : - - ( ) - . , , . -! , - , .., . - ...
() ( -), , -
. - . - ! - . , , -. (, ) - ! , - . ( WM_CHAR DDE) ( - , WM_GETTEXT, - ).
- IDA PRO. - , - . - ( -) , - - . - / -, () - , , -. p- - .
-, . - - call eax - , , eax . - -, , - IDA, , . , . , , - , ! - , - call eax , . eax - , eax . - !
, sub_sub_demo(int a, void *p, void *d){
// printf(sub_sub_demo\n);if (--a) return ((int(*)(int, void*, void*))p)(a, p, d);return 0;
}
sub_demo(int a, void *p, void *d){
// printf(sub_demo\n);if (--a) return ((int(*)(int, void*, void*))d)(a, p, d);return 0;
}demo(int a, void *p, void *d){
// printf(demo\n);((int(*)(int, void*, void *))p)(a, p, d);
}main(){
demo(0x69,sub_demo, sub_sub_demo);}
. main - demo, sub_demo sub_demo, - , . , . ! .
, .text:00401000 loc_401000:; DATA XREF: _maino.text:00401000 mov ecx, [esp+4].text:00401004 dec ecx.text:00401005 jz short loc_401018.text:00401007 mov eax, [esp+0Ch].text:0040100B push eax.text:0040100C mov eax, [esp+0Ch].text:00401010 push eax.text:00401011 push ecx.text:00401012 call eax.text:00401014 add esp, 0Ch.text:00401017 retn.text:00401020.text:00401020 loc_401020:; DATA XREF: _main+5o.text:00401020 mov ecx, [esp+4].text:00401024 dec ecx.text:00401025 jz short loc_401038.text:00401027 mov eax, [esp+0Ch].text:0040102B mov edx, [esp+8].text:0040102F push eax.text:00401030 push edx.text:00401031 push ecx.text:00401032 call eax.text:00401034 add esp, 0Ch.text:00401037 retn.text:00401040.text:00401060 _main proc near; CODE XREF: start+AF p.text:00401060 push offset loc_401000.text:00401065 push offset loc_401020.text:0040106A push 69h.text:0040106C call sub_401040.text:00401071 add esp, 0Ch.text:00401074 retn.text:00401074 _main endp
IDA Pro , - main ! sub_demo sub_sub_de-mo . - loc_401000. - . ? ! - . - - -, main, , ( - ). , - , , - , , - ...
, - , - . - , - . , - , - , - . -, IDA PRO.
- . , , FindWindow , , Window--, . -, ( FindWindow/SetWindowText), - . .
? . , - , , -. -/ - , - .
- -, . , - - !
74 |
2005 ( 3dgamers.ru):
1 F.E.A.R.2 NEED FOR SPEED:
MOST WANTED3 GTA: SAN ANDREAS4 PP 35 CALL OF DUTY 26 PRINCE OF PERSIA 3:
TWO THRONES7 SPLINTER CELL:
CHAOS THEORY8 FAHRENHEIT9 QUAKE 41 0 BATTLEFIELD 2
+ SPECIAL FORCES
Action/FPS 2005 :
1 F.E.A.R2 SPLINTER CELL:
CHAOS THEORY3 CALL OF DUTY 24 GTA: SAN ANDREAS5 QUAKE 4
y p 2005 :
1 PP 32 Y P: P3 EX MACHINA4 : PPP
+ Y P5 2.
H
p 2005 :
1 CIVILIZATION IV2 AGE OF EMPIRES 33 BLACK & WHITE 24 UFO: AFTERSHOCK
5 2. H
Adventure/Quest 2005 :
1 FAHRENHEIT2 6:
H P3 KING KONG4 MYST V: END OF AGES5 P.
RPG 2005 :
1 FABLE: THE LOST CHAPTERS2 PP 33 GOTHIC 2:
NIGHT OF THE RAVEN
Simulation 2005 :
1 BLACK & WHITE 22 X3: REUNION3 SILENT HUNTER 34 EX MACHINA5 SIMS 2 NIGHTLIFE
Racing Sim 2005 :
1 NEED FOR SPEED: MOST WANTED
2 JUICED3 LADA RACING CLUB
3dgamers.ru, pp 2005 Pro Evolution Soccer 5
MMORPG 2005 :
1 GUILD WARS2 ULTIMA ONLINE:
MONDAIN'S LEGACY3 P: P P
. -, 2D--, , - PopCap Framework (. ). - SDK, 7 . Zuma Dy-nomite. , - Boost (www.boost.org). Pop-Cap SDK . - Boost'. MSVC++ 6.0. , - VC 7 8, - PopCap.
, - PopCap.
// GameApp* anApp = new GameApp();// anApp->Init();// anApp->Start();// delete anApp;
GameApp. SexyAppBase PopCap. - , - , - : , , - , -. Bo-ard, Widget GameApp. -
: - () , - . Board - (), - : - - ( /), () - ( ). - LeftPanel, Widget ButtonListener, - , - . - Board.
, . - PlayArea - Board. , ( - ). - ,
, ! ?! ! ! ! - - ( ): , , TREAS -, , - :) | ([email protected])
tetris
| 77
. UML--, , - .
GameDriver. -: , , . , , , - . , - , - GameLogic, GameDriver. - GameView, GameDriver. GameView , () . - 1020 Playfield. - TetrisBlock, - . UML- .
// SexyAppBase::Init();// ( )LoadResourceManifest();// Initif( !mResourceManager->LoadRe-sources(Init) ){
ShowResourceError(true);return;
}if( !ExtractInitResources(mResourceManager) ){ShowResourceError(true);
return;}// ,
if( !mResourceManager->LoadResources(TitleScreen) ){
ShowResourceError(true);return;
}if( !ExtractTitleScreenResources(mResourceManager) ){
ShowResourceError(true);return;
}// m_titleScreen.reset(new TitleScreen(this));m_titleScreen->Resize(0, 0, mWidth, mHeight);m_titleScreen->Init();mWidgetManager->AddWidget(m_titleScreen.get());mNumLoadingThreadTasks = mResourceMana-ger->GetNumResources(Game);// mMusicInterface->LoadMusic(0, Musics/1984-Network.s3m);mMusicInterface->FadeIn(0, 0, 0.002, false);
, , . - , - . XML--, () -: , . XTreas. Init , - . Tit-tleScreen , - . , Ga-me .
() PopCap, , - , - : - B. , -
. , , - .
// mResourceManager->DeleteResources(TitleScreen);// m_board.reset( new Board(this) );mWidth = IMAGE_LEFT_PANEL->GetWidth() +320 + BORDER_SIZE;m_board->Resize(0, 0, mWidth, mHeight);mWidgetManager->AddWidget( m_board.get() );SetFocusToBoard();
-, - ( ) . : , . , , , - . () - , , , . - AddedToManager, RemovedFromManager.
void LeftPanel::AddedToManager(WidgetMana-ger* theWidgetManager){Widget::AddedToManager(theWidgetManager);// int width = IMAGE_BUTTON_AQUA->GetWidth();int height = mHeight IMAGE_BUTTON_AQUA->GetHeight();// m_newGame = CreateButton(BUTTON_NEW_GA-ME, New Game, mWidth/2 width/2, height);// theWidgetManager->AddWidget( m_newGame.get() );}
--, , But-tonDepress.
void LeftPanel::ButtonDepress(int theId){switch(theId){case BUTTON_NEW_GAME:m_app->OnNewGame();break;case BUTTON_PAUSE:
, -
78 |
m_app->OnPauseGame();break;}}
. , , .. - - . KeyDown ( - ) - , : -.
void Board::KeyDown(KeyCode theKey){Widget::KeyDown(theKey);switch(theKey){case KEYCODE_SPACE:m_app->m_gameDriver.Rotate();break;case KEYCODE_LEFT:m_app->m_gameDriver.Left();break;case KEYCODE_RIGHT:m_app->m_gameDriver.Right();break;case KEYCODE_DOWN:m_app->m_gameDriver.Drop();break;}}
, - New Game, , , -
, . - Update() GameDriver.
// , if(!m_isNewGame && !(m_gameState & GAME_OVER) ) return;m_gameView.SetGraphics( g );// if( m_current ){
// if( elapsed > m_gameLogic.GetSpeed() && !m_isPaused ){// if( m_playfield.CheckBlock(*m_current, m_currentX, m_currentY+1) ){// m_playfield.InsertBlock(*m_current, m_cur-rentX, m_currentY);//, if( IsGameOver() ){GameOver();secStart = secEnd;return;}m_current = 0;//, () m_playfield.GetFullRows(bottom, count);if(!count){// , ThrowNextBlock();// gSexyAppBase->PlaySample(SOUND_BLOCK_DOWN);}else{
//
// m_animState = CLEAN_ROWS;// gSexyAppBase->PlaySample(SOUND_FULL_LINE);}}else{++m_currentY;}
secStart = secEnd;elapsed = 0;}}// if(m_animState == NORMAL){// DrawNormal(elapsed / m_gameLogic.GetSpeed());}// else{
// if( elapsed > LINE_ANIM_SPEED && !m_isPaused ){
// m_playfield.Update();secStart = secEnd;elapsed = 0;m_animState = NORMAL;// ThrowNextBlock();// m_gameLogic.UpdateScore(count);bottom=count=0;return;}// ( )DrawSfx(elapsed/LINE_ANIM_SPEED, bottom, count);}
, , . , , . , - , , . , , . , ( ), . - . - ( -) , . - . .
void Playfield::Update(){SquareCoord bottom, count;//, GetFullRows(bottom, count);if(count){
// RemoveRows(bottom, count);}
}void Playfield::GetFullRows(SquareCoord & bot-tom, SquareCoord & count) const{count = 0;bottom = -1;// for(int i = m_rows.size()-1; i != 0 &&!m_rows[i].IsEmpty(); --i){
// if(m_rows[i].IsFull()){
// if(count == 0){bottom = i;count++;}elsecount++;}else
// , if(count != 0) break;}}
void Playfield::RemoveRows(SquareCoord bottom, SquareCoord count){//, assert(bottom>=0 && bottom=1 && count0 && bottom-count bottom-count; --i){// assert( m_rows[i].IsFull() );// m_rows[i].Reset();}// for(i = bottom; i != 4; --i ){m_rows[i] = m_rows[i-count];}}
, - , GetFul-lRows(). , -
, , RemoveRows(). - - ThrowNextBlock.
void GameDriver::ThrowNextBlock(){// if( !m_isPaused ){assert(m_current==0);// m_block = m_nextBlock;// m_nextBlock = TetrisBlock();// for(int i = 0; i < rand()%4; ++i )m_nextBlock.Rotate();
// m_current = &m_block;m_currentX = 3;m_currentY = -2;// if(m_pushedSpeed>0){m_gameLogic.m_levelInfo.m_spe-ed = m_pushedSpeed;m_pushedSpeed = 0;}}}
, - . -. - , . , - , , - , , - .
() . , - . - - , . , - -
. , ! . , . , 20 000 , , - .
- - . , - - . -
, , STL Boost. , , shared_ptr Boost.
- - : Lua, Python, XML .. , - .
- - , -. -. - , -, ..
| 79
2D- POP-CAP FRAMEWORK BOOST
80 |
, - , . , - , , , . - , - |TONY ([email protected])
3D-:
, . -, , - . , , , . , , -: , , ! - . -
, , - , PC, . . -, , - face- , , - . -, , PC,, , , , , .
RenderWare, Unreal Engine, Source . ? ! , - , - . , - , - . , , , - . , . , - , - .
, . ( In-die team - ) - -. , - , - . Ogre 3D (Opensource graphics engine),
. , -, Ogre (www.ogre3d.org.ru). : ( 2005) Lesta , . Lesta , - Ogre - - (Win-dows Linux), - ( 1.0.6). - Ogre DirectX
7.0, DirectX 9.0 openGL 1.5, , , -, - -wpapper'. - : Cg, HLSL, GLSL (, - ). 3D- -, -: Milkshape3D, 3D Studio Max, Ma-ya, Blender Wings3D. -
ooggrree 33dd
1 WWW.OGRE3D.ORG2 WWW.NEBULADEVICE.ORG3 IRRLICHT.SOURCEFORGE.NET4 WWW.DEVMASTER.NET/ENGINES
Ogre . Ra-don Labs Nebula Engine, - - - , Ogre. , Nebula - . , - C++- . , - Nebula C++. Ogre , Nebula - Windows DirectX. - - .
(HLSL FX- DirectX), - , , . - Ogre, - - ( -!), - - - - . - 2005 , - 2.0.
| 81
nneebbuullaa ddeevviiccee
iirrrrlliicchhtt eennggiinnee - Irrlicht Engine. -- (Windows Linux) - DirectX (8.1, 9.0), openGL 1.5 - . , (- ), . 3D--, C++ - . - . - , , .. -, - - 2005 , - 0.14.0.
- Irrlicht Engine
- . - , , - , - BSP Octree. - - . - . , - - .
, - Commu-nity.
- - (), - ( -) - -. , - , - - , - .
Radon Labs
, -
82 |
Criterion ( Electronic Arts), UE3, . PlayStation 2,PlayStation Portable, Xbox, GameCube, PC N-Gage. -, RenderWare Studio 2.0 - - .
. - RenderWare ( Criterion) - - - EA :). , -, FIFA 2005 FIFA2006?.. , ?!
, . :). - , Epic Games Unre-al . - Un-real Engine 3, - . DirectX 9.0, Xbox 360 PlayStation 3. - , 64- (HDR), ( - ), ( - ), - . ( ) . -
, - - . UE3 Novo-deX (, - Ageia, 2006 -). - -, . , - - , , - . , - -, , Rag-Doll. AnimTree .
- 3D--
. - . : , NPC, , . - ( , ), ( - ), - . - - , - . - UnrealKismet. - UnrealMatinee. - , 5.1 Dolby Digital. - , . UnrealEd - - .
, , - Unreal. - UDP, - - 64- , - 16- ., , -. , , Duke Nukem Forever Star Wars: Republic Commando. Unre-al (www.unrealtechnolo-gy.com/html/powered/released.shtml). DTF :www.dtf.ru/articles/read.php?id=1102. UE3 - $750 ., .
rreennddeerrwwaarree
uunnrreeaall eennggiinnee 33
-
, . - , - . - : , Doom 3, add-on Doom 3: Resurrection of Evil, Quake 4, Pray,
Enemy Territory: Quake Wars MegaTexture. - Quake 3 , , - . , -
Quake. ID , D3 - .
Unreal Engine 3. , , , - , - Source. - , Mega-Texture - . - Doom 3 -, - , -, .
| 83
ssoouurrccee eennggiinnee
ddoooomm 33 eennggiinnee
, , Valve Source, - Half-Life 2, Day of Defeat: Source, Coun-ter Strike: Source. Troika Games ( , - ) RPGVampire the Masquerade: Bloodlines, Smi-ling Gator Productions MMORPG Twilight War: Afterthe Fall, Extreme Online Rolepla-ying Game (XORG).
,Source Windows- DirectX. - ++. , - , -, -. Unreal Engine 3, - Source , , ..
Source , - 1999. -, , , . - - Havok 2. -, Half-Life 2 gameplay.
Valve - . - Source - , - - , , - . - , 5.1. . - . -, Source, - : -
, , , - 3D-. Source, -, , -. , Valve , - , - -. .
HDR
, . , , . , . - , .
- , ,. - . - . -, , , , , - -. . - , : - , - , . , . - , ( ++). , Lua Python, - - ( - !). , - . , - , - ? , . , -, - . , Crazy Eddie's GUI. , XML -. , , -
, .
- -, . - , , , , , , - . : . (root) - ( -) (), . - - . . - -, : . .
. - , - - . -, , , , . , , : -, , .
, -. - . -,
, -. - (BSP, Octree). - , - , , - . - - .
,, . -, , - (), - -. , . - . , ?, , , - . - ( - ), - . - .
, , ().