Загрузка

IDeveloper (IDEV) - клуб независимых разработчиков игр. Основная цель ресурса - дать разработчикам игр возможность быстрого создания красивых и информативных страниц для своих проектов. Также, здесь вы можете почитать интересные статьи об игрострое или поделиться своими знаниями с нами.

Новое в проектах

Всем привет, друзья! Прошел месяц с лишним с момента последней публикации, и конечно же, в проекте есть изменения, доработки и нововведения. Но обо всем по порядку.

Начну с того что я приобрел платную бессрочную подписку PhotonPloud, теперь максимальное количество игроков, играющих одновременно, расширилось с 20 до 100. Оформление игры не осталось без внимания, в магазине оружия стал отображаться диапазон урона от предмета, изменено меню в боевой локации (убраны лишние элементы и доведено до рабочего актуального состояния). Открывающееся меню с инвентарем, во время смерти, включает в себя инвентарь игрока, магазин вспомогательных предметов и GMShop.

Был введен новый бар здоровья и энергии, выглядит более тематичней и интересней. Далее, как и обещал ранее проделал некоторую работу с Violin, работа в большей части коснулась анимации персонажа, был сделан полный набор анимаций. Во время анимирования оказалось что метод смешивания анимации по слоям не подходит для моих нужд, пришлось на каждое состояние персонажа делать отдельную анимацию и переделать контроллер анимаций, пока что всего на персонажа приходится около 35 анимаций.

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

Всем спасибо за внимание, жду ваших отзывов и предложений!!!


2 года назад

Всем привет друзья! Надо же как летит время, прошел целый месяц с момента последних новостей, и вот на кануне майских праздников пора бы уже поделиться новостями проекта! За прошедшее время я реализовывал систему игрового магазина и попутно писал курсовой проект в уневере.

Тему курсовика мне дал наш зав. кафедрой со словами: "А ты у нас делаешь игру? Ну тогда делай аналитику для игрового магазина". С тролфейсом я сказал: "Okay" и потопал делать основу и реализацию системы. В итоге курсовик сдан и в игре появился магазин, ранее уже был реализован выбор оружия, но прогресс не стоит на месте поэтому переходим на новый уровень. Была проделана работа по написанию логики магазина, сохранения купленного оружия, защиты, количества вспомогательного оружия, и сортировка всего этого дела по графам:

  • Инвентарь
  • Оружие
  • Вспомогательное оружие
  • Защита
  • GMShop

Теперь можно тратить свои потом и кровью добытые деньги, на новое оружие и пополнение количества вспомогательного оружия, и идти в бой с новой пухой в руках=)

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

Если говорить о новом оружии, я сделал реализацию оружия типа Dual теперь можно бегать аля Lineage 2 гладиатор и нагибать как гладВалакас=), на будущее планирую реализовать возможность делать Dual оружие на основе того оружия что есть в инвентаре, а пока что есть только 2 вида этого типа. Добавил новый щит, если к нему приглядеться, то можно разглядеть дверную ручку, петли и прорезь для подглядывания, в общем дверь от туалета, думаю будет забавным атрибутом в бою, также есть задумка добавить некую визуальную изюминку к этому щиту, но об этом потом.

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

Это персонаж по имени Violin, его вы могли часто видеть на скриншотах и картинках в моей группе ВК, так получалось что все нововведения, которые я делал в игре доставались единственному персонажу, а Violin был не удел, сейчас я хочу исправить эту несправедливость и поставит второго персонажа на поддержку. На данный момент, для Violin были сделаны некоторые анимации, и добавлены последние возможности игры, как только работы будут вестись к завершению, слеплю видео и выложу. Кстати говоря скоро я хочу провести тест игры, выявить баги, послушать отзывы, может получить рекомендации и новые идеи, на кануне этого события выложу пост с приглашением, все желающие поучаствовать получат билд, и мы устроим жару.

А пока на этом все, всем пока!


2 года назад

Работа над проектом постепенно продолжается.

Составлен список наиболее важных доработок, в который вошли:

  • Возможность сворачивания окна игры, автоматическая пауза при сворачивании и отключение музыки и звуков
  • Различный звук шагов робота в зависимости от типа ландшафта, по которому он передвигается
  • Изменение внешнего вида бомбы в зависимости от её уровня
  • Визуализация состояния "минирует"
  • Редактор - ограничение на количество объектов
  • Редактор - размер кисти
  • Редактор - сетка для установки объектов
  • Редактор - миникарта
  • Выбор предыдущего значения в списках (предположительно правой кнопкой мыши)

