Суббота, 18.05.2024, 15:30
Приветствую Вас Гость | RSS
Форма входа
Поиск
Календарь
«  Май 2024  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Введение

Благодарности

Большое спасибо Эми Смит, Дженни Дэвидсон и Джошуа Смиту за ещё одну хорошую книгу – я думаю, что мы составляем хорошую команду, и я, возможно, не сделал бы книгу без Вас! Эта книга была очень интересным проектом из-за затрагиваемой в ней темы, и я был рад, что имею возможность написать об этом. Я, надеюсь, что конечный результат отразил то внимание которое уделялось этой теме.

Благодарю Дженнифер и наших детей, Иеремию, Кейли, Кейтлин и Кортни, за ту радость что приносите в мою жизнь! Я так же благодарен Эден Селесте за то, что она поделилась своим талантом подготовив обложку и концепт-арты игровых персонажей и монстров. Её работы можно увидеть на www.edenceleste.com.

Еще раз спасибо Райнеру Прокейну за нарисованные им спрайты, которые вошли в примеры в этой книге. Художественные работы в игре – все с его бесплатного ресурса на www.reinerstilesets.de.

 

Об авторе

Джонатан С. Хэрбур программировал видеоигры с 1980-ых. Его первой игровой системой был Atari 2600, который он разбирал на полу своей комнаты как ребенок. Он писал о многих вещах, таких как C++, C#, Basic, Java, DirectX, Allegro, Lua, DarkBasic, Pocket PC и игровые приставки. Джонатан – автор недавно вышедших книг, "Beginning Java SE 6 Game Programming" третье издание; "Visual Basic Game Programming for Teens" третье издание; "XNA Game Studio 4.0 for Xbox 360 Developers" и "Multi-Threaded Game Engine Design". Обладает ученой степенью магистра в области управления Информационными системами. Посетите его блог и форум разработки игры на www.jharbour.com.

 

Введение

Представьте себе такую ситуацию: Вы создаете персонажа – охотника, со случайными параметрами и очками жизни, и в поисках сокровищ заходите в подземелье. Там Вы натыкаетесь на зомби, расхаживающего около груды трофеев и золота! Нападаете на него, а он на вас. Вы бросаете кубик-1D20 и выпадает критический удар! 20 пунктов урона, плюс классовое умение поражать через броню зомби, приносит гарантированное попадание. Бросок кубика-1D8 определяет повреждение, плюс ваша сила и модификатор оружия (1D4) – этого более чем достаточно чтобы убить монстра! Зомби бревном падает на землю. Вы поднимаете лежащую рядом с неподвижным зомби кожаную броню, одеваете её и получаете большой прирост очков защиты! Подбираете немного золотых монет и получаете очки опыта. Теперь вы мечтаете найти хороший лук... Двигаясь дальше вы замечаете группу мертвяков, которые, конечно же, охраняют добычу, которая вам могла бы пригодиться... и Вы направляетесь к ним чтобы сразиться!

Эта книга научит, как создать игру со всем описанными только что возможностями. Вы научитесь создавать полноценную Ролевую игру (RPG) используя только Visual C#. Изучите пошагово, как сконструировать каждую часть игрового движка используя Windows Forms и GDI+, как создать блочную карту, игровой редактор и скрипты. Если вы считаете, что ролевые игры это – лучшие игры, погодите немного и вы начнете работать над одной из них с Вашим собственным дизайном!

Создавать RPG игры – намного интереснее чем просто играть в них, потому что вы полностью контролируете игровой мир, и вы можете дать волю своему воображению, чтобы создавать приключения для других. Однако, это не просто! Так же как и вашему игровому персонажу – которому необходимо набираться опыта и повышать свои умения, так и вам, читая каждую главу, придётся осваивать новые навыки!

Перед тем как вы сможете достичь такого уровня, когда будете способны спроектировать целое приключение и построить RPG на Visual C#, вы должны будете изучить основы механики RPG игр. Цель моей книги и заключается в том чтобы научить Вас тому, что вы должны знать, чтобы это произошло. Вы изучите, как конструировать RPG основанную на исследовании подземелий, называемую "Dungeon Crawler"[1]. Когда вы закончите эту книгу, вы будете обладать множеством новых навыков включая программирование игр и создание игровых редакторов. Кроме того, вы будете иметь полный творческий контроль над тем как игра работает, и будете способны создать множество игр из того же самого кода и инструментария.

