Heart of Darkness the Roguelike - Сердце Тьмы

hod.rlgclub.ru

Модератор: Apromix

Нравится ли вам "Сердце Тьмы"?

Да, хороший рогалик
15
65%
Игра так себе
3
13%
Нет, не нравится
5
22%
 
Всего голосов: 23

Аватара пользователя
Apromix
Мастер
Сообщения: 1087
Зарегистрирован: 04 июл 2011, 10:44
Откуда: Украина, Черновцы
Контактная информация:

Re: Heart of Darkness the Roguelike - Сердце Тьмы

Сообщение Apromix » 28 май 2013, 14:14

Ну тут назревает вопрос: прикручивается ли либа к GDI? Или ей QGL или DX подавай?

И еще вопрос: выводится шрифт на канву белого цвета, но на белом фоне изображения текст сливается с рисунком. Как обвести текст черным контуром программными средствами? Может ли FT такое сделать?
Скрытый текст: ПОКАЗАТЬ
В голову пришло только сохранить битмап с текстом и в пэинте и обвести его черным контуром :)
Изображение Изображение

Аватара пользователя
Uvadzucumi
Сообщения: 364
Зарегистрирован: 29 ноя 2011, 07:13
Откуда: Дубай, ОАЭ (Минск, Беларусь)
Контактная информация:

Re: Heart of Darkness the Roguelike - Сердце Тьмы

Сообщение Uvadzucumi » 28 май 2013, 14:27

не совсем обводка, но, обычно, просто рендерят 2 раза. вначале черным. со смещением на 1 пиксель по x и y. потом уже белым по нормальным координатам. получается, как бы тень и можно читать белые буквы на белом фоне.
Меня окружали милые, добрые люди... медленно сжимая кольцо

Аватара пользователя
Cfyz
Сообщения: 758
Зарегистрирован: 30 ноя 2006, 10:03
Откуда: Санкт-Петербург
Контактная информация:

Re: Heart of Darkness the Roguelike - Сердце Тьмы

Сообщение Cfyz » 28 май 2013, 14:38

Apromix писал(а):Ну тут назревает вопрос: прикручивается ли либа к GDI? Или ей QGL или DX подавай?
FreeType весьма низкоуровневая библиотека. Она никуда сама по себе не прикручивается, на ее выходе пользователь имеет либо векторный, либо растровый рисунок глифа + его метрики. Транслировать в нужное пространство цвета, собрать в текстурный атлас -- это остается на совести разработчика. С другой стороны, собрать из растеризованных FreeType тайлов одну картинку в памяти, чтобы потом привычно загрузить ее в текстуру или куда там еще -- весьма тривиальная задача.
Apromix писал(а):И еще вопрос: выводится шрифт на канву белого цвета, но на белом фоне изображения текст сливается с рисунком. Как обвести текст черным контуром программными средствами? Может ли FT такое сделать?
Ну, как правило в простых случаях нет необходимости рисовать белым по белому =) Такая функциональность во FreeType есть (можно выбрать глиф, получить его контур, растеризовать его в битмап), но я ею не пользовался. Для растеризации контура вероятно потребуется букваль пара лишних вызовов, но вот собирать основной глиф (белый) в одну картинку с контуром (черным) уверен придется самому, ручками.
Uvadzucumi писал(а):не совсем обводка, но, обычно, просто рендерят 2 раза. вначале черным. со смещением на 1 пиксель по x и y. потом уже белым по нормальным координатам. получается, как бы тень и можно читать белые буквы на белом фоне.
Имхо, пойдет только на самое первое время, для мокапа так сказать. В наше время продвинутой типографики такой текст выглядит просто чем-то из прошлого века, об него глаза сломать можно.
Cfyz теперь - наглая морда.

Аватара пользователя
Jolly Roger
Сообщения: 2973
Зарегистрирован: 27 ноя 2009, 09:10
Откуда: Minsk, Belarus

Re: Heart of Darkness the Roguelike - Сердце Тьмы

Сообщение Jolly Roger » 28 май 2013, 14:42

Честно говоря, когда первый рас столкнулся с FT был поражен невероятной силой данной библиотеки.
Думаю, надо будет вынести её обсуждение из данной темы в отдельную.
Писать диздок спустя несколько лет разработки и множества изменений концепции - исконная русская девелоперская традиция.

Аватара пользователя
Apromix
Мастер
Сообщения: 1087
Зарегистрирован: 04 июл 2011, 10:44
Откуда: Украина, Черновцы
Контактная информация:

Re: Heart of Darkness the Roguelike - Сердце Тьмы

Сообщение Apromix » 28 май 2013, 16:27

Uvadzucumi писал(а):не совсем обводка, но, обычно, просто рендерят 2 раза. вначале черным. со смещением на 1 пиксель по x и y. потом уже белым по нормальным координатам. получается, как бы тень и можно читать белые буквы на белом фоне.
Спасибо :D Действенный метод, я его несколько изменил и отрисовывал со смещением назад и вверх, потом вперед на пиксел и вниз, и только потом по норм. координатам белым. Вот что получилось. По мне так читабельно :D
Скрытый текст: ПОКАЗАТЬ
Изображение
См. код - станет понятнее:
Скрытый текст: ПОКАЗАТЬ

Код: Выделить всё

  const
  T: array[0..16]of char = ('1', '2', '3', '4', '5', '6', '7', '8', '9', '0',
      'C', 'I', 'Q', 'A', 'L', 'M', 'S');
  P: array[0..2]of -1..1 = (-1, 1, 0);
  ...
  with SCR.BG.Canvas do
  begin
    Font.Color := 0;
    for J := 0 to 2 do
    begin
      if (P[J] = 0) then Font.Color := clWhite;
      for I := 0 to 16 do TextOut(I * 33 + 122 + P[J], 582 + P[J], T[I]);
    end;
  end;
