Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Programming / GameProg / RPG_Programming_2ed.pdf
Скачиваний:
243
Добавлен:
12.02.2016
Размер:
12.06 Mб
Скачать

СЕТЕВАЯ БИБЛИОТЕКА

Джим Адамс

ПРОГРАММИРОВАНИЕ РОЛЕВЫХ ИГР

С DirectX

2-е издание

NetLib 2010

Джим Адамс

Программирование ролевых игр с DirectX (2-е издание)

Thomson Course Technology PTR, 2004 ISBN: 1-59200-315-X

Аннотация

Ни один из жанров игр не способствует погружению игрока в свой мир так, как это делают ролевые игры. В них игрок прорывается сквозь барьер существующий между его действиями и фантастическим миром и становится жителем того мира. Приготовьтесь воплотить свои идеи в жизнь и создать собственную ролевую игру! Книга «Программирование ролевых игр с DirectX» покажет вам как создать графическую библиотеку и механизм сражений, как управлять игроками, использовать скрипты и предметы, и как сделать вашу игру многопользовательской. Книга разделяет ролевую игру на базовые составляющие, подробно исследует их и показывает, как вы можете применять их в своем игровом проекте. Вы научитесь рисовать с DirectX Graphics, воспроизводить звуки и музыку с DirectX Audio, работать с сетью с DirectPlay и взаимодействовать с игроком с DirectInput. Когда вы закончите чтение книги, у вас будет достаточно знаний, чтобы создать собственную законченную ролевую игру.

Понравился перевод? Не забудьте покормить переводчика.

WebMoney: Z165309743603, R229843962424

Оформление и подготовка издания

Сетевое издательство NetLib, 2010

Сайт

netlib.narod.ru

E-mail

netlib@mail.ru

Оглавление

 

БЛАГОДАРНОСТИ ..................................................................

19

ОБ АВТОРЕ..............................................................................

21

ВВЕДЕНИЕ ..............................................................................

23

О ЧЕМ ЭТА КНИГА....................................................................................................

23

ДЛЯ КОГО ПРЕДНАЗНАЧЕНА КНИГА.................................................................

24

ОРГАНИЗАЦИЯ КНИГИ ...........................................................................................

24

СОДЕРЖИМОЕ CD-ROM ..........................................................................................

25

ТИПОГРАФСКИЕ СОГЛАШЕНИЯ.........................................................................

25

ЧТО НУЖНО ДЛЯ НАЧАЛА.....................................................................................

26

ЧАСТЬ I РАБОТА С КНИГОЙ ..........................

27

ГЛАВА 1 ПОДГОТОВКА К РАБОТЕ С КНИГОЙ...................

29

DIRECTX.......................................................................................................................

29

ПОДГОТОВКА DIRECTX ..............................................................................................

31

ОТЛАДОЧНЫЕ И ДИСТРИБУТИВНЫЕ ВЕРСИИ ...............................................................

31

УСТАНОВКА DIRECTX9..............................................................................................

31

УСТАНОВКА DIRECTMUSIC PRODUCER.......................................................................

33

ВКЛЮЧАЕМЫЕ ФАЙЛЫ И БИБЛИОТЕКИ .......................................................................

33

ПОДГОТОВКА КОМПИЛЯТОРА............................................................................

33

УКАЗАНИЕ КАТАЛОГОВ ДЛЯ DIRECTX ........................................................................

34

СВЯЗЫВАНИЕ С БИБЛИОТЕКАМИ.................................................................................

36

УСТАНОВКА ПОВЕДЕНИЯ ПО УМОЛЧАНИЮ ДЛЯ CHAR.................................................

39

ОКОНЧАТЕЛЬНЫЕ И ОТЛАДОЧНЫЕ ВЕРСИИ .................................................................

40

МНОГОПОТОЧНЫЕ БИБЛИОТЕКИ.................................................................................

40

ПРОГРАММИРОВАНИЕ ДЛЯ WINDOWS .............................................................

41

ПОТОКИ И МНОГОПОТОЧНОСТЬ ..................................................................................

41

КРИТИЧЕСКИЕ СЕКЦИИ...............................................................................................

43

ИСПОЛЬЗОВАНИЕ COM..............................................................................................

44

Инициализация COM..........................................................................................

45

IUnknown .............................................................................................................

45

Инициализация и освобождение объектов.........................................................

46

Запрос интерфейсов.............................................................................................

47

ПОТОК ВЫПОЛНЕНИЯ ПРОГРАММЫ................................................................

48

netlib.narod.ru

3

Оглавление

 

 

МОДУЛЬНОЕ ПРОГРАММИРОВАНИЕ.................................................................

49

СОСТОЯНИЯ И ПРОЦЕССЫ....................................................................................

51

СОСТОЯНИЯ ПРИЛОЖЕНИЯ ..........................................................................................

51

ПРОЦЕССЫ ..................................................................................................................

 

55

ОБРАБОТКА ДАННЫХ ПРИЛОЖЕНИЯ................................................................

57

ИСПОЛЬЗОВАНИЕ УПАКОВКИ ДАННЫХ........................................................................

57

ТЕСТИРОВАНИЕ СИСТЕМЫ УПАКОВКИ ДАННЫХ ..........................................................

58

ПОСТРОЕНИЕ КАРКАСА ПРИЛОЖЕНИЯ ...........................................................

60

СТРУКТУРИРОВАНИЕ ПРОЕКТА..........................................................................

65

ЗАВЕРШАЕМ ПОДГОТОВКУ...................................................................................

65

ЧАСТЬ II

ОСНОВЫ DIRECTX..........................

67

ГЛАВА 2 РИСОВАНИЕ С DIRECTX GRAPHICS....................

69

СЕРДЦЕ ТРЕХМЕРНОЙ ГРАФИКИ........................................................................

70

СИСТЕМЫ КООРДИНАТ ................................................................................................

71

КОНСТРУИРОВАНИЕ ОБЪЕКТОВ ...................................................................................

73

СПИСКИ, ПОЛОСЫ И ВЕЕРА..........................................................................................

74

ПОРЯДОК ВЕРШИН.......................................................................................................

75

ОКРАШИВАНИЕ ПОЛИГОНОВ .......................................................................................

76

ПРЕОБРАЗОВАНИЯ .......................................................................................................

76

НАЧИНАЕМ РАБОТАТЬ С DIRECTX GRAPHICS................................................

77

КОМПОНЕНТЫ DIRECT3D............................................................................................

78

ИНИЦИАЛИЗАЦИЯ СИСТЕМЫ .......................................................................................

79

ПОЛУЧЕНИЕ ИНТЕРФЕЙСА DIRECT3D..........................................................................

79

ВЫБОР ВИДЕОРЕЖИМА ................................................................................................

79

УСТАНОВКА МЕТОДА ПОКАЗА .....................................................................................

82

СОЗДАНИЕ ИНТЕРФЕЙСА УСТРОЙСТВА И ИНИЦИАЛИЗАЦИЯ ДИСПЛЕЯ .........................

84

ПОТЕРЯ УСТРОЙСТВА ..................................................................................................

85

ЗНАКОМСТВО С D3DX ................................................................................................

85

ТРЕХМЕРНАЯ МАТЕМАТИКА................................................................................

86

МАТРИЧНАЯ АЛГЕБРА..................................................................................................

86

