Как определить минимальные требования к оборудованию и программному обеспечению для моих игр?


72

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

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


3
Это всегда было для меня смутным, поэтому я подумал, что немного больше дискуссии по этому поводу могут быть хорошими.
Яри ​​Комппа

Отличный вопрос! Мне самому это интересно
Dream Lane

Ответы:


29

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


1
Именно так. Просто протестируйте на широком спектре недорогих машин.
Дэвид Макгроу

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

24

Один из моих любимых способов найти эту информацию - использовать виртуальные машины.

Видя, как вы можете настроить аппаратное обеспечение и память, которой разрешена виртуальная машина, вы можете протестировать широкий спектр настроек на своем ПК. Это также позволяет проводить тестирование в нескольких операционных системах.


7
Недостатком тестирования виртуальных машин является то, что вы, по сути, всегда используете одну и ту же тактовую частоту, а поддержка 3D все еще довольно ужасна. Они помогут охватить ваши базы, убедившись, что ваша игра работает на 32/64-битной основе и обладает широким выбором окон.
Ошибка 454

Я согласен, хотя виртуальная машина охватывает множество основ, у нее есть ограничения. Однако, судя по множеству ответов, я думаю, что у автора все будет в порядке ^ _ ^
Г. Дэвидс

1
@ Ошибка 454 Не с ESXi, как описано в моем ответе. На самом деле вы можете контролировать количество ресурсов процессора и памяти, которые вы хотите иметь в ОС
Рэй Дей,

@Ray Dey извините, не правда, ESXi предоставляет вам виртуальную SVGA, нет прямого доступа к вашей видеокарте: kb.vmware.com/kb/1011942
Ошибка 454

@ Ошибка 454 Я не был уверен в возможностях видео, поэтому я не стал комментировать. Я должен был прояснить это. Но спасибо за разъяснение этого для меня :)
Рэй Дей

16

Вы должны иметь некоторое приблизительное представление о minspec, просто разрабатывая свою игру - например, если вы сделали явный выбор использовать D3D10 +, вы, очевидно, отбрасываете машины XP. Так что это место для начала.

Найдите способ тестирования на как можно большем количестве машин, в идеале после реализации какого-либо способа автоматического сбора метрик производительности (поскольку пользователи могут быть ненадежными), а также неидентифицируемой информации о машине, на которой работает игра (процессоры), количество ядер, тип графического процессора, ОЗУ, ОС и т. д. - посмотрите, какие данные собирает обзор оборудования и программного обеспечения Steam ). Один из лучших способов сделать это - подарить свою игру друзьям и родственникам, как уже неоднократно предлагалось. Другой способ - обратиться к сообществу разработчиков хобби-игр и узнать, заинтересованы ли они в тестировании вашей игры. Я не уверен, что такая вещь была бы уместным вопросом здесь, в GDSE, но вы, вероятно, можете найти несколько человек в области чата, и вы также можете просмотреть / опубликовать на таких сайтах, как:

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

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


13

Проверьте:
- сколько оперативной памяти он использует
- сколько текстур + GPGPU памяти он использует
- минимальную частоту кадров / текущую частоту кадров * скорость процессора * SpeedUpFactorOf (минимальное количество ядер, которое вы можете использовать)
- аналогичное уравнение для единиц вычисления GPU
- какой уровень OpenGL / DirectX / CUDA ваш движок игры требует от графического адаптера
- сколько места на диске занимает установка + пользовательская информация ...

Также проверьте на различных конфигурациях оборудования.


2
Для большинства программ это соотношение между количеством ядер и частотой кадров не является линейным.
Ponkadoodle

2
Эти отношения также подразумевают, что игра ограничена процессором, что не всегда так.
Кромстер говорит, что поддерживает Монику

Я имел в виду общее направление - каждый программист должен проверять, какие технологии он использует и от каких ресурсов зависит. Я слегка исправил свой ответ.
Дэнни Варод

8

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

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

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

Выполните вход в свое приложение, чтобы получить точные сведения о FPS, времени запуска и т. Д. Предоставьте пользователю простую анкету, идеально встроенную в игру, где он может сообщить, действительно ли с ней все в порядке. И эти статистические данные и журналы могут быть легко отправлены по электронной почте / пересланы вам, чтобы вы позже могли их изучить. Чем больше статистики вы получите, тем лучше у вас будет ощущение, что ваш титул а) работает вообще в других системах и б) хорошо работает в других системах.


6

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

PS Просто для справки:

  • Требование к ЦП = запуск игры в минимальном разрешении или вообще без рендеринга на GPU (надеюсь, код рендеринга использует минимум ЦП)
  • Требование к GPU = запустить игру на мощном CPU с разрешением по умолчанию и посмотреть, какой GPU достаточен для выполнения задачи, также упомяните минимальную версию Direct3D / OpenGL
  • Требование к оперативной памяти = сколько оперативной памяти занимает игра (например, через TaskManager, с колонкой размера виртуальной машины, чтобы увидеть всю выделенную оперативную память, не только активную)
  • Звук = почти все подходит, просто упомянуть поддержку 2 / 5.1 каналов
  • Дисплей = указать минимальное разрешение для игры, где подходят игровые элементы
  • Сеть = некоторые массивные нагрузочные тесты и посмотреть, какая пропускная способность позволяет это (модем 56k, DSL, T1, LAN)
  • Клавиатура / мышь / планшет / джойстик и т.д ..

