[Взертос] Синтаксис Int-Mod-а

Цех имени DarkDes'а

История

На самом деле, первые рабочие прототипы писал я на Си++ несколько лет назад. Они не были предназначены для редактирования пользователем (только лишь в каких-то конкретных проектах). Хотя никакой «защиты» или «шифрования» не было, а значит в теории, если пользователь знал что к чему, то он смог бы отредактировать интерфейс так, как ему удобно.
В своей оригинальной пост-конкурсной задумке Взертос должен был подключать DLL от части «движка» и загружать те самые интерфейсы, которые придуманы были какое-то время назад. И скажу я лишь то, что файл интерфейса больше походил на мутанта-CSS.
Конечно в конечном итоге я отказался от идеи с DLL, а вот сейчас пишу этот текст и понимаю насколько всё было бы сложнее так реализовать.

Как работает сейчас

От сложного к простому. Не стал я нести за собой CSS-like синтаксис и ограничился ключевым словом-именем и строкой параметров с неопределённой длинной (но с минимально необходимой).
Таким образом описание элемента состоит из двух обязательных строк, вот пример:
#medita-bar
CENTER BOTTOM 34 -24 -1 -1 0 "vz1/medita-bar.png" null 0 0 BAR MAX_RIGHT

Синтаксис и описание

Этот ресурс-статья (это статья? не помню как делать статью на самом деле) предназначен для того, чтобы открыть людям хоть часть синитаксиса этого «очень крутого» скрипта-файла.
Возможно, что эта фича кроме меня никому и не нужна, но думаю её наличие как минимум делает игру реально с фичей. Я не могу припомнить игры, которые это бы позволяли без явных модов. Вполне возможно, что игры на idTech (а следовательно на goldSource и может быть Source) могут такое.
И так. Описание одного элемента является таким:
<ключевое имя>
<выравнивание по X> <выравнивание по Y> <смещение по X> <смещение по Y> <размер по X> <размер по Y> <угол поворота> <путь к файлу> <текст> <точка пивота X> <точка пивота Y> <класс> <параметр класса>

  • ключевое имя — его значение очень важно для игры и обязательно должен начинаться с символа "#"
  • выравнивание по X — без учёта ширины элемента т.е. по сути устанавливает где будет точка отсчёта по Х, может иметь значение LEFT, CENTER или RIGHT.
  • выравнивание по Y — без учёта высоты элемента, аналогично как и выше, но имеет значение TOP, CENTER или BOTTOM.
  • смещение по X\Y — тут всё просто, по сути offset относительно выравнивания. (Не финальная позиция на экране!)
  • Размер по X\Y — определяет размер в пикселях, если задано изображение, то оно будет растянуто. Может иметь значение -1 и тогда размер будет подогнан под размер указанного изображения.
  • угол поворота — это думаю понятно. Стоит отметить, что на данный момент нельзя повернуть текст и некоторые другие элементы, но изображения 100% поворачиваются.
  • путь к файлу — это есть путь к файлу изображения относительно текущего файла описания. Может быть либо null, либо обязательно в кавычках содержать путь к изображению, которое будет присвоено этому элементу. Так же после пути (но всё ещё в кавычках) можно указать кол-во кадров анимации (какие-то элементы это могут требовать) через спец символ "?", после которого будет число кадров.
  • текст — очевидно. Может быть null, если он не нужен. Или же пустая строка. Тоже обязательно быть в кавычках. Важно отметить, что для определённых элементов текст хоть и меняется «процедурно», но важно его содержание на этапе «компиляции», например, для показателей жизни, кол-ва бутылок с ХП или других аналогичных параметров наличие в тексте символа "/" даёт текст вида «кол-во текущее / кол-во максимальное».
  • точка пивота X\Y — в первую очередь нужна для вращения. Т.е. устанавливается некоторая точка (offset относительно 0 элемента) сдвига, на данный момент имеет мало смысла.
  • класс — определение класса, а следовательно и поведения элемента. На данный момент работают: BAR, ICON, SKILLPOOL+GROWSEL, SKILLPOOL+FIXSEL, SURFACE, TIPROUND.
  • параметры класса — значения необходимые для конкретного класса, таким пока является лишь BAR.
Обязательными являются параметры до текста включительно, начиная с пивот-пойнта не обязательны.

Пример:
#backpack-button
CENTER BOTTOM -248 -60 -1 -1 0 "vz1/backpack-button.png?3" null 0 0

#health-potion-count
CENTER BOTTOM -61 -60 11 10 0 null "X"

#medita-potion-count
CENTER BOTTOM 49 -60 11 10 0 null "X/MX"

#weapon-ammo
CENTER BOTTOM -213 -18 -1 -1 0 "vz1/stamina-bar.png" "X/MX" 0 0 BAR MIN_CENTER_X
 

Организация файлов

 
На данный момент имеется лишь один новый интерфейс на данной системе. В планах (в релизе) думаю будет пять таких. Все будут разными, а один даже очень спорный.
Вот новый вид интерфейса.
В данном интерфейсе практически каждый элемент хранится отдельно (изображение в смысле), что позволит легко делать «форки». Конечно можно сделать «монолитный» интерфейс т.е. сохранить свой «задний фона интерфейса» отдельным изображением и как следствие отдельным единственным элементом, накидав лишь интерактивные вроде полоски здоровья, кол-ва патронов и т.п.
Структура или организация файлов для интерфейса очень простая:
Возле ехе с игрой есть папка interfaces внутри которой либо будут файлы типа ZIP с именами интерфейса, либо просто папки, которые опять же будут обозначать имя интерфейса. Все файлы изображений и обязательный главный файл интерфейса interface.ilf будет хранится именно там.
Таким образом «расшаривание» интерфейсов должно быть очень простым и удобным — скачали ZIP и положили в ту самую папку.

Что дальше?

Так же в будущем, при работе над новыми интерфейсами функции добавятся, а то и изменяться.
 
Придёт он. И Гром услышан будет. Собирать свет, что в глазах. И очи его возгорятся пламенем зелёным. Да пар лишь останется.
Источник: http://xgm.guru/p/vzertos/vz1-interface-layout
переходов: 161

Похожие статьи

158 комментариев
Xitilon

#medita-bar

Чо такое «medita»?

Ну, как я уже и говорил, это мне напоминает синтаксис из .DEF-файлов Дюка Ньюкема 3Д, там похожим образом группировалось, правда касалось не интерфейса, а звуков-надписей и всякого другого. Текстур и кадров анимаций.

В общем-то это всё даже по-своему круто, но возникает вопрос:

Таким образом «расшаривание» интерфейсов должно быть очень простым и удобным — скачали ZIP и положили в ту самую папку.

А сколько раз по факту такое будет кто-то пытаться провернуть, и кто именно?

DarkDes

Чо такое «medita»?

Это я решил так «быть не как все». Короче говоря на языке этой планеты Медита — это что-то вроде маны, но при этом полным аналогом маны не является (а где-то есть 100% точное _и не зависящее от конкретного произведения_ определение маны и её возможностей? ). Если расписывать всё про эту медиту, то это будут спойлеры на самом деле, хоть и никому толком этот Взертос (и 100500 проектов, который были до него по таймлайну и которые будут дальше, но планировались раньше) не сдался, но не позволительно так сливать это всё сейчас

Да, было дело — помню Дюка ты вспоминал.

А сколько раз по факту такое будет кто-то пытаться провернуть, и кто именно?

Честно говоря — 0 людей и 12 рептилойдов. Рептилойды исключительно по невнимательности.
Эта штука интересна пока только мне — опыты на людях (tm) показывают, что это более чем никому не надо. Что печально. А потом будет какая-то игра от очередных noname и тпа она будет «ИНДЯ» и там будет аналогичная фича и сразу хайп-то поднимется, ухх!

Ну я на самом деле попробую раза два наверно — если хотя бы эти 2 раза кто-то сделает интерфейс.

Вот тут на самом деле функции Steam Workshop бы пригодились. Там есть два варианта насколько я знаю — вот с одобрением Велвов (или разрабов игры) и «большое хранилище пользовательских модов», вот во вторую категорию это всё попадает. Тогда добавление новых интерфейсов (а может и переводов вообще-то) было бы настолько простым, что буквально одним кликом мыши бы делалось.

Xitilon

Да, но зачем в принципе добавлять новые интерфейсы, ведь по сути в игре от них ничего не меняется?

Но вообще плюс за креативность, это прикольно.

DarkDes
Да, в этом суть. Вернее в её отсутствии.
Не знаю, возможно, что есть люди и даже название у них есть, но это что-то внутренее так сказать. Вот игра _может быть_ понравится человеку, но интерфейс не тот — сделай свой и радуйся!*

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

Вообще, что касается интерфейса и его стиля… я на вин10 тупо по этой причине пришёл. Мне в принципе не нравился визуальной Вин7 и Виста. ВинХР и 98-ой форева!
А тут пришёл наконец минимализм (а требования больше, лол) и короче.

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

* — в рамках, которые «двыжок движка» позволяет.
Xitilon

А тут пришёл наконец минимализм (а требования больше, лол)

Да нет, 1ГГц, 1ГБ и видео с WDDM — это требования общие для Вин 7, 8 и 10.

Главное чтобы человеку вообще пришло в голову что интерфейс можно поменять — вот как ты ему эту инфу собираешься подать? И второй вопрос — зачем? Сейчас культура геймерства так низка, что игру просто бросают без второго слова, если что-то не нравится. Не спорю, КТО-ТО может быть этим и воспользуется. Ну это будет твой фанат уже.

А термин «медита», кстати, хорош, мне нравится. Забыл сказать там.

DarkDes

требования общие для Вин 7, 8 и 10.

Вот именно что. Вот я юзер обыкновенный. Вижу, что вин7 со своими «красивостями» должен занимать больше ресурсов. А теперь смотрю на Вин10, где только «плит-плитки-плитки и один цвет» — и сразу у меня в голове «должен жрать меньше ресурсов» и что? Оно непомерно тормозит на нетбуке. И на виртуалке. На виртуалке даже Вин7 не тормозила так сильно (хотя вот графобаги появились). Но это к графике претензии — что видет юзер\я. Говорят и ненужных процессов фоновых в вин10 больше.
Короче вот было время Вин98 или ХР. Вот это было время! Сейчас же мне надо нагуглить всё, что не не надо и поотрубать всё и при этом настройки слетают, лол.
Всё равно не понимаю как ты там сидишь с 1ГГц(?)-1Гб. Винда7 сама по себе вроде требовала _для нормальной работы_ 2Гб. Или ты поди игры не делаешь! В интернете сидишь только!