КОНСТРУИРОВАНИЕ МАТРИЦ.......................................................................................

87

КОМБИНИРОВАНИЕ МАТРИЦ........................................................................................

89

ПЕРЕХОД ОТ ЛОКАЛЬНЫХ КООРДИНАТ К КООРДИНАТАМ ВИДА....................................

90

ПЕРЕХОДИМ К РИСОВАНИЮ................................................................................

92

ИСПОЛЬЗОВАНИЕ ВЕРШИН ..........................................................................................

92

НАСТРАИВАЕМЫЙ ФОРМАТ ВЕРШИН ...........................................................................

92

ИСПОЛЬЗОВАНИЕ БУФЕРА ВЕРШИН..............................................................................

94

Создание буфера вершин.....................................................................................

95

Блокировка буфера вершин.................................................................................

96

Заполнение данных вершин.................................................................................

97

ПОТОК ВЕРШИН...........................................................................................................

98

ВЕРШИННЫЕ ШЕЙДЕРЫ...............................................................................................

99

ПРЕОБРАЗОВАНИЯ .......................................................................................................

99

МИРОВОЕ ПРЕОБРАЗОВАНИЕ .....................................................................................

100

ПРЕОБРАЗОВАНИЕ ВИДА............................................................................................

101

4

netlib.narod.ru

 

 

Джим Адамс

ПРЕОБРАЗОВАНИЕ ПРОЕКЦИИ...................................................................................

103

МАТЕРИАЛЫ И ЦВЕТА...............................................................................................

105

ОЧИСТКА ПОРТА ПРОСМОТРА ...................................................................................

106

НАЧАЛО И ЗАВЕРШЕНИЕ СЦЕНЫ ...............................................................................

107

ВИЗУАЛИЗАЦИЯ ПОЛИГОНОВ....................................................................................

107

ПОКАЗ СЦЕНЫ...........................................................................................................

109

ИСПОЛЬЗОВАНИЕ НАЛОЖЕНИЯ ТЕКСТУР....................................................

109

ИСПОЛЬЗОВАНИЕ НАЛОЖЕНИЯ ТЕКСТУР В DIRECT3D...............................................

111

ЗАГРУЗКА ТЕКСТУРЫ.................................................................................................

112

УСТАНОВКА ТЕКСТУРЫ ............................................................................................

113

ИСПОЛЬЗОВАНИЕ ВЫБОРОК ......................................................................................

115

ВИЗУАЛИЗАЦИЯ ТЕКСТУРИРОВАННЫХ ОБЪЕКТОВ.....................................................

116

АЛЬФА-СМЕШИВАНИЕ.........................................................................................

117

ВКЛЮЧЕНИЕ АЛЬФА-СМЕШИВАНИЯ..........................................................................

118

РИСОВАНИЕ С АЛЬФА-СМЕШИВАНИЕМ.....................................................................

119

КОПИРОВАНИЕ С УЧЕТОМ ПРОЗРАЧНОСТИ И АЛЬФА-ПРОВЕРКА ................................

119

ЗАГРУЗКА ТЕКСТУР С ЦВЕТОВЫМ КЛЮЧОМ...............................................................

120

ВКЛЮЧЕНИЕ АЛЬФА-ПРОВЕРКИ ................................................................................

121

ПРИМЕР КОПИРОВАНИЯ С УЧЕТОМ ПРОЗРАЧНОСТИ...................................................

122

ОСВЕЩЕНИЕ .............................................................................................................

123

ИСПОЛЬЗОВАНИЕ ТОЧЕЧНОГО СВЕТА........................................................................

126

ИСПОЛЬЗОВАНИЕ ЗОНАЛЬНОГО СВЕТА......................................................................

126

ИСПОЛЬЗОВАНИЕ НАПРАВЛЕННОГО СВЕТА...............................................................

128

ФОНОВЫЙ СВЕТ........................................................................................................

129

УСТАНОВКА СВЕТА...................................................................................................

129

ИСПОЛЬЗОВАНИЕ НОРМАЛЕЙ....................................................................................

129

ДА БУДЕТ СВЕТ!........................................................................................................

132

ИСПОЛЬЗОВАНИЕ ШРИФТОВ.............................................................................

132

СОЗДАНИЕ ШРИФТА..................................................................................................

133

РИСОВАНИЕ ТЕКСТА .................................................................................................

135

ЩИТЫ.........................................................................................................................

136

ЧАСТИЦЫ..................................................................................................................

138

СОРТИРОВКА ПО ГЛУБИНЕ И Z-БУФЕРИЗАЦИЯ..........................................

141

РАБОТА С ПОРТОМ ПРОСМОТРА......................................................................

143

РАБОТА С СЕТКАМИ..............................................................................................

144

X-ФАЙЛЫ..................................................................................................................

145

ФОРМАТ X-ФАЙЛОВ .................................................................................................

145

Использование иерархии фреймов...................................................................

146

СОЗДАНИЕ X-ФАЙЛОВ С СЕТКАМИ............................................................................

148

РАЗБОР X-ФАЙЛОВ....................................................................................................

148

СЕТКИ В БИБЛИОТЕКЕ D3DX..............................................................................

151

ОБЪЕКТ ID3DXBUFFER ............................................................................................

151

СТАНДАРТНЫЕ СЕТКИ...............................................................................................

152

ВИЗУАЛИЗАЦИЯ СЕТКИ.............................................................................................

154

СКЕЛЕТНЫЕ СЕТКИ ...................................................................................................

155

Загрузка скелетных сеток..................................................................................

156

Обновление и визуализация скелетной сетки..................................................

157

X-СТИЛЬ ТРЕХМЕРНОЙ АНИМАЦИИ...........................................................................

158

netlib.narod.ru

5

Оглавление

 

 

ТЕХНИКА КЛЮЧЕВЫХ КАДРОВ...................................................................................

159

 

АНИМАЦИЯ В X-ФАЙЛАХ ..........................................................................................

160

 

ЗАКАНЧИВАЕМ С ГРАФИКОЙ.............................................................................

161

ГЛАВА 3 ВЗАИМОДЕЙСТВИЕ С ПОЛЬЗОВАТЕЛЕМ С

 

 

DIRECTINPUT.......................................................

163

 

ЗНАКОМСТВО С УСТРОЙСТВАМИ ВВОДА......................................................

163

 

ВЗАИМОДЕЙСТВИЕ ЧЕРЕЗ КЛАВИАТУРУ.....................................................................

164

 

Работа с клавиатурой в Windows.......................................................................

165

 

ИГРАЕМ С МЫШЬЮ....................................................................................................

166

 

УДОВОЛЬСТВИЕ С ДЖОЙСТИКОМ...............................................................................

168

 

ИСПОЛЬЗОВАНИЕ DIRECTINPUT .......................................................................

169

 

ПРЕДСТАВЛЯЕМ ОСНОВЫ DIRECTINPUT.....................................................................

169

 

ИНИЦИАЛИЗАЦИЯ DIRECTINPUT................................................................................

171

 

ИСПОЛЬЗОВАНИЕ УСТРОЙСТВ DIRECTINPUT..............................................

172

 

ПОЛУЧЕНИЕ GUIDУСТРОЙСТВА...............................................................................

173

 

СОЗДАНИЕ COM-ОБЪЕКТА УСТРОЙСТВА...................................................................