2
После получения этих цифр вы, конечно, захотите немного их увеличить, если ваша игра работает с низким использованием памяти.
Коммунистическая утка

2

Что касается требований, я бы взял на себя минимум вещей, необходимых для запуска вашей игры. Это будет зависеть от того, какие технологии вы используете для разработки своих игр.

Например, если вы используете определенные API-интерфейсы, такие как D3D9 или OpenGL 3.0, вам нужно будет указать это, поскольку определенные API-интерфейсы несовместимы с предыдущей версией.

Если вы собираете Windows с помощью .net framework, вам также нужно будет указать и это.

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

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

Надеюсь, что это поможет, и любой может поправить меня по любым причинам.


1

В зависимости от вашего целевого рынка (я полагаю, что это не ультрасовременный 3D, т. Е. Требуются дорогие видеокарты), я бы посмотрел на выбор более старых видеокарт из таких мест, как EBay, чтобы вы могли тестировать как на NVidia, так и на ATi. открытки.


1

Это всегда идеально, чтобы получить обратную связь сообщества, как уже упоминалось. Но где взять сообщество и людей, которые попытаются это проверить? Размещение информации на форумах, посвященных инди-играм, поможет, но проблема в том, чтобы получить реальную обратную связь.

Лишь несколько процентов людей, которые будут тестировать игру, напишут вам их точную конфигурацию и возникшие проблемы. Люди просто не делают этого. Гораздо лучший способ - включить какой-то эталонный тест для чтения конфигурации системы. Попросите пользователя запустить какой-нибудь однокнопочный тест. Предложите несколько цифр и раз (да, людям это нравится :-)), и пусть он сравнится с другими пользователями (с отправкой данных) ... Это поможет.

И тогда у вас есть база данных, полная конфигураций, разрешения экрана, времени рендеринга и сбойных функций ...

Если вы используете Windows, вызов DXdiag поможет вам прочитать конфигурацию пользователей. Но есть некоторые программы, которые вы можете использовать в других системах.


1

Как уже упоминалось, лучший способ - это получить бета-версию и собрать отзывы сообщества, чтобы получить надежные результаты.

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

Это, вероятно, было бы идеально для вас, так как у вас есть одна машина. Вы можете протестировать различные операционные системы, настройки оборудования (без графического оборудования, ESXi будет использовать все, что вы установили на своем компьютере).

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

Я знаю, что требования к оборудованию - это то, что вам нужно, и у ESXi есть очень приятная функция, которая позволяет ограничить объем оперативной памяти, использования процессора или дискового пространства операционной системой и потенциально может эмулировать, как ваша игра будет работать на любых ресурсах, начиная с низкого уровня. конец ЦП или нехватка памяти, для верхнего ЦП или использование памяти (ограничено вашим фактическим оборудованием).

Так что, если у вас был ПК с достаточно высокими характеристиками, вы можете установить на него ESXi, установить любую операционную систему, какую захотите, и поиграться с использованием процессора и памяти (я полагаю, вы даже можете изменить количество ядер, которые ОС использует также!)

Вот ссылка на него: http://www.vmware.com/products/vsphere-hypervisor/index.html

Лучшая вещь об этом? Это 100% бесплатно!


0

Запуск какого-либо инструмента профилирования будет одним из способов. Для программ на Java вы можете использовать VisualVM ( https://visualvm.github.io/ ). В Википедии перечислены некоторые другие. Смотрите: https://en.wikipedia.org/wiki/List_of_performance_analysis_tools . То же самое касается отладки памяти. Смотрите: https://en.wikipedia.org/wiki/Memory_debugger

В основном это означает, что вы проверяете вашу память и использование процессора через некоторый регулярный интервал времени во время запуска программы / игры. Затем вы вычисляете некоторый средний диапазон, и это то, что ему нужно в большинстве случаев. В идеале это должно быть автоматизировано (для согласованности и точности), и вы хотите исключить объемы этих ресурсов, которые используются, используются или используются другими процессами. Там могут быть некоторые приоритетные проблемы, скрывающие тот факт, что ваша программа может использовать больше памяти, если она была доступна. Т.е., если ОС была очень загружена, ваша программа могла бы немного пострадать от нехватки памяти.

В конечном итоге вы должны протестировать / тестировать / профиль, а затем проанализировать эти тесты. Хорошо иметь заранее определенный показатель производительности для сравнения. Например, в FPS вы могли бы хотеть 30+ FPS для играбельных / приятных игр. Исходя из этого, вы установили бы минимальную шкалу на / выше технических характеристик оборудования, необходимых для удовлетворения 30+ FPS в течение некоторого процента времени (пользователь всегда может запустить слишком много за раз и вызвать сбои и зависания).

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.