Также составлен список нововведений:

  • Система внутреигровых команд (триггеров "событие-условие-действие")
  • Подсказки (при поднятии бонуса, нанесении повреждений, получении повреждений и т.д.)
  • Редактор - отделение позиций игроков от позиций роботов. Робот или несколько роботов будут принадлежать определенному игроку
  • Введение "процентного здоровья" (различные повреждения от типов снарядов, действие брони, модификатор горения)
  • Улучшения робота - двигатель, броня
  • Различные типы ландшафтов
  • Перезарядка спецоружия
  • Визуальное отображение модификаторов (замедление, ускорение, заморозка и т.д.)

Как говорилось ранее, планируется адаптация игры под сенсорное управление и создание версии игры под ОС Android.

Обсуждаются вопросы:

  • Рисование списками в зависимости от координаты Y (для визуализации нахождения робота за объектом, а объекта - перед роботом)
  • Проходимость космоса (падение, пролетание снарядов и т.д.)
  • Анимированные фоновые изображения кроме космоса (планеты, платформы, метеориты и т.д.)

Составлена общая программная схема реализации игры по сети, в которую вошли следующие классы и функции:

vGBM.Server: TGameServer
	Clients: TList of TGameClient- Список клиентов на сервере
	procedure Processor
		Ожидание подключения игроков
		Обработка игровых объектов
		Создание звуков
		Передача данных клиенту
			Данные об объектах (необходимые для рисования у клиента)
				Свойства робота игрока
				Объекты вокруг робота
				Звуки вокруг робота
		Принятие данных от клиента
	
vGBM.Viewer: TGameViewer
	Data: TClientData - данные клиента (получаются от сервера)
	Query: TClientQuery - запрос на различные действия (передается серверу)
	procedure Processor
		Обработка событий ввода
		Воспроизведение звуков
		Робот игрока
		Принятие от сервера данных об объектах
		Передача серверу данных о событиях
			Запросы робота игрока
			Установка паузы
			Выход из игры
			Карта загружена
		Загрузка карты (при необходимости, скачивание)
	procedure SendQuery
	procedure GetData
	procedure Connect - Отправка начального запроса (при создании объекта)
	procedure ProcessMessage - обработка Data.Message
		
TGameClient
	Data: TClientData - данные клиента (передаются клиенту)
	Info: TClientInfo - информация о клиенте
	Query: TClientQuery - запрос на действия (получается от клиента)
	procedure SendData
	procedure GetQuery
	procedure ExecuteQuery - выполнить запрос
		
TClientData
	Objects: TList of TVisualObjectView
	Robots: TList of TRobotView
	AudioEffects: TList of TAudioEffect
	Message: TClientMessage
		[
			Liver - ник игрока, вышедшего из игры
			Vinner - ник игрока победившего
			Looser - ник игрока проигравшего
		]

TClientInfo
	IP
	Name (имя игрока для уведомлений о нем)
	Num - номер игрока (его стартовая позиция)
	RobotType - тип робота (при создании важен)
	Ready - Карта загружена
	Robot - указатель на робота игрока (используется в процессе игры)
	
TClientQuery
	MakeBomb
	MakeSpecial
	MakePause
	MakeMove
		Up
		Left
		Down
		Right
	MakeExit
	
TInitialQuery - начальные параметры (при подключении)
	Name
	IP
	RobotType
	
Действия, выполняемые в таймере, разделить на серверные и клиентские
	
Класс TVisualObjectView содержит сведения и методы, необходимые для отображения объектов у клиента (позиция, номер текстуры, кадр)

TVisualObjectView
	X
	Y
	Texture
	Frame
	procedure Draw
	
TRobotView (TVisualObjectView)
	Health
	procedure Draw
	
Сервер передает сведения об объектах для отображения в зависимости от их отдаленности от робота клиента (позиции камеры). В список аудиоэффектов также попадают только те, которые близко к клиенту.

TGBmGame.FindGames - Поиск игр в локальной сети
	Отображение списка игр

2 года назад

Блин никак не соберусь и не сделаю дизайн врагов. у кого нибудь есть идеи по дизайну? Вообще я планировал так! будет 3 типа врагов: статичные, двигающиеся и боссы. Врроде стандартный набор для таких игр.

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

А двигающиеся - это основной тип врагов: всякие корабли и прочее. они могут прочто летать как препятствия,могут летать за игроком пытаясь его взорвать, а могут стрелять в него. из них чаще выпадают бонусы а из статичных не выпадают.

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

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


2 года назад