177

 

УСТАНОВКА ФОРМАТА ДАННЫХ................................................................................

177

 

УСТАНОВКА УРОВНЯ КООПЕРАЦИИ...........................................................................

178

 

УСТАНОВКА СПЕЦИАЛЬНЫХ СВОЙСТВ ......................................................................

179

 

ЗАХВАТ УСТРОЙСТВА ................................................................................................

181

 

ОПРОС УСТРОЙСТВА..................................................................................................

182

 

ЧТЕНИЕ ДАННЫХ.......................................................................................................

182

 

DIRECTINPUT И КЛАВИАТУРА............................................................................

183

 

DIRECTINPUT И МЫШЬ .........................................................................................

185

 

DIRECTINPUT И ДЖОЙСТИК................................................................................

186

 

ЗАКАНЧИВАЕМ С ВВОДОМ...................................................................................

191

ГЛАВА 4 ВОСПРОИЗВЕДЕНИЕ ЗВУКОВ И МУЗЫКИ С

 

 

DIRECTX AUDIO И DIRECTSHOW.......................

193

 

ОСНОВЫ ЗВУКА.......................................................................................................

193

 

ЦИФРОВАЯ ЗВУКОЗАПИСЬ .........................................................................................

194

 

МУЗЫКАЛЬНОЕ БЕЗУМИЕ...........................................................................................

196

 

MIDI....................................................................................................................

196

 

DirectMusic .........................................................................................................

196

 

MP3.....................................................................................................................

197

 

ЗНАКОМСТВО С DIRECTX AUDIO.......................................................................

197

 

ИСПОЛЬЗОВАНИЕ DIRECTSOUND......................................................................

198

 

ИНИЦИАЛИЗАЦИЯ DIRECTSOUND..............................................................................

200

 

УСТАНОВКА УРОВНЯ КООПЕРАЦИИ...........................................................................

201

 

УСТАНОВКА ФОРМАТА ВОСПРОИЗВЕДЕНИЯ...............................................................

202

 

Создание объекта первичного звукового буфера.............................................

202

 

Установка формата.............................................................................................

205

 

ЗАПУСК ПЕРВИЧНОГО ЗВУКОВОГО БУФЕРА................................................................

206

 

ИСПОЛЬЗОВАНИЕ ВТОРИЧНЫХ ЗВУКОВЫХ БУФЕРОВ..................................................

208

 

БЛОКИРУЙ И ЗАГРУЖАЙ ЗАГРУЗКА ЗВУКОВЫХ ДАННЫХ В БУФЕР..........................

209

 

ВОСПРОИЗВЕДЕНИЕ ЗВУКОВОГО БУФЕРА...................................................................

212

6

netlib.narod.ru

 

 

Джим Адамс

ИЗМЕНЕНИЕ ГРОМКОСТИ, ПОЗИЦИОНИРОВАНИЯ И ЧАСТОТЫ....................................

212

Регулировка громкости.....................................................................................

213

Позиционирование............................................................................................

213

Изменение частоты............................................................................................

214

ПОТЕРЯ ФОКУСА.......................................................................................................

215

ИСПОЛЬЗОВАНИЕ УВЕДОМЛЕНИЙ .............................................................................

215

ИСПОЛЬЗОВАНИЕ ПОТОКОВ ДЛЯ СКАНИРОВАНИЯ СОБЫТИЙ.....................................

219

ЗАГРУЗКА ЗВУКА В БУФЕР .........................................................................................

221

ПОТОКОВОЕ ВОСПРОИЗВЕДЕНИЕ ЗВУКА....................................................................

224

РАБОТА С DIRECTMUSIC......................................................................................

226

НАЧИНАЕМ РАБОТУ С DIRECTMUSIC.........................................................................

227

СОЗДАНИЕ ОБЪЕКТА ИСПОЛНИТЕЛЯ .........................................................................

228

СОЗДАНИЕ ОБЪЕКТА ЗАГРУЗЧИКА.............................................................................

229

РАБОТА С МУЗЫКАЛЬНЫМИ СЕГМЕНТАМИ................................................................

231

Загрузка музыкальных сегментов.....................................................................

231

Загрузка инструментов......................................................................................

233

НАСТРОЙКИ ДЛЯ MIDI .............................................................................................

236

Установка инструментов...................................................................................

236

Использование циклов и повторов...................................................................

237

Воспроизведение и остановка сегмента...........................................................

238

Выгрузка данных сегмента ...............................................................................

239

ИЗМЕНЕНИЕ МУЗЫКИ................................................................................................

240

Установка громкости.........................................................................................

240

Смена темпа.......................................................................................................

242

Захват аудио-канала..........................................................................................

243

ПРИСОЕДИНЯЕМСЯ К MP3-РЕВОЛЮЦИИ......................................................

245

ИСПОЛЬЗОВАНИЕ DIRECTSHOW................................................................................

245

ЗАГРУЗКА МЕДИА-ФАЙЛА .........................................................................................

247

УПРАВЛЕНИЕ ВОСПРОИЗВЕДЕНИЕМ ВАШЕЙ МУЗЫКИИ ЗВУКОВ................................

248

Воспроизведение звука .....................................................................................

248

Приостановка воспроизведения........................................................................

248

Завершение воспроизведения...........................................................................

248

ОБНАРУЖЕНИЕ СОБЫТИЙ..........................................................................................

249

ОСВОБОЖДЕНИЕ РЕСУРСОВ DIRECTSHOW.................................................................

250

ЗАКАНЧИВАЕМ С МУЗЫКОЙ..............................................................................

251

ГЛАВА 5 РАБОТА С СЕТЬЮ С DIRECTPLAY ....................

253

ЗНАКОМСТВО С СЕТЯМИ.....................................................................................

253

СЕТЕВЫЕ МОДЕЛИ ....................................................................................................

254

ЛОББИ.......................................................................................................................

255

ЗАДЕРЖКА И ЗАПАЗДЫВАНИЕ ...................................................................................

256

КОММУНИКАЦИОННЫЕ ПРОТОКОЛЫ ........................................................................

256

АДРЕСАЦИЯ..............................................................................................................

257

ВВЕДЕНИЕ В DIRECTPLAY ...................................................................................

258

СЕТЕВЫЕ ОБЪЕКТЫ...................................................................................................

259

РАБОТА С ИГРОКАМИ................................................................................................

260

СЕТЕВЫЕ СООБЩЕНИЯ..............................................................................................

261

Асинхронная и синхронная работа...................................................................

262

netlib.narod.ru

7

Оглавление

 

 

Безопасность.......................................................................................................

263

 

Гарантированная доставка.................................................................................

263

 

Регулировка потока............................................................................................

263

 

ОТ МАЛЕНЬКИХ БАЙТОВ К БОЛЬШИМ СЛОВАМ ..........................................................

264

 

ИДЕНТИФИКАЦИЯ ПРИЛОЖЕНИЙ ПО GUID...............................................................

264

 

ИНИЦИАЛИЗАЦИЯ СЕТЕВОГО ОБЪЕКТА........................................................

265

 

ИСПОЛЬЗОВАНИЕ АДРЕСОВ................................................................................

266

 

ИНИЦИАЛИЗАЦИЯ ОБЪЕКТА АДРЕСА..........................................................................

267

 

