Присяга Коленко-девелопера

Вступая в ряды разработчиков игр «На Коленке», я намереваюсь: (абсолютно рекомендовано)

  1. Не встраивать в свои игры механизмы DRM, ибо DRM — зло!
  2. Не встраивать в свои игры рекламу чего бы то ни было из т. н. «реального мира». Использование торговых марок для юмора и пародий не считается рекламой, а если требуется толстый намёк на реально существующий бренд, использовать операционную систему Mindows.
  3. Не передавать свои игры для встраивания в них ни того, ни другого.
  4. Делать игру с разумными системными требованиями. Обычно это означает отказ от тяжёлых фреймворков.
  5. Встраивать в игры душу.
  6. Делать игру такой, чтобы она работала без доступа в Интернет или тем более какую-то частную локальную сеть. Если игра имеет смысл только в сети — написать хотя бы простейшего бота (компьютерного противника) на случай когда сети перманентно нет.
    6.1. Делать сетевую игру так, чтобы она работала как в изолированной от интернета локальной сети, так и в Интернете.
  7. Делать игру. Интерактивный фильм это не игра, потому что выбор ветки повествования не даёт игровой свободы.
    7.1. Всё, что неинтерактивно (кроме загрузки), должно легко пропускаться.
  8. И всё такое.

Политика Коленко-разработки:

Удобство машины (настоятельные рекомендации)

  1. Игровая десктопная ОС это де факто Windows. Не Linux, не Mac OS, и не что-то ещё другое. Только Винда.
  2. Охватывать необходимо от Windows 7 до Windows 10. XP тоже можно.
  3. DirectInput + XInput.
  4. Конфигурационные файлы должны записываться туда, куда у игры точно есть доступ.
  5. Давать игре право на вылет. Спрашивать себя: что будет, если игра вылетит в этой точке?

Удобство человека (рекомендации)

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

  2. Давать одиночному игроку паузу, выход, сохранение и загрузку. Последние два — если игра достаточно длинна.

  3. Alt+Tab, переключающий программы, не должен портить в игре ничего.
  4. Уважать современные технологии. Масштабироваться под любое разрешение, даже 4K (нештатные разрешения ЖК выглядят плохо). Если джойстик внезапно отключился — ставить одиночную игру на паузу и «подхватывать» джойстик, как только его подключат снова (подразумевается, что разъединился разъём безопасности Xbox). По какому-нибудь ключу запускать игру в окне (многие утилиты стриминга по-другому не захватывают изображение).

  5. Если пишутся большие (насколько большие и/или часто?) временные файлы во время работы, предоставить возможность их перенаправить, чтобы не истощать ресурс SSD.
45 комментариев
DarkDes

Думаю нужно было бы уже оформить «правила индюка» или что я там в конфе постоянно орал.

 

Не встраивать в свои игры рекламу чего бы то ни было из т. н. «реального мира».

Непонятно. Про какую это рекламу? А если будет реклама Коленки в игре? А если это будет реклама реальной (или не очень) зубной пасты?

Вкладывать в игры душу.

ДУШИ БОЛЕЕ НЕ НУЖНЫ! АТВИЧАЮ!

buntarsky
А средства аналитики встраивать можно?

А если реклама будет Сникерса или шампуня Проктер-Энд-Гэмбл? Якубович не одобряет.

А перед тем как вкладывать душу кровью расписываться надо?

Очень неоднозначный список.
Xitilon

Про аналитику непонятно, что именно она означает и что из неё следует. Подробней, и тогда я определю.

Да, реклама Сникерсов и прочего это в первую очередь зло. Кровью не. Чуть дополнил список.

buntarsky
Ну раз за сникерсы не уплачено, и выступают они как юмористический/пародийный элемент, то это же можно признать добросовестным использованием «рекламы»?
Xitilon
В таком случае это не реклама, а юмор, но если я начну прописывать эти критерии со всеми исключениями и надстройками, это превратится в юридическую статью.
buntarsky
А без этих исключений получается закон, который никто не будет соблюдать.
AnnTenna
Я и так как ни зайду, статья всё разростается и разростается, глядишь как-нибудь зайду и упаду с кресла))
Xitilon
Я хотел бы сделать её как можно проще, но…
AnnTenna
А что такое ДРМ? 
Xitilon
Это ЗЛО! Проверка легальности цифровой копии. Типа СтарФорса, если помнишь.
DarkDes

Ну вот в Стиме есть какая-то около-ДРМ. При этом, возможно, встроенная прямо в ГМС-билды. Т.к. подключив СтимАПИ я не мог запускать Трезвость вне стима вообще.

Зло ли это? СтарФорс не застал, но слышал какая это дичь. Вот такого действительно не надо. А вот Стим, как стандарт — чего бы и нет. Другое дело ограниченные установки. ДО СИХ ПОР НЕ ОТОШЁЛ ОТ ДЕД_СПЕЙС_2.

buntarsky
На моей памяти стимовский дрм — самый незаметный и ненавязчивый. Игры, которые не используют встроенные стимосервисы, могут быть свободно скопированы. Те же, что используют, привязаны к клиенту, но хотя бы могут быть запущены в оффлайн-режиме (если разработчик этому явно не помешает). Больше похоже на «зависимость», нежели на DRM. Но все-таки Вальв, если бы хотели, могли бы сделать интеграцию более свободной («пиратские» steam_api.dll как бы намекают). Видимо побоялись, что жадные издатели не оценят такую свободу игроков и не пойдут на эту площадку. В итоге, самые жадные и так не пошли, а городят свои уплэи и ориджины. А то, что представлено ими на Стим еще и сверху обложено самодельными агрессивными DRM'ами.
Xitilon

Т.к. подключив СтимАПИ я не мог запускать Трезвость вне стима вообще.

Первый раз о таком слышу. Мы свободно запускаем ConE2 что в Стиме, что без, причём копия запущенная не из Стима, заливает на него ачивки, если сам клиент Стима сейчас работает (был запущен отдельно). Так что ты сам что-то включил необязательное, видимо. Но что значит не запускается? Что пишет? (прямо как вопросы типичному ламеру, не в обиду будь сказано — интересно же, почему б сразу не сказать это)

По ДРМ пункт преследует только одну цель — именно «купил и скопировал другу — заработало». Но миллион друзей пожалуй что не считается. Больше, скажем, 1000 друзей, это просто враньё. Но вообще надо использовать другой термин, ну типа Свободный Знакомый. (ох лол)

DarkDes

Ну оно не запускается и всё, лол. Похоже ГМС внутри использует ту же «защиту», что и я придумал. Что забавно — запускаешь из самой IDE — нормально всё. Пытаешься запустить из любого другого места (через ЕХЕ) — вываливает на стартовую страницу стима. И всё. Не запускает игру.

У вас-то Кони через какую-то левую ДЛЛ всё равно работают. В смысле это не в самом ГМ прописано. А в Трезвости в самом ГМС. Чего там включать\выключать? Там собственно одна только галка «включить стим-чё-то-там» без которой собственно и ачивок не будет и оверлейя.

Но ведь ДРМ это о двух концах. Не, я согласен с такой политикой мол «ну другу скопировал, чё вы». Может друг думает купить игру, но не уверен. Или вот как я был рад, что СистемШок2 без ДРМ по сути. Т.е. я могу скинуть другу папку с игрой и вместе можем поиграть в кооп. Ему может такие игры вообще не нравятся, поиграем и он удалит! (ага, сам-то веришь, что кто-то будет с тобой играть!)

Но вот когда твои 100500 друзей… погоди… поднять паруса! Йо-хо-хо!11

Не, это понятно, что «ну ща начнёт телегу про пиратство и как его обкрадывают». Короче это, ну такое. Ноунейм индюшка никому не нужна — пиратсва думаю и нет.
Т.е. да, быть ДРМ-фрии это нормально думаю. Но зачем тогда покупать игру, если её можно скачать бесплатно? Может в сказочной стране лояльных к инди найдутся те, кто после пиратской копии (и если игра понравится) сделает подарок автору и купит игру в знак признания. А МОЖЕТ БЫТЬ И НЕТ, АЗАЗАЗА

Raseri

Я почти всё уже купил, во что раньше без стима играл.
Кроме самого отстоя или того, чего в стиме попросту нет.

Удобненько же.

DarkDes

Ну почти аналогично! В смысле совсем не так, но да — Стим это то, что меня в принципе приручило к лицензии как таковой. Раньше мне было пофигу откуда диск или игра.

Но «запах» лицензий или чего-то близкого к ним я почувствовал только с покупкой диска «Worms»(какие точно — не помню, но они были в 3Д). Правда это был не Стим тогда.

Лицензии стал покупать в цифре от того, что это НУ КАПЕЦ как удобно. Намного быстрее всяких торрентов и искать нужные раздачи и всякое такое. И обновления есть.

К чему это я?

А, ну к тому, что не столь старые игры, которые я пиратил, я всё же потом покупал. Не все правда. По скидке правда. Дарксайдерсы, например. Или Биошоки. DmC тоже вот. Короче я бы скупил все игры, в которые играл когда-то. Просто чтобы были. Где-то там. В облаках.

Xitilon

Больше, скажем, 1000 друзей, это просто враньё. Но вообще надо использовать другой термин, ну типа Свободный Знакомый. (ох лол)

Но вообще всё сложно, да… И да, DLL писал YellowAfterlife, тут ты прав.

Я правда так и не понял — при чём тут главная страница Стима? Хочешь сказать, EXE запускает клиент? А если запустить EXE там где его нет?

DarkDes

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

Короче суть в том, что в ГМС там что-то прямо внутри очень сильно прописано.

buntarsky
Диссоциативное Расстройство Меркантильности — очень частое психическое расстройство внутренней жабы, встречающееся у разработчиков игр, сопровождаемое сильными приступами паранойи. В восприятии больного его игра, будучи установленной на несколько устройств, как бы расщепляется на разные игры, за которые, по его мнению, должно быть заплачено отдельно. При этом больной становится одержим навязчивой идеей, что все его обворовывают. В большинстве случаев, это сопровождается визуальными галлюцинациями: больному мерещатся некие «пираты». Когда болезнь достигает критической стадии пациент начинает оберегать «свою прелесть» с таким усердием, что поиграть в нее становится затруднительно даже тем, кто честно за все заплатил.
AnnTenna
Ооо, всё доходчиво красочно объяснил!!! Хорошо, что эта гадкая болезнь всё больше уходит в прошлое… это ж надо ж было вспомнить)) 
Mercury
2. Встраивать рекламу только как элемент антуража: например, любая гоночная машина — это пачка сигарет на колёсах, а современный мегаполис без рекламы представить трудно. Но не как рекламу.

5. Делать одиночную игру так, чтобы она не требовала интернета. Делать сетевую игру так, чтобы она работала как в изолированной от интернета локальной сети, так и в интернете.

7. Делать игру, а не интерактивный фильм. Игрок должен действовать, принимать решения и т.д. Всё, что неинтерактивно (кроме загрузки), должно легко пропускаться.

8. Уважать современные технологии. Масштабироваться под любое разрешение, даже 4K (нештатные разрешения ЖК выглядят плохо). Уважать Alt+Tab. Если есть газ/тормоз, наводка/выстрел и другие подобные «оси-подруги» — поддерживать XInput. Если джойстик внезапно отключился — ставить одиночную игру на паузу и «подхватывать» джойстик, как только его подключат снова (подразумевается, что разъединился разъём безопасности Xbox). Писать конфигурационные файлы в каталоги, которые на современных ОС гарантированно открыты. Не писать временные файлы без нужды, это тратит ресурс SSD. По какому-нибудь ключу запускать игру в окне (многие утилиты стриминга по-другому не захватывают изображение).

9. Но и уважать устаревающие технологии. Microsoft настолько коряво поступает с Win10, что Win7 не скоро сдаст позиции. Поддерживать DirectInput. Делать игру с разумными системными требованиями.

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

11. Давать одиночному игроку паузу, выход, сохранение и загрузку. Последние два — если игра достаточно длинна.

12. Давать игре право на вылет. Спрашивать себя: что будет, если игра вылетит в этой точке?

pevzi
Независимые разработчики такие независимые.
Mercury
Мы независимы от издателя. Но не от здравого смысла.
razzle_dazzle

Мы независимы от издателя. И немножко от здравого смысла.

Xitilon

Резонно.

Вообще это очень всё по делу, но я буду обрабатывать это постепенно. Тут надо грамотно составлять и много думать.

В идеале бы сделать вообще разделы конкретно:

Железо

Софт

Интерактив

Raseri

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

Или помехи и всё такое серое.

DarkDes

должны быть девушкомонстры, котики или пенисы.

Да тут чутка попахивает Чужим! Там правда не девушкамонстр. Но чего только Гигер стоит с его «мотивами».

 

Mercury
Но XInput — современная технология (даже новый руль Logitech работет на XInput), DirectInput — устаревающая…
Mercury

Если есть газ/тормоз, наводка/выстрел и другие подобные «оси-подруги» — поддерживать XInput.

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

Xitilon
Что здесь есть «крючки»? Я не врубился…
Mercury
Спусковые крючки игрового пульта, LT и RT. Две нецентрирующихся оси в режиме XInput и одна центрирующаяся — в режиме DirectInput.
Xitilon
А, «шифты». Интересные детали. Я думал, это в новых джойстиках есть режим эмуляции DirectInput, а не Винда что-то там делает.
Mercury

В отдельных (не-M$) есть. Видимо, Logitech и Speedlink делали джойстики на сходной логике — и даже со сходными механическими и логическими ошибками :)

В Thrustmaster и Micro$oft нет. Только XInput, который на уровне драйвера транслируется в DirectInput — вот с такими потерями.

Xitilon

Это странно. Ну, проблему понял.

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

Mercury
Допустим, Undertale поддерживает DirectInput и ей этого хватает за глаза. Крестовина и три кнопки.
Mercury

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

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

Xitilon
Вот это да, это понятно.
Mercury

Можно написать просто:

1. Не делать игру с самого начала технически устаревшей. Поддерживать Windows 10, большие мониторы, SSD, оконные режимы, XInput-джойстики и прочее.

2. Но и уважать устаревающие технологии: Windows 7, DirectInput-джойстики.

Xitilon

Где же Бунтарский Где же «А Линукс?!»?..

Mercury
Или. Делать всё возможное, чтобы игра запускалась на Windows 10, показывала на больших мониторах, переключалась в оконный режим (нужно утилитам стриминга, да и на большом мониторе, если что, можно хоть так поиграть), не расходовала ресурс SSD, управлялась на XInput-джойстике и так далее.
buntarsky
Игровая десктопная ОС это де факто Windows.
Я бы даже сказал: “Игрушечная ОС”.
Xitilon
Ничего личного, просто таковы исторические реалии. В идеале хотелось бы чтоб билд сразу раз — и работал под всё. Но абстрагированности технологий на это не хватает пока. Unity, Contstruct и GameMaker — лучшие варианты в этом пока, но бывают узкие места и проблемы в не-Виндовых билдах.
buntarsky
Мой вклад в общее дело. Рубрику только поправь, пожалуйста.
Xitilon
А как оно там оказалось? И, Коленка тебе не позволяет поменять рубрику после создания?
buntarsky
А как оно там оказалось?
Каюсь. Бес попутал.
И, Коленка тебе не позволяет поменять рубрику после создания?
Я просто не знаю в какую рубрику будет уместно.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.