А да, игроки такие. И не говорю, что мол «у меня есть убер фича — у других нет! Так что вы точно купите игру эту!». Просто это можно сказать бонус. Самое забавно, но действительно всё решает фанбаза и её аналог. Иначе как объяснить, что «скин интерфейса» продаётся за деньги в той же Доте2. Просто скин — не новый layout, а картинка по сути. Но смысла нет это сравнивать — она же мировая «популярная игра», вот недавно чемпионат был — победителям 9кк$ (Девять мильёнов) на 5х человеков (+ там скорее спонсоры всё захапают, не знаю как это работает на самом деле).


А да, метида прикольное слово. При этом, возможно, никак не переводимое и несклоняемое. Хотя я склонял вообще-то. А в будущем будут «медиты», ой а с чем это созвучно? Наниты! Как и Карбониты, Матлиты и Херпоймичтониты x2.
А знаешь, чем ещё это слово очень крутое? Кол-во символов равно кол-ву символов в слове «health» т.е. это просто рай для кода вида:
health_points
medita_points

(На ещё одного якуба нехватило символов)
Xitilon

На Game Maker 8.1 вполне хватает. Так-то даже на Студию хватает, просто уже немного подтормаживает. Ну и да, тут ЧАТЫРЕ ядра по 1.4GHz. А вот оперативки и правда не хватает.

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

А да, метида прикольное слово.

Сам уже запутался в словах, метида-медита, ну ты старик.

Матлиты это вообще чо? (про Херпоймичтониты не спрашиваю, тут всё очевидно!!!)

Кол-во символов равно кол-ву символов в слове «health» т.е. это просто рай для кода вида:

И правда. Но если хочешь равное, то можно с тем же успехом можно сконвертить health в life.

DarkDes

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

Сам уже запутался в словах, метида-медита, ну ты старик.

Да с вашими Конями состарился! С ком поведёшься от того и наберёшься — вот и старости от тебя научился!

 

И правда. Но если хочешь равное, то можно с тем же успехом можно сконвертить health в life

НИКАНОН!!1 health и medita — вот это круто! А знаешь что ещё круто? В середине разработки придумать это слово и в одной части у тебя «mana», в другой «power», а есть и просто «thunder» Ну и medita конечно-то же теперь!

Xitilon

альтер-я, которое вообще-то ненавидит их, но просто скрывает, что обожает!

… Ты меня запутал. Вообще-то ненавидит, но скрывает, что обожает, но вообще ненавидит?!

И_грянул_гром,_проснулся_Тор.mp4

DarkDes

Лол.
Тор слишком модный и молодёжный!
Старики выбирают Взертоса!



Он ненавидит мои игры. Вернее так говорит. Но на самом деле он просто фанат номер1 !

buntarsky
Мне так показалось, после непродолжительного использования, перед тем как навсегда снести и забыть, что Десятка — это Семерка, но только с парой новых ущербных мастеров настройки (за имением старой панели управления эталонно ненужных); инновационным (уже который год) унылоплиточным интерфейсом; принудительным и обязательно неуместным обновлением, как и прежде блокирующим компьютер на несколько десятков минут; отсутствием драйверов чуть ли не на усб-мышку; удесятеренным зондированием, безжалостно расходующим сетевой трафик; и, вишенка на торте, уникальной возможностью уйти в сон, из которого можно и не проснуться.
DarkDes

Да, много раз видел, когда ещё только начали давать скачивать Вин10, что мол Щпионит(!). Какие-то там тайны и интриги. Интересно как этот трафик проверялся. А ещё забавнее (играю параноика) — говорите на Вин7 такого не было? А кто вам сказал, что Винда сама не может скрывать информацию о таком?
Так же не совсем понимаю от чего всем так не нравится плиточный интерфейс. Если это все про такой «пуск для планшетов», то да — толку в таком мало. Но таким не пользуюсь — мне достаточно того, что элементы красятся максимум в 2-3 цвета. Ещё бы стандартные иконки были в таком же стиле (или хотя бы дали их сменить) — было бы ещё круче.

А вообще не устану повторять, что ХР форева!

buntarsky
Интересно как этот трафик проверялся.
github.com/crazy-max/WindowsSpyBlocker#how-
… говорите на Вин7 такого не было?
Не только было, но уже есть и еще будет.
 от чего всем так не нравится плиточный интерфейс
Тем, что похож на разворот гламурного журнала, с обязательным для него атрибутом — рекламой. Раньше компьютер нас гордо встречал рабочим столом, а теперь одни сплошные заискивающие магазины приложений. Раньше ПК был серьезным инструментом, а теперь нелепая модная игрушка. Обидно.
DarkDes
Окей. Скажем так. Плиточный интерфейс в его оригинальном понимании вполне сгодится на планшетах\телефонах — это ок и я не знаю как бы вы тыкали пальцем в кнопку 32х32 пикселя.

Теперь от того, что я предполагал под плиточным интерфейсом (виноват, ступил) — минималистичный вид Вин10 во всём, во всех пунктах меню. Наверно у вас какая-то другая винда10, но единственное место, где я вижу сейчас рекламу — это Скайп.
Убрал сразу все плитки из пуска и знаете что? Таки пришлось туда добавить свои т.к. это удобно, вот. Да и рабочий стол на месте.

Если всё же такое негодование к планшетам, то тут мне ещё более непонятно человеков. Планшет сам по себе не более, чем игрушка. Сколько я гуглил и рыскал нужный — везде бестолковый дроид, либо маломощный кусок кремния. Если и когда-нибудь возьму себе планшет, то только как планшетный-ПК или новый гибрид ноута и планшета — он хоть кое-как сгодится для разработки игр (и стоит как ааааавтооомобиииль! но только чуть дешевле)
buntarsky
Плиточный интерфейс в его оригинальном понимании вполне сгодится на планшетах\телефонах
Осталось только понять, зачем то, что сгодится на планшетах под палец, с таким упорством всучивают основному потребителю Оси — мышепользователю ПК.
Так-то я ничего против нового (особенно векторных интерфейсов) не имею и даже за. Но когда оно не продвигается агрессивно, по-умолчанию, ломая экспириенс и затрудняя или совсем исключая выбор.
единственное место, где я вижу сейчас рекламу
Ну это вопрос восприятия. Например, я предпочитаю Файрфокс, но Майкрософт тычет мне в лицо своим (подчеркиваю) Ослобраузером: на панели, в меню, стартуя по-умолчанию, повсюду. Раздражает? Да. Реклама? Однозначно!.. Ну а кому-то — норм.
DarkDes
Мы точно про Вин10? Или может про Вин8 (на ней не сидел). К чему такой вопрос? Да просто я этого ничего не увидел.
Нет никаких плиток для пальцев — обычный пуск.
«очень новый быстрый браузер» — поставил огнелиса по умолчанию и всё, да и не только с браузером, но и с типами файлов поступил аналогично — просмотрщик сторонний, например.

В моём понимании «реклама» — это вот как на сайтах всяких. А вот это просто втюхивание своей же продукции, но реклама ли или же «да у нас вообще всё из коробки работает!».

Если какие-то элементы не нравятся, то их ведь настроить можно?
Только не говорите, что в Линуксах ничего настраивать не надо
pevzi
Например, я предпочитаю Файрфокс, но Майкрософт тычет мне в лицо своим (подчеркиваю) Ослобраузером: на панели, в меню, стартуя по-умолчанию, повсюду. Раздражает? Да. Реклама? Однозначно!.. 

Венда тычет ослом примерно так же, как убунта тычет фаерфоксом. Или лучше б было, если б в венде не было браузера из коробки?

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

DarkDes

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

Вот-вот-вот! Аналогично сделал.

buntarsky
убунта тычет фаерфоксом
1. Пакетный менеджер.
2. В разных редакциях выбор браузера зависит от мейнтейнеров. А если все выбирают Файрфокс — это не его вина, что он так хорош. ;)
3. Есть нэт-инсталл.
4. Файрфокс — не разработка Каноникл. Он был выбран в «конкуренции» с Хромиумом.
5. У меня Арч.
Или лучше б было, если б в венде не было браузера из коробки?
Лучше бы было, если бы в Винде был пакетный менеджер.
buntarsky

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

А разве нет такой Винды, чтобы просто поставил и все работало из коробки? Без допиливания? Неужели Виндовс не готов для десктопа? Как страшно жить.

Xitilon
Виндовс готов для миллионов старых тёток-бухгалтерш, и геймеров (тех что профи в играх, а в компах попроще). Пока что это, увы, или не увы, решает.
Xitilon

Венда тычет ослом примерно так же, как убунта тычет фаерфоксом. Или лучше б было, если б в венде не было браузера из коробки?

Каким ослом, в десятке уже Edge. Хотя IE тоже где-то там валяется.

pevzi
Да какая разница? А вообще, в исходном сообщении был осёл, вот я ослом и ответил.
buntarsky
От перестановки названия сумма не меняется.
Xitilon
принудительным и обязательно неуместным обновлением, как и прежде блокирующим компьютер на несколько десятков минут; отсутствием драйверов чуть ли не на усб-мышку; удесятеренным зондированием, безжалостно расходующим сетевой трафик; и, вишенка на торте, уникальной возможностью уйти в сон, из которого можно и не проснуться.

А тебе ведь компьютер 24/7 нужен, правда, что аж пары десятков лишних минут не найдётся просто отдохнуть? Биткоины майнишь?

Драйвера чуть ли не на мышку — это на что такое, на USB-геймпад? Вот ни разу не было. Два компа на Вин 10, ни разу. Зондирование отключается. Насчёт сна что-то тоже не верится. Такое ощущение, что Майкрософт тебя уже заранее прозондировал и ставит палки тебе в колёса, мол, хавай свой Линукс, раз такой умный. Потому что вот не было у меня такого, и всё тут. Обновления были, о ужас, как неудобно оставить комп на полчаса.

Десятка шустрее семёрки, это факт. А Win XP да, всё равно в итоге лучше запомнилась.

DarkDes
В тему багов Вин10 вспомнилась пара-тройка. Один из них полубаг наверно и одна очень бесящая особенность:

1. Однажды у меня отвалился «Пуск» более чем полностью. Нет, сама панелька вот была, но нажатие на кнопку (что интерфейс, что на клаве) не открывал мне ничего. Точно не помню, но вроде никак и диспетчер не смог вызвать или даже окна открыть — хвала богам игростроя, что незадолго методом тыка я узнал о комбинации Win+X.

2. Просто максимально бесящий автофокус новых окон. При этом эта фокусировка работает через одно место — лучше бы не было её. В ВинХР такого не было. Вроде и в Вин7 не было, но было что-то подобное.

