doom2d.org

Главная база плоских морпехов
It is currently 22 Apr 2019, 17:17

All times are UTC + 3 hours




Post new topic Reply to topic  [ 113 posts ]  Go to page 1, 2, 3, 4, 5, 6  Next
Author Message
PostPosted: 10 Jan 2014, 05:01 
Offline
Приколист
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 5886
Location: Владивосток
Да, такие дела.
Обрисую текущее положение. 0.6 окончательно зашла в тупик в плане расширяемости кода и больше разрабатываться не будет, а создание версии 0.7, чем сейчас и занимается Примус, займёт неизвестное, но определённо продолжительное количество времени.
Ввиду всего этого мною было принято решение начать разработку версии 0.65. Делать я её буду вместе с Примусом (на него я возлагаю надежды как минимум с написанием звуковой подсистемы и новой физики) на GM 8.1 + FaucetNET. С нуля.
Сразу предупреждаю, что никаких особых иллюзий строить не нужно: я пока сам не знаю, удастся ли мне разработать что-либо по-настоящему годное и расширяемое (однако очень на это надеюсь). Поэтому если ничего не получится, то ответственности за ваши разочарования я нести не буду.

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

Готовность 0.65: 6%

19.07.2014
  • В кои-то веки написал установку видеорежима. Однако она пока не работает - я обнаружил, что функции смены разрешения экрана поломаны в 8.1 как класс. Придётся написать свои и впихнуть в рантайм-библиотеку - надеюсь, получится.

18.07.2014
  • Написал пару функций для обработки клавиш клавиатуры с последующим очищением их состояний. Главное отличие от встроенных keyboard_*_pressed() в том, что клавиши после очистки продолжают опрашиваться.
  • Параллельно начал написание редактора. Устал я от рутинного кода, хочется уже чего-то более интересного.

21.06.2014
  • Обнаружил и решил архитектурную проблему с одновременной обработкой пользовательских элементов интерфейса (поля ввода, например).
  • Попытался написать поля ввода для меню. Пока неудачно.

19.06.2014
  • Написал основную часть системы меню. Доработки вроде полей ввода будут делаться по надобности.

13.04.2014
  • Написал загрузку шрифтов. Сначала грузится стандартный шрифт, а затем шрифт национального алфавита при его наличии. Хранятся в стандартном формате спрайтов GM, что позволяет не тратить слишком много времени на их загрузку.
  • Начал доработку консоли и обработчиков команд.

11.04.2014
  • Дописал загрузку строк локализации. Т.е. уже можно считать, что игра поддерживает мультиязычность. Однако есть оговорка: поддерживаться будут только те языки, у которых есть однобайтовая кодировка. Для исправления этого придётся править класс ввода текста и вникать глубже в систему шрифтов GM 8.1. Однако на данный момент это совершенно некритично, ну а пока строка "LANG: Пакет локализации успешно загружен: Russian.lpf" стала первым подтверждением работоспособности системы локализации.
  • Разработал концепцию загрузки шрифтов. Попробовал написать тестовую реализацию - результат неудовлетворительный: около семи минут загрузки игры и битые шрифты. Однако сразу уточню: я пробовал загружать стрип полусамопальным кодом, что само по себе уже говорит о тормознутости. Поэтому символы шрифтов придётся либо объединять в одну линеечку, либо просто сделать их загрузку из стандартного формата GM. Пока что я склоняюсь ко второму варианту, так как это будет во-первых быстрее, а во-вторых проще для редактирования.

08.04.2014
  • Дописал класс для ввода текста с клавиатуры. Теперь он корректно работает с национальным алфавитом, но не поддерживает UTF-8. Однако это мне и не нужно, так как будет система локализации игры.
  • Написал кучу рутинных функций.

04.04.2014
  • Написал основу для консоли.
  • Написал няшный класс для ввода текста с клавиатуры. Поддерживает навигацию по нему, многострочность, а также вставку из буфера обмена. Будет использован в консоли и чате.
  • Обнаружил, что функция string_replace() не была адаптирована в GM 8.1 под UTF-8, спасибо Овермарсу. Из-за этого класс ввода текста не работает с кириллицей и вообще национальными кодировками. Пока думаю над решением.
  • Написал основу для пакетов локализации. Осталось реализовать подключение шрифта национального алфавита.

26.03.2014
  • Окончательно продумал внутреннюю структуру исходника. Нормальных (sic!) программистов прошу не плеваться - это GM, поэтому такое понятие там действительно присутствует.
  • Почти написал инициализационную часть игры.