Изображение Изображение

Аватара пользователя
Apromix
Мастер
Сообщения: 1087
Зарегистрирован: 04 июл 2011, 10:44
Откуда: Украина, Черновцы
Контактная информация:

Re: Heart of Darkness the Roguelike - Сердце Тьмы

Сообщение Apromix » 29 май 2013, 20:13

Хорошая новость! Нами интегрирован FOV из BeaRLibFOV.dll полностью, включая свет от различных источников освещения и летящих фаерболов :)

Новая версия доступна для скачивания и тестирования :)

В сравнении с предыдущей версией можно отметить следующие изменения:
+ Новая расширенная панель
+ Инсталлятор
+ Полностью рабочий FOV
Изображение Изображение

phomm
Сообщения: 40
Зарегистрирован: 13 сен 2012, 07:14
Контактная информация:

Re: Heart of Darkness the Roguelike - Сердце Тьмы

Сообщение phomm » 30 май 2013, 02:29

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

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

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

Аватара пользователя
Apromix
Мастер
Сообщения: 1087
Зарегистрирован: 04 июл 2011, 10:44
Откуда: Украина, Черновцы
Контактная информация:

Re: Heart of Darkness the Roguelike - Сердце Тьмы

Сообщение Apromix » 20 июн 2013, 08:06

Новости:
+ Сделал сундук персонажа в городе, в котором можно хранить свои вещи и золотишко :D
+ После смерти персонаж потеряет все золото, которое было при нем, так что лучше хранить в сундуке.
Скрытый текст: ПОКАЗАТЬ
Изображение

Изображение
Изображение Изображение

Аватара пользователя
Apromix
Мастер
Сообщения: 1087
Зарегистрирован: 04 июл 2011, 10:44
Откуда: Украина, Черновцы
Контактная информация:

Re: Heart of Darkness the Roguelike - Сердце Тьмы

Сообщение Apromix » 22 июн 2013, 16:42

Новости:
+ Золото добавляется и изымается из сундука в нужном количестве.
+ При торговле учитывается золото на руках и золото в сундуке (не нужно бежать в сундук, если не хватает требуемой суммы).
+ Появились фаерболлы. При полете фаерболл освещает местность вокруг и при попадании во врага взрывается.
Скрытый текст: ПОКАЗАТЬ
Изображение
Изображение Изображение

Аватара пользователя
Apromix
Мастер
Сообщения: 1087
Зарегистрирован: 04 июл 2011, 10:44
Откуда: Украина, Черновцы
Контактная информация:

Re: Heart of Darkness the Roguelike - Сердце Тьмы

Сообщение Apromix » 29 июн 2013, 10:39

Новости:
+ Вместо одной атаки и защиты добавлены 8 атак и 8 защит от них: Crash, Slash, Prick, Ice, Lightning, Fire, Poison, Acid.
+ Персонажа можно удалить из меню.
+ Добавлен генератор мужских и женских имен в сцену создания перса.
Изображение Изображение

Аватара пользователя
Sirion
Сообщения: 687
Зарегистрирован: 21 авг 2010, 19:33

Re: Heart of Darkness the Roguelike - Сердце Тьмы

Сообщение Sirion » 29 июн 2013, 19:46

Prick
Может, лучше pierce? Помимо всего прочего, prick - это ещё и эвфемизм для МПХ.

Аватара пользователя
aleks59
Сообщения: 3
Зарегистрирован: 03 янв 2012, 14:31
Откуда: Пермь, Закамск
Контактная информация:

Re: Heart of Darkness the Roguelike - Сердце Тьмы

Сообщение aleks59 » 11 июл 2013, 14:26

Sirion писал(а):
Prick
Может, лучше pierce? Помимо всего прочего, prick - это ещё и эвфемизм для МПХ.
Возможно, что и pierce.
Просто надо понять, какое именно слово обозначает "колющий удар" именно в том смысле, который нам нужен. И именно "колющий". Не колоть, не прокалывать\продырявливать\просверливать\просачиваться и всё подобное. Колющий.

Аватара пользователя
karagy
Сообщения: 948
Зарегистрирован: 10 янв 2007, 14:13

Re: Heart of Darkness the Roguelike - Сердце Тьмы

Сообщение karagy » 11 июл 2013, 14:33

Прокалывающий удар (ножом, стилетом, копъем) - pierce.
Раскалывающий удар (топором, двуручным мечем, алебардой) - cleave.

Аватара пользователя
Apromix
Мастер
Сообщения: 1087
Зарегистрирован: 04 июл 2011, 10:44
Откуда: Украина, Черновцы
Контактная информация:

Re: Heart of Darkness the Roguelike - Сердце Тьмы

Сообщение Apromix » 11 июл 2013, 17:23

karagy писал(а):Раскалывающий удар (топором, двуручным мечем, алебардой) - cleave.
У нас режущий удар. Slash
Изображение Изображение

Аватара пользователя
Apromix
Мастер
Сообщения: 1087
Зарегистрирован: 04 июл 2011, 10:44
Откуда: Украина, Черновцы
Контактная информация:

Re: Heart of Darkness the Roguelike - Сердце Тьмы

Сообщение Apromix » 13 июл 2013, 21:31

Новости:
+ Подсказки ко всем игровым элементам.
+ Первый класс - воин.
+ Дерево скиллов (окончательный вариант).
+ Настройка уровня громкости (в игре).
+ Выбор шрифта (в игре).
Изображение Изображение

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость