Чи потрібні ігри сьогодні для встановлення?


36

Цікаво, чому для ігор взагалі потрібна установка. Я можу зрозуміти, що таке програмне забезпечення, як браузер, потрібне, щоб воно могло пов’язати з ним деякі типи файлів і запустити виконуваний файл, або додати піктограму до компонента Програми / функції в Windows. Але яка мета встановлення, скажімо, гри Steam? Сам Steam займається встановленням / видаленням гри, оновленням, запуском і т. Д. Якщо я розробити свій власний ігровий запуск (який буде використовувати встановлення), які причини для мене також використовувати інсталятор для моїх ігор?


20
Steam набагато більше, ніж інсталятор. Також Steam включає безліч функцій спільноти, економію в хмарі, досягнення, обробку платежів і т. Д. Тож ваше запитання "Навіщо мені використовувати інсталятор?" інше питання, ніж: "Навіщо мені використовувати Steam?"
Алмо

4
Steam також пропонує ланцюжок інструментів компіляції, яка виступає загальною базою для компіляції linux ігор для максимальної сумісності між дистрибутивами та іншим ресурсом, Steam і Valve надають цілу екосистему інструментів розробникам ігор, щоб легше ділитися своїми роботами зі світом.

11
У мене виникають проблеми з розумінням питання. Що таке "програма запуску ігор, яка використовує встановлення", це не інсталятор?
Mooing Duck

5
З усією повагою, якби ви використовували свій власний пусковий апарат Steam, я був би набагато менш схильний купувати вашу гру, ніж якби ви використовували Steam. Steam має 12-річну історію, підтримується великою вподобаною компанією і сам собі довіряє. Навіть якби ви були частиною великої добре зарекомендованої компанії, вам все одно доведеться переконувати людей, у яких ваша система краща. Крім того, те, що @almo говорить про спільноту, є вирішальним. Steam - це мій основний метод спілкування з друзями - я не використовую популярні форми соціальних медіа.
Фарап

3
@Pharap - Мені особисто не дуже цікаво жодна з додаткових функцій Steam, але, маючи вибір між використанням "Інтер'єрного інсталятора Bob's Homemade Totally Trustworthy" та Steam, я вважаю за краще пройти з останнім. Я також багато використовую GOG, тому вибір між цим та Steam заслуговує на більшу увагу, але, коротше кажучи, я вважаю за краще більш перевірений спосіб отримання ігор, ніж випадкове інше програмне забезпечення для того ж.
ВЛАЗ

Відповіді:


82

