Растровый фонт для рогуелайка (и не только)
Модераторы: Sanja, Максим Кич
-
- Сообщения: 9
- Зарегистрирован: 12 июл 2007, 20:08
Растровый фонт для рогуелайка (и не только)
Рано или поздно мы все столкнёмся с отсутствием режима дос-графики (или как его зовут), что приведёт к потребности растрового (без дополнельных либ векторный вручную жесть(я так делал) ) фонта.
Самый простой способ сделать - написать (на tp) программу выводящую в 16на16 (можно и 256х1 или 1х256) все смволы, а затем в окне проставить необходимый шрифт и print-screen, а затем paint-brush это. По-желанию изменить некоторыесимволы(на монстру кпримеру). И будет однобитный растр рогуелайка нашей мечты.
Самый простой способ сделать - написать (на tp) программу выводящую в 16на16 (можно и 256х1 или 1х256) все смволы, а затем в окне проставить необходимый шрифт и print-screen, а затем paint-brush это. По-желанию изменить некоторыесимволы(на монстру кпримеру). И будет однобитный растр рогуелайка нашей мечты.
- Максим Кич
- Администратор
- Сообщения: 1642
- Зарегистрирован: 03 дек 2006, 20:17
- Откуда: Витебск, Беларусь
- Контактная информация:
Столкнулся. Решил проблему при помощи Фотошопа и такой-то матери в течении получаса. Главное шрифт брать моноширинный, поскольку любой другой всё равно будет смотреться паршиво. А дальше мы просто набиваем строку за строкой в соответствии с таблицей ASCII. И ещё останется почти сотня символов, которые можно использовать на своё усмотрение. В конце, скорее всего, придётся обработать результат напильником, поскольку сходу подобрать кегль шрифта в соответствии размерам тайла будет проблематично.
Dump the screen? [y/n]
- Максим Кич
- Администратор
- Сообщения: 1642
- Зарегистрирован: 03 дек 2006, 20:17
- Откуда: Витебск, Беларусь
- Контактная информация:
Э, батенька, любой шрифт не может быть моноширинным. Вообще, моноширинный шрифт с точки зрения типографики — неполовое извращение вызванное к жизни техническими особенностями пишущих машинок. То, что программа отбрасывает информацию о кернинге, это ни разу не есть хорошо: на выходе мы обречены получать разномастных уродцев. У меня есть подобный опыт. Игровое поле будет отображаться нормально, а вот надписи — не факт.Sanja писал(а):Прога делает _любой_ шрифт моноширинным. Подгоняет размеры шрифта. Короче наш выбор. То что получится после можно и фотошопом обработать.
Грамотно переработать шрифт, чтобы он стал моноширинным может только опытный художник по шрифтам. Поэтому я бы порекомендовал остановиться на шрифтах, моноширинных от рождения.
Dump the screen? [y/n]
- Sanja
- Администратор
- Сообщения: 791
- Зарегистрирован: 24 ноя 2006, 12:25
- Откуда: Новосибирск
- Контактная информация:
Да, так и есть, если использовать один и тот же шрифт и для надписей, и для игрового поля. Пробовал уже. Ужас. Я о том, что в принципе можно приспособить любой понравившийся шрифт для использования на игровом поле, без дурацкой подгонки по пикселям (if ch in ['g','q','j'] then dec(y, 3); ) - вот без этой фигни. Это отрывок из моего опыта "боёв с буквами" =)
- Максим Кич
- Администратор
- Сообщения: 1642
- Зарегистрирован: 03 дек 2006, 20:17
- Откуда: Витебск, Беларусь
- Контактная информация:
На игровом поле — пожалуйста, а подгонка по пикселям, как ты выразился, выглядит ещё веселее. Есть так называемые кернинговые пары. Т.е. определённые буквы, особенно сочетание заглавных и строчных, имеют своё взаимное расстояние. Так, между двумя буквами «о» расстояние будет стандартным, а скажем для пары «Г» и «о», «о» загоняется под «Г» (отрицательный кернинг). И во всех человеческих шрифтах существуют специальные таблицы, которые определяют такие вот ситуации. В принципе, их можно оттуда выдрать, но овчинка не стоит выделки.Sanja писал(а):Да, так и есть, если использовать один и тот же шрифт и для надписей, и для игрового поля. Пробовал уже. Ужас. Я о том, что в принципе можно приспособить любой понравившийся шрифт для использования на игровом поле, без дурацкой подгонки по пикселям (if ch in ['g','q','j'] then dec(y, 3); ) - вот без этой фигни. Это отрывок из моего опыта "боёв с буквами" =)
Dump the screen? [y/n]
Есть такая реинкарнация QBasic'a -- FreeBasic. Не будем устраивать холивары, -- скорость и качество компиляции на современном уровне, кроссплатформенность, все дела. Так вот, FB, полностью поддерживая QB, может создавать граф. экран любых размеров, и с ним можно работать, используя любые команды старого QB, в том числе Print. Фонт используется свой, автоматически вшитый в программу, полностью повторяющий старый ПЗУшный. Можно использовать свои фонты (хоть и не моноширинные) и выводить по любым координатам.
Блин, был же даже какой-то рогалик на FB, как раз с использованием псевдотекстового режима... и с исходниками. Но я ссылку забыл.
То есть я к чему... Есть режим "дос графики", есть. Но не у всех.
Блин, был же даже какой-то рогалик на FB, как раз с использованием псевдотекстового режима... и с исходниками. Но я ссылку забыл.
То есть я к чему... Есть режим "дос графики", есть. Но не у всех.
Re: Растровый фонт для рогуелайка (и не только)
Простите, я не совсем понял.roguE-Sadist писал(а):Рано или поздно мы все столкнёмся с отсутствием режима дос-графики (или как его зовут)
Имеется в виду, что однажды возможность создать консоль и работать с ней исчезнут из систем windows семейства?
Мне это представляется весьма маловероятным.
Или имеется в виду что-то более высокое и тонкое?
летит ужасный бармаглот и пылкает огнём.
- Максим Кич
- Администратор
- Сообщения: 1642
- Зарегистрирован: 03 дек 2006, 20:17
- Откуда: Витебск, Беларусь
- Контактная информация:
Ну, я, допустим, пишу свой вариант консоли, потому что консоль в тру-колор — это нонсенс и никто кроме меня её для меня писать не станет. Опять же, свой набор символов. Под ДОСом я когда-то умел перерисовывать ASCII символы, а вот с виндами — увы. Но и необходимости такой не возникало.darhark писал(а):Никто не посмеет отнять у человечества консоль.
Dump the screen? [y/n]
Конечно никто не посмеет ))darhark писал(а):Никто не посмеет отнять у человечества консоль.
Это уже не просто "вариант консоли", а целый "Enchanted ASCII 2D Engine" )Максим Кич писал(а):Ну, я, допустим, пишу свой вариант консоли, потому что консоль в тру-колор — это нонсенс и никто кроме меня её для меня писать не станет. Опять же, свой набор символов. Под ДОСом я когда-то умел перерисовывать ASCII символы, а вот с виндами — увы. Но и необходимости такой не возникало.
летит ужасный бармаглот и пылкает огнём.
Всё это уже есть, и отлично работает. Я писал об этом. Если не хочется переходить на нетрушный Бейсик, возьми из него граф. либу, там открытые исходники. Вроде бы на Си.Максим Кич писал(а):Ну, я, допустим, пишу свой вариант консоли, потому что консоль в тру-колор — это нонсенс и никто кроме меня её для меня писать не станет. Опять же, свой набор символов. Под ДОСом я когда-то умел перерисовывать ASCII символы, а вот с виндами — увы. Но и необходимости такой не возникало.
- Максим Кич
- Администратор
- Сообщения: 1642
- Зарегистрирован: 03 дек 2006, 20:17
- Откуда: Витебск, Беларусь
- Контактная информация:
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 31 гость