ДОБАВЛЕНИЕ КОМПОНЕНТОВ....................................................................................

267

 

УСТАНОВКА ПОСТАВЩИКА УСЛУГ ............................................................................

269

 

ВЫБОР ПОРТА............................................................................................................

269

 

НАЗНАЧЕНИЕ УСТРОЙСТВА .......................................................................................

270

 

ИСПОЛЬЗОВАНИЕ ОБРАБОТЧИКОВ СООБЩЕНИЙ.....................................

272

 

КОНФИГУРИРОВАНИЕ ДАННЫХ СЕССИИ......................................................

274

 

ДАННЫЕ СЕССИИ СЕРВЕРА.........................................................................................

274

 

ДАННЫЕ СЕССИИ КЛИЕНТА .......................................................................................

276

 

РАБОТА С СЕРВЕРОМ.............................................................................................

276

 

ПОДДЕРЖКА ИГРОКОВ...............................................................................................

279

 

Работа с сообщениями о создании игрока ........................................................

279

 

Получение имени игрока...................................................................................

280

 

Уничтожение игроков........................................................................................

281

 

ПОЛУЧЕНИЕ ДАННЫХ................................................................................................

282

 

ОТПРАВКА СООБЩЕНИЙ СЕРВЕРА..............................................................................

284

 

ЗАВЕРШЕНИЕ СЕССИИ НА ГЛАВНОМ УЗЛЕ..................................................................

286

 

РАБОТА С КЛИЕНТОМ...........................................................................................

287

 

ПОЛУЧЕНИЕ И ОТПРАВКА СООБЩЕНИЙ .....................................................................

291

 

ПОЛУЧЕНИЕ ИДЕНТИФИКАТОРА ИГРОКА ...................................................................

291

 

ЗАВЕРШЕНИЕ СЕССИИ КЛИЕНТА ................................................................................

292

 

ЗАКАНЧИВАЕМ С СЕТЯМИ...................................................................................

292

ГЛАВА 6 СОЗДАЕМ ЯДРО ИГРЫ .......................................

295

 

ЗНАКОМСТВО С КОНЦЕПЦИЕЙ ЯДРА..............................................................

295

 

СИСТЕМНОЕ ЯДРО..................................................................................................

297

 

ИСПОЛЬЗОВАНИЕ ОБЪЕКТА ЯДРА CAPPLICATION .......................................................

297

 

ОБРАБОТКА СОСТОЯНИЙ С CSTATEMANAGER............................................................

300

 

ПРОЦЕССЫ И CPROCESSMANAGER.............................................................................

302

 

УПРАВЛЕНИЕ ДАННЫМИ С CDATAPACKAGE..............................................................

303

 

ГРАФИЧЕСКОЕ ЯДРО.............................................................................................

304

 

ГРАФИЧЕСКАЯ СИСТЕМА И CGRAPHICS .....................................................................

305

 

ИЗОБРАЖЕНИЯ И CTEXTURE ......................................................................................

308

 

ЦВЕТА И CMATERIAL.................................................................................................

309

 

ОСВЕЩЕНИЕ С CLIGHT...............................................................................................

311

 

ТЕКСТ И ШРИФТЫ С ИСПОЛЬЗОВАНИЕМ CFONT .........................................................

312

 

ВЕРШИНЫ И CVERTEXBUFFER...................................................................................

314

 

МИРОВОЕ ПРЕОБРАЗОВАНИЕ С CWORLDPOSITION .....................................................

316

 

ПРЕОБРАЗОВАНИЕ ВИДА И CCAMERA ........................................................................

318

 

ЗАГРУЖАЕМЫЕ СЕТКИ И ИСПОЛЬЗОВАНИЕ CMESH ....................................................

320

 

РИСУЕМ ОБЪЕКТЫ, ИСПОЛЬЗУЯ COBJECT...................................................................

321

8

netlib.narod.ru

 

Джим Адамс

ДЕЛАЕМ СЕТКИ ДВИГАЮЩИМИСЯ С CANIMATION ....................................................

324

ЯДРО ВВОДА .............................................................................................................

325

ИСПОЛЬЗОВАНИЕ DIRECTINPUT С CINPUT.................................................................

326

УСТРОЙСТВА ВВОДА И CINPUTDEVICE......................................................................

326

ИСПОЛЬЗОВАНИЕ ЯДРА ВВОДА .................................................................................

329

ЗВУКОВОЕ ЯДРО......................................................................................................

329

УПРАВЛЕНИЕ DIRECTX AUDIO С CSOUND.................................................................

330

ИСПОЛЬЗОВАНИЕ ВОЛНОВЫХ ДАННЫХ И CSOUNDDATA...........................................

332

ВОСПРОИЗВЕДЕНИЕ ЗВУКА С CSOUNDCHANNEL........................................................

334

СЛУШАЕМ МУЗЫКУ С CMUSICCHANNEL...................................................................

337

СМЕШИВАНИЕ ИНСТРУМЕНТОВ С CDLS...................................................................

338

ВОСПРОИЗВЕДЕНИЕ MP3С CMP3.............................................................................

340

СЕТЕВОЕ ЯДРО ........................................................................................................

341

ЗАПРОС АДАПТЕРА С CNETWORKADAPTER ...............................................................

341

СЕРВЕРЫ И CNETWORKSERVER.................................................................................

342

РАБОТА КЛИЕНТА И CNETWORKCLIENT ....................................................................

345

ЗАКАНЧИВАЕМ ИЗУЧАТЬ ЯДРО ИГРЫ............................................................

347

ЧАСТЬ III ПРОГРАММИРОВАНИЕ РОЛЕВЫХ

ИГР ....................................................

349

ГЛАВА 7 ИСПОЛЬЗОВАНИЕ ДВУХМЕРНОЙ ГРАФИКИ...

351

ЗНАКОМСТВО С БЛОКАМИ И КАРТАМИ ........................................................

351

ИСПОЛЬЗОВАНИЕ БЛОКОВ С DIRECTX ..........................................................

352

ПОСТРОЕНИЕ КЛАССА ДЛЯ РАБОТЫ С БЛОКАМИ........................................................

356

cTiles::Create......................................................................................................

357

cTiles::Free .........................................................................................................

358

cTiles::Load ........................................................................................................

358

cTiles::Free .........................................................................................................

360

cTiles::GetWidth, cTiles::GetHeight и cTiles::GetNum.......................................

360

cTiles::SetTransparent.........................................................................................

361

cTiles::Draw........................................................................................................

361

ИСПОЛЬЗОВАНИЕ КЛАССА РАБОТЫ С БЛОКАМИ........................................................

362

ОСНОВЫ РАБОТЫ С БЛОЧНОЙ ГРАФИКОЙ..................................................

363

РИСОВАНИЕ ОСНОВНОЙ КАРТЫ ................................................................................

363

ИСПОЛЬЗОВАНИЕ НЕСКОЛЬКИХ СЛОЕВ .....................................................................

364

ДОБАВЛЕНИЕ ОБЪЕКТОВ...........................................................................................

365

ПЛАВНАЯ ПРОКРУТКА...............................................................................................

366

КАРТА И МЫШЬ.........................................................................................................

368

СОЗДАНИЕ КЛАССА КАРТЫ .......................................................................................

370

ПСЕВДОТРЕХМЕРНЫЕ БЛОКИ...........................................................................

375