Необходимые шаги и опыт

Эта книга предназначена, прежде всего, для серьёзных поклонников RPG игр, спорящих о выпадении шансов попадания и наносимого урона во время битвы, создающих RPG  персонажей со случайными характеристиками, различными классами и т.д. Это не книга о чистом программировании, это книга о создании RPG, а C# программирование идёт вторым в списке приоритетов. Основная цель заключается в том, чтобы Вы могли интересно провести время изучая программирование игр. Набирание длинных листингов исходных кодов из книги – не очень весёлое занятие, поэтому я не прошу Вас заниматься этим в моей книге. Вместо этого вы будите изучать короткие примеры в каждой главе. Здесь нет обязательных для запоминания вещей, так как я твёрдо верю в то, что повторение и практика лучший путь научиться чему либо, вместо того чтобы просто запоминать теорию. Игра "Dungeon Crawler" будет строиться от одной главы к другой, обрастая новыми особенностями и игровыми элементами с каждой новой главой. Вы научитесь создавать игру – полностью, с пустого места, за очень короткий срок.

Финальная версия игры, в конце последней главы, содержит в себе весь исходный код необходимый вам чтобы сделать собственную игру со всем функциями описанными в начале, включая: бой с монстрами, разговоры с NPC, собирание сокровищ и золота, создание вещей при помощи редактора, сбор этих вещей, управление инвентарём игрока, экипировка одеждой с баффами (модификаторами параметров) для брони и оружия, создание NPC при помощи редактора персонажей, создание нового персонажа, сохранение и загрузка игры, создание подземелья при помощи редактора... Х-м-м! Похоже предстоит проделать большую работу... Но мы сделаем это на страницах этой книги, и у вас будет играбельная, полностью настраиваемая RPG система к тому моменту, когда Вы достигнете последней главы

Цель этой книги состоит в том чтобы научить Вас – как создавать RPG. Конечно, будет преимуществом если вы хорошо знаете язык программирования C#. Если вы новичок в C#, вы можете испытывать некоторые трудности с исходными кодами в этой книге. Но все проекты доступны для загрузки, и вы можете изучать работающие примеры если того пожелаете. Программирование RPG – это серьёзный вызов, и если вы будете внимательны, и изучите примеры, вы будете в состоянии принять его. "Dungeon Crawler" игра сама по себе большая и комплексная, и очень трудна для программирования с нуля, но это как раз то, что мы и собираемся сделать! Я попытаюсь объяснить это пошагово, но есть определенные программные вещи которые просто необходимо знать заранее. Если вы начнете испытывать трудности, то в таких случаях не стесняйтесь обращаться к хорошему учебнику по C#.

Все игровые редакторы так же описаны в этой книге. Мы публикуем исходные коды для редакторов, но не приводим их полностью на страницах книги, потому что это заняло дополнительно бы более 500 листов.

Visual C# 2008 и .NET Framework

Код в книге поддерживает Visual C# 2008 и требует .NET Framework 2.0. Хотя файлы проектов немного отличаются, код без проблем компилируется на Visual C# 2010. Если у вас VS 2010, вы можете запустить все примеры в книге, но потребуется конвертация проекта в 2010 формат (это автоматический процесс выполняемый Visual Studio 2010 когда вы открываете проекты Visual Studio 2008). Я оставил проекты в 2008 формате чтобы как можно больше читателей могли открыть проекты любой версией. Формат Visual Studio 2010 невозможно открыть используя VS 2008.

Я рекомендую вам установить бесплатную версию Visual C# Express Edition. Найти её можно по адресу - http://www.microsoft.com/express/downloads. Но, так как ссылки на сайт часто меняются, я рекомендую воспользоваться поиском Google по запросу “Visual C# Express download”. Там будут ссылки на версию 2008 года, но и 2010 тоже поддерживается, поэтому использовать можно ту версию, которая вам больше нравится. Просто обратите внимание на то, что проекты VS 2008 года должны быть преобразованы в новый формат, при открытии в Visual C# Express Edition 2010. Это – не проблема, это просто один дополнительный шаг, который позволяет нам поддерживать обе версии.

