Жужа, смотря что ты подразумеваешь под хорошим софтом. Конечно, я не могу создать в одиночку конкурента таким проектам, как Adobe Photoshop или Blender - у меня попросту не хватит сил и времени. Однако, приложения, которые довольно хорошо справляются со своей задачей и при этом стабильно работают, я все же могу продемонстрировать. Пару лет назад я делал 2D танки с мультиплеером. Я не хотел использовать готовые движки, дабы сильно не подстраиваться под них, поэтому взял лишь минимум: Qt библиотеки и HGE (хотя, по сути можно было использовать и DirectDraw c DirectSound) Демка Помимо клиента и сервера в комплект входит несколько редакторов, в частности ModelEditor, VehicleEditor и MapEditor.
Управление в редакторе и самой игре:
Управление в самой игре достаточно простое: WASD - движение и Пробел - огонь. Tab - список игроков.
Редактор моделей Базовый объект игрового мира - модель. Моделью в своей игре я назвал объект, который помимо спрайта несет еще и твердость. Редактор моделей как раз и нужен для того, чтобы эту твердость удобно нанести на спрайт. Для начала желательно(если не хотите создать невидимое препятствие) загрузить спрайт(в меню спрайт). Спрайт - обычная картинка в формате jpg, png или bmp. После загрузки спрайта(если нужно сделать объект частично или полностью непроходимым) можно включить режим редактирования точек(в меню редактирование) ЛКМ добавляет точку, ПКМ убирает последнюю поставленную точку. Средняя кнопка мыши включает/отключает отображение курсора(удобно при замыкании фигуры). После завершения редактирования модель нужно сохранить(лучше всего сохранить в каталог Data/Models, т.к. оттуда другие редакторы загружают все модели)
Редактор транспорта Транспорт - объект, управляемый игроком. Загружаем модель(в меню модель), которая будет выступать в качестве танка, после чего устанавливаем ей точку выстрела(Редактирование->режим перемещения точки выстрела) - оттуда будут лететь снаряды. СКМ - отключить режим установки точки выстрела. После чего нужно установить характеристики для транспорта(меню характеристики) - там есть несколько готовых шаблонов. Там же нужно выбрать модель снаряда. Сохраняем получившийся транспорт в Data/Vehicles.
Редактор карт Собственно основной редактор, соединяющий воедино все ранее созданные объекты. Можно открыть уже готовую карту в Data/Maps и посмотреть как все устроено. Если же хотите создать новую карту, то нужно выбрать модель для добавления на карту(меню модели) после чего активировать режим добавления объектов(меню редактирование, либо нажать среднюю кнопку мыши) Колесиком мыши можно менять масштаб, а если зажать клавишу Alt, то колесико мыши будет поворачивать объект. ЛКМ добавляет объект на карту, ПКМ убирает последний добавленный объект. Перед сохранением карты обязательно нужно настроить транспорт для каждой команды(меню транспорт), а так же установить точки спавна(меню редактирование) Теперь карта готова к игре! Можно сохранить ее(для использования в игре, нужно сохранить ее в Data/Maps и обязательно указать имя New.map)
Присоединение к серверу:
В файле Client.ini содержится информация, которую будет использовать приложение для присоединения к серверу. По умолчанию установлены значения для локальной сети. Можно поставить внешний IP адрес и тогда другие игроки смогут присоединятся(если у хоста есть белый IP) Так же можно в параметре IP указать StormServer, тогда клиент будет присоединятся к моему серверу(если он доступен, конечно) сервер я специально буду держать где-то в периоде с 14:00 до 20:00 по МСК (буду периодически заходить)
Собственно, особенность этих танков в том, что в них полностью исключена возможность читерства. Сервер так же просчитывает движение всех игроков и корректирует их. Для этого я разработал свой алгоритм. Причем нет никаких рывков при любом пинге - все максимально сглажено. При расчете всех данных сервер забегает вперед, чтобы более точно смоделировать ситуацию на поле боя с учетом задержки всех игроков.
Сообщение отредактировал Storm54 - Пятница, 18 Апреля 2014, 11:07