РАБОТА С БОЛЬШИМИ РАСТРАМИ..................................................................

376

СОЗДАНИЕ БОЛЬШИХ БЛОКОВ...................................................................................

377

БОЛЬШОЙ ПРИМЕР....................................................................................................

377

ЗАКАНЧИВАЕМ С ДВУХМЕРНОЙ ГРАФИКОЙ...............................................

378

netlib.narod.ru

9

Оглавление

 

ГЛАВА 8 СОЗДАНИЕ ТРЕХМЕРНОГО ГРАФИЧЕСКОГО

 

ДВИЖКА...............................................................

379

СЕТКИ В КАЧЕСТВЕ УРОВНЕЙ............................................................................

379

ЗАГРУЗКА УРОВНЕЙ...................................................................................................

380

РИСОВАНИЕ КОМНАТ.................................................................................................

381

УСОВЕРШЕНСТВОВАНИЕ БАЗОВОЙ ТЕХНИКИ.............................................................

383

ЗНАКОМСТВО С ПИРАМИДОЙ ВИДИМОГО ПРОСТРАНСТВА...................

384

ПЛОСКОСТИ И ОТСЕЧЕНИЕ ........................................................................................

385

Проверка видимости с плоскостями..................................................................

387

Проверка всей пирамиды...................................................................................

387

КЛАСС CFRUSTUM .....................................................................................................

388

cFrustum::Construct.............................................................................................

389

cFrustum::CheckPoint, CheckCube, CheckRectangle и CheckSphere ..................

390

РАЗРАБОТКА ПРОФЕССИОНАЛЬНОГО ТРЕХМЕРНОГО ДВИЖКА ..........

393

ЗНАКОМСТВО С ДВИЖКОМ NODETREE.......................................................................

394

Создание узлов и деревьев.................................................................................

395

Сканирование и рисование дерева ....................................................................

397

РАБОТА С ГРУППАМИ МАТЕРИАЛОВ...........................................................................

397

СОЗДАНИЕ КЛАССА CNODETREEMESH ......................................................................

398

cNodeTreeMesh::Create и cNodeTreeMesh::Free................................................

403

cNodeTreeMesh::SortNode..................................................................................

406

cNodeTreeMesh::IsPolygonContained и cNodeTreeMesh::CountPolygons..........

408

cNodeTreeMesh::AddNode..................................................................................

409

cNodeTreeMesh::Render......................................................................................

412

ИСПОЛЬЗОВАНИЕ CNODETREEMESH .........................................................................

414

ДОБАВЛЕНИЕ К МИРУ ТРЕХМЕРНЫХ ОБЪЕКТОВ.......................................

415

ВЫЧИСЛЕНИЕ ОГРАНИЧИВАЮЩЕЙ СФЕРЫ.................................................................

416

ОГРАНИЧИВАЮЩИЕ СФЕРЫ И ПИРАМИДА ВИДИМОГО ПРОСТРАНСТВА......................

417

ОБНАРУЖЕНИЕ СТОЛКНОВЕНИЙ СЕТОК......................................................

418

СТОЛКНОВЕНИЕ С МИРОМ .........................................................................................

418

Испускание лучей ..............................................................................................

418

Блокировка пути.................................................................................................

419

Перемещение вверх и вниз................................................................................

420

Быстрая проверка пересечения..........................................................................

422

Обнаружение столкновений в классе cNodeTreeMesh.....................................

422

КОГДА СТАЛКИВАЮТСЯ СЕТКИ .................................................................................

422

ЩЕЛЧКИ МЫШИ И СЕТКИ ..........................................................................................

424

ИСПОЛЬЗОВАНИЕ НЕБЕСНОГО КУБА..............................................................

426

СОЗДАНИЕ КЛАССА НЕБЕСНОГО КУБА .......................................................................

427

cSkyBox::Create и cSkyBox::Free.......................................................................

428

cSkyBox::LoadTexture ........................................................................................

429

cSkyBox::Rotate и cSkyBox::RotateRel...............................................................

430

cSkyBox::Render.................................................................................................

430

ИСПОЛЬЗОВАНИЕ КЛАССА НЕБЕСНОГО КУБА.............................................................

431

ЗАКАНЧИВАЕМ С ТРЕХМЕРНОЙ ГРАФИКОЙ.................................................

431

10

netlib.narod.ru

Джим Адамс

ГЛАВА 9 ОБЪЕДИНЕНИЕ ДВУХМЕРНОЙ И ТРЕХМЕРНОЙ

ГРАФИКИ.............................................................

433

СМЕШИВАНИЕ ДВУХ ИЗМЕРЕНИЙ...................................................................

433

ИСПОЛЬЗОВАНИЕ ДВУХМЕРНЫХ ОБЪЕКТОВ В ТРЕХМЕРНОМ МИРЕ 434

РИСОВАНИЕ БЛОКОВ В ТРЕХМЕРНОМ МИРЕ...............................................................

434

Загрузка сетки уровня.......................................................................................

436

Загрузка блоков .................................................................................................

436

Подготовка к рисованию...................................................................................

436

Рисование сетки уровня....................................................................................

437

Рисование двухмерных объектов......................................................................

437

ПЕРЕМЕЩЕНИЕ В ТРЕХМЕРНОМ МИРЕ.......................................................................

438

ДОБАВЛЕНИЕ ТРЕХМЕРНЫХ ОБЪЕКТОВ К ДВУХМЕРНОМУ МИРУ......

438

РАБОТА С ДВУХМЕРНЫМ ФОНОМ..............................................................................

441

РАБОТА С СЕТКОЙ СЦЕНЫ .........................................................................................

443

ВИЗУАЛИЗАЦИЯ СЦЕНЫ ............................................................................................

445

ДОБАВЛЕНИЕ ТРЕХМЕРНЫХ ОБЪЕКТОВ .....................................................................

447

СТОЛКНОВЕНИЯ И ПЕРЕСЕЧЕНИЯ..............................................................................

447

ЗАКАНЧИВАЕМ СМЕШИВАНИЕ ГРАФИКИ....................................................

447

ГЛАВА 10 РЕАЛИЗАЦИЯ СКРИПТОВ..................................

449

ЧТО ТАКОЕ СКРИПТЫ ..........................................................................................

449

СОЗДАНИЕ СИСТЕМЫ MAD LIB SCRIPT..........................................................

451

ПРОЕКТИРОВАНИЕ СИСТЕМЫ MAD LIB SCRIPT .........................................................

451

ПРОГРАММИРОВАНИЕ СИСТЕМЫ MAD LIB SCRIPT....................................................

452

Работа с шаблонами действий..........................................................................

453

Создание элементов скрипта.............................................................................

457

Объединяем все в классе cActionTemplate.......................................................

462

РАБОТА С РЕДАКТОРОМ MLS EDITOR.............................................................

469

ВЫПОЛНЕНИЕ СКРИПТОВ MAD LIB.................................................................

472

ПРИМЕНЕНИЕ СКРИПТОВ В ИГРАХ.................................................................

476

ЗАКАНЧИВАЕМ СО СКРИПТАМИ ......................................................................

476

ГЛАВА 11 ОПРЕДЕЛЕНИЕ И ИСПОЛЬЗОВАНИЕ ОБЪЕКТОВ

..............................................................................

477