17.01.2014
  • Написал пробную реализацию видеосистемы для демонстрации (скачать, 1.67 Мб). Можете возрадоваться - мне удалось реализовать первоначальную концепцию с фиксированной дальностью вида, элементы интерфейса теперь не размываются, а масштабированию подвергается только игровое поле (причём масштабирование можно отключить). Единственная ложка дёгтя - поскольку это пробная реализация, то я не особо утруждал себя стилем написания, так что написано всё это крайне хреново и поэтому забаговано. Переписывать буду определённо, эту же демонстрацию выложил исключительно для ознакомления с её возможностями.

16.01.2014
  • Продумал реализацию видеосистемы, начал написание окончательного варианта. Если получится (а я в этом практически полностью уверен), то будет замечательно, в противном же случае буду действовать по плану B (смена разрешений как в D2D:F с изменяемой дальностью вида).
  • Сделал первые наброски исходника самой игры.

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

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 12 Jan 2014, 10:16 
Offline
User avatar

Joined: 04 Nov 2009, 03:52
Posts: 535
Location: Иркутск
Ах вот оно что. Ну тогда понятно, то есть то, во что сейчас можно поиграть это все, на что способен данный ГМ? Печально.

_________________
And when ja ja guy come,
The Babylon them have to run.


Top
 Profile  
 
PostPosted: 12 Jan 2014, 10:50 
Offline
Приколист
User avatar

Joined: 17 Oct 2009, 19:57
Posts: 3630
Location: Киров
А сделайте, чтоб небо не растягивалось на весь экран искажаясь, а чтоб пропорции сохранялись. Например можно длину оставлять неизменной, а высоту обрезать в зависимости от формата.
И будет ли изменён формат карт в 0.65?

_________________
Давай, картечью демонов
Размажем по стене.
Давай, берсерком выпустим
Весь ливер сатане!


Top
 Profile  
 
PostPosted: 12 Jan 2014, 12:42 
Offline
Приколист
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 5886
Location: Владивосток
Revenant wrote:
Ах вот оно что. Ну тогда понятно, то есть то, во что сейчас можно поиграть это все, на что способен данный ГМ? Печально.
Откуда такой вывод? Вовсе нет. Это 0.6 сама по себе криво написана.

ar888 wrote:
А сделайте, чтоб небо не растягивалось на весь экран искажаясь, а чтоб пропорции сохранялись. Например можно длину оставлять неизменной, а высоту обрезать в зависимости от формата.
Зачем? И не понял про зависимость от формата.
Вполне возможно, что вообще будет параллакс-скроллинг.

ar888 wrote:
И будет ли изменён формат карт в 0.65?
Да. По сути 0.65 - это 0.7 на GM.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 12 Jan 2014, 12:57 
Offline
Приколист
User avatar

Joined: 17 Oct 2009, 19:57
Posts: 3630
Location: Киров
Черный Думер wrote:
Зачем? И не понял про зависимость от формата.
Вполне возможно, что вообще будет параллакс-скроллинг.

Я уже 3 раза сталкивался с этой проблемой при создании карт в МП: на TricDM, на Ascent (тут в итоге пришлось заменить небо на фон) и на Castlevania. Именно из-за этого неправильного неба приходится избегать пейзажей с солнцем/луной. Поиграй с на этих картах с HUD'ом и без. Круги превращаются в овалы. В общем это растягивание ужасно.
Черный Думер wrote:
Да. По сути 0.65 - это 0.7 на GM.

Ну конвертер, надеюсь, будет сделан?

_________________
Давай, картечью демонов
Размажем по стене.
Давай, берсерком выпустим
Весь ливер сатане!


Top
 Profile  
 
PostPosted: 12 Jan 2014, 12:57 
Offline
User avatar

Joined: 04 Nov 2009, 03:52
Posts: 535
Location: Иркутск
Черный Думер wrote:
Откуда такой вывод?

Я вообще не знал, спасибо за разъяснения :) А если даже с нуля, то будет это быстрее, чем 0.7?

_________________
And when ja ja guy come,
The Babylon them have to run.


Top
 Profile  
 
PostPosted: 12 Jan 2014, 13:02 
Offline
Приколист
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 5886
Location: Владивосток
Revenant wrote:
Дак это получается совсем все с нуля будет?
Да, с нуля. Да, на GM. Но это будет версия 8.1 (которая куда более оптимизирована по сравнению с 8.0, доказательство - если снять ограничение на FPS, то простой двумерный бенчмарк на 8.0 будет выдавать где-то 300 кадров, а на 8.1 - едва ли не больше 7000). И это будет FaucetNET взамен старого и глючного 39DLL.

