Действительно ли игры являются самым сложным / впечатляющие приложения? [закрытый]

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

Display.setAppName("appname");

Display display = new Display();
46
задан 3 revs, 3 users 100% 22 May 2010 в 22:23
поделиться

29 ответов

Короткий ответ: Нет.

ответ Long: Игры на самом деле не все, что это усложнило. Это зависит от того, что Вы говорите о том, когда Вы говорите "игры", но эти два претендента на большинство сложных игр были бы 3D играми и онлайн-играми (особенно в широком масштабе онлайн-игры).

сложность в 3D играх прибывает из взятия модели мира и рендеринга его в 3D, и иметь его ведут себя в "реалистическом" (в правилах мира) путь. Создание визуальной и слуховой среды от этого не на самом деле настолько трудно. Это - в значительной степени вся линейная алгебра и является зрелым месторождением информатики.

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

Теперь некоторые игровые программисты сделали реальные инновации в этом поле, которые имеют (справедливо) earnt их много денег. John Carmack (идентификационное программное обеспечение: Гибель и Quake), и (Нереальный) Tim Sweeney приходят на ум.

реальная стоимость однако в создании игр является содержанием. Просто пойдите посмотреть на кредиты на современного кадр/с (шутер от первого лица) игра, и Вы будете обычно видеть всего 6 программистов, но будет 30-50 + художники. Содержание не сложно (с точки зрения программного обеспечения). Это является просто трудоемким.

Что касается онлайн-игр, я помню, когда Everquest вышел, и люди бредили о том, как трудно это было. Bzzzt, неправильно. Для тех (как я), кто был знаком с разработкой ГРЯЗЕЙ (mutli-пользовательские темницы) в течение 90-х (и возможно 80-е), архитектурно сервер Everquest не был сложным.

То же идет для World of Warcraft или любой из этих других игр.

, Если Вы хотите говорить о комплексе, как насчет операционной системы Windows XP эти вещи, на которых работают, который имеет предполагаемое 40 миллионов строк кода ? Бог знает, сколько имеет Vista. Или что относительно ядра Linux?

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

49
ответ дан 4 revs, 4 users 89% 26 November 2019 в 20:00
поделиться

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

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

Чистая массивность или в данных или в строках кода могла бы быть впечатляющей, но любой данный набор метки там будет вскоре превзойден. Сложность реализации может быть экстремальным значением (например, бесчисленное взаимодействие всех API, которые Microsoft поместила в Windows за эти годы), но нет никакой базовой потребности во всей той сложности. Каковы программы, которые имеют базовую, неизбежную сложность?

-1
ответ дан mpez0 26 November 2019 в 20:00
поделиться

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

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

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

0
ответ дан epatel 26 November 2019 в 20:00
поделиться

Существует много программного обеспечения управления рисками там (и другое программное обеспечение на основе статистического анализа), который является более впечатляющим мне. Одна вещь Its создать поддельный мир (впечатляющий в собственном праве it), но попытаться предсказать, что реальный мир собирается сделать, является намного более трудной.

0
ответ дан AlexCuse 26 November 2019 в 20:00
поделиться

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

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

0
ответ дан Bill Martin 26 November 2019 в 20:00
поделиться

При включении процесса разработки игры, конечно, там.

0
ответ дан MSN 26 November 2019 в 20:00
поделиться

Один пример: однажды Outlook взаимодействовал с 10-ми миллиона строк кода. Никакая нормальная игра dev не получила бы в какой-либо степени это, поскольку это никогда не будет работать достаточно быстро.

0
ответ дан BCS 26 November 2019 в 20:00
поделиться

Нет.

, Если бы мы рассматриваем все программное обеспечение как "приложения", я сказал бы, что операционные системы (для ОС, не приложения, но, ну, в общем, системы)

0
ответ дан OscarRyz 26 November 2019 в 20:00
поделиться

Если бы Вы включаете крупные онлайн-игры, я обсудил бы да. Они должны были бы использовать все, в чем крупномасштабная система будет нуждаться (распределенная система, координируя те системы, большие объемы данных, транзакции/надежность, чтобы гарантировать, чтобы материально-технические ресурсы остались корректными, и т.д.), все под очень трудными требованиями к производительности (КАНУН Онлайн является главным, о котором я думаю).

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

0
ответ дан Richard Levasseur 26 November 2019 в 20:00
поделиться

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

  • 3D Studio МАКС
  • программное обеспечение раньше моделировало физику, и катастрофические отказы для автомобильного программного обеспечения Meteorological дизайна
  • раньше моделировали погоду и создавали прогнозы
  • Высокопроизводительное программное обеспечение OCR
1
ответ дан Joshua Carmody 26 November 2019 в 20:00
поделиться

Это зависит от того, что Вы подразумеваете под сложностью.

С точки зрения алгоритма, и с низкоуровневой точки зрения оптимизации, и конечно с математической точки зрения, затем конечно, игры более сложны, чем VS или операционная система.

, Хотя с точки зрения размера кода, со взаимодействия многой другой точки зрения компонентов, и от потребности поддерживать (и отладка) множество перестановок конфигураций, затем я сказал бы, что ОС более сложна.

