Итак, однажды, в студеную зимнюю пору мне пришло в голову, что я хочу создать свою игру (ну надо же настоящему мужчине иметь глупое детское хобби ). Обчитавшись форумов и статей всяких я понял, что надо бы начать с диздока, но он дюже скучен в создании, да и особенности моего мышления не позволили бы мне его создать в течение приемлемого для меня времени (менее полугода). К тому же я не программер, С не знаю, так что было решено совместить приятное с полезным - начать делать игру, осваивать С, сам движок и потихоньку создавать в голове диздок. Однако все равно стоит определиться с некоторыми вещами изначально.
1. Жанр. Это будет космосим (физика полуподводная лодка, что это такое, я расскажу потом). 2. Язык программирования. В конце концов я пришел к тому, что это будет не С++, а С#. Почему? Программировать быстрее, не надо заботиться об утечках памяти (кто не знает - это самый страшный бич программистов на С++), сам процесс программирования более понятен и прозрачен, скорость работы чуть-чуть медленнее, чем у С++. В итоге победило удобство, простота (все в этом мире относительно) и скорость разработки. 3. Сеть. Изначально нет, но вообще - обязательно. Вообще реализации и оптимизации (!!!) сети я посвящу отдельную статью. 4. Движок. Предупрежу начинающих. Не стоит начинать с написания своего собственного движка, если Вы хотите создать игру, а не сам движок. Почему - объяснять долго, проще зайти один раз на gamedev.ru и внимательно изучить статьи и форум... Поэтому выбор пал на уже готовые движки. Выбор пал на Irrlicht. Почему? Прост, удобен, вполне приличная документация. Достаточно активный офф-форум, чтобы быстро получать ответы на появившиеся вопросы. Есть два .NET враппера (решил использовать не родной, ибо он не совсем C# нативный, а Irrlicht NET CP). Рендерер быстрый, довольно красивый. Ну и лицензия просто шикарная, если я в будущем захочу продавать свою игру. 5. Физика. Пока - встроенная в Irrlicht упрощенная физика, для начала этого хватит. Потом скорее всего Newton, хотя может быть Ageya PhysX. 6. Звук. Раз Irrlicht, то будет IrrKlang (OpenAL уж очень медленно работает, по-моему, да и не нужны мне особо навороты, главное чтобы музыку проигрывал и звуки). 7. Формат конфигурационных файлов. С учетом некоторых соображений решил использовать XML. Пусть размеры побольше, зато понятнее что в них и к чему.
Далее были установлены для работы Visual Studio 2005 (среда разработки), PhotoshopCS (пиксельная графика), CorelXara2 (векторная графика), 3d Studio MAX 8.0 (3д-модели). Все эти пакеты я немножко знаю. Предупреждаю сразу, что музыку мне пишут отдельно. Модельки и текстуры сделает профессиональный дизайнер, когда игра будет рабочей. Поэтому, чтобы изначально не отвлекаться на это, но и чтобы охоту у себя не отбивать всякими грустными кубиками и проч., я, не долго думая, нагло использую уже готовые модельки из других игр. С музыкой и звуками пока что тот же, по сути дела, плагиат. Зачем? Чтобы не отвлекаться от основного процесса. Ибо сначала нужно сделать игру, а уже потом насыщать ее красивыми моделями и текстурами, музыкой и звуками, а не наоборот. Иначе на этом процесс разработки остановится.
Ну вот пролог на этом и закончен. Дальше начнется, собственно, сам процесс.
|