Есть одно замечание: библиотека Lua Interface требует .NET Framework 2.0, поэтому, когда дойдёт до примеров скриптов в Главе 15, вам может потребоваться создать новый Visual C# 2010 проект и импортировать в него исходные файлы, чтобы библиотека Lua Interface могла корректно работать. Как вариант, продвинутый читатель может перекомпилировать библиотеку Lua Interface при помощи Visual C# 2010 и затем использовать её с более поздними версиями .NET Framework. Если вы испытываете проблемы с этим выпуском, пожалуйста, посетите форум по адресу http://www.jharbour.com/forum где вы можете задать любой вопрос. Книга не должна быть – слишком сложной, и мы можем поблагодарить Microsoft за это.

Visual C# 2012 (дополнение от переводчика)

Для работы с примерами из книги, можно использовать и недавно вышедшую редакцию Visual Studio 2012. Если Вы собираетесь использовать бесплатную Express версию, то вам понадобится – Visual Studio 2012 Express Edition для Windows Desktop, которую можно скачать по адресу – www.microsoft.com/visualstudio/rus/downloads. Порядок работы с ней – такой же как и с VS 2010. То-есть, при первом запуске проекта необходимо будет произвести его конвертацию в новый, 2012й формат, из формата Visual C# 2008.

Managed DirectX?

Эта книга не использует .NET версию DirectX (назваемую Managed DirectX). Вместо этого эта книга полностью сосредоточена на программировании Windows Forms и Windows GDI+ (Graphics Device Interface). Managed DirectX, больше не поддерживается Microsoft и не работает с современными 64-битными версиями Windows. Но не стоит волноваться, так как программы из этой книги запускаются с частотой больше 100 FPS даже на старых компьютерах, используя только GDI+.

Как связаться с автором

Мой вебсайт расположен на http://www.jharbour.com. Там есть информация об этой книге, которая может быть вам полезна. Сайт так же содержит онлайн форум на котором можно разместить вопрос или продолжить обсуждение с другими программистами на темы о Visual C# и "Dungeon Crawler". Если у вас возникают проблемы связанные с этой книгой – посетите сайт, чтобы найти возможные ответы.

Содержание книги

Книга разделена на три основные части:

"I часть – Подготовка подземелья" включает в себя пять глав которые формируют основу ролевой игры разрабатываемой в книге. Эти главы касаются таких предметов как, Windows Forms, растровые изображения, спрайтовая анимация, пользовательский ввод, проверка столкновений и звуковые эффекты.

"II часть – Строительство подземелья" включает шесть глав, которые прорабатывают все компоненты игрового движка необходимые для управления и отрисовки игровых уровней. Ядром системы рендеринга является блочная карта (tiled scroller) и редактор уровней.

"III часть – Исследование подземелья" состоит из шести глав, разрабатывающих все компоненты геймплея, которые делают игру "Dungeon Crawler" по-настоящему играбельной. Эта часть содержит дополнительный игровой редактор и классы, которые позволяют сражаться с монстрами, собирать сокровища, управлять инвентарём игрока и экипировкой, собирать опыт и наращивать уровни, разговаривать с NPC.

Соглашения, принятые в этой книге

Исходный код представлен шрифтом фиксированной длинны (моноширным) для большей удобочитаемости.

//This is what source code will look like in the text
public void Hello()
{
 Console.WriteLine("Hello World");
}

Следующие стили, которые используются в данной книге, подчёркивают важные части текста. Вы найдёте определения, подсказки и рекомендации то-тут, то-там, по всей книге.

Определение

Определения обеспечивают дополнительные сведения о ключевом слове или предмете.

Подсказка

Подсказки предлагают руководства или предложения о том, что нужно сделать или что не нужно делать в конкретной ситуации

Рекомендация

Рекомендации дают дополнительную информацию об описываемом предмете или теме.

Дополнительные загрузки

Вы можете загрузить дополнительные материалы с сайта http://www.courseptr.com/download. Обратите внимание, что при этом вы будете перенаправлены на сайт Cengage Learning.

 

[1] Буквальный перевод с английского – «ползание по подземелью»


© Jonathan S. Harbour "Visual C# Game Programming for Teens" 2012