ОПРЕДЕЛЕНИЕ ОБЪЕКТОВ ДЛЯ ВАШЕЙ ИГРЫ............................................

477

ФОРМА ОБЪЕКТА ......................................................................................................

478

ОПРЕДЕЛЕНИЕ ФУНКЦИИ ОБЪЕКТА ...........................................................................

479

Оружие...............................................................................................................

481

Броня..................................................................................................................

482

Аксессуары ........................................................................................................

482

Еда......................................................................................................................

482

Коллекции..........................................................................................................

482

Транспорт...........................................................................................................

482

Прочее................................................................................................................

483

ДОБАВЛЕНИЕ ФУНКЦИЙ К ОБЪЕКТУ..........................................................................

483

Категории предметов и значения......................................................................

483

netlib.narod.ru

11

Оглавление

 

 

Задание цены предметов....................................................................................

484

 

Флаги предмета..................................................................................................

484

 

Ограничения использования..............................................................................

485

 

Присоединение скриптов к предметам .............................................................

486

 

Сетки и изображения.........................................................................................

487

 

Итоговая структура данных предмета...............................................................

487

ГЛАВНЫЙ СПИСОК ПРЕДМЕТОВ.......................................................................

488

 

КОНСТРУИРОВАНИЕ MIL...........................................................................................

489

 

ИСПОЛЬЗОВАНИЕ РЕДАКТОРА MIL............................................................................

490

 

ДОСТУП К ПРЕДМЕТАМ ИЗMIL .................................................................................

493

УПРАВЛЕНИЕ ПРЕДМЕТАМИ С ПОМОЩЬЮ СИСТЕМЫ КОНТРОЛЯ

 

ИМУЩЕСТВА ............................................................................................................

493

 

РАЗРАБОТКА ICS КАРТЫ............................................................................................

495

 

cMapICS::Load, cMapICS::Save и cMapICS::Free..............................................

498

 

cMapICS::Add и cMapICS::Remove ...................................................................

501

 

cMapICS::GetNumItems, cMapICS::GetParentItem и cMapICS::GetItem...........

503

 

Использование класса cMapICS........................................................................

503

 

РАЗРАБОТКА ICS ПЕРСОНАЖА...................................................................................

505

 

Определение класса cCharICS...........................................................................

506

 

Использование класса cCharICS........................................................................

509

ЗАКАНЧИВАЕМ С ОБЪЕКТАМИ И ИМУЩЕСТВОМ.......................................

510

ГЛАВА 12 УПРАВЛЕНИЕ ИГРОКАМИ И ПЕРСОНАЖАМИ..511

ИГРОКИ, ПЕРСОНАЖИ, МОНСТРЫ — О БОЖЕ!.............................................

511

 

ОПРЕДЕЛЕНИЕ ПЕРСОНАЖЕЙ В ВАШЕЙ ИГРЕ .............................................................

513

 

Способности персонажа.....................................................................................

513

 

Атрибуты персонажа..........................................................................................

515

 

Дополнительные статусы персонажа................................................................

516

 

Классы персонажей............................................................................................

518

 

Действия персонажей.........................................................................................

518

 

ПЕРСОНАЖИ ИГРОКОВ...............................................................................................

520

 

Передвижение игрока........................................................................................

520

 

Управление ресурсами.......................................................................................

520

 

Увеличение опыта и силы..................................................................................

521

 

НЕЗАВИСИМЫЕ ПЕРСОНАЖИ .....................................................................................

522

 

Персонажи монстров..........................................................................................

523

 

Графика персонажей..........................................................................................

524

 

ПЕРЕМЕЩЕНИЕ ПЕРСОНАЖЕЙ....................................................................................

524

 

УПРАВЛЕНИЕ ПЕРСОНАЖЕМ ИГРОКА.........................................................................

525

 

Управление направлением.................................................................................

526

 

Управление поворотом......................................................................................

528

 

Управление от первого лица..............................................................................

529

 

УПРАВЛЕНИЕ НЕЗАВИСИМЫМИ ПЕРСОНАЖАМИ........................................................

530

 

Ожидание............................................................................................................

530

 

Блуждание по области .......................................................................................

530

 

Ходьба по маршруту..........................................................................................

532

 

Использование маршрутных точек.............................................................

532

 

Ходьба от точки к точке.............................................................................

533

12

netlib.narod.ru

 

Джим Адамс

Быстрее Пифагора......................................................................................

533

Прохождение маршрута.............................................................................

535

Следование за другим персонажем...................................................................

536

Избегание персонажа........................................................................................

537

АВТОМАТИЧЕСКОЕ УПРАВЛЕНИЕ ПЕРСОНАЖАМИ ....................................................

538

ОБЩЕНИЕ МЕЖДУ ПЕРСОНАЖАМИ................................................................

538

ГОВОРЯЩИЕ КУКЛЫ..................................................................................................

539

Управляемые скриптами говорящие куклы.....................................................

539

Показ диалогов и другого текста......................................................................

540

Класс cWindow..................................................................................................

541

cWindow::cWindow и cWindow::~cWindow..................................................

542

cWindow::Create и cWindow::Free ...............................................................

543

cWindow::SetText ..........................................................................................

543

cWindow::Move.............................................................................................

544

cWindow::GetHeight .....................................................................................

546

cWindow::Render ..........................................................................................

546

Использование cWindow...................................................................................

547

СКРИПТЫ И ПЕРСОНАЖИ...................................................................................

548

КЛАСС СКРИПТА .......................................................................................................

548

СОЗДАНИЕ ПРОИЗВОДНОГО КЛАССА СКРИПТА ..........................................................

549

Производный класс...........................................................................................

550

ИСПОЛЬЗОВАНИЕ ПРОИЗВОДНОГО КЛАССА...............................................................

553

УПРАВЛЕНИЕ РЕСУРСАМИ.................................................................................

553

ИСПОЛЬЗОВАНИЕ ПРЕДМЕТОВ ..................................................................................

553

ИСПОЛЬЗОВАНИЕ МАГИИ..........................................................................................

554

ТОРГОВЛЯ И ОБМЕН ..................................................................................................

555

РАБОТА С МАГИЕЙ И ЗАКЛИНАНИЯМИ.........................................................

556

ГРАФИКА ЗАКЛИНАНИЯ ............................................................................................

556

ФУНКЦИЯ ЗАКЛИНАНИЯ ...........................................................................................

558

Изменение здоровья и маны..............................................................................

559

Установка и снятие статусов.............................................................................

560

Воскрешение и мгновенная смерть..................................................................

560

Расколдовывание...............................................................................................

560

Телепортация.....................................................................................................

561

НАЦЕЛИВАНИЕ ЗАКЛИНАНИЙ, СТОИМОСТЬ И ШАНСЫ ..............................................

561

ГЛАВНЫЙ СПИСОК ЗАКЛИНАНИЙ..............................................................................

561

СПИСОК ЗАКЛИНАНИЙ..............................................................................................

564

Определение заклинаний с MSL Editor............................................................

564

СОЗДАНИЕ КОНТРОЛЛЕРА ЗАКЛИНАНИЙ ...................................................................

566

Сетки и sSpellMeshList......................................................................................

567

Отслеживание заклинаний с использованием sSpellTracker ...........................

567

Класс cSpellController........................................................................................

569

cSpellController::cSpellController и cSpellController::~sSpellController.....