Існує досить багато причин, якими ви хочете скористатися інсталятором. Деякі з них, зверху голови:

  • У більшості ігор (і справді, у більшості додатків) в наші дні потрібне використання деяких підтримуючих DLL-файлів (наприклад, динамічно пов'язаних C ++ часу виконання або Direct3D). Іноді ці DLL не можуть легально поширюватись безпосередньо та мають бути встановлені через інсталяторів, що перерозподіляються. Наприклад, це стосувалося, наприклад, DLL-файлів D3DX. Важливо прочитати та зрозуміти умови ліцензування для ваших залежностей. Якщо у вас є така залежність, завершення її встановлення у власному інсталяторі може згладити процес для кінцевих користувачів.

  • Налагоджена сучасна програма не потребує підвищеного доступу (адміністратора) для запуску. Однак, може знадобитися такий доступ встановлено , і установник забезпечує досить простий спосіб зробити це , щоб користувачі більш-менш знайомі.

  • Аналогічно, деякі ігри захочуть генерувати записи реєстру для асоціації типів файлів тощо, як ви зазначили. Це також може вимагати піднесення.

  • Якщо гра покладається на встановлені загальносистемні версії деяких її залежностей (як зазначено вище), вона може скористатись оновленнями безпеки та виправленнями, виправленими для цих залежностей легше (ОС опікується ними, а не розробником гри). Але установка цих залежностей в системі мудра місцях також вимагає підвищення, і це може бути дуже просто помилитися, якщо ви попросите користувача (особливо не-технічного користувача) зробити це вручну.

  • Нарешті, не забувайте, як легко, як хтось, хто є користувачем технологій, недооцінити погляд на обчислювальну технологію, що не потребує технологій. Іноді "двічі клацнути, щоб відкрити" - єдиний навик, який ти можеш припустити (іноді навіть не так сильно); подвійне клацання інсталятора запускає програму, яку користувач зазвичай може «добре, добре, добре». Подвійне клацання .zip просто витягує його («ну куди пішла моя гра?») Або ще гірше, відкриває його як папку, де користувачі двічі клацнуть на .exe, і він не зможе запуститися правильно. Користувачі не завжди розуміють інсталяторів, але це ближче до парадигми, яку вони мають, як правило, ніж "розпакувати архів і поставити файли у" потрібне місце ".

Що стосується Steam ... Steam пропонує засоби для встановлення та видалення гри, але вона не робить для вас усе . Варто також зазначити, що не всі ігри розповсюджуються на Steam або виключно на Steam, тому покладаючись цілком на послуги встановлення Steam означатиме, що ці ігри в кінцевому підсумку дублюють роботу для не-Steam каналів розповсюдження.


3
Спасибі. Все має сенс, особливо останній пункт.
nikitablack

5
Крім того, інсталятори можуть бути використані для відновлення відсутніх файлів за допомогою параметра 'ремонт' на панелі керування -> Програми, якщо інсталятор підтримує її.
ps2goat

1
@ ps2goat Наприклад, кнопка "перевірити цілісність ігрового кешу", запропонована Steam.
Фарап

1
Варто відзначити , є можливість створити саморозпаковується, так що робить роботу з допомогою подвійного клацання і сліпо okaying
user1306322

4
Я хотів би додати, що однією з основних причин встановлення програми повинен бути інсталятор, щоб вона могла зареєструвати UNinstaller. Змушувати користувача вручну знаходити та видаляти файли, ярлики, конфігурації та інше, коли вони хочуть позбутися вашої програми - дуже погана практика.
хвилевід

5

Насправді, коли пара встановлює гру, все ще є інсталятор. Навколо існує досить багато пакетів для встановлення, і щоб створити інсталятор, ви використовуєте один із цих пакетів, а потім пишете сценарій встановлення, який повідомляє програмному забезпеченню для установки:

  • Переміщення файлів на локальний ПК.
  • Зареєструйте COM dlls.
  • Додайте записи реєстру, можливо, залежно від складного сценарію.
  • Запустіть будь-які алгоритми захисту від копіювання
  • Послуги реєстрації.
  • Встановити змінні середовища, можливо, залежно від складного сценарію.
  • Запустіть додаткові сторонні інсталятори (DirectX та .Net Frameworks - найбільш відомі приклади)
  • Встановіть ярлики на робочий стіл і меню "Пуск".
  • Зареєструйте процедуру видалення.

Рішення, що робити там, не приймає Steam, воно приймається за допомогою сценарію встановлення, який потрібно писати незалежно від того, яким інсталяторським пакетом ви користуєтесь, будь то WiX, NSIS або Steam.

У Unix є схожі кроки. Ви можете перемістити велику частину цієї логіки до першого запуску програми, але логіка все ще існує, ви просто розділите інсталятора на кілька частин і помістіть одну частину у свою гру замість інсталятора. Для цього є плюси і протипоказання, про які я би радий обговорити в іншому запитанні.


Чому грі потрібно зареєструвати послуги?
Медінок

8
@Medinoc Шахта ні. Але є такі речі, як анти-чіт-пакети або оманливі розробники. Або екзотичні ігри, які вимагають запустити гру, навіть якщо ви не граєте в неї.
Пітер

4
@Medinoc У минулому я явно перестав грати в гру, тому що в ній була запроваджена система протигрівання, яка вимагала встановлення власного сервісу.
Фарап

1

Питання неймовірно неоднозначне, але я думаю, що ОП запитує, чому ігри потрібно встановлювати та запускати через додаток «магазин» на робочому столі, а не просто самостійно.

Відповідь проста: дистриб'ютор може заробити більше грошей, відстежуючи те, що ви робите, а управління цифровими обмеженнями (DRM) є більш ефективним, коли виконується через віддалену роботу сервера. Шлюз магазину також служить вашим очам і клацає до їх продавців і полегшує додаткові покупки.

Якщо ви розповсюджуєте власну гру, немає необхідності в такому додатку магазину. Скористайтеся простим інсталятором і зробіть свою гру без DRM.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.