1
ответ дан Himadri Choudhury 26 November 2019 в 20:00
поделиться

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

, Например, Элита на Микро BBC переполнила 3D боевую игру пространства, моделирование рынка и карту целой вселенной в 32 КБ. Позже та же игра была переполнена на NES. Этот подвиг включает оптимизированное рукой кодирование ассемблера, в котором пребывание в течение дня для бритья байта считали стоящим.

можно найти столь же впечатляющие работы над всеми платформами на 8 и 16 битов. Также посмотрите на звуковые и графические демонстрации от сцены Amiga.

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

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

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

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

Так, ищите другие места, где аппаратные средства ограничены. Ровер Марса является хорошим примером.

2
ответ дан slim 26 November 2019 в 20:00
поделиться

Нет, игры не весь настолько особенные. Конечно, как любой другой большой проект программирования, существует огромное количество конфликтующих целей и много компромиссов для создания, но в конце, игры имеют преимущество, что существуют очень немногие требования . Если Вы пишете базу данных, то она должна выполнять свойства ACID. Это не должно терять данные, неважно, когда и как Вы махнули рукой на него. Если Вы пишете ОС, что-то подобное применяется, это должна быть скала, стабильная независимо от того, что Вы делаете к нему. Игра также должна соответствовать большому количеству ожиданий, но очень немногие из них абсолютно необходимы. Нормально фальсифицировать большинство графических эффектов. Нормально фальсифицировать мировое моделирование в областях, которые не наблюдает игрок.

И это не конец света, если Ваша игра иногда отказывает также. Большие игры AAA сложны, да, но они не существующие наиболее сложные приложения. Не безусловно.

Разработка игр покрывает широкий спектр наборов навыков и технологии, уверенной, но они также имеют много дрейфа и позволяются пойти на компромисс на большинстве требований. Хорошо, если мы можем только достигнуть этого framerate на тех аппаратных средствах. Хорошо, если мы должны отключить мягкие тени для улучшения производительности. Все в порядке, что AI фальсифицируется на основе, "что выглядит убедительным".

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

3
ответ дан jalf 26 November 2019 в 20:00
поделиться

Я не знаю, как Вы хотите принять решение измерить 'сложность' или 'впечатляющий', но некоторое программное обеспечение, которое Вы можете иметь на своем рабочем столе (как Office, или Visual Studio), вероятно, более 'сложно', чем какая-либо видеоигра, большинством мер.

(я думаю, VS в эти дни похож на 50 миллионов строк кода, хотя я - не обязательно надежный ресурс здесь.)

3
ответ дан Brian 26 November 2019 в 20:00
поделиться

Я уже не не соглашаюсь ни с одним из ответов здесь, но я нахожу это очень интересным что, когда люди думают о "сложности игр", что думают о GTA или MMORGs. Я думаю о движении и Шахматах.

Популярные игры могут быть в вычислительном отношении интенсивными с большой графикой, но это не ТВЕРДО по сути. Пойдите, с другой стороны, в вычислительном отношении тяжелая проблема.

кроме того, при взятии технического определения "сложности", тогда это НЕ субъективный вопрос.

5
ответ дан Brian Postow 26 November 2019 в 20:00
поделиться

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

  1. Исправляют ошибку.
  2. Дают пользователю обходное решение, если существует другой способ выполнить то же самое.
  3. Просто оставляют ошибку, как, поставка с ним, и не волнуйтесь об этом.

С большинством игр, особенно что-либо, что является многопользовательским, Вы часто, не имеет опции № 2 или № 3. Игроки ищут способы использовать игры, поэтому если Вы уезжаете, ошибка в этом может быть использована в своих интересах, это будет. Таким образом допуск для ошибок в играх на самом деле намного ниже, чем в большей части программного обеспечения бизнеса/производительности из-за оскорбительного потенциала.

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

Теперь... по сравнению с вещами как программное обеспечение полета Управления воздушным движением или Аэробуса, игры не имеют нигде подобных life-on-the-line ограничений... это - целый другой класс проблем.

5
ответ дан ryan.scott 26 November 2019 в 20:00
поделиться

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

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

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

6
ответ дан Adam Hawes 26 November 2019 в 20:00
поделиться

Смотрите на некоторые приложения физики, разработанные Министерство энергетики :

существует приложения там, которые делают:

Это некоторые наиболее в вычислительном отношении интенсивные проблемы, которые существуют, и миллионы часов ЦП посвящаются им каждый год в различный супервычисления центры . Это очень параллельные коды и понимание физики и как отобразиться, это эффективно к сетям и процессорам (, например, с [1 110] MPI) чрезвычайно сложно.

Машины с миллионами ядер , как ожидают, к 2012 выполнят некоторые из этих вещей.

7
ответ дан 3 revs 26 November 2019 в 20:00
поделиться

Я сказал бы определенное нет.

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