571

cSpellController::Init и cSpellController::Shutdown......................................

571

cSpellController::Free...................................................................................

571

cSpellController::GetSpell .............................................................................

571

cSpellController::Add ....................................................................................

572

cSpellController::SetAnimData......................................................................

572

netlib.narod.ru

13

Оглавление

 

 

cSpellController::Update................................................................................

572

 

cSpellController::Render................................................................................

572

 

Определение жертвы и обработка эффекта заклинания...................................

572

 

ИСПОЛЬЗОВАНИЕ КОНТРОЛЛЕРА ЗАКЛИНАНИЙ .........................................................

572

СРАЖЕНИЯ И ПЕРСОНАЖИ.................................................................................

573

 

ИСПОЛЬЗОВАНИЕ ПРАВИЛ СРАЖЕНИЯ ДЛЯ АТАКИ.....................................................

574

 

Нанесение удара.................................................................................................

574

 

Отклонение атаки...............................................................................................

575

 

Обработка ущерба..............................................................................................

575

 

ЗАКЛИНАНИЯ В БИТВЕ...............................................................................................

577

 

ИНТЕЛЛЕКТ В БИТВАХ ...............................................................................................

579

ПОСТРОЕНИЕ ГЛАВНОГО СПИСКА ПЕРСОНАЖЕЙ.....................................

579

 

MCLEDITOR .............................................................................................................

583

 

ИСПОЛЬЗОВАНИЕ ОПРЕДЕЛЕНИЙ ПЕРСОНАЖЕЙ.........................................................

585

СОЗДАНИЕ КЛАССА КОНТРОЛЛЕРА ПЕРСОНАЖЕЙ...................................

585

 

СЕТКИ И SCHARACTERMESHLIST...............................................................................

585

 

ЗАЦИКЛИВАНИЕ АНИМАЦИИ И SCHARANIMATIONINFO.............................................

585

 

ПЕРЕМЕЩЕНИЕ И SROUTEPOINT................................................................................

586

 

ОТСЛЕЖИВАНИЕ ПЕРСОНАЖЕЙ С SCHARACTER.........................................................

586

 

КЛАСС SCHARACTERCONTROLLER ............................................................................

591

 

ИСПОЛЬЗОВАНИЕ SCHARACTERCONTROLLER............................................................

603

ДЕМОНСТРАЦИЯ ПЕРСОНАЖЕЙ В ПРОГРАММЕ CHARS...........................

605

ЗАКАНЧИВАЕМ С ПЕРСОНАЖАМИ...................................................................

606

ГЛАВА 13 РАБОТА С КАРТАМИ И УРОВНЯМИ...................

609

РАЗМЕЩЕНИЕ ПЕРСОНАЖЕЙ НА КАРТЕ........................................................

609

 

СПИСОК ПЕРСОНАЖЕЙ КАРТЫ ...................................................................................

609

 

Загрузка списка персонажей карты...................................................................

610

 

Использование списка персонажей карты в вашей игре..................................

611

 

СКРИПТОВОЕ РАЗМЕЩЕНИЕ.......................................................................................

612

ИСПОЛЬЗОВАНИЕ ТРИГГЕРОВ КАРТЫ............................................................

612

 

СФЕРИЧЕСКИЕ ТРИГГЕРЫ...........................................................................................

613

 

КУБИЧЕСКИЙ ТРИГГЕР...............................................................................................

613

 

ЦИЛИНДРИЧЕСКИЙ ТРИГГЕР ......................................................................................

614

 

ТРЕУГОЛЬНЫЙ ТРИГГЕР.............................................................................................

614

 

СРАБАТЫВАНИЕ ТРИГГЕРОВ ......................................................................................

615

 

СОЗДАНИЕ КЛАССА ТРИГГЕРА....................................................................................

615

 

cTrigger::cTrigger и cTrigger::~cTrigger .............................................................

618

 

cTrigger::Load и cTrigger::Save ..........................................................................

619

 

cTrigger::AddTrigger...........................................................................................

621

 

cTrigger::AddSphere, cTrigger::AddBox, cTrigger::AddCylinder и

 

 

cTrigger::AddTriangle..........................................................................................

622

 

cTrigger::Remove и cTrigger::Free......................................................................

624

 

cTrigger::GetTrigger............................................................................................

625

 

cTrigger::GetEnableState и cTrigger::Enable.......................................................

628

 

cTrigger::GetNumTriggers и cTrigger::GetParentTrigger.....................................

629

 

ИСПОЛЬЗОВАНИЕ ТРИГГЕРОВ ....................................................................................

630

 

Определение файла триггеров...........................................................................

630

14

netlib.narod.ru

 

Джим Адамс

Загрузка файла триггеров..................................................................................

630

Касание триггера...............................................................................................

630

БЛОКИРОВАНИЕ ПУТИ БАРЬЕРАМИ ...............................................................

631

CBARRIER::SETMESH И CBARRIER::SETANIM............................................................

634

CBARRIER::RENDER ..................................................................................................

635

ДОБАВЛЕНИЕ БАРЬЕРОВ С CBARRIER ........................................................................

636

ИСПОЛЬЗОВАНИЕ КЛАССА БАРЬЕРА ..........................................................................

637

Создание файла данных барьеров.....................................................................

637

Загрузка данных барьеров.................................................................................

637

Проверка столкновений с барьерами................................................................

638

Визуализация барьеров.....................................................................................

638

ИСПОЛЬЗОВАНИЕ АВТОМАТИЧЕСКИХ КАРТ...............................................

638

АВТОМАТИЧЕСКИЕ КАРТЫ В ДЕЙСТВИИ....................................................................

639

БОЛЬШИЕ КАРТЫ, МАЛЫЕ КАРТЫ..............................................................................

639

ЗАГРУЗКА И ОТОБРАЖЕНИЕ АВТОМАТИЧЕСКОЙ КАРТЫ.............................................

644

СОЗДАНИЕ КЛАССА АВТОМАТИЧЕСКОЙ КАРТЫ.........................................................

644

cAutomap::cAutomap и cAutomap::~cAutomap .................................................

646

cAutomap::Create и cAutoMap::Free..................................................................

646

cAutomap::Load и cAutomap::Save....................................................................

650

cAutomap::GetNumSections и cAutomap::EnableSection...................................

651

cAutomap::SetWindow и cAutomap::Render ......................................................

652

ИСПОЛЬЗОВАНИЕ CAUTOMAP ...................................................................................

654

ЗАКАНЧИВАЕМ С КАРТАМИ И УРОВНЯМИ...................................................

655

ГЛАВА 14 СОЗДАНИЕ БОЕВЫХ

 

ПОСЛЕДОВАТЕЛЬНОСТЕЙ................................

657

ПРОЕКТИРОВАНИЕ ВНЕШНИХ БОЕВЫХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ .. 657

ТЕХНИЧЕСКАЯ СТОРОНА...........................................................................................

659

РАЗРАБОТКА БОЕВЫХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ.....................................

661

ГЛОБАЛЬНЫЕ ДАННЫЕ..............................................................................................

663

CAPP::CAPP...............................................................................................................

664

CAPP::INIT ................................................................................................................

664

CAPP::SHUTDOWN.....................................................................................................

668

CAPP::FRAME............................................................................................................

668

CAPP::GETCHARACTERAT.........................................................................................

673

ИСПОЛЬЗОВАНИЕ БОЕВЫХ АРАНЖИРОВОК................................................

675

ЗАКАНЧИВАЕМ С БОЕВЫМИ ПОСЛЕДОВАТЕЛЬНОСТЯМИ.....................

676

ГЛАВА 15 СЕТЕВОЙ РЕЖИМ ДЛЯ

 

МНОГОПОЛЬЗОВАТЕЛЬСКОЙ ИГРЫ................

679

БЕЗУМНАЯ МНОГОПОЛЬЗОВАТЕЛЬСКАЯ СЕЧА.........................................

679

ПРОЕКТИРОВАНИЕ МНОГОПОЛЬЗОВАТЕЛЬСКОЙ ИГРЫ........................

680

ДЕМОНСТРАЦИОННАЯ ПРОГРАММА NETWORK GAME...............................................

682

СОЗДАНИЕ АРХИТЕКТУРЫ МНОГОПОЛЬЗОВАТЕЛЬСКОЙ ИГРЫ.........

684

РАБОТАЕМ ВМЕСТЕ: КЛИЕНТ И СЕРВЕР......................................................................

685

ВЗГЛЯД НА СЕРВЕР....................................................................................................

688

ВЗГЛЯД НА КЛИЕНТА.................................................................................................

690

netlib.narod.ru

15

Оглавление

 

РАБОТА НАД ИГРОВЫМ СЕРВЕРОМ..................................................................

691

 

ХРАНЕНИЕ ИНФОРМАЦИИ ИГРОКА.............................................................................

693

 

ОБРАБОТКА СООБЩЕНИЙ...........................................................................................

694

 

От сообщений DirectPlay к игровым сообщениям............................................

696

 

Очередь сообщений ...........................................................................................

700

 

Обработка игровых сообщений.........................................................................

702

 

cApp::AddPlayer ............................................................................................

703

 

cApp::RemovePlayer ......................................................................................

705

 

cApp::PlayerInfo ............................................................................................

706

 

cApp::PlayerStateChange...............................................................................

706

 

ОБНОВЛЕНИЕ ИГРОКОВ..............................................................................................

710

 

ОБНОВЛЕНИЕ СЕТЕВЫХ КЛИЕНТОВ............................................................................

712

 

ВЫЧИСЛЕНИЕ ЗАПАЗДЫВАНИЯ..................................................................................

712

 

САМОЕ ТРУДНОЕ ПОЗАДИ!.........................................................................................

713

РАБОТА НАД ИГРОВЫМ КЛИЕНТОМ................................................................

713

 

ОБРАБОТКА ДАННЫХ ИГРОКА....................................................................................

714

 

СЕТЕВОЙ КОМПОНЕНТ...............................................................................................

716

 

ОБРАБОТКА СООБЩЕНИЙ...........................................................................................

719

 

cApp::CreatePlayer ..............................................................................................

719

 

cApp::DestroyPlayer............................................................................................

720

 

cApp::ChangeState...............................................................................................

721

 

ОБНОВЛЕНИЕ ЛОКАЛЬНОГО ИГРОКА..........................................................................

722

 

ОБНОВЛЕНИЕ ВСЕХ ИГРОКОВ.....................................................................................

727

 

КЛИЕНТ ВО ВСЕМ БЛЕСКЕ..........................................................................................

728

ЗАКАНЧИВАЕМ С МНОГОПОЛЬЗОВАТЕЛЬСКИМИ ИГРАМИ...................

729

ЧАСТЬ IV ЗАВЕРШАЮЩИЕ ШТРИХИ .........

731

ГЛАВА 16 ОБЪЕДИНЯЕМ ВСЕ ВМЕСТЕ В ЗАКОНЧЕННУЮ

 

ИГРУ .....................................................................

733

ПРОЕКТИРОВАНИЕ ПРОСТОЙ ИГРЫ................................................................

733

 

НАПИСАНИЕ СЦЕНАРИЯ ИГРЫ ...................................................................................

733

 

ЦЕЛЬ ИГРЫ THE TOWER.............................................................................................

735

 

РАЗРАБОТКА УРОВНЕЙ...............................................................................................

735

 

ОПРЕДЕЛЕНИЕ ПЕРСОНАЖЕЙ.....................................................................................

739

 

РАСПРЕДЕЛЕНИЕ ПЕРСОНАЖЕЙ .................................................................................

742

 

СОЗДАНИЕ ПРЕДМЕТОВ И ЗАКЛИНАНИЙ.....................................................................

742

 

РАЗРАБОТКА СКРИПТОВ.............................................................................................

745

 

ОПРЕДЕЛЕНИЕ УПРАВЛЕНИЯ .....................................................................................

748

 

ПЛАНИРОВАНИЕ ХОДА ИГРЫ .....................................................................................

749

ПРОГРАММИРОВАНИЕ ПРИМЕРА ИГРЫ.........................................................

751

 

СТРУКТУРИРОВАНИЕ ПРИЛОЖЕНИЯ...........................................................................

753

 

Конструктор cApp..............................................................................................

755

 

Функция приложения Init ..................................................................................

755

 

Функция Shutdown.............................................................................................

758

 

Обработка кадров в функции Frame..................................................................

758

 

ИСПОЛЬЗОВАНИЕ ОБРАБОТКИ НА ОСНОВЕ СОСТОЯНИЙ.............................................

759

16

netlib.narod.ru

 

 

Джим Адамс

РАБОТА С КАРТАМИ ..................................................................................................

765

ИСПОЛЬЗОВАНИЕ БАРЬЕРОВ И ТРИГГЕРОВ.................................................................

768

УПРАВЛЕНИЕ ПЕРСОНАЖАМИ...................................................................................

768

ПОДДЕРЖКА ТОРГОВЛИ ............................................................................................

774

ВОСПРОИЗВЕДЕНИЕ ЗВУКОВ И МУЗЫКИ....................................................................

775

ВИЗУАЛИЗАЦИЯ СЦЕНЫ ............................................................................................

777

ОБРАБОТКА СКРИПТОВ .............................................................................................

778

СОБИРАЕМ ЧАСТИ.....................................................................................................

781

ЗАВЕРШАЕМ СОЗДАНИЕ ИГРЫ..........................................................................

781

ЧАСТЬ V ПРИЛОЖЕНИЯ................................

783

ПРИЛОЖЕНИЕ A. СПИСОК ЛИТЕРАТУРЫ .........................

785

РЕКОМЕНДОВАННОЕ ЧТЕНИЕ...........................................................................

785

ПОЛУЧЕНИЕ ПОМОЩИ В WEB...........................................................................

788

ПРИЛОЖЕНИЕ B. СОДЕРЖИМОЕ CD-ROM.........................

791

DIRECTX 9.0 SDK......................................................................................................

792

ПРОБНАЯ ВЕРСИЯ GOLDWAVE 5 .......................................................................

792

ПРОБНАЯ ВЕРСИЯ PAINT SHOP PRO 8..............................................................

793

GAMESPACE LIGHT.................................................................................................

793

ПРИЛОЖЕНИЕ C. СЛОВАРЬ ТЕРМИНОВ............................

795

АЛФАВИТНЫЙ УКАЗАТЕЛЬ.................................................

811

netlib.narod.ru

17

Соседние файлы в папке GameProg