Revenant wrote:
А если даже с нуля, то будет это быстрее, чем 0.7?
Да, конечно. 0.7 пишется на Си, а это займёт определённо на порядок больше времени.

ar888 wrote:
Я уже 3 раза сталкивался с этой проблемой при создании карт в МП: на TricDM, на Ascent (тут в итоге пришлось заменить небо на фон) и на Castlevania. Именно из-за этого неправильного неба приходится избегать пейзажей с солнцем/луной. Поиграй с на этих картах с HUD'ом и без. Круги превращаются в овалы. В общем это растягивание ужасно.
А как иначе? Единственный выход - параллакс-скроллинг. Но я не уверен, что он реализуем на GM.

ar888 wrote:
Ну конвертер, надеюсь, будет сделан?
Безусловно. Причём встроенный в редактор.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 12 Jan 2014, 13:35 
Offline
Приколист
User avatar

Joined: 17 Oct 2009, 19:57
Posts: 3630
Location: Киров
Черный Думер wrote:
А как иначе?

Ну вот я и предлагаю масштабировать небо без искажения пропорций, чтоб по горизонтали оно стало равно игровому окну (имеется в виду с HUD'ом или без), а по вертикали всё, что не влезло просто обрезать.
Attachment:
SKY.png
SKY.png [ 725 Bytes | Viewed 9124 times ]

_________________
Давай, картечью демонов
Размажем по стене.
Давай, берсерком выпустим
Весь ливер сатане!


Top
 Profile  
 
PostPosted: 17 Jan 2014, 13:01 
Offline
Приколист
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 5886
Location: Владивосток
Написал пробную демонстрационную версию видеосистемы, скачать можно по ссылке в первом посту. Там же все подробности. Любые отзывы только приветствуются.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 17 Jan 2014, 13:26 
Offline
Приколист
User avatar

Joined: 17 Oct 2009, 19:57
Posts: 3630
Location: Киров
Отлично! Даже меньше можно ставить. Только у меня что-то странное происходит при разрешении 320х200, но играть в таком никто и не станет.

_________________
Давай, картечью демонов
Размажем по стене.
Давай, берсерком выпустим
Весь ливер сатане!


Top
 Profile  
 
PostPosted: 17 Jan 2014, 13:34 
Offline
Приколист
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 5886
Location: Владивосток
Спасибо за отзыв.)
Кстати, меня там больше всего радуют интерполяция и масштабирование.

ar888 wrote:
Только у меня что-то странное происходит при разрешении 320х200
Это потому, что там непропорциональное масштабирование. Я ещё не решил, как сделать - либо пропорционально, либо с маленьким увеличением дальности вида по вертикали. Лично я склоняюсь всё-таки ко второму. Но в любом случае это будет уже в финальной версии видеосистемы, которая в дальнейшем будет встроена в 0.65.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 17 Jan 2014, 15:04 
Offline
Приколист
User avatar

Joined: 01 Jan 2011, 00:39
Posts: 1921
Location: Полигон НТИИМ

Image


Также не вижу разницы в картинке без масштабирования с и без фильтрации. Хоть бы небо мылило. Было бы классно.

_________________
Image DM2002 testing [PPPPPPPPPPPPPPPPPEEPP]
Image Total Destruction - easter grenade.
Пора выбираться из туалета.


Top
 Profile  
 
PostPosted: 17 Jan 2014, 15:07 
Offline
Приколист
User avatar

Joined: 17 Oct 2009, 19:57
Posts: 3630
Location: Киров
GranMinigun wrote:
Также не вижу разницы в картинке без масштабирования с и без фильтрации.

Она вроде бы при 1024х768 и не происходит. Заметна только при отличных разрешениях.

_________________
Давай, картечью демонов
Размажем по стене.
Давай, берсерком выпустим
Весь ливер сатане!


Top
 Profile  
 
PostPosted: 17 Jan 2014, 15:17 
Offline
Приколист
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 5886
Location: Владивосток
GranMinigun wrote:
Ее вообще без масштабирования нет. Не труЪ.
С чего бы это "не труЪ"? Она и должна быть только при масштабировании.
По поводу скриншота - последовательность действий в студию. И да, я предупреждал про баги. Скорее всего, это один из них, который будет починен вместе с остальными при последующем переписывании.