3. Тяжелый случай пункта 2. Из жизни (и любителям фуллскрина конечно) — тестирую значит игру, пока она компилится открывал папку какую-то и появляется игровое окно на весь экран и… и что-то мать его сбойнуло и тупо АБСОЛЮТНО ничего не мог сделать — ПК не завис, курсор двигался, «заставка» играла, анимация тоже, но ни альт+таб, ни диспетчер, ни сворачивание всего через Win+D ничего не помогало т.е. абсолютная потеря фокуса или ввода… погодите, но ведь мышь двигалась… Как результат только хардресет.
pevzi

Таки да, все эти всплывающие штуки типа пуска и календаря иногда не появляются с первого раза.

А про автофокус — не помню проблем с ним. Как я понял, логика там такая: если после запуска программы ты больше ни с чем не взаимодействовал, то окно автоматически получает фокус; если же ты ткнул в другое окно или что-то там напечатал, то новое окно появляется в фоне и фокус не перехватывает. Помню, что в одном из линуксовых оконных менеджеров бесило отсутствие этой фичи, а потом выяснилось, что KWin так тоже умеет.

Третий пункт напоминает мне странную вещь, которая изредка происходит с моим ноутом, но она случалась и под убунтой тоже, так что дело не в венде, наверное. Ни с того ни с сего, на ровном месте перестаёт работать любой ввод: клавиатура, тачпад, закрытие/открытие крышки, даже долгое нажатие кнопки питания игнорируется. Но в то же время USB-мышка работает. Пытался с помощью неё перезагрузить комп, но перезагрузка тоже не работала. Так что единственный способ выйти из ситуации — вытащить батарею. Кстати, может, кто-нибудь в курсе, что это может быть?

DarkDes
В этом и дело, что автофокус берёт новое окно и всё. Печатал я или может прокручивал что-то в проводнике, а может в браузер втыкал — ему абсолютно пофиг, берёт и делает автофокус на новое окно. Могу ещё грешить на кривость ГМСовского IDE, но честно я уже устал писать насколько оно там всё плохо. Вот какого фига при сохранении\бэкапе мне ВЕСЬ ЭКРАН заслонять своим IDE? И при этом ведь выскакивает просто так, что неимоверно бесит аж жуть.

Ого, так третий пункт может быть в железе? Но это как-то странно. В смысле. Ну на нажатие-то мышки должен хоть как-то реагировать, если передвижение ловит. Короче странное действо тогда получилось. Может быть это и правда проблема не Винды или ещё чего-то, но после вот подобных случаев я ещё больше убеждаюсь, что как минимум на этапе разработок надо делать игры только в оконном режиме.
pevzi

Хм, так может это действительно ГМС фигню творит, и венда как таковая ни при чём?

Ого, так третий пункт может быть в железе?

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

на этапе разработок надо делать игры только в оконном режиме.

Можно юзать трюк borderless windowed fullscreen. Он исключает всякие проблемы, связанные с эксклюзивным захватом вывода (но по производительности совпадает с оконным режимом).

DarkDes

Склоняюсь к тому, что да — ГМС. Хотя и у обычных окон бывает такой «глюк». Хотя чаще именно у ГМС. Хотя вот на Нетбуке проверил (кое-как запустилась ГМС) — та же лажа (винда 7). Но вот обычные окна так не выскакивают — на вин10 выскакивают.

Короче. У ГМС столько минусов, что аж даже не знаю как дотянуть игру до релиза.

Xitilon

Но основной минус в том что ты ищешь его минусы, вместо чтоб просто работать с тем что есть. Попомнишь мои слова! Сделаешь свой движок на сях… к 2020… и вознегодуешь — ДО ЧЕГО ЖЕ ДОЛГО ПРИШЛОСЬ ЕГО ПИЛИТЬ, И НАСКОЛЬКО ОН ЕЩЁ НЕ ИДЕАЛЬНО-СУПЕР-ИДЕАЛЕН-ЧТОБВАЩЕ.

Но будет поздно.

DarkDes

работать с тем что есть.

Вот. Это. Вся. Суть.

Нам суют барахло, а мы им пользуемся потому что есть. Юнити всякие, ГМСы всякие. На языке вертится какая-то фраза про безвольных, но вспомнить не могу. Типа «на жри». И пофиг что оно забагованное, как и мои игры — «аналогов-то нет! так что будете пользоваться нашим продуктом».

У меня нет в планах написать СУПЕР-ДВИЖОК-8000-4К — просто не иметь ограничений (или в разумных пределах?). Идеала же нет! Я тоже буду недоволен своим движком, да вот только я не побегу на Коленку\Гамин\Форум\Сайт\Пси-Поле, чтобы писать какой он плохой — я буду знать, что это именно моих рук дело и могу это дело исправить. Короче это не столько средство разработки, сколько идея, или как это называется… опять забыл, да хоть «стиль жизни» называйте

А так конечно да — и я являюсь рабом этих «супер корпораций» ибо пользуюсь их творениями. В чём-то есть у них плюсы. А в чём-то вообще большой минус. А я их не ищу специально — это они находят меня, просто натыкаюсь на них.

Для больших проектов ГМС не годится. Чего только стоит вот та беда, что настигла меня сейчас. А ведь Взертос не такой уж и прям большой проект, а ты попробуй сделать «Диабло, но только круче» на нём

Xitilon

я не побегу на Коленку\Гамин\Форум\Сайт\Пси-Поле, чтобы писать какой он плохой

Так можно не бежать и без этого. Просто берёшь и не пишешь. Я вот не пишу например. Точнее был пост о том почему ЯЗЫК сам по себе неудобен. Но это всего лишь болтовня, лучше бы игры делал же!

Для больших проектов ГМС не годится

А где заканчивается маленький и начинается большой? Не согласен в целом. Годиться или не годиться может сам подход. То, как ты с ним работаешь, и насколько тщательно всё проверяешь. Вот тот недавний случай с переменной где ты присваивал self, хотя имел в виду self.id — это не ГМСа прикола, например, и таких порядочно много. Ну да, есть у него чисто свои (хотел было сказать «железные», лол) проблемы. Но я не знаю ни одной с которой нельзя совладать, причём это даже не включает в себя нужду патчить саму IDE, как это бывает с MS Visual Studio или чем-то ещё. (тут должен подлететь Бунтарский и сказать «GCC!!!»)

DarkDes
Можно не бежать, но вот когда накипело, то тут уже самое получается.

Где начинается большой — можно проверить по времени компиляции

Тут проблемы не столько в моих косяках например — я о них знаю и не сваливаю на ГМС. Но иногда он просто нелогичен — взять опять хотя бы ту историю с атласами. А про self (на самом деле там был other) история вообще другая — тогда я ошибся, ты прав, но ГМС крайне нелогично поступил с этим — я мог обращаться к переменным как other.var_bla_bla_bla, но при этом other сам по себе не хранил id, что имхо вообще нелогично и всё ломает, ведь можно было бы сделать так: var aaa = other; aaa.bal_bla = bla;

Короче ладно. Вот доделаю (если доделаю) Взертоса и там уж решу. ГМС или не ГМС.
Xitilon
И там уже решишь, не ГМС или не ГМС.
DarkDes
Ты всё знаешь наперёд! КТО ТЫ?! засранец ПОСЛАНЕЦ ИЗ БУДУЩЕГО!?!?!7171
buntarsky
тут должен подлететь Бунтарский и сказать «GCC!!!»
GCC — набор компиляторов, а не IDE. А еще есть clang (и даже выглядит перспективнее, если не сольют на полпути). Но вообще, это какой-то странный намек на мою якобы «религиозность». Еще и от человека, который из-за забора МС-технологий носа не кажет. Я-то как раз за обилие возможностей и рассматриваю все варианты, а не слепо преклоняюсь какому-то одному. И открытость (вменяемая мне как фанатизм) — это не цель, а средство — необходимое условие, сохранения вложенных сообществом усилий от присвоения кем-то одним.
Xitilon

Вообще-то я ещё работаю в SharpDevelop и CodeBlocks, так что про технологии-то не надо. Тем более, основное с чем я работаю это вообще Гейм Мейкер, Paint.NET, GoldWave и Caustic.

Я ж просто шутканул, ну! Так-то я сам не помню, что такое gcc, просто помню, что он есть, и когда-то компилировал им из-под командной строки Убунты. Давно в общем.

buntarsky

Я ж просто шутканул, ну!

Ну так и я не на полном серьезе.

 

Xitilon
М-да?
Xitilon

2. Просто максимально бесящий автофокус новых окон. При этом эта фокусировка работает через одно место — лучше бы не было её. В ВинХР такого не было. Вроде и в Вин7 не было, но было что-то подобное.

Не совсем понял, в чём суть этого пункта. Когда появляются новые окна, на них переключается фокус — это так было ещё с Винды 95. Ну может 98. Дальше (раньше) я просто совсем уже не помню, что там было.

Как результат только хардресет.

Чтобы диагностировать проблему ОС, надо сначала исключить проблему твоего собственного железа. Даже если очень сильно кажется, что это из-за Винды. Не то чтобы я оправдывал Вин 10 — местами он и правда тупит, но надо ведь рассуждать последовательно. На этот предмет надо смотреть системные журналы событий и отчётов, в «Администрировании», чего обычно никто не делает.
DarkDes
Второй пункт про авто-авто-авто фокус. Я помню, что во времена ВинХР, когда я работал с другим окном, то новое не выскакивало поверх всего и орало на весь экран — просто тихо и мирно мерцало в панели задач и я сразу видел, что «о! моя программа, которую я запускал 5 минут назад и за это время успел нарисовать 2 спрайта наконец открылась!».

Что же в новых окнах: я открываю доооолгую программу. Иду, например, писать тебе в Скайп как круто я сего постарался и написал 3 строчки кода и _пока я пишу текст_ окно берёт и вскакивает, берёт весь фокус и всё.

Но скорее мысли некоторых присутствующих здесь (да я просто пси-поле использую) правы — это может не столько вина винды (хотя именно в ОС я такое тоже встречал), сколько эффект от ГМСовского IDE, которые ещё хуже и всплывает простоматамущта. А ещё меня просто поражает его потеря фокуса ПРЯМО В IDE. Пишешь такой код, пишешь и всё нормально КАК ВДРУГ фокус куда-то попал, а ты уже пол строчки написал и с какого-то перепугу твой target сменился на какой-нибудь HTML5 и конечно «добрый и понимающий ГМС» кидает тебе другое окно в лицо типа «Купи ска сначала компилятор для ХТМП5!!! ТЫ ЧЁ ТУТ ДУМАЛ? БЕСПЛАТНО ЩТОЛЬ?!?».

Короче по кол-ву испорченных нервов примерно такая статистика: 5% — сама игра, 7% — баги, 8% — логические баги, 70% — ГМС, 10% — всякое не очень по игрострою.