С вычислительной точки зрения, игры не то, что интересны также. Современные игры (например, Осадки 3, GTA4), конечно, кажутся удивительными из-за своей "открытой мировой" и чрезвычайно длинной истории, но это не имеет никакого отношения к технологии, а скорее со стоимостью продукции. Популярные игры теперь требуют большего броска и инвестиций, чем некоторые голливудские фильмы. Настолько уверенный, у Вас есть модель Нью-Йорка, а не блок, но и что?

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

Наконец, я сказал бы, что за исключением ультрасовременных алгоритмов, которые проверяются с помощью игр, таких как шахматы, так как они служат сравнительными тестами, игра, AI не усовершенствованный. Снова, у вооруженных сил (и финансовые компании) есть намного более умные приложения.

7
ответ дан Uri 26 November 2019 в 20:00
поделиться

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

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

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

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

10
ответ дан 2 revs 26 November 2019 в 20:00
поделиться

Я работал немного над кодом для одной из sattelite наземных станций НАСА. Задание системы состоит в том, чтобы в электронном виде отслеживать и управлять всеми спутниками НАСА. Это не могло бы походить на много, но если система отказывает, в то время как Вы посреди управления спутником, можно отправить миллиарды долларов налогоплательщика, вращающихся на солнце. Таким образом, отказоустойчивость и дублирование, встроенное в ту установку, вызвали бы у Снежной бури зависть. IIRC, было где-нибудь в окружении 50 серверов, более важные из которых имеют горячее резервирование, готовое вступать во владение в меньше, чем секунда, если основное устройство перестало работать. Каждая из тех систем в свою очередь имеет избыточную пару систем, готовых вступать во владение если оба сбой. Я должен все же видеть любую игру, столь же сложную (или впечатляющий ее собственным способом) как это.

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

alt text
(источник: nasa.gov )

"Белый Комплекс Песков" , физически расположился в далеком южном Нью-Мексико, около Лос Cruces. Как Вы видите в его блоке, существует три всех клеммы заземления как та, которую я описал, все объединились в сеть вместе и к sattelites. Плюс существует два более удаленных (я не уверен, где они).

25
ответ дан 5 revs, 3 users 85% 26 November 2019 в 20:00
поделиться

Системы управления воздушным движением отказоустойчивы, безопасность критическая, высокая доступность, и распределенный. Нет никакого времени простоя никогда, система должна выполнить 24 часа в день, 365 дней в год, даже во время обновлений системы. Нет действительно ничего, что является ужасно в вычислительном отношении комплекс (никакой AI, например, потому что Вы хотите, чтобы система была предсказуема), но с системной точки зрения очень еще нет, который должен работать на том уровне. Даже программное обеспечение космической миссии только должно работать, пока миссия делает.

42
ответ дан Greg Hewgill 26 November 2019 в 20:00
поделиться

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

С сотнями тысяч рейсов, направлений и вариантов цен просто невероятно, что он может обслуживать запросы в реальном времени практически по всему миру.

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

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

0
ответ дан 26 November 2019 в 20:00
поделиться

Игры - самые сложные / впечатляющие приложения?

Сложные? Нет

Впечатляет? Смотря как. Есть много впечатляющих видов.

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

Что касается масштабируемости, я бы сказал, Google или Amazon.

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

0
ответ дан 26 November 2019 в 20:00
поделиться

Интересно, что еще никто не упомянул крепость гномов :)

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

3
ответ дан 26 November 2019 в 20:00
поделиться

Краткий ответ: Да. Хотя я отвечаю на этот вопрос: «Сегодня я думал о том, какое может быть самым сложным / впечатляющим приложением из когда-либо написанных». а не тот самый сложный / впечатляющий.

Представьте, что вы пытаетесь разработать игру, которая моделировала бы всю вселенную и позволяла вам играть в нее с [x] сверхспособностями. Фактически, вы можете превратить игру в симуляцию ЛЮБОЙ сложности, вплоть до всей известной физики, а затем добавить в нее нефизику! Видеоигры по самой своей природе могут быть настолько простыми или сложными, насколько вы хотите.

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

0
ответ дан 26 November 2019 в 20:00
поделиться

Что касается сложного и "блестящего" кода, я бы сказал, что вам стоит обратить внимание на премию Loebner(sp?). Это конкурс, который проводится каждый раз за разработку разговорной машины Тьюринга. Это очень сложный и интересный проект, цель которого - написать код, способный вести беседу с реальным человеком, не будучи распознанным как машина.

Здесь много уровней: лингвистика, память, грамматика и синтаксис, самопрограммирование. По сути, это мини-ИИ, и если бы я выиграл в лото, то хотел бы думать, что потратил бы много времени на работу над ним.

Кого я обманываю, я бы провел весь день в аквапарке, напившись. Но все это время я бы думал об этом.

0
ответ дан 26 November 2019 в 20:00
поделиться

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

0
ответ дан 26 November 2019 в 20:00
поделиться

Да, они сложные. Да, они очень впечатляющие.

Но есть системы, сравнимые с играми. Менеджеры баз данных очень сложные и впечатляющие. Mathematica - еще одна замечательная часть программного обеспечения. Примеров много. Определенно, некоторые игры находятся на вершине рейтинга.

0
ответ дан 26 November 2019 в 20:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: