<< Вернуться на главную

КОЛОНИСТ

Этот проект, как и большинство наших проектов, предназначен для обучения. Этим объясняется некоторые странности проектирования :-) Но зато можно узнать кухню создания таких игр. Учтите, что данная страничка по мере развития проекта будет быстро меняться. Сегодня у нас одни приоритеты, а завтра будут другие.

Итак начинаем.

Цель - Учимся писать сетевую, компъютерную игру типа стратегии.
Преамбула игры такая:
В нашей необъятной галактике огромное количество планет, которые нуждаются в заселении :-)
Колонист берет кредит в нашем банке, на эти деньги покупает космический корабль, необходимое оборудование, нанимает экипаж. Потом выбирает понравившуюся планету. Или наоборот, сначала выбирает понравившуюся планету а только потом закупает оборудование и нанимает экипаж :-)

Корабль для колонистов одноразовый, только туда! Так что обратной дорога возможна только в случае аварийной эвакуации (до чего лучше не доводить). Ну а высадившись на планете прийдется строить, добывать местные ресурсы, торговать с пролетающими кораблями и прочее прочее прочее :-)

Проектирование как всегда начинаем с того, как в нашей игре будут выглядеть данные. Естественно, игра должна быль легко расширяема, новые модули должны быть легко добавляемые, а потому прийдется применить широко распространенные форматы данных.

Перво-наперво разберемся с ресурсами. Так как наша игра предполадает оптимизацию по многим параметрам сразу, очень важно создать гибкую систему управления ресурсами. Ресурсы должны быть взаимозаменяемы, легко расширяемы и прочее. Для идентификации ресурсов, каждому ресурсу будет присвоен глобальный номер. И эти номера будут расписаны в текстовом файле "RESURS.TXT" (Ну а как еще по вашему должен называться файл ресурсов? :-) ) По мере разработки, файл можно будет расширять, добавляя в него все новые и новые ресурсы.

Предлагается следующая структура:
Одна строка файла - один ресурс. И в каждой строке сначала идентификационный номер ресурса, потом цена за еденицу измерения и его название. Например:
1 0.5 Уголь
2 1.5 Электроэнергия
3 8 Люди
4 0.3 Еда
5 51.5 Медикаменты
..................

Таким образом в последствии мы легко сможем добавлять ресурсы, сохраняя совместимость с ранее созданными модулями.

Пусть в нашей колонии будет три основных типа объектов:
1 - Люди
2 - Транспортные еденицы
3 - здания и сооружения
Каждый из этих ресурсов будем моделировать отдельно.

Люди будут управляться программой,прототип которой можно глянуть в нашем "подвале" Моделирование жизни колонии Сначала вы наймете колонистов, а потом они сами будут жениться, разводиться, заводить детей и умирать. Ну а как быстро они будут делать все это, будет зависеть от условий, которые вы им создадите. Сделаете невыносимые условия - перемрут как мухи, а будете заботиться о процветении колонии, то соответственно размножатся!

Транспортные еденицы - это вся техника, которая существует на планете. Часть ее вы привезете с собой, ну а в последствии прийдется производить ее на месте (или заказывать за бешенные деньги!). А почему-бы не объеденить транспортные еденицы с сооружениями? Да потому, что уж больно разные у них свойства. Так что лучше, чтобы эти объекты сразу отличались как по типу, так и по параметрам. Если у вас есть предложения, по составу транспортных едениц, то оформляйте свои мысли в обычном текстовом файле и высылайте нам по почте (или другим каким-нибудь способом). Состав транспортных едениц будем выкладывать здесь За хорошую идею платим 1-н эрг (мало, потому что это просто идея, а от идеи до воплощения большой путь :-) )
Каждый объект имеет порядковый номер И на каждый объект есть группа файлов описания t_N.*** где N - идентификационный номер транспортной еденицы. пока еще не брались за проектирование, так что основные идеи еще впереди.

Теперь проектируем объекты типа зданий и сооружений. Каждый объект тоже имеет порядковый, идентификационный номер И на каждый объект будем создавать группу файлов описания.

s_N.ВМР  Файл с картинками размер одного изображения указан в файле N.DAT
s_N.T3G Файл с трехмерным изображением
s_N.TXT файл Технических параметров Время строительства (в годах) Количество ресурсов для строительства Кол_вариантов Ресурс количество в еденицу времени (на строительство) Ресурс, количество...... ................ Скорость деградации(разрушения) Количество ресурсов, которые данное сооружение расходует(генерирует) Количество вариантов Номер ресурса и количество в еденицу времени. Ресурс, количество...... ................
s_N.DAT Файл описатель технологических данных 1-я строка - тип блока (=1 - обычное здание =2 - оружие =3 - коммуникация 2-я строка - размер в блоках по 16 пикселей (например 1 1) 3-я строка - тип отображения =1 - простой спрайт =2 - спрайт с маской 4-я строка - размер одной картинки 5-я строка - Количество фаз отображения 6-я строка - координаты верхнего левого угла изображения на картинке (чаще всего 0 0)
s_N.HLP Текстовый файл с описание блока в произвольной форме

Состав зданий здесь За каждую идею администрация дает 1-эрг, за полностью разработанный блок - 10 эргов

Приступаем к первой фазе - первоначальному накоплению готовых блоков. Картинки рисуем в обыкновенном пайнтере, остальные файлы пишем в блокноте. И высылаем нам! Вот здесь выложена программа просмотра готовых блоков. С ее помощю можно проверить насколько хорошо у вас получился блок. а можно попробовать разные варианты.
Например несколько вариантов блоков приведено в программе просмотра блоков С ее помощю можно посмотреть, как будет выглядеть придуманный вами блок. А при отрисовке блоков необходимо соблюдать одинаковую проекцию и освещение. Для примера привожу картинки из старой игры SIMSITY. Привожу для примера, чтобы посмотрели как нужно рисовать. В крайнем случае можно использовать как основу.
картинки из SIMSITY

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

Вопросы задавать через систему вопрос-ответ или по почте.



Старый вариант страницы


По всем вопросам обращайтесь к администрации "звездного мира" по адресу