С каждым новым проектом, написанным с использованием Perfect Engine 2, движок расширяется и обрастает новыми функциями. Хотя изначально основной идеей Perfect Engine и является полная отвязка от используемого Рендера и, как следствие, равные возможности для них, наши собственные возможности в этом плане сильно ограничены нехваткой времени и, главное, стимула на проработку одинаковых функций для всех созданных нами Рендеров.

На данный момент Perfect Engine поддерживает два стандартных Рендера:

  • peRender_Canvas.pas - для вывода графики средствами GDI
  • peRender_OpenGL.pas - для вывода графики средствами OpenGL

И готовится к выходу третий Рендер, работающий на OpenGL ES и позволяющий выводить графику как на компьютере, так и на мобильных устройствах. С выходом этого Рендера движок обретет новые возможности и, хотя его актуальность среди разработчиков компьютерных игр это не повысит (Delphi и графические движки сегодня не очень жалуют), - все же, это нововведение может стать для Perfect Engine огромным плюсом.

На данный момент движок используется нами не только для разработки игр, но и для простых графических приложений, среди которых была даже парочка коммерческих. В общем, со своими задачами он справляется хорошо. И вот какие нововведения планируются в Perfect Engine 3:

  • Новый Рендер на OpenGL ES, выводящий графику как на компьютерах, так и на мобильных устройствах и призванный полностью заменить стандартный peRender_OpenGL.pas.
  • Возможно, в новый OpenGL-Рендер будут введены функции рендера в текстуру, а также, работы с пиксельными шейдерами (в основном, для постобработки кадра).
  • Новый OpenGL-Рендер, также, будет работать с буферными объектами для ускоренного вывода на экран большого количества текстур.
  • Будут усовершенствованы некоторые старые функции. Так, например, функция вывода кадра анимации (pDrawFrame), наконец, начнет работать с прямоугольными кадрами.
  • Также, будет введено несколько дополнительных простых функций. Например, pDrawPolygon - для вывода закрашенного полигона (сайчас движок поддерживает только функцию вывода ломаной линии (pDrawPolyline).
  • Движок, скорее всего, будет оптимизирован для работы с новыми версиями Delphi и мобильными устройствами. Вполне возможно, создадим и dll-библиотеку для использования Perfect Engine с другими языками программирования.

Что скажу в итоге? С каждым новым проектом графический движок Perfect Engine совершенствуется. Он, конечно, далек от современных стандартов и трендов в области геймдева - вряд ли кто-то серьезно станет разрабатывать игры с его использованием, когда есть выбор среди профессиональных игровых движков с мощными физическими подсистемами, системами частиц, звуковыми системами и прочими наворотами.

Но со своей задачей Perfect Engine справляется отлично - с его использованием легко можно написать простую демонстрационную программу, выводящую 2D-графику или 2D-игру, ну а начинающие программисты могут многому поучиться, просто разобравшись в его структуре. На данный момент с использованием Perfect Engine написано 2 серьезные игры:

  • Логическая игра Crown
  • Galaxy Boom: Mini

Скачать их вы можете во вкладке 'Файлы' на этой странице, а также, их официальные страницы представлены в нашем клубе. Думаю, со временем список этих игр будет пополняться.


2 года назад

Всем привет давно меня не было и вот я отрисовал гуй! выкладываю 2 скриншота с ним. на первом все тоже игровое поле где также мы можем видеть в верхенй части панель с названием игры и инфой. С начала идет количество собраных денег (на самом скриншоте можно увидеть заготовку для бонуса который дает деньги- синие треугольники)) количество супер оружия и тип выбраного корабля.

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

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


2 года назад

Всем привет, снова прошло некоторое время с момента последних новостей. И пришло время новым новостям=) Начну, пожалуй, с исправления забавной ошибки капкана, в общем оказывается, что я вообще не прописал логику капкану, когда игрок в нем умирает, из-за этого вылезла данная проблема, сейчас все исправлено и работает как часы, ну почти, нет предела совершенству!

Дальше я немного по шаманил с логикой лечения игрока, в общем суть такова что, когда игрок подбирает "лечилку" даже если у него максимально возможное количество жизней, "лечилка" добавляет ему жизней к текущему количеству, но, когда игрок умирает, количество жизней остается на уровне максимально возможных для данного персонажа, такое сложное объяснение, но на практике все намного проще, в общем решил попробовать данный подход, а там посмотрю приживется или нет.

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