UPD: Зря ты то сообщение стёр.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 17 Jan 2014, 17:15 
Offline
Приколист
User avatar

Joined: 01 Jan 2011, 00:39
Posts: 1921
Location: Полигон НТИИМ
Просто выставил свое родное разрешение (1366*768).
Не труЪ - ибо небо пиксельное. Не красиво.

_________________
Image DM2002 testing [PPPPPPPPPPPPPPPPPEEPP]
Image Total Destruction - easter grenade.
Пора выбираться из туалета.


Top
 Profile  
 
PostPosted: 17 Jan 2014, 17:43 
Offline
Приколист
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 5886
Location: Владивосток
GranMinigun wrote:
Просто выставил свое родное разрешение (1366*768).
Значит вот ты и будешь тестировать окончательный вариант. :3
Надеюсь, ты перед установкой разрешения полноэкранный режим поставил? Потому что иначе у тебя просто по высоте окно не подошло, так как в шинде её максимальное значение равно %высота_разрешения% - 16 пикселей.

GranMinigun wrote:
Не труЪ - ибо небо пиксельное. Не красиво.
Ну во-первых, тут неба как такового нет. Тут вообще ничего нет, а та картинка - обычный скрин. Во-вторых, отключение интерполяции действует на отрисовку как таковую. В-третьих, я ещё попробую сделать опциональное сглаживание неба, однако обещать ничего не могу и не буду.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 17 Jan 2014, 18:00 
Offline
Приколист
User avatar

Joined: 01 Jan 2011, 00:39
Posts: 1921
Location: Полигон НТИИМ
Вот и замечательно :3
Фуллскрин выставил потом. Буду проверять, но чуть позже.

_________________
Image DM2002 testing [PPPPPPPPPPPPPPPPPEEPP]
Image Total Destruction - easter grenade.
Пора выбираться из туалета.


Top
 Profile  
 
PostPosted: 17 Jan 2014, 20:18 
Offline
Site Admin
User avatar

Joined: 17 Oct 2009, 23:43
Posts: 6325
Location: \\NEGRO
На широкоэкранном мониторе пропорции портятся. Лучше поля делать слева и справа.
И (как дезигнер говорю) надо менее яркую и контрастную текстуру на поля. Можно вообще черный фон, можно что-то темно-серое. Можно нижнюю часть HUD попробовать.

В остальном все очень радует.

_________________
И неважно, что нет морей на Марсе, каждый морпех носит море в сердце.


Top
 Profile  
 
PostPosted: 17 Jan 2014, 20:55 
Offline
Приколист
User avatar

Joined: 17 Oct 2009, 19:57
Posts: 3630
Location: Киров
Jabberwock wrote:
На широкоэкранном мониторе пропорции портятся. Лучше поля делать слева и справа.

А там и так поля на широкоформатном мониторе добавляются (по крайней мере у меня). Просто вписываешь разрешение с соотношением 4:3 и делаешь на полный экран.

У меня большие надежды на 0.65. Надеюсь там и триггеры новые (из ДФ) будут, и оружия/предметы новые, и монстры, и режимов много новых, и время раунда отображаться будет, и ограничения на получаемые очки увеличат (тогда за донесение флага можно по 2 очка засчитывать, а за возвращение - одно), и статистика расширенная (сколько убил, сколько смертей, сколько фрагов), и ещё много-много всего.

_________________
Давай, картечью демонов
Размажем по стене.
Давай, берсерком выпустим
Весь ливер сатане!


Top
 Profile  
 
PostPosted: 17 Jan 2014, 23:47 
Offline
Приколист
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 5886
Location: Владивосток
Jabberwock wrote:
На широкоэкранном мониторе пропорции портятся. Лучше поля делать слева и справа.
Ставь разрешение с соотношением сторон 4:3 и радуйся. Я же не зря при компиляции галку "Keep aspect ratio" ставил.

Jabberwock wrote:
И (как дезигнер говорю) надо менее яркую и контрастную текстуру на поля. Можно вообще черный фон, можно что-то темно-серое. Можно нижнюю часть HUD попробовать.
Я эту текстуру выбрал потому, что такая же использовалась в оригинальном Doom. И лично мне всё нравится. Однако попробовать заменить могу, у меня есть несколько текстур на примете. Только вот нижняя часть HUD не пойдёт никак.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 113 posts ]  Go to page 1, 2, 3, 4, 5, 6  Next

All times are UTC + 3 hours


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
doom2d.org, since 2007