А про тот хардресет. Ну не знаю даже. От чего может быть проблема железная, коли она возникла только в момент потери фокуса. Хотя скорее всего и тут буду не прав — опять вина ГМС. Ведь её окно (в смысле окно игры, которая делается на ГМС) писали наверно Риптилойды нулевого звена. Ибо отчего тогда ты можешь развернуть окно на весь экран, А ВОТ ОБРАТНО АХАХАХ НЕТ!
buntarsky
пары десятков лишних минут не найдётся просто отдохнуть
Отдохнуть можно и при работающем компьютере. Работающем над настоящей задачей (компиляцией, например), а не виндообновлением.
Драйвера чуть ли не на мышку — это на что такое
Это утрирование. Драйверов, которые были на XP, Win7, а в Win10 куда-то пропали достаточно.
Зондирование отключается.
Не штатными средствами, что лишь имитируют отключение (галки при установке) или делают это временно (дефендер). Но хаками, которые требуют большИх усилий по обнаружению утечек, а с каждым новым обновлением системы могут появиться новые каналы слива.
Xitilon

А, то есть у вас там каждый домашний комп — сервер кластера распределённых компиляций?

Драйверов, которые были на XP, Win7, а в Win10 куда-то пропали достаточно.

А у меня ничего не пропало. Были проблемы с вай-фаем, но это железное всё.
 
Да? Я честно говоря отключил галки и вообще не парился — поясните мне, ради чего я должен себе забивать этим голову? Давайте [ещё раз] обсудим слив, и что именно получает Майкрософт такого, что можно это использовать против меня, планеты или человечества? Или Линукса? Или вот кого-чего вообще?
buntarsky
и что именно получает Майкрософт такого
Очевидно что-то получает, раз такое количество оплачиваемых человекочасов потрачено на запил зондов и поддержание сливной инфраструктуры. Разве только репутацию не потеряли, и то за неимением.
А как это будет использовано Против — будущее покажет. А наиболее беспощадно оно к тем, кто беспечно о завтрашнем дне не думает, полагаясь на «все пользуются и брат не умер». Примеров коллективных страданий приводить не надо? Вроде, и девяностые не так давно были и фамилия Мавроди еще на слуху.
Xitilon

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

Как говорил один чувак, не помню кто, безопасность — это не продукт, это процесс. Каждый новый пароль должен быть независим от предыдущего. Одноразовые пароли. Токены. Электронная цифроваф подпись. Дайджесты. Что там ещё. Это вообще не зависит от того, на чём и с чем ты работаешь, всякая система должна считаться априори скомпрометированной, потому что постоянно и всюду происходят атаки нулевого дня. Безопасностью нужно заниматься постоянно, но это если вообще есть причина этим заниматься. Какая причина этим заниматься для обычного, рядового человека?

Или другой вариант - пускай не рядового. Мелкомягкие ломают тебе сервер, чтоб ты не мейнтейнил дистро во время nightly build'ов? Или сломают его через 20 лет, ведь у них теперь есть слепок твоего голоса, открывающий рут через драйвер припаянный на коленке к GPIO? Серьёзно?

buntarsky
Почему я должен опасаться именно Майкрософта?
Потому что именно Майкрософт имеет прямой, дармовой (а безопасность — это стоимость взлома) доступ к любой информации на компьютере. И легко и легально сольет ее как злоумышленникам (рекламным сетям, спамерам, каким-то левым мототрахерам), так и спецслужбам (при наличии у последних интереса к вашей оппозиционной партии / некоммерческой организации, защищающей права человека).
Какая причина этим заниматься для обычного, рядового человека?

Потому что человек стал ценным товаром в наши дни.
Потому что информация о доходах — крайне полезна в разного рода мошеннических схемах.
Потому что рейдерский захват бизнеса силовиками в некоторых странах — это норма.
Потому что, когда через 20 лет твой продукт станет конкурентом МС, они его уничтожат, глазом не моргнув.

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

Xitilon

Не, я наверное не так вопрос ставлю. Я уже считаю что всё что я делаю за компьютером, уже всем известно. Что дальше? Никто не может просто так взять и украсть у меня что-то, да и зачем.

информация о доходах

Благополучно известна куче государственных органов, вне зависимости от используемой ОС.

рейдерский захват бизнеса

Ну, я же сказал «обычного, рядового человека». Нет у него никакого бизнеса с интересными суммами. И у меня нет.

через 20 лет твой продукт станет конкурентом МС

Мой? Ты точно меня ни с кем не путаешь? А через 20 лет сама МС ещё будет существовать, насчёт этого там новости из 2036 не приходили? Что значит «из какого именно 2036»? Из моего!!!

Я не разрабатываю каких-то корпоративных тайн, и тем более не храню чужих, на кой оно мне.

Я сам думал вот как раз в таком духе — «мало ли», «никогда не знаешь». А теперь задаюсь вопросом — много ли? Может как раз очень даже всегда и знаю? И вот не знаю, знаю ли. (не путать со «знаю что ничего не знаю»)

buntarsky
Благополучно известна куче государственных органов
Это смотря какие у тебя доходы. У «обычного, рядового человека» в моей стране, если только он не в бюджете работает, доходы часто либо «серые» (минималка белая, остальное в конверте), либо вообще «черные» (только конверт). Такая вот реальность.
Xitilon

Довольно известный факт, но каким образом конкретно Винда должна слить конкретно… я даже не знаю — что именно — конкретно госслужбам? Для-че-го?

Я уже поднимал этот вопрос, и подниму ещё раз — я скорее поверю что в железе есть аппаратные «закладки» в прошивках, и винты хранят в 2+ раз больше инфы, чем задекларировано, микрофоны сливают всё по первой доступной эфирной линии, которые никому неизвестны, а на клавиатурах специально делают клавиши с достаточно разным звучанием, чтобы можно было по аудиозаписи щёлкания однозначно определить какие клавиши нажимаются. На фоне всего этого, паранойя про «что-то когда-то мало ли» — просто ничто, и от платформы не зависит.

buntarsky
«Железные» закладки — это пока еще единичные случаи, а не система. И их намного труднее (дороже) внедрять и эксплуатировать. Особенно для мимокрокодилов.
И замОк на двери я бы все же повесил, пусть его тоже можно взломать. Не от спецслужб, конечно, но от случайных идиотов. В наших реалиях, он неоднократно окупится.
Xitilon
Тут согласен. Но рейдерские захваты это немного не мимокрокодилы. Пока ещё.
Yuuri
Ага, а в линуксах драйверы есть всегда, на всё и во всех версиях.
buntarsky
Но мы же о не о наколенном безызвестном голодранце Линуксе говорим, а об ынтерпрайз-решении всех проблем человечества, властелине десктопа, одной оси, которая правит всеми, о Всемогущей Десятке.
Кстати, в Линуксах на том же железе у меня проблемы были только с проприетарными драйверами для видеокарт, но и здесь всегда есть «варианты»: как полностью открытые (несколько ущербные), так блобоподпорки. С приходом модесеттинга и вялотекущей поддержкой Прайма Нвидией ситуация для Оптимусов потихоньку выправляется. Все остальное железо работает как часы.
Yuuri
(а где-то есть 100% точное _и не зависящее от конкретного произведения_ определение маны и её возможностей? )
Нет, конечно. Откуда может быть точное и «платформонезависимое» определение придуманной сущности?
Xitilon
Эт как, «придуманной»? Где-то там на западе говорят, есть всякая там энергия «ци» (или «ки»?), и ещё много чего. Она придуманная или нет? Дай мне точное и платформонезависимое определение «придуманной сущности», коль так.
DarkDes

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

А вот у меня медита и я довольный!11111адын

Xitilon

Круто тебе!

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

Yuuri

Так «придуманной», что в реальном мире нет магии и маны, которые могли бы послужить за канон, поэтому в фэнтезийных произведениях авторы могут называть этими словами практически что угодно, лишь бы «все поняли». То же самое со сверхъестественными существами и т. д. Эльфы у Стурлусона, Шекспира, Толкина и, например, Близзарда очень разные, хоть и имеют общий знаменатель. И дать 100% точное определение эльфа нельзя – эталона-то нет.

P.S. И наоборот – хозяин, конечно, барин, но изобретать авторский неологизм для какой-то популярной концепции – это операция Ы («чтобы никто не догадался») и то ли Call a rabbit a smeerp, то ли Not using the Z-Word.

Xitilon

в реальном мире нет магии и маны, которые могли бы послужить за канон

А как это проверить? Правильно было бы утверждать, что ты и твоя мировоззренческая база данных не обладают такими знаниями. И не, я не троллю.

Кстати во вселенной ВарХаммера орки зеленые потому что являются гибридом существ из плоти, и МХА. Или что-то в таком духе. Отсюд выходит что они размножаются колониями спор. Ну это так...

TVTropes вообще крутой сайт, всем советую. (но там английский, да)

Yuuri

Я не говорю, что «IRL нет магии и маны», ибо:

1. Отсутствие не доказывается;

2. Это абстрактные слова, ярлыки, а не конкретные сущности. Нельзя выяснять, есть ли, допустим, душа у человека, не условившись сперва, что это вообще такое.

Я говорю «IRL нет каноничных магии и маны». Потому что никто дал общепринятых определений для этих самых конкретных сущностей, и не доказал, что они действительно есть. Кому-то, может, и карточные фокусы – магия, а Редбулл, который пьёт фокусник перед выступлением – мана, но на канон не тянет.

Xitilon

Лол, про Редбулл позабавило.

Но ты возражаешь не [совсем] тому, что я написал.

Я говорю «IRL нет каноничных магии и маны».

Осталось только привести неоспоримое доказательство, что у тебя весь IRL как на ладони, и тогда да - соглашусь. Сейчас можно наблюдать, что вокруг существует много разных мнений о том, что такое мана, или эльфы — это безуслоно наблюдаемый факт. Но ты ведь утверждаешь сразу про весь реал. А что, блин, такое, весь реал? Я лично не знаю. Я согласен говорить за себя и своих знакомых, но даже не за город, и тем более не за планету. Такие дела.

DarkDes
Кстати вспомнилось про ещё один аналог маны, который (кто бы мог подумать!) будет и в какой-нибудь другой моей игре и\или является частью того, что я называю связью материального мира и пси-поля

и это есть «Сила» из Звездных Войн. Это же просто Магия, вернее не совсем. Сложно это переложить, но «Сила есть везде» т.е. это что-то вроде общедоступной маны (пси-поле), но при этом только существа с особыми «рецепторами» могут уловить её и использовать дабы творить «магию».