Я убрал возможность какой-либо атаки при низком уровне энергии, и понизил на долю скорость бега персонажа, также потестим попробуем как оно на практике. Далее я начал "подбирать хвосты" и исправлять мелкие глюки и недоработки, которые в сумме портят все впечатление, а именно начал с человеческой интерполяции перемещения персонажа, в общем немного поколдовав все заработало. Далее поправил пересчет амуниции у игрока, теперь ведется верный подсчет гранат и капканов, теперь можно прикручивать игровой магазин и закупаться амуницией.

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

Так, и на десерт по поводу переосмысления локации, пол недельки я уже затратил на создание артов и модельки одного из зданий деревушки. Ну вроде бы как это все, о чем я хотел вам сегодня поведать, следите за развитием событий на "Первом" канале=)


2 года назад

Лента скриншотов

Популярная идея Scroll-шутера теперь в неоновом стиле! Высокие цели перед игрой не ставлю: это проект, на котором я буду изучать движок Unity. Постараюсь чаще выкладывать сюда обновления в виде концептов и скриншотов. Может быть, напишу пару статей о Unity в процессе разработки.))

Популярная идея Scroll-шутера теперь в неоновом стиле! Высокие цели перед игрой не ставлю: это проект, на котором я буду изучать движок Unity. Постараюсь чаще выкладывать сюда обновления в виде концептов и скриншотов. Может быть, напишу пару статей о Unity в процессе разработки.))

Популярная идея Scroll-шутера теперь в неоновом стиле! Высокие цели перед игрой не ставлю: это проект, на котором я буду изучать движок Unity. Постараюсь чаще выкладывать сюда обновления в виде концептов и скриншотов. Может быть, напишу пару статей о Unity в процессе разработки.))

Популярная идея Scroll-шутера теперь в неоновом стиле! Высокие цели перед игрой не ставлю: это проект, на котором я буду изучать движок Unity. Постараюсь чаще выкладывать сюда обновления в виде концептов и скриншотов. Может быть, напишу пару статей о Unity в процессе разработки.))

Популярная идея Scroll-шутера теперь в неоновом стиле! Высокие цели перед игрой не ставлю: это проект, на котором я буду изучать движок Unity. Постараюсь чаще выкладывать сюда обновления в виде концептов и скриншотов. Может быть, напишу пару статей о Unity в процессе разработки.))

Когда на Иридиуме только начиналось строительство мощнейшего генератора, космические локаторы Альфа заметили неизвестные оъекты, направляющиеся к планете. Так началось разрушительное вторжение роботов, называющих себя Бета. Космические платформы, окружающие Иридиум по периметру, стали первым рубежом обороны Альфа.


Последние статьи

Теги: аудио библиотеки, движки

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

Из статьи вы узнаете основы работы с библиотекой bass, научитесь создавать звуковые потоки и правильно их удалять, запускать, останавливать и зацикливать воспроизведение. Исходный код примера написан на Delphi


Теги: о сайте

Привет, клуб разработчиков I Developer! Неимоверно рад вновь писать очередную статью на твоих... Стойте, это же не тот сайт! Где непонятное меню слева? Где... Где мой любимый тяжелый, тормозящий редактор? Где ненужные блоги и глупое ограничение на 5000 символов в статьях??? Спокойно... Просто я не туда попал, закрываем вкладку и идем искать настоящий IDEV...

Что, опять?! Да что такое! Хотя, стойте, это же он и есть, просто совсем недавно я вдруг решил его поменять. Да, да, что-то такое я теперь смутно припоминаю...


Теги: алгоритмы, мобильные игры

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


Теги: алгоритмы

Всем привет, сегодня я расскажу об организации простого адаптивного интерфейса в своей игре. Что такое адаптивный дизайн? Это дизайн, подстраивающийся под некоторые выбранные разрешения экрана.

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


Теги: о сайте

IDEV создавался с нуля, но, все же, не писался в блокноте, а имеет под собой довольно неплохую основу в виде системы Joomla. Основа неплохая, для широкого круга задач, но когда я сел за IDEV, тут же столкнулся с рядом неразрешимых проблем, заключающихся в недостаточной расширяемости Joomla для такого рода задач.

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


Теги: алгоритмы

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

И здесь неважно, какой инструмент вы используете - умение структурно подходить к решению задачи сэкономит вам многие дни и недели на переработку проекта.


Теги: мобильные игры

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

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


Теги: о сайте

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


Теги: html5, javascript

С чего начиналась разработка системы тестирования. Особенности решаемой задачи и примененные технологии. Краткое описание структуры данных. Проблемы и перспективы их решения. 


Теги: unity, математика, алгоритмы

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

Войти