Создание компьютерной игры своими руками

Эта статья расскажет Вам, что же всё-таки нужно, чтобы создать компьютерную игру. Если Вы устали от общих советов - просмотрите этот документ, и Вы наверняка найдёте в нём что-нибудь полезное. Материал ориентирован начинающим и для профессионалов никакого интереса не представляет.

Свобода или деньги

Хотите ли Вы создать компьютерную игру? Надеюсь, Вы уже разрешили свои сомнения. Исходя из того, что Вы сейчас читаете этот текст, смею предположить, что да. Поэтому предлагаю Вам задаться другим, не менее банальным, но и не менее важным вопросом: зачем Вам это нужно? Ответ на этот вопрос уже менее очевиден, и я постараюсь помочь Вам в его отыскании. В зависимости от него в первую очередь и зависит, каким инструментарием Вы будете пользоваться.

А вариантов ответа, если поразмыслить, можно выделить два.

Вариант первый. Прочитав статью в любимом журнале, услышав восторженный рассказ друга или полистав интернетовские форумы, Вы поняли, что игру под силу собрать простому смертному и тут же заразились этой идеей. Таким образом, программу Вы пишите из чистого энтузиазма для себя любимого, представления друзьям или, в крайнем случае, для бесплатного распространения по Сети. То есть коммерческое распространение изначально не предполагается. В этом случае Вы можете особенно не стеснять себя в выборе средств разработки. Я не призываю Вас переходить на пользование исключительно пиратским софтом. Просто имейте в виду тот факт, что многие крупные компании - разработчики популярного ПО - смотрят сквозь пальцы на подобное использование своих продуктов. Принцип «попробуй и купи» в общем и целом укладывается в их идеологию.

Согласно второму варианту Вы, напротив, просто ищите способ побольше заработать и решили, что создание игровых программ - это и есть долгожданная птица удачи, Ваш шанс шагнуть «из грязи в князи». Следует отметить, что весьма часто второй вариант вытекает из первого. Создав действительно качественный продукт и постоянно его совершенствуя, Вы решаетесь взимать плату за его использование. При таком раскладе у Вас уже нет такого богатства выбора. Вам так или иначе придётся приобрести лицензионные версии программ, иначе закономерно возникнут проблемы. Так что волей-неволей придётся оценивать свои финансовые возможности. Во избежание недоразумений я должен был поднять здесь эту тему.

А теперь подумаем, что же нам всё-таки пригодится, чтобы написать Игру.

Flash и конструкторы игр

Flash является уникальной программой, не имеющей конкурентов в своей нише, главным образом из-за её широкой функциональности. Используя всего один продукт, Вы можете быть программистом, web-дизайнером и художником одновременно. Созданные с помощью Flash игры немного легче распространять, нежели «настоящие». Но серьёзный проект на флеше собрать не получится. Если Вы программист-одиночка, то для Вас Flash может оказаться почти идеальным решением, позволяющим сэкономить время и деньги. Но если Вы работаете в коллективе и хотите сделать именно Игру, а не интерактивный мультфильм, настоятельно рекомендую обратить внимание на более специализированные продукты.

Теперь касательно всевозможных конструкторов игр. Друзья мои, использование их является ламерством в чистом виде. Они (конструкторы) лишены многофункциональности Flash, не предоставляя взамен никаких преимуществ. С помощью конструктора Вы можете сделать только то, что предусмотрел его создатель, тогда как трансляторы вроде Delphi или Visual C++ позволяют вам решить любую программистскую задачу.

Мой вам совет: откажитесь от использования конструкторов игр и сразу же переходите на «серьёзные» продукты.

Разбор полётов

Надеюсь, я отговорил Вас от использования всяческих флешей и направил на истинный путь создателя игр, если нет - возвращайтесь к предыдущему разделу :)

А теперь пришло время разобраться, что же нам всё-таки понадобится на нелёгком поприще игроделания. Во-первых, Вам понадобится персональный компьютер, как бы банально это не звучало. Без него уж, извините, ни куда. Во-вторых, обязательно пригодятся голова, способная мыслить, анализировать и немного фантазии. И последний обязательный атрибут программиста-игроделателя, конечно же транслятор. О нём-то родимом и пойдёт речь далее. Помимо обязательного набора, понадобятся и другие программы вроде графического редактора, но о них - чуть позже.

Выбираем транслятор

Заметьте, я ещё ни слова не сказал о выборе языка программирования. Существует их великое множество и для написания игры теоретически подойдёт практически любой. Писать игры можно и на бейсике, и на фортране, и, простите за выражение, на стене в сортире. Здесь важно определиться, что Вы понимаете под словом «игра» и какую именно игру Вы хотите сделать. Устройство современных графических игр в корне отличается от всяких там чёт-нечетов и иже с ними. Головоломка со словами, работающая в текстовом режиме тоже называется игрой. И именно по этой причине среди непременных атрибутов создателя игр я не упомянул графический редактор. Лично мне под гордым словосочетанием «компьютерная игра» представляется красочное шоу, обладающее динамическим действием и обязательным присутствием графики. Для написания таких игр создавался DirectX и такие игры продаются сегодня тысячными тиражами.

Я уделяю такое внимание этому вопросу потому, что игра - понятие весьма расплывчатое и важно с самого начала определиться, что же именно Вы хотите сделать.

Определились? Тогда можно смело переходить к выбору транслятора, или, упрощённо говоря, среды разработки. Заметьте, что я рекомендую выбирать не язык программирования, а именно транслятор. Обусловлено это одной простой причиной. Программист не работает с C или паскалем. Он использует Microsoft Visual C++ или Borland Pascal. Не суть важно, на каком именно языке Вы будете программировать. В конечном итоге то, что Вы сможете сотворить, во многом определяется возможностями конкретного транслятора. Я рекомендую остановить выбор на уже упомянутом Visual C++, Borland C++ Builder или Borland Delphi. Представленные трансляторы продаются в нескольких редакциях. Я не рекомендую брать самую навороченную супер pro-версию. В основном, отличие между разными редакциями заключается в количестве доступных программисту визуальных компонентов и вспомогательных утилит, что для создания игр непринципиально.

Игровые двигатели

Собирать игру из стандартных визуальных компонентов - не самое красивое решение. Следуя ему, Вы лишаетесь приемлемого быстродействия и заведомо ограничиваете себя в возможностях.Однако писать игру «с чистого листа» сегодня также не принято. Для упрощения создания игровых и мультимедийных приложений были созданы библиотеки DirectX. При множестве преимуществ, в числе которых - высокое быстродействие, программированию на «чистом» DirectX присущ один серьёзный недостаток - высокая сложность разработки.

А по сему было создано множество так называемых «игровых движков», основанных на DirectX и значительно облегчающих процесс программирования. Не пренебрегайте, но и не злоупотребляйте их использованием. Было бы смешно, если бы стандартный пасьянс Windows был написан на DirectX-движке и требовал для работы наличия в системе 3D-акселератора.

Самые навороченные движки продаются за бешеные деньги и их распространение строго ограниченно. К счастью, в Интернете можно найти и множество бесплатных движков. Например, если вы используете Delphi и являетесь новичком в программировании, я рекомендую вам ЛКИ-Creator и DelphiX.

Подбираем кисти

Пара слов о графических редакторах. Для создания сколько-нибудь приличной графики в Paint’e Вы должны обладать недюжинным талантом и неограниченным свободным временем, так что рекомендую пойти более цивилизованным путём. Конечно, Photoshop - штука дорогая, но в деле обязательно пригодиться. Другой хорошо зарекомендовавшей себя программой является Corel PhotoPaint. Для обработки трёхмерных моделей рекомендую 3D Studio Max, являющейся почти стандартом де-факто в области трёхмерной графики.

Сопутствующие средства

И напоследок, хочется упомянуть о, так сказать, второстепенных средствах, используемых в процессе разработки игр и достойных Вашего внимания. Здесь я не буду многословен и перейду сразу к делу. После достижения некоторых успехов Вам может пригодиться программа для создания установочных дисков - лучше всего начинающему разработчику подойдёт InstallShield Express. Для создания презентации продукта и создания оболочки компакт-диска используйте InstallShield DemoShield. О средствах создания музыки и прочих подобных вещах я здесь даже и не заикаюсь. Музыку для игр сегодня редко создают сами, а качают уже готовую из Интернета, особенно это касается начинающих разработчиков. Главное, чтобы источник не был слишком известным. Один из главных Ваших помощников - Интернет. Не пренебрегайте посещением On-Line форумов и конференций.