И кстати Star Wars таки фэнтези, раньше я не знал. А потом узнал. А теперь узнали и вы, если не знали
Xitilon
Что ж ты делаешь… ууу щяйтан!
buntarsky
Мне всегда казалось удручающим выставлять конкретные позиции и размеры для элементов интерфейса. Да и «непортируемо» (под разные разрешения) выходит. Поэтому первое, что я всегда делал — величины в процентах, относительно родителя (простенький граф сцены), причем относительно одной из сторон (верх, низ, лево, право).
DarkDes
Ну такое в принципе можно было бы сделать. Точно с моим старым интерфейсом, а в этом понятия «родитель» в принципе нет как раз в угоду прощения.

Тут есть два момента — да, непортируемо выходит — не спорю. Или нет? Дело в том, что я исходил из «пиксель в пиксель» относительно изображения, котрое даётся элементу. Таким образом вообще любое изменение размера приводит не-тортовому виду.
И да, разрешение меняется и меняется позиция элементов — это даже фича, а не какой-то недочёт. Ведь есть (уже почти) режим пикселей Х1 и Х2. Собственно 1 к 1 пиксель интерфейса или 1 пиксель интерфейса к 2 пикселям окна. Т.е. это как раз в угоду тому, что раньше говорили, мол «разные пикселя у игры и интерфейса!11» теперь это регулировать можно.

Поэтому первое, что я всегда делал — величины в процентах, относительно родителя (простенький граф сцены), причем относительно одной из сторон (верх, низ, лево, право).

А вот про это можно подробнее? Не совсем уловил мысль. Те. например высоту элемента можно привязать к высоте родителя? (и умножить на процент)
А в каких играх\программах такое делал?

buntarsky
Короче, я лучше пост напишу, а потом сюда ссылку дам. А то коротко ответить у меня не получается, тем более с собственными примерами.
DarkDes
Отлично! :)
buntarsky
А не. Лень статью писать. Позже сконпеляю один старый лудумовский проект, чтобы скрин сделать, там «процентная» техника была мной впервые применена (по секрету, эту идею я украл, но только тссс!) и демонстрируется очень наглядно. Просто сходу не нашел к сырцам игры «правильную» ревизию движка, у которого за ~5 лет существования такая коммитопомойка образовалась… Знал бы, что пригодится, подключил бы двиг в игру как субрепо, но теперь уже поздно пить боржомей, придется методом дедукции и науч-тыка вычислять неразрешенную зависимость. И вот тогда. Обязательно бахнем. И не раз. Весь мир в труху. Но потом.
Xitilon

(голос из зала)

Но ведь лень же будет!

pevzi
Мне всегда казалось удручающим выставлять конкретные позиции и размеры для элементов интерфейса. Да и «непортируемо» (под разные разрешения) выходит.
под разные разрешения
Скорее под разные соотношения сторон. Можно при рисовании применять нужные трансформации translate и scale, чтобы вписать «игровое» разрешение в текущий размер окна. Так можно подогнать игру под любое разрешение с сохранением относительного расположения всех объектов. Но вот если целевое соотношение сторон не совпадает с исходным, то будут чёрные полосы.
buntarsky
Нет, под разрешения. И мыломасштабирование, по условию задачи, применять нельзя. Я ведь тоже про рендеринг пиксель в пиксель говорил. Вот только про размеры изображений зря упомянул и запутал. Просто у меня иногда бывают элементы интерфейса мозаичные, собранные из простого паттерна (а-ля Веб), потому и размеры плавающие, несмотря на рендеринг 1к1.
А вот чтобы соотношение сторон побороть, нужен, как раз, еще и тот самый относительносторонний отсчет координат. Расстояния, конечно, исказятся, но интерфейсу точность и не нужна, ему эстетически приятно выглядеть обычно достаточно.
DarkDes

В мыло кстати многие старые игры могут (да, спасибо, кэп!).
Вот где-то около id software кто-то говорил, что вообще 640x480 для интерфейсов хватит на все времена — ведь по сути нужно рисовать в вне-экранную-текстуру с такими размерами, а потом _ровно_ апскейлить по высоте. Если речь про 3Д игры, то там и вьюпорт подстраивается под разрешения (но не всегда) т.е. получается 3Д рендер 1к1, но вот интерфейс с апскейлом. Он, кстати, иногда может выглядеть ужасно как раз таки от того, что не пиксель в пиксель — тут я поддержу мысль Бунтарского, что такого вот не надо. Можно, но не надо. (исключение, если это сделано намеренно).

Расстояния, конечно, исказятся, но интерфейсу точность и не нужна, ему эстетически приятно выглядеть обычно достаточно.

Вот согласен и одновременно не согласен! Эстетически приятным интерфейс точно должен быть — что к обычному ПО относится, что к играм. Но вот точность… это относительно конечно, смотря о какой погрешности говорить. Иногда даже расхождение в пару пикселей дают свой эффект (а если очень много мелких кнопок?) Ну это я уж про какие-то экстремальные малые разрешения говорю. 

buntarsky
Ну я имел в виду, что искажение расстояния между элементами интерфейса не должно давать игрового преимущетсва. А удобство-комфорт — это как бы тоже в категорию «эстетики» можно отнести.
DarkDes
А, это. Но вообще да.

Только вот процентное скалирование или как это назвать не всегда нужно. Допустим игра про пиксель арт. Там каждый элемент интерфейса имеет фикс.размеры (размеры изображения). Вот например как у меня в Взертосе. Мне не нужно скалирование от того, что тогда всё поплывёт и я имею ввиду не текстуры, а вот сао изображение. Согласитесь, когда интерфейс заточен под пиксель-в-пиксель и при этом имеет изображение в основе, то его растяжение будет выглядеть убого.
Не спорю, что если у нас очень минималистичный интерфейс или необходимо лишь позиционирование (кнопки например), то да — тогда процентное соотношение пригодится.
buntarsky
Да нет же. Скэйлинга изображений вообще не будет. Только расстояний — позиций элементов интерфейса относительно друг друга. При «увеличении» разрешения, такие элементы дружно расползаются по краям экрана, а не торчат в центре (или по одному краю), ухудшая обзор и оставляя некрасивые прогалы по краям. Кажется, в Старкрафте нижняя панель выглядела ужасно на первых хай-рез модах. Потом ее вручную порезали-растянули.
DarkDes

А, ну если только позиции меняются, то да, может быть так и было бы лучше.

Хотя в принципе можно было бы добавить в этот IntMod небольшим пыхтением процентный сдвиг, ага.

Но вот что касается интерфейса в «скриншоте» — он задумывался как монолит и не предполагает раскидывание элементов, имхо, так даже хуже бы стало. Он заточен под ширину 512.

buntarsky
Вот и в Старике так же задумывалось — монолит под одно разрешение. А когда времена изменились, и разрешения выросли, панель с образовавшимися прогалами по краям оказалась некрасивой. Не говоря уже о потерянной для показа большего количества юнитов площади.
Xitilon
Кто старый, я старый? Да сам ты старый!!!
DarkDes
Лол, тоже сначала прочитал так!


Ну в том-то и дело — СтарКрафт не был заточен под это. В Взертосе я знаю, что есть такое соотношение и намеренно оставил его таким. Да и более того — можно будет поменять привязку либо центр, либо какой-то край. Конечно процентного позиционирования пока нет, да и нормального визуального редактора нет, чтобы безболезненно менять привязку, но всё же. Это всё сделать можно. Вопрос в другом — надо ли будет кому-то кроме меня. Мне и с таким хорошо
Xitilon
Чё, СтарКрафт? Я подумал, он про какой-нибудь свой собственный проект, типа как у Боброва там Лорд Картошка (лол), а у него там, не знаю, Старик Крафтер!
Praron
Хоть и всё же для подобных маленьких игр нужность подобной функции очень сомнительна, вообще, возможность кастомизации — это всегда круто(хоть и понимаю, что очень малое количество людей этим пользуется). Плохо, что в играх это очень редко делают. Не хватает только Тьюринг-полных конфигов
Xitilon
А вот в GM8.1 был execute_string() и ддже execute_file() на лету… (выполнение GML-скриптов, а не EXE-файлов)
Praron

Да такое не только в ГМе есть, но работает такое, очевидно, не очень хорошо в большинстве случаев, да и для интерфейса особо не нужно.

Из ВоВа недавно была новость, что из-за того, что там весь интефрейс и моды на Луа и можно выполнять полноценные Луа-скрипты из чата, была возможность непонятной командой заставить глупых людей передать себе вещи или ещё что-нибудь, в общем, такой локальный аналог rm -rf /

DarkDes

Вот поэтому Кармак (ну или не он сам лично — этого не знаю) для Квейка написал свой компилятор языка Си и назвал его собственно QC вроде как. Т.е. это был полноценный Си, но с особыми платформа-ограничениями, чтобы всякие «очень продвинутые хацкеры» не могли навредить клиентскому ПК и всякому такому.
Или это не правда и я всё придумал.

возможность кастомизации — это всегда круто

Вот именно! А ещё это очень «быть не как все». Конечно тут бы можно было вообще потом пойти дальше и сделать вот не как описано тут, а перевести на json (ГМС из коробки просто умеет) и не ограничится только интерфейсом персонажа, но так же влиять на интерфейс магазина, комиксного «проигрывателя» и чего-нибудь-ещё.

Спойлер
показать

Но как уже замечали наверно 99 раз 100 — это особо и никому не нужно. Но вот поверьте (пишу чисто ради эксперимента, может и не будет такого): появится игра или анонсируют от какой-нибудь крупной студии. И будет там такая фича. Предположим, что Взертос к тому времени выйдет и даже пару обновлений будет, где будет более-менее визуальный редактор для этих дел. И вот короче опять оверхайпнут то, что разрекламировано. Такое даже в вакууме раннего инди было — Майнкрафт вот нифига не уникальная идея Маркус на самом деле всё скомуниздил, лол.

На самом деле не совсем могу понять зачем нужен полноценный скриптовый язык для таких дел — на другом сайте мне тоже что-то пытались про это сказать. В смысле. Ну вот зачем он? Всё что нужно от файла такого — определённая последовательность (или просто их наличие), которые потом всё равно программой читается и воспринимается\меняется\расчитывается.

Praron

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

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

Я что-то представил игру по типу EVE Online, где сначала интерфейс будет довольно минималистичным, но будет встроенное средство, чтобы настраивать его как угодно, там, не знаю, получаешь инфомацию с сенсоров, по ним вычисляешь положение вражеских спейсшипов, на экране рисуешь красную рамку на них, и всё такое. Звучит круто, но никому такое нахрен не нужно.

А насчёт QuakeC, не совсем, судя по Гуглу(от Си там только очень условно подобный синтаксис, да и он даже не компилируется), но ну да ладно.

DarkDes

Это верно. Это просто такая добавочная фича может. Всё же есть игра, но у неё можно менять интерфейс. А не наоборот — вот вам сменный интерфейс, а игра как бонус

Ну моды это конечно моды — они всякие бывают — большие и маленькие, хорошие и плохие. В Скайрим не играл, но при сочетании «Скайрим Моды» всплывает всякое. А замена одного файла… да хотя как это одного! Нескольких. Так что не спроста ведь называется эта штука IntMod — начальный уровень модификаций.

А это круто же! Ну вот как ты описал — что типа пишешь «код» и там подсветка и всякие штуки, которые _влияют на восприятие_, но не игровой процесс. Прикольно. Да, вот тут это пригодилось бы — и своего рода мини-игра даже.

Честно — возможно я попутал. Т.к. есть 2 вида этого КуСи — один это «код» для модов как раз таки, а есть такой код, который компилируется в dll (только вот называются они иначе?) — просто ведь ДЛЛ-ки «да это же просто мод» действительно может быть уязвимостью.

buntarsky
Для однопользовательских игр есть CheatEngine(Вынь) и scanmem(Линь). Для многопользовательских, когда на клиенте нет данных, которые игрок заведомо знать не может, то и «уязвимый» интерфейс тут ничем не поможет. А если, скажем, для убыстрения рендеринга на клиент приходит позиция невидимого за стеной врага, то тут хоть на голове стой, а кто захочет, тот в память процесса вклинится (опять же, читодвижок и/или отладчик) и все, что хотел узнает, да по оверлею себе нарисует.
Да и всяких автоэймингов, которым вообще никакая «секретная» информация не нужна, хватает. Мухлеж и ботоводство неискоренимы в принципе. Разве, что на отдельно взятой платформе с «железными» ограничениями. Но и это вопрос «цены» взлома. Или еще вариант: делать игры, механики которых не основаны на бездумном монотонном повторении одного и того же или на скорости реакции. Но это уже из разряда невероятного.
DarkDes
Ну понятное дело, что взломать можно всё. Даже думал накатить небольшую статью-поток-мысли с примером хоть и не кулхацкера, но тоже с изменением чуть ли не правил игры.

Вопрос тут ещё в другом. А кому это надо? Игру взламывать. Очевидно, взломают игру, которая популярна — по всяким причинам. От интереса, то каких-то злых умыслов. Но разве мои или ваши игры будут _настолько_ популярны? «Не думаю, никогда не думаю!» ©
buntarsky
Так я и говорю, уязвимостей боятся — модов не делать.
DarkDes

Это верно. Но всё же. Как вот защитить юзера от «Скачать бесплатной лучший мод на \название-игры\, без СМС!» ?

Я к тому, что вот тот же Квейк. Ну или более современные аналоги клиент-сервер системы _однопользовательской_ игры. Там вся логика игры в dll. При это даже не моды, а сами игры. Собственно качаешь ты такой руссификатор, а он ещё и инсталлером (что меня особо всегда бесит) и хоп — заменил dll-ку незаметно. Запускаешь игры чтоб наконец поиграть, а там… system( «format C» )

buntarsky
Что там устанавливает пользователь на ПК — это вообще не проблема игры. Его должна защищать ОС, система дистрибуции или РосКомНадзор. Боже, храни Королеву!
DarkDes
Верно, не проблема игры или пользователя. Может быть ОС. А может быть (вот это да!) издателя \ разработчика.

Или как минимум в самом Стиме не хватает небольшой надстройки над их Workshop-ом для каждой игры — чёртовы переводы игр.

Что бывает до ужаса забавно (скорее всего это таки от всяких прав, ох уж эти человеки) — на дисках игра может быть с переводом, а вот в Стиме — без. И вот как так получается? Или ещё более глупый пример: есть (была, но у меня есть) игра Deus Ex: Human Revolution и она была полностью переведена на русский. Потом разрабы\издатель выпускает какую-то странную Deus Ex: Human Revolution Directors Cut. И всё было бы ничего, да вот только локализация куда-то про пала и это при том, что 90% «новой» игры — старая.

Или игры от Telltale — раньше у них перевода вообще не было (сейчас вроде стали делать) — приходилось качать переводы. И честно, каким бы перевод не был  хорошим или облегчал понимание игры, но доверия к ним нет, особенно, когда чёртовы инсталяторы.


Но это переводы. Но вот как защитить от ломаной DLL например? Практически уверен, что каким-либо способом можно повредить даже компилированную разработчиком ДЛЛку. И как быть?


buntarsky
на дисках игра может быть с переводом, а вот в Стиме — без
Ну так это особенность локализаторско-издательского бизнеса в России. Все права на бочку. Вторая особенность — делать сам перевод тяп-ляп. Третья — добавлять переводом баги и тормоза. Четвертая — замораживать версию игры. Про бэкпорты с апстрима стоит ли говорить? Пятая — не переводить или переводить с большой задержкой ДЛС… Итог: все плохо. Но это не технический вопрос, а организационный.
Но вот как защитить от ломаной DLL например?
DRM. Правда, это работает до первого взлома. И создает неудобства легальным игрокам. Но это не задача игры — спасать человечество. По сюжету, если только.
Xitilon

бэкпорты с апстрима

Что это?

buntarsky
Это когда оригинальная игра (апстрим) обновляется, а ее переведенная версия (отстрим) стоит на месте, не переносит (бэкпортирует) из нее обновления текста, исправления багов, новые фичи и т.п. Как один раз перевели во времена беты, так сойдет. Соотечественники так схавают — небрезгливые^W неизбалованные.
Xitilon
Аааа. М-да. Звучит как-то не очень.
DarkDes
А вот это жесть так-то. И что, их не учили, что можно локаль пихать в независимый от версии файл? Да даже аудио.

Хотя вообще… ЩАТО?! Как там может быть-то вообще? Просто я не могу сопоставить почему локаль может зависеть от игры и\или наоборот. Может примеры кто дать?
Xitilon
Ну как чего. В русском языке больше форм, а природа английских локалей чаще всего «подстановочная», и порождает перлы вроде «Вы получили 301 монет» — слово «монет» должно СКЛОНЯТЬСЯ.
DarkDes
Не, иногда это конечно крайне критично, особенно для текущих геймеров. Но с монетами даже звучит вполне обыденно, наверно ты имел ввиду «Огненный секира». Такое в генераторах точно старых было. (и сам писал, лол).

Ну пусть склонения с игро-механическим характером, а что там про чисто диалоговое и\или сюжетное?
Xitilon

Вот про сюжетное не знаю. Вряд ли.

Да, «Огненный секира» иллюстрирует лучше. Как-то из головы вылетело, хотя много раз это встречал. Просто давно не играл в русские версии игр уже. Тем более в кривые переводы — это всё осталось в 2000-х для меня.

DarkDes
А ведь это действительно интересная тема. Хотел было гуглить как решать такое, но потом стало лень (хотя и подумать можно было). Самое забавное, что вот допустим с нашего текущего места — можно предугадывать, что допустим заточка будет для 2х локализаций — русский и английский. Каково же будет удивление арабов, если текст будет СЛЕВАНАПРАВО, ЩАТО!?

Теперь я понимаю некоторые старые игры, где «много языков» считалось английский, немецкий, французкий и иногда язык на выбор, например, я встречал испанский.
Xitilon
Слева направо, кстати, это всего лишь порядок рендера текста, который был стандартизирован Юникодом, и поэтому если твоим (не твоим) движком (конкретной подключенной функцией графической библиотеки) поддерживается Юникод — то ничего тебе дополнительно писать не надо.
buntarsky
Может примеры кто дать?
Примеры, почему так происходит? Так быстрее, проще, дешевле. Примеры игр? Бордерлэндc 2 — отличный пример. С брошенными ДЛС, пропадающим из инвентаря оружием и большим скандалом, м-м-м, все как полагается. Причем нереальный движок поддерживает локализацию, и для других языков переводы сделаны без видимых проблем, но только у наших локализаторов какое-то неизлечимое рукожопие.
DarkDes
Не, это всё понятно. Что мол вот организаторская такая шняга. И от того. И особенно от того нельзя полагаться на прибыльжрущих — фанаты могут делать переводы от того, что они фанаты, но при этом ещё и добрые и несут славные слова для тех, кто не может сам прикоснуться к великому творению.

Вот чего в Стиме не хватает на уровне «пользовательских модификаций». Всё что можно найти — «руководства» на скачку и установку русификатора. Велвам бы сделать такой новый раздел. Яб даже написал, да я англицкий не знаю. А так, глядишь польза была бы от меня
Xitilon
Я уверен что тебе стоит им заняться. Знание его открывает побольше возможностей, английский реально важен!
DarkDes
Он важен. Или нет. Но почему именно он, а не скажем китайский? Или там… не знаю — божественный язык единиц и нулей!

ЭХ! Ясное дело, что в текущей реали никуда без него не сунешься вообще, да вот даже в игры без него не поиграть!
Xitilon

Китайский может стать вторым самым важным, если они так и продолжат штамповать компы массово, и начнут делать китайский софт. Но я думаю этого не произойдёт, или по крайней мере до этого далеко. Они там как-то по-другому живут совсем, свои понятия. А с англоязычными русскоязычные уже давно и стабильно работают, и на английском очень много важной инфы (важнее чем на китайском… хотя вот не знаю про ЯПОНСКИЙ).

DarkDes
Либо у меня уже мозг поплавился или у тебя в этом сообщений другой шрифт? Хм, ОПЯТЬ ТЫ ЧТОЛЬ, КСИТИЛОН ВСЕДЕННОЙ 13 ??777?77?? семь

Так-то оно так. Но как-то не так. Или всё так. Но не так. А ведь просили в школе на английский перевести, а они на немецкий закинули — как итог — ни тот, ни другой не знаю. Хотя уже тогда понимал насколько _мне_ будет важен англицкай. ЭХ!
Xitilon

Лол, действительно как-то пролез шрифт размером больше. Я кажется кого-то цитировать пытался, а потом стёр, а форматирование пролезло.

Школа то школа, ещё есть время!

buntarsky
Вот чего в Стиме не хватает на уровне «пользовательских модификаций».
Вроде, есть «альтернатива»: translation.steampowered.com
Q: What is Steam Translation?
The Steam Translation Server (STS) is a project in which Steam and selected games can be translated by volunteers.
Но выглядит сомнительно.
Во-первых, за идею увеличивать прибыли Стима и издательств, зажавших копейку на перевод, — это какое-то сомнительное удовольствие.
Во-вторых, это психологически разные вещи. Переводить по-приколу под собственным именем (или в соавторстве с товарищами). Или, следуя жестким правилам и регламентам и оставаясь безымянным солдатом, одним из тысяч, сложившим свою голову за чужие идеалы.
В-третьих, многие коммьюнити-переводы — это исправленные официальные. Их не получится добавить ни в Воркшоп, ни куда-то еще из-за лицензионных ограничений («ворованные» они). А переводить все с нуля — это совершенно другой объем работ.
Xitilon

Давно мечтал увидеть свою игру на турецком.

Серьёзно, мне написали турки о том что они могут сделать перевод, и за него надо будет заплатить «сколько хочешь», типа сколько я считаю что он стоит. Забавно люди придумали.

buntarsky
Ну да. Для инди-игр, может, ничего так идея. И текста обычно немного и в жадности язык не повернется обвинить.
Yuuri
Ну, у QuakeC действительно есть компиляторы, но это уже поздние фанатские доработки. Quake 2 же использовал обычные нативные dll-ки.
DarkDes
Ну вот я про эти длл и говорю. Не думаю, что Кармак-и-Ко не подумали о защите пользователей дав в руки «хакерам» доступ такой. Где-то это точно мелькало — Кармак писал свой компилятор для этого дела. Или не этого. Или не Кармак.
На самом деле мне просто лень гуглить это дело.
Yuuri

Одну простую сказку, а может, и не сказку, 
А может, не простую, хочу вам рассказать.
Её я помню с детства, а может, и не с детства,
А может, и не помню, но гуглить не хочу.

DarkDes
ЭТАПЯТЬ!
Xitilon

Это тут не в тему, но вспомнил по аналогии:

 

0A программистов продукт решили сделать,

Один спросил «А деньги где?», и их осталось 9.

 

9 программистов предстали перед боссом,

Один из них не знал FoxPro, и их осталось 8. 

 

8 программистов купили IBM, 

Один сказал «Мак лучше!», и их осталось 7.

 

7 программистов хотели help прочесть, 

У одного покрылся винт, и их осталось 6.

 

6 программистов пытались код понять, 

Один из них сошел с ума, и их осталось 5.

 

5 программистов купили CD-ROM, 

Один принес китайский диск — остались вчетвером.

 

4 программиста работали на Си, 

Один из них хвалил Паскаль, и их осталось 3.

 

3 программиста в сети играли в DOOM, 

Один чуть-чуть замешкался, и счет стал равен двум.

 

2 программиста набрали дружно: «win» 

Один устал загрузки ждать — остался лишь 1. 

 

1 программист все взял под свой контроль, 

Hо встретился с заказчиком, и их осталось 0.

 

0 программистов ругал сердитый шeф, 

Потом уволил одного, и стало их FF. 

buntarsky

Спойлер

скомуниздил

Идеи ничего не стоят, главное — реализация^W маркетинг!

DarkDes
Таки дело не в идее вот именно что. Там была практически реализованная игра. Уже и не помню где такое находил, но пруфы там были. Маркус не придумал Майнкрафт — он просто взял чужую идею. И вроде даже не первый раз.

Одно дело когда у тебя «воруют» идею и другое, когда с тобой выходят на связь дабы что-нибудь перетереть.

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


Но я часто могу про это брюзжать — не обращайте внимание!


И про маркетинг согласен. Я вон, личку в Скайпе Кситилону всю заспамил про No Man's Sky и SpaceEngine
buntarsky
Вот если бы Маркус взял чужую игру и выдал ее за свою, тогда еще ладно. Но идею?! Вон философы Древней Греции сколько идей придумали, нам ничего не оставили, а ведь у них было нечестное преимущество — они родились на пару тысячелетий раньше! Где же она справедливость? Пусть тогда молча свои идеи придумывают и другим не рассказывают, так чтобы у всех был равный шанс придумать что-то новое. Так-то.
shevtsov200
Они ещё наняли разработчиков Tag: The Power of Paint и внедрили паззлы с краской во второй портал.
DarkDes

Вот если бы Маркус взял чужую игру и выдал ее за свою, тогда еще ладно.

Забавно, что это упомянуто. Дословно не помню (да и источник — не сам Маркус, чтобы быть 100% достоверным), но кто-то утверждал, что и код был взят с той наработки. Хотя чего это их обсуждать, да — дело сделано и разрекламировано. Теперь, даже если истинный первоисточник (кстати, подобные игры были и задолго до майнкрафта, но в 2Д, почему-то мне так кажется или это опять из параллельной вселенной)… так вот, если первоисточник скажет «это я придумал и _реализовал_ игровую идею» то всем будет пофиг на это — все увидели сначала майнкрафт, а значит «оно есть истина, всё другое — клоны».

Они ещё наняли разработчиков Tag: The Power of Paint и внедрили паззлы с краской во второй портал.

Ага, было дело. Хотел было написать, но думаю и просто с оригинальной игрой смысл понятен будет. Они наверно Портал3 не делают т.к. студенты ещё не сделали её (крутую идею в смысле)

buntarsky
А может, это завистники имя честного Маркуса порочат, а мы им, выходит, подыгрываем — распространяем эту ложь? Кто знает, как оно на самом деле было? Я вот не знаю. Да это и не важно. Ну придумал кто-то идею первым? Ни тепло, ни холодно. Пусть реализует, развивает, продвигает — глядишь, кому-то фан/польза, ему — фан/вознаграждение. Но нет, проще придумывать идеи, патентовать/лицензировать да почивать на лаврах. Пусть другие идиоты рискуют, набивают шишки, преображают мир, а гениальные «выдумщики» взымают с них пени за свои распрекрасные идеи… Нет, что-то тут неправильно. Маркус презентовал Майнкрафт публике — свои деньги и славу он честно заслужил. А чьи это идеи были — до лампы. Не смогли реализовать, не разглядели перспективу — их проблемы, никто им ничем не обязан, скорее они — другим обязаны, ведь чуть не лишили нас интересной механики, так неудачно придумав ее раньше всех, но не имея сил «дотащить». Реализуют лучше, чем Майнкрафт — урвут свою толику денег и славы, плевать всем будет на «клон-неклон».
Ну а про «наработки» — даже если правда, что с того? Не украден же целиком готовый продукт? Это нормально переиспользовать чужой опыт в своей работе. Именно этим и обусловлены все достижения человечества. Я бы, например, и два плюс два не сложил, если б в школе не научили. И что? Мне теперь, своим педагогам роялти выплачивать до конца жизни? Так и им эти знания не принадлежат, по наследству достались. А они распространяют, зарабатывают на жизнь. Но мне бы в голову не пришло назвать их ворами. Наоборот, я им благодарен. Также, как благодарен «пиратам», которые дали мне возможность получать знания и работать с программами, несмотря на существующее социальное неравенство и отсутствие госпрограмм в этой области.
Вот и здесь, разобрался в чужом коде — полдела сделано, адаптировал к своему коду — еще половина. Поправил баги, добавил функционал, перекроил АПИ и вот уже совсем другая вещь получается. Ладно, скажем, склонировал чью-то библиотеку, где ничего делать не надо, где готовый задокументированный АПИ, а баги исправляются — только успевай пуллмержить. Готовый продукт фактически. Тут я понимаю лицензии, правила использования и все-такое. Но когда я, к примеру, выдираю алгоритмы из иксового скринсейвера, переписываю с Си на Си++, с процедурки на ООП с RAII, наследованием и прочими «прелестями», бэкенд с X11 на SDL2 + недостающий самопил, меняю модель течения времени.., другими словами, «превращаю» узкоспециализированную программу в готовую переиспользуемую библиотеку… Какая, нафиг, лицензия? Да тут практически с нуля все написано. По мотивам, так сказать. Я даже не присвоил себе какие-то уникальные, претендующие на Нобелевку открытия, дающие ответ на главный вопрос Вселенной и всего такого. Обычная такая общедоступная математика. Да я и не библиотеку делаю, и даже не движок, в котором она как капля в море (но что есть океан, если не множество капель?), а конкретную игру, которая и будет распространяться. Именно игра — конечный продукт, за «компоновку» которого я, так сказать, беру деньги. И библиотека получается вроде тех шрифтов, что в составе игры продавать можно, а отдельно — нет. Спасибо, конечно, тем, кто изобрел алфавит, математику, процедурную генерацию, код для скринсейвера, но заявлять что я у них что-то украл они не в праве. Они — ничего не потеряли, а я приложил более чем достаточно созидательных усилий. Чтобы однозначно определять, кто злодей, а кто — нет, нужно четко провести черту, где «воровство», а где «наследие». Сроком давности? Сложностью продукта? Количеством совпадений? Не знаю как, но эта черта должна быть достаточно рельефной, чтобы аппелировать к ней без лицемерия и корысти. Короче, вопрос про ворованные «наработки» не так однозначен, как мне кажется. Впрочем, не факт что он вообще имеет место в случае с Майнкрафтом.
Xitilon

Я бы, например, и два плюс два не сложил, если б в школе не научили.

Вот что-что, но это — крайне спорное утверждение.

меняю модель течения времени

Это вообще что подразумевается тут? Многопоточность?

Чтобы однозначно определять, кто злодей, а кто — нет, нужно четко провести черту, где «воровство», а где «наследие». Сроком давности? Сложностью продукта? Количеством совпадений? Не знаю как, но эта черта должна быть достаточно рельефной, чтобы аппелировать к ней без лицемерия и корысти.

Волей автора же. И из-за этого у нас столько проблем.

buntarsky
Это вообще что подразумевается тут? Многопоточность?
Нет. Поток один. Просто у скринсейвера и игры немного разные представления о главном цикле.
Волей автора же.
Волей автора можно и «2+2» запретить к использованию. А принцип «кто первый — того и тапки» несправедлив, потому что «стартуем» мы в разное время.
Xitilon

То есть, ты переделывал что-то из скринсейвера в игру? Хотел бы посмотреть на это. (нет, не скомпилировать, а просто посмотреть)

Давайте не обсуждать абстрактные тапки. Есть конкретные проблемы — есть конкретные решения.

buntarsky
Позднее заопенсорсю, когда перфекционизм слегка подотпустит.
DarkDes
Окей. (почти осилил текст)
Давай проще: ты сделал игру или прототип. У тебя его «украли» и заработали на нём 100500 мильёнов. Ты будешь счастлив и «да я даже благодарен»?

Про «два плюс два» вообще не в тему — это абсолютно другое. Типа вообще. Что в прошлый раз про философов, что сейчас про монументальные истины.

Мне просто обидно за человека — такое похоже не каждому дано нынче понять, особенно в рамках индюков\авторских_разработчиков, казалось, где такое точно должно быть.

«Это бизнес, детка» или «Эта суровая правда жизни» — так то оно так, но… хотя чего тут обсуждать, когда у меня в голове лишь одна идея — уничтожение человечества по причине ненадобности его в текущей сборке

Как говорится — всё популярное будут хейтить, да даже я бы себе сказал, что я просто хейтер, но ведь я действительно впечатлен как хомячки занесли ему деньжат на чужой идее. Да, идея ничего не стоит сама по себе — всё есть реализация, но и без идеи реализации не было бы.

Реализуют лучше, чем Майнкрафт — урвут свою толику денег и славы, плевать всем будет на «клон-неклон».

Только если через одно-два поколения, да и то не факт. Не в смысле, что через поколения сделают лучше, просто через это время _может быть_ перестанут сравнивать с майнкрафтом… даже если майнкрафта в игре нет, но есть «копать, строить, крафтить».

 

 

 

СЛАВА РОБОТАМ!

buntarsky
Давай проще: ты сделал игру или прототип. У тебя его «украли» и заработали на нём 100500 мильёнов.
А ничего, что я сделал этот прототип, опираясь (в той или иной степени) на опыт (впечатления от) чужих игр, используя подаренные инструменты, пользуясь всеми благами, что дало мне на сегодняшний день человечество (а на самом деле отдельные личности из толпы)? Повторюсь: «Где проходит граница между кражей и наследием?»
Да, идея ничего не стоит сама по себе — всё есть реализация, но и без идеи реализации не было бы.
Идеи не приходят только в одну избранную голову. Они посещают всех. Причем иногда одновременно, под воздействием «духа времени» (в истории науки случаев одновременных открытий великое множество). И первая «додумавшаяся» голова не имеет никакого эксклюзивного на нее права, может, кроме титула первооткрывателя. Потому что рождаемся мы в разное время. Да и надежного способа определить самого первого придумывателя нет. Вдруг гипотетический Маркус «украл» у «воров»?
Только если через одно-два поколения, да и то не факт.
Откуда такая уверенность? И кто виноват, что «первооткрыватели» свою идею не превратили в Майнкрафт? Тем более, что у них было больше времени, раз они ее первыми придумали?
Xitilon
Повторюсь: «Где проходит граница между кражей и наследием?»
В суде. (не бывал, не знаю, ответ оторван от реальности, и о его справедливости я не могу сказать ничего)
Идеи не приходят только в одну избранную голову. Они посещают всех.
А вот и не всех, а только какой-то конкретный, непонятно по какому признаку выбираемый, ряд людей/личностей.
buntarsky

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

Обобщение на одном примере

Xitilon
Я не понял, что должна подкреплять или опровергать эта ссылка, но материал интересный, спасибо.
DarkDes
Окей. Тогда отдавайте все свои наработки и выручку Линусу или какое у вас там божество, не знаю.

Как и уже в третий раз речь заходит вообще куда-то в не-тему.

Почему тогда, не знаю, Маркус не отдал всё тому от того вдохновился? Почему тогда крупные компании не раздают деньги потомкам разработчикам первых ПК, языков программирования или там в фоны по этому делу? Серьёзно? Опять куда-то не туда разговор заводите. Ответа на вопрос так и не было.

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

Идеи есть у всех, да. Но какая вероятность получить идею двум людям практически идентичную? Да, помню события их науки — а потом ещё не верят в мои\не-мои пси-поля.
Xitilon
Кстати, а какой исходно был вопрос-то? Я уже потерял его.
DarkDes
Не знаю. Это всё обман чтобы набрать классы\комменты

Всё началось про Маркуса и истинную идею Майнкрафта. Ну так было в той Вселенной откуда я пришёл — как у вас было — не знаю, у каждого уникальная своя история! Обожаю сгенерированный контент!
buntarsky
или какое у вас там божество, не знаю
Эго, разумеется. Ему я преклоняюсь, к нему лишь прислушиваюсь. А оно говорит: «Не отвлекайся на лжемораль, не слушай лжепророков, не соблюдай лжезаконов, поступай как знаешь, живи своим умом!».
лишь _набор_ человеков может определить наследие это или кража
Причем разные наборы человеков это определят по-разному. Неизменно лишь, что в свою пользу.
О каком наследии может быть речь, если события происходят одновременно?

О наследии (духе) времени, разумеется. Вчера вышел Майнкрафт, а сегодня у всех озарения: стратегия с кубиками, стрелялка с кубиками, гонки с кубиками. Вчера вышли Покемоны, а сегодня опять рождаются уникальные-неповторимые механики на базе дополненной реальности. Чувствуете закономерность? Сегодня для некоторых открытий просто «наступило время». И они будут сделаны. И плевать, кто первый, важно — кто лучше.

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

Почему тогда, не знаю, Маркус не отдал всё тому от того вдохновился?

Потому что тот не сделал то же самое, в свою очередь?

Вот конкретный ответ. Кто у кого и что конкретно украл, пусть в суде разбираются. У «потерпевшего» и материальный интерес в этом немаленький имеется, и доказательства должны быть на руках, раз он что-то там нарабатывал. Но пока, кроме слов, действий не последовало? Люди крайне склонны наговаривать друг на друга, чтобы я верил хоть кому-то на слово. Да и не мне судить.

Rat_on_psilocybin

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

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

Xitilon

Я заценил феерию локальных мемов.

Хм, а ведь про интерфейс для разных КЛАССОВ ГЕРОЯ я даже не подумал. И тут я могу только согласиться.

DarkDes
Про классы героев тоже не подумал! (игра предполагает всего одного)
От чего действительно становится интересно — можно ввести потом нового героя со своим интерфейсом… только в чё будет отличие — писать всё равно надо будет «железный код»
buntarsky
А на нативном языке «строчку» добавить нельзя? Обязательно груду обвязок тормозного скрипта нужно нагородить? Сдается мне, здесь что-то другое. Например, возможность редактировать код на лету, без компиляции. Или еще что-то. Но кастомизация и без скрипта вполне достижима.
Yuuri

О да, код, который один раз при старте парсит десяток строчек – самое тормозное место игры, несомненно.

buntarsky
Нет, парсер-то как раз на нативном языке написан и быстр. К нему вопросов нет. А вот скорость игрологики, на скриптах, упирается в небыструю интерпретацию (скажем циклов и условий) из-за дорогих вызовов и выделения/управления памятью, плюс расход памяти на «динамическую типизацию».
Xitilon

Ооо, а вот и любители посчитать чужие байты, никогда плотно не работавшие с GM, подъехали. GML, начиная со Студии, на которой и делается ДаркДесовский Взертос, не интерпретируется, а компилируется. Даже при том что вызываемые участки кода так и называются скриптами по инерции.

Это у нас с Замком Невозврата 2 тормоза от интерпретации проскакивают. Но и то, как-то не мешают, по 60 раз за кадр отрабатывая. Я вообще без понятия, сколько где там стоят какие вызовы и как управляется память — за каким фигом мне это надо знать? Я это вижу в билде, если тормозит — надо профилировать, становится видно узкие места. (лукавлю, в GM8.1 нет никакого профайлера, в GM:S есть, да ещё какой, так что мне приходится перебиваться пока) И бывает это очень редко.

DarkDes

Говорят, что тру-компиляция только на YYC начинается. Но он только в ПРО версии. А ПРО покупать не хочу — не только от того, что я жадный и бедный студент. Просто этот кусок кода не стоит своих денег вообще.

Не уверен, что GML от студии компилируется — скорее всё равно переводится на какую-то интерпретацию свою. Было бы интересно посмотреть как он экспортирует в HTML\js.

Ну и сразу ещё тут для истории напишу — YoYoGames намеренно ухудшают работу обычной версии ГМС. Вот.

ДаркДесовский Взертос

Лол, прикольно звучит Взертос Десовский.

buntarsky
То, что скрипт перед релизом компилируется — как бы намекает, что он не быстр в интерпретируемом виде. ГМ, Годот и прочие — готовые движки, где этот непростой функционал (скриптоязык, скриптообвязки и скриптокомпиляция) уже реализован. Там такой вопрос не возникает — так как все уже сделано до нас, да и выбора в некоторых случаях просто нет.
Мы же говорили о том, чтобы самому добавить скриптодвижок, мол это принесет нам желанную модификацию всего и вся. И тут напрашивается, зачем такие сложности, если искомая модификация доступна нативно. А те преимущества, что скрипт дает (экономия времени на компиляцию, лайв-эдит, что-то еще), не факт, что вообще нам нужны. Так давайте не отклонятся от темы, псевдоразоблачая меня.
Yuuri
Скриптодвижок можно сколь угодно детально заточить на игровую логику, и на получившемся DSL писать её будет гораздо комфортнее, чем на основном языке. Да и экономия времени на компиляцию – весомое преимущество, особенно в случае C++.
buntarsky
Не менее весома экономия времени на написание скриптодвижка, компилятора к нему, отлов багов… Еще написание мануала к этому точеному самопалу для других разработчиков, если такие планируются… И так далее.
Кто-нибудь еще помнит, какую задачу решаем? Ах, да. Кастомизация юнитов. Короче, делаем через композицию на Плюсах и не скрипём себе мозги.
Xitilon
Сейчас полетят кирпичи за спервадобейшество, но как же я могу не вопросить принципиальный вопрос: вы, господин Бунтарский, много систем кастомизаций юнитов Сделали?
Yuuri
Лучше день потерять, зато потом за пять минут долететь! И этот скриптодвижок мы сделаем один раз, а использовать потом можем в куче игр.
Xitilon

Одиозно! Юрри и Бунтарски сотоварищи — «Делаем кучи игр, since 2005 да что там, 1995»!

(это я так пытаюсь намекнуть на то что больше возни с инструментанием — меньше времени/сил на игру как таковую)

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

DarkDes

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

Просто ты вкладываешь совсем другой смысл в эти слова. Или другие люди совсем другие слова. А ВОТ БЫЛИ БЫ РОБОТАМИ!!1

buntarsky
Лучше день потерять, зато потом за пять минут долететь! И этот скриптодвижок мы сделаем один раз, а использовать потом можем в куче игр.
Крылья, ноги, главное хвост! По мне, так очень оптимистичные сроки. Да и переиспользование — та еще байка. Хотя не исключаю, что все — гении, пишут новые компилируемые языки в короткие сроки, сразу без ошибок и с универсальным АПИ, подходящим к любой задаче без десятка переосмыслений и переписываний.
andreymust19
Ой-ой-ой. Перескажите, кто-нибудь, кратко содержание предыдущих серий, пжалуста.
Yuuri
Винда маздай, Маркус Перссон вор, скрипты тормозят. Только натив, только хардкод.
DarkDes
И самое главное упустил — толком ничего про саму тему поста, ох уж этот интернет
andreymust19
Ага, спасибо. Сэкономил мне кучу времени.
buntarsky
Чтобы потратить ее на более предпочтительные для срачей темы?
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.