Какие игры написаны на c: Языки программирования, на которых были написаны популярные компьютерные игры — пять вдохновляющих примеров

Содержание

Языки программирования, на которых были написаны популярные компьютерные игры — пять вдохновляющих примеров

Компьютерные игры — это большой бизнес. Суммарная выручка индустрии видеоигр в США достигла 23,5 миллиардов долларов в прошлом году, что на 5% больше, чем в 2014. За каждой великой игрой стоят программисты, которые вносят существенный вклад в конечный продукт. Конечно, для создания разных игр используются разные языки программирования. В данной статье мы представим вам несколько самых популярных. 

Язык ассемблера

Многие игры для Sega и Dendy были написаны на различных диалектах языка ассемблера, включая Super Mario Brothers.

Игры серии Super Mario были проданы тиражом более 70 миллионов копий. IGN назвала третью часть Super Mario Brothers самой великой игрой всех времён.

Язык Си

Язык Си до сих пор остаётся одним из самых популярных языков программирования из-за своей относительной простоты и чёткой структуры. Компания id Software использовала Си для создания игры Doom, впервые выпущенной в 1993 году.

Doom была названа самой влиятельной FPS-игрой, став прообразом многих других игр от первого лица и 3D-игр в общем. По приблизительным оценкам Doom набрал около 10 миллионов установок в 1995 году.

С++

Язык С++ использовался для создания многих современных операционных систем, софта, игр и игровых движков. Благодаря его гибкости, игры можно относительно несложно портировать с ПК на консоли и в обратном направлении. Одной из самых популярных игр, написанных на С++, является World of Warcraft.

С момента запуска было продано 14 миллионов копий. 48% подписчиков проживают в азиатском регионе, 22% из США. На вики по WoW содержится более 100 000 статей.

C#

Разработанный компанией Microsoft в 2000 году, С# стал довольно популярен среди разработчиков игр. Движок Unity, широко используемый при создании игр для ПК, консолей и мобильных устройств, написан преимущественно на С#. Одна из самых заметных игр в данном классе — Angry Birds.

Angry Birds находится на третьем месте по популярности среди всех игры для iOS всех времён, сразу за Candy Crush Saga и Fruit Ninja. Стоимость разработки первой версии игры составила порядка $140 000, что является очень скромным числом в своём роде. Четыре человека работали над игрой суммарно порядка восьми месяцев.

Java

Java является в некотором роде родственником C#. Они развиваются под влиянием друг друга, оба имеют сборщики мусора и объектно-ориентированы. Но Java изначально позиционируется как платформонезависимый язык, что означает, что он (по задумке) работает абсолютно одинаково на всех устройствах. Истории успешных игр, написанных на Java, включают в себя RuneScape и Minecraft.

Альфа-версия игры была создана всего за 6 дней. Minecraft — вторая самая продаваемая игра в мире. Изначально она называлась «Cave Game».


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

Источник: online.concordia.edu

Языки программирования для создания игр


Несмотря на постоянное развитие IT-индустрии, создание современных приложений и игр невозможно без программирования. Если раньше выбрать было особенно не из чего, то сейчас у программистов появился такой шанс. Да, вы можете сказать, что для разработки игр достаточно мощного конструктора (Unity или Unreal Engine). Однако на практике необходимость написания собственного кода была и остается важной частью для создания качественного продукта.

В этой статье преподаватели Высшей школы бизнес-информатики НИУ ВШЭ, авторы образовательных программ “Менеджмент игровых проектов” и “Основы создания игр”, расскажут про актуальные языки программирования, которые используются в разработке современных проектов для ПК, консолей и мобильных устройств.



Популярные языки для создания игр в GameDev

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

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


C++

  • Отличается многообразием и функциональностью, позволяет проводить операции по объектно-ориентированному, процедурному и обобщенному программированию.
  • Основное преимущество С++ — обширная стандартная библиотека, содержащая такие функции, как ввод/вывод и многопоточность и обеспечивающая возможность удобной алгоритмизации и контейнирования.
  • C++ одинаково эффективно применяется на самых различных платформах и успешно комбинируется с другими средствами создания игровых программ.
  • Изучение С++ — процесс достаточно сложный и требующий от начинающих программистов больших усилий.

C#

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

Java

  • Язык используется для проработки логики и механики мобильных игр, особенно для продуктов, предназначенных для Android.
  • Популярность этого языка обусловлена его многопоточностью и возможностью беспрепятственного взаимодействия с памятью мобильных устройств.
  • Отличается хорошим взаимодействием с движками и программами графического и звукового оформления.
  • На Java часто реализуют серверную структуру для многопользовательских игр.



Какой язык выбрать

Каждый языка хорош в определенных задачах. При создании игры профессиональные программисты редко ограничиваются одним вариантом. Тем не менее, самыми «ходовыми» в геймдеве языками программирования являются C# и Java.

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

Кроме того, в процессе создания игр могут быть использованы и другие языки программирования. Например, Python и PHP. Их часто используют для реализации отдельных элементов игрового кода.



Где учиться программированию в геймдеве

ВШБИ НИУ ВШЭ приглашает всех желающих пройти обучение по программе  “Основы создания игр” и “Менеджмент игровых проектов”. Во время лекционных и практических занятий вы познакомитесь со всеми аспектами разработки, сможете создать с нуля свою игру и закрепить свои навыки написания программ с использованием самых популярных языков в индустрии компьютерных развлечений.

Еще больше информации вы найдете на канале МИП ВШБИ на YouTube. Подписывайтесь и не пропускайте свежие записи с открытых мероприятий ВШБИ НИУ ВШЭ.



← Назад к списку

Языки программирования для создания компьютерных игр

Языки программирования для создания компьютерных игр

Компьютерные игры – одно из самых динамично развивающихся направлений в сфере IT. Только в США выручка от продажи компьютерных игр составляет за год около 30 миллиардов долларов. Это отражается и на зарплате разработчиков видеоигр, поэтому изучение языков, на которых пишутся игры – хороший шанс найти высокооплачиваемую работу. В своей заметке мы расскажем о самых популярных языках программирования для создания компьютерных игр.

Устаревшие языки для устаревших игр

Первые видеоигры создавались ещё не для персональных компьютеров, а для игровых приставок. Например, легендарная игра Марио была написана на языке программирования Ассемблер. Этот язык использовался и в десятках других игр, продающихся десятками миллионов копий. Первый суперпопулярный шутер от первого лица Doom, появившийся в 1993 году, был создан на читающимся классическим языке программирования Си. Игра стала законодателем мод в своем жанре. А Си и до сих пор широко используется в программировании, поскольку отличается простотой и четкой структурированностью. Хотя для современных игр программирования разработчики выбирают уже другие, более современные, языки.

На чем пишут игры сейчас

С++

Язык С++ оказался настолько универсальным, что его используют в самых различных направлениях программирования. Создатели игр также не обошли его стороной, написав на нем несколько удачных игровых движков. Одним из ключевых преимуществ этого языка является гибкость и кроссплатформенность, когда игру под персональный компьютер легко адаптировать под игровую консоль. Именно на этом языке написана популярнейшая MMO RPG World of WarCraft, которая собрала 20 миллионов только официальных подписчиков. С++ считается относительно сложным языком для разработчиков видеоигр, однако его широко используют крупные разработчики. На нем написаны движки Cry Engine (шутер Crysis) и Havok (рпг-игра Dark Souls). Если у вас уже есть опыт в программировании, хотя бы небольшой, добро пожаловать на курсы C++ в IT Star. Полученный комплекс практических знаний позволит без труда создавать игры на этом языке.

C#
Мы говорим о языке программирования C#, но подразумеваем, в первую очередь, игровой движок Unity. Его используют для разработки игр под консоли и мобильные устройства. А ещё с помощью Unity создаются игры в социальных сетях, как, например, Вконтакте. Вы тоже наверняка сталкивались с изданиями на C#, если метали птиц в Angry Birds – игре, входящей в топ-3 по популярности среди мобильный игровых приложений. Мы рекомендуем C# для новичков в программировании, так как компания Microsoft, создавшая этот язык, написала немало качественных учебников и сред разработки для него.

Java
Java развивается параллельно с C# и имеет ряд общих черт с этим языком. Однако имеет одну ключевую особенность – игры на Java почти не адаптируются под конкретные платформы. Конечно, эта особенность условна, поскольку игры приходится дорабатывать отдельно для ПК, консолей и мобильных устройств. Но это не мешает создавать настоящие хиты на Java, к каковым без сомнения можно отнести MineCraft с открытым исходным кодом.

В академии IT Star также действуют курсы Java Developer (базовый уровень и продвинутый уровень). Они позволят вам сделать первые шаги в освоении этого универсального языка программирования. Некоторые наши выпускники уже успешно трудятся в IT-компаниях, разрабатывающих компьютерные игры. Если вы также хотите стать востребованным специалистом – приходите в IT Star!

Теперь курсы программирования доступны и в формате онлайн-обучения

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

Языки C и C++. Где их используют и зачем? | by Андрей Шагин | NOP::Nuances of Programming

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

1. Операционные системы

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

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

Вот почему он идеален для разработки операционных систем.

Любая операционная система в первую очередь должна быстро запускаться и эффективно управлять системными ресурсами. Например, Linux, Microsoft Windows, Mac OS полностью написаны на языке C, а Android и iOS — частично.

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

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

2. Программирование встроенных систем

Язык программирования C просто необходим при проектировании встроенных систем.

Почему?

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

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

Вот почему беспилотные автомобили, умные часы, сенсоры и устройства, использующие технологию Интернета вещей (например, кофемашины), имеют встроенное ПО, целиком написанное на C или C++. В связанных системах C позволяет работать непосредственно с ресурсами памяти и править любую часть кода.

3. Разработка игр и игрового движка

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

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

Например, Counter-Strike, StarCraft: Brood War, Diablo I, World of Warcraft — все эти игры написаны на C++. Не говоря уже о консолях Xbox и PlayStation, в основе которых лежит программирование C++.

В ядре игрового движка Unity — самого популярного движка для создания видеоигр под несколько операционных систем одновременно — также использовался C++.

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

4. Разработка настольных и кроссплатформенных приложений

C++ также можно использовать для создания настольных приложений. Всё благодаря превосходным кроссплатформенным средствам разработки (иногда называемым фреймворками), таким как Qt. Оно позволяет нацелиться на Windows, Linux, macOS, Android и встроенные системы — все c единой кодовой базой. Так что разработка приложений с помощью Qt оказывается отличным решением для тех, кто хочет сэкономить на времени и стоимости программирования.

Стоит упомянуть и о библиотеке SDL, нашпигованной функциями, позволяющими создавать приложения одновременно для Windows, Linux, Android, MacOS и iOS.

Кстати, Photoshop, Illustrator и Adobe Premiere целиком написаны на C++.

Какие ещё есть приложения?

В Facebook перевели часть кода из PHP на язык C++, чтобы сократить затраты электроэнергии в расчёте на одного пользователя. Возможно, облачные системы хранения, базы данных, драйверы устройств и другие виды ПО тоже используют C++.

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

Принимая во внимание всё вышесказанное, будем считать, что языки C/C++ вполне годятся для:

  1. разработки операционных систем,
  2. программирования встроенных систем,
  3. разработки игр,
  4. разработки баз данных,
  5. разработки настольных и кроссплатформенных приложений (с помощью средств C++).

Также можно отметить, что в проектах, имеющих дело со сложными типами данных, разработка ПО с использованием C++ предотвращает перегрузку данными и похожие проблемы.

Так что, если вы спросите:

Почему мы до сих пор используем C/C++?

Есть короткий ответ: C и C++ гибкие, очень быстрые и эффективные. К тому же они ближе к машинному коду, чем любой другой язык программирования. Именно поэтому в некоторых случаях эти языки просто незаменимы.

Что интересно, C — второй язык по популярности, незначительно уступающий Java, согласно рейтингу Tiobe.

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

А вы уже в предвкушении будущего?

Перевод статьи Dana Kozubska: Why and where should you still use C/C++ languages?

7 лучших игр, написанных на Unity

Здравствуйте, дорогие читатели блога ITVDN!

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

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

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

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

Итак, игровой движок — это одновременно инструментарий для создания игры и ее базовое программное обеспечение; несколько подсистем, которые должны работать вместе, чтобы на выходе получить игру. В эти подсистемы входят движки рендеринга, анимации, физики, звука, система скриптов, искусственный интеллект, сетевой код и множество других составляющих. Одним из самых популярных движков является Unity (читается как “юнити”) — кроссплатформенный продукт компании Unity Technologies, позволяющий создавать приложения более чем на 25 различных платформах. Этот перечень включает персональные компьютеры (Windows, macOS, Linux), мобильные устройства (Android, iOS), консоли (PlayStation, Xbox, Switch и т. д.), VR (Virtual Reality), а также другие устройства.  

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

Давайте рассмотрим ТОП-7 лучших игр на Unity, чтобы убедиться в силе и способностях данного движка.

 

Hearthstone: Heroes of Warcraft

 

 

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

До выхода Hearthstone понятие “карточная игра” в цифровой среде воспринималось довольно холодно. Многостраничный перечень правил, масса перегруженных механик, общая недружелюбность к игроку — это наследие предыдущих экземпляров жанра, сталкиваться с которым среднестатистическому пользователю не очень-то и хотелось. Именно поэтому релиз альфа-версии Hearthstone всколыхнул игровое сообщество, вызвав большое внимание к гейм-продукту. Его относительная простота и увлекательность не только вернула надежду игрокам-ветеранам, но и привела новую аудиторию. Можно сказать, что у жанра карточных игр открылось второе дыхание.

Hearthstone: Heroes of Warcraft неоднократно награждалась премиями в различных номинациях, в том числе: “лучшая мобильная игра”, “лучшая стратегическая игра”, “лучшая многопользовательская онлайн-игра”. Более того, она стала одной из ведущих киберспортивных дисциплин в своем жанре.

 

Cities Skylines

 

 

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

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

 

Cuphead

 

 

Компьютерная игра, которая сочетает в себе в жанры run and gun и shoot ‘em up. Ее главной особенностью является визуальная составляющая. Работая над стилистикой Cuphead, канадские инди-разработчики вдохновлялись работами аниматоров 1930-х годов, вследствии чего графически игра очень сильно отличается от любых других.

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

Однако, Cuphead приглянулась игрокам не только благодаря рисованной анимации. За мультяшной эстетикой прячется безумный хардкор — платформер просто создан для того, чтобы превращать головы геймеров в кипящий чайник. Малое количество жизней и разнообразность испытаний/боссов расставят все точки над “i”. Даже пригласив в игру своего друга, не надейтесь на уступки со стороны игры.  

 

Pillars of Eternity

 

 

Изометрическая партийная ролевая игра, исповедующая принципы “старой школы” и являющаяся духовной наследницей громких ролевых игр прошлого: Baldur’s Gate, Planescape: Torment и Icewind Dale. Pillars of Eternity не только ничем не уступает своим предшественникам из двухтысячных, но и привносит удобную современную механику. Разработана компанией Obsidian Entertainment, на счету у которой такие небезызвестные проекты, как: Fallout: New Vegas, Neverwinter Nights 2, Star Wars: Knights of the Old Republic II, The Outer Worlds и другие. Все необходимые денежные затраты на создание игры были покрыты при помощи краудфандинговой платформы Kickstarter — в концепцию игры поверили верные поклонники творчества Обсидиан и фанаты ролевых игр.

При помощи Unity разработчикам удалось создать детализированный и проработанный мир, который высоко оценили как критики, так и геймеры. Движок позволил бережно перенести старые механики на новую платформу, при этом отшлифовав все острые углы, которые присутствовали в играх-собратьях конца девяностых и начала нулевых. Конечно, Pillars of Eternity не идеальна, однако она доказала, что классные ролевые игры со старым духом и одновременно современной оболочкой могут существовать и быть хорошим примером для последующих экземпляров данного жанра.

 

Pokemon Go

 

 

Мобильная игра, которая в 2016 году прогремела на весь мир. Ей посвящались новостные репортажи во многих странах, включая США, Россию, Украину и т. д. Платформа Unity обеспечила выход Pokemon Go как под Андроид, так и под iOS.  Игре хватило всего лишь одной недели, чтобы стать всемирно известной.

Pokemon Go — это ролевая многопользовательская игра для мобильных устройств, использующая технологию дополненной реальности, которая “призывает” виртуальных покемонов на определенные участки реальной местности. Чтобы увидеть данное создание и поймать его, необходимо зайти в игру и направить камеру своего смартфона/планшета на предполагаемое место присутствия зверька. Сами покемоны перемещаются по игровой карте в то время, как вы передвигаетесь в реальном мире. Таким образом игра не только демонстрирует достижения современных технологий дополненной реальности, но и мотивирует своих игроков на поддержание физической активности.

 

Subnautica

 

 

Игра на движке Unity, разработанная инди-студией Unknown Worlds Entertainment в жанре приключенческой игры и симулятора выживания с открытым миром. Очень тепло принята как критиками, так и игроками. На Metacritic — популярном сервисе, который собирает рецензии к различным музыкальным альбомам, играм, фильмам, ТВ-шоу, DVD-дискам и мобильным играм — средняя оценка ПК-версии от критиков 87 из 100 (39 изданий выразило свое мнение), а от пользователей — 8.5 из 10 (806 игроков высказали свое мнение).

Геймплей игры построен вокруг выживания на красочной океанической планете среди множества недружелюбных существ, куда герой попал в результате крушения космического корабля. Для разнообразия контента и придания ему большего количества механик, в игру была введена удобная система крафта. Не забыли разработчики и о сюжетной составляющей, которая способна если не удивить, то удерживать игрока в интриге до самой развязки. Однако, главной особенностью Subnautica было именно исследование подводного мира, наполненного тайнами и опасностями. Посмотрите обзоры на неё и вы узнаете, насколько комплексную, многогранную и при этом красивую игру можно создать с использованием Unity.

 

Kerbal Space Program

 

 

Интересный проект на Unity, который представляет собой космический симулятор. Жанр игры — песочница, в которой вам следует соорудить свой космодром, построить ракету и запустить ее в космос. Выбираете цели, собираете летающий аппарат необходимой конфигурации, взлетаете, отправляетесь в какую-то интересную точку космоса, совершаете свои исследования — и обратно домой.  

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

 

Итоги

 

Как вы заметили, игровой движок Unity демонстрирует прекрасные показатели в создании абсолютно разнополярных гейм-продуктов. Градостроительные симуляторы, дополненная реальность на вашем смартфоне/планшете, хардкорные игры в стиле ретро-мультиков, подводные приключенческие песочницы, симуляторы с большим акцентом на физику и смекалку, карточные игры и изометрические ролевые стратегии… Это далеко не полный перечень жанров, в котором Unity себя отлично зарекомендовал. Чтобы создавать увлекательные и затягивающие игры, необязательно обладать знаниями С/С++.  

Если вас интересует гейм индустрия и вы хотите связать свою профессиональную деятельность с разработкой игр, предлагаем вам освоить специальность Unity/Game Developer, которая доступна на ITVDN в формате записанных видео уроков. Обязательная программа обучения включает следующие видео курсы:

 

 

Помимо этого, программа содержит прикладные видео курсы, в которых автор демонстрирует создание игр, аналогичных таким общеизвестным, как: Need For Speed, Pokemon Go, Counter Strike, Agar.io и т. д. Также, в курсе уделяется внимание созданию игр VR (виртуальная реальность) и модификации уже существующих (как, например, GTA V).

Для того, чтобы создавать уникальные видеоигры с хорошо проработанным геймплеем, необходимо изучить язык программирования C#. Безусловно, разрабатывать игры можно, зная лишь Unity, однако, чтобы внести что-то свое в игру, потребуется C#. Этот язык является одним из самых легких и удобных в изучении для новичков. ITVDN имеет небольшой “чит” для тех, кто хочет его освоить — видео курсы от Александра Шевчука, эксперта в области построения архитектуры информационных систем, бизнес-анализа и управления IT-проектами. Данный автор является одним из самых любимых среди наших студентов. Его манере преподавания сложно найти равных, так же, как и уровню доходчивости записанных ним уроков.

Недавно Александр Шевчук выпустил новый видео курс “Процедурное программирование на языке C#”, который является обновлением курса “С# Стартовый”. Выбирая обучение у данного автора, вы постигнете дзен C# в максимально понятной и мотивирующей форме, которую сложно отыскать в интернет-пространстве. Совместите полученные знания с видео курсами специальности Unity/Game Developer и получите солидный инструментарий разработки видеоигр, с которым сможете покорять любые вершины игростроя. 

 

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

Желаем успехов и неиссякаемой мотивации на пути к вашим целям!

Оставайтесь с ITVDN!

Как были написаны графические DOS-игры?



Мне всегда было интересно, как были написаны такие игры , как Sky Roads , Turbo , Aladdin , Duke Nukem, Commander Keen 6 . Я не могу найти хороший источник. Если я напишу консольное приложение в C#, C++, Java и т. д.. Он всегда отображается и остается неподвижным. И это всегда текст.

  1. Как они создавали графику?
  2. Были ли там какие-нибудь библиотеки?
  3. Какие языки они использовали?

Любой хороший источник будет оценен по достоинству.

graphics dos
Поделиться Источник Mustafa     18 сентября 2011 в 09:38

4 ответа


  • Почему (почти) все онлайн-игры написаны на ActionScript (Flash), а не на Java?

    Я очень люблю хорошие игры защитника (например, Gemcraft, Protector: reclaiming the throne), поскольку они могут быть интеллектуально довольно сложными; это похоже на игру в шахматы, но немного меньше мышления и немного больше действия. К сожалению, хороших книг не так уж много, и я подумал, что…

  • Добавление кнопок в DOS

    Как я могу добавить button в c++ для DOS можно взять байк на прокат? Тот, где, когда вы нажимаете на него, он создает ответ из игры. (Если есть библиотека и файл A, я могу добавить их)



22

Ассемблер, Pascal и C были популярными языками. Графика создавалась путем непосредственного взаимодействия с оборудованием дисплея, например с цветным графическим адаптером . ( CGA )

Вероятно, были библиотеки, но не такие, как сегодня, и библиотеки часто не делились за пределами компании.

Ресурс, который был бы актуален, скажем, в 1988 году, можно найти здесь:

https://web.archive.org/web/20170910230837/http://gd.tuwien.ac.at/языки/c/программирование-bbrown/advcw1.htm

Поделиться Prof. Falken     18 сентября 2011 в 09:41



9

Как они создавали графику?

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

Были ли какие-нибудь библиотеки для использования?

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

Кроме того, существовали стандартные библиотеки языка C/C++. Библиотеки среднего уровня игр не стали такими распространенными до тех пор, пока не наступила эта эпоха.

Примерами среднего уровня являются:

  • Физические библиотеки, такие как Havok
  • Библиотеки загрузчиков форматов изображений, такие как DevIL
  • Библиотеки загрузчиков звуковых форматов, такие как FMOD
  • Библиотеки обработчиков видео, такие как Bink

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

Какие языки они использовали?

C и assembly были чрезвычайно распространены.

Реже Pascal , или больше других более непонятных языков.


Если вы хотите разработать низкоуровневое программное обеспечение, как это было сделано в DOS днях, программирование для старой игровой системы может быть хорошей идеей. NES, C64, Gameboy и программирование Gameboy Advance требуют, чтобы автор использовал прямой доступ к оборудованию, и требуют, чтобы вы знали C или какую-либо форму assembly. Вы можете использовать эмулятор для запуска и отладки готового продукта, поэтому он не является таким высоким барьером для входа, как консоли текущего поколения.

Если вы просто хотите разработать игру в стиле DOS, в наши дни у вас есть много доступных графических и звуковых библиотек. Вместо того, чтобы делать все точно так, как они делали, я рекомендую использовать одну из этих библиотек. Аллегро , SDL , PyGame , OpenAL и OpenGL , чтобы назвать некоторые из них.

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

Поделиться Merlyn Morgan-Graham     18 сентября 2011 в 09:44



5

Вы, вероятно, путаете понятие console/terminal,, то есть текстового окна, питаемого текстовыми потоками с несколькими командами escape, с самим компьютером DOS. Консоль не является DOS, и DOS не является консолью.

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

С другой стороны, сегодня существуют консоли (такие как xterm или командная строка windows), и они не имеют ничего общего с DOS.

Поделиться thiton     18 сентября 2011 в 10:57


  • Графические редакторы для программистов?

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

  • как заставить виртуальную машину winxp ms-dos работать так же, как win98 ms-dos, особенно с графикой

    Первоначально… Я начал программировать в 40-м году, то есть 10 лет назад(в колледже). IDE, который я использовал, был Turbo C++ IDE. Все мои программы c были 16-битными. Модель Памяти: Огромная. Графика: 4 бит (16 цветов). Графический Драйвер: EGAVGA.BGI Разрешение: 640×480. OS: MS-DOS 6.0 (под…



3

Действительно старые игры иногда писались на ассемблере, как и графические библиотеки. Но C/C++ тоже часто использовался.

В тот раз я тоже пытался написать какой-то графический/игровой код, и я использовал C, Basic и ассемблер. Моим любимым был графический режим ’13’ , который был 320×200 в 256 цветах. Этот графический режим давал вам два буфера по 64000 байт, каждый байт представлял пиксель на экране. Один буфер для рисования, один буфер, который был отображен.

Этот очень эффективный режим позволял легко строить пиксы (каждый пиксель-байт). Из-за размера экрана вы можете легко найти нужный пиксель, изменив координату Y и добавив X. Из-за двух буферов вы можете рисовать в фоновом режиме и менять местами ‘display pointer’, когда хотите нарисовать следующий кадр.

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

Здесь вы можете найти пару старых игр DOS, включая исходный код (ни одна из них не моя): http://www.classicdosgames.com/разное/источник.html

Поделиться GolezTrol     18 сентября 2011 в 09:46


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


Приведен ряд статей, найти которые были написаны одним и тем же автором

У меня есть несколько статей, примерно от 1000 до 10000 слов каждая, которые были написаны несколькими авторами. Я не знаю автора ни одной статьи, но знаю, что некоторые авторы написали более одной…


мониторинг доступа к файлам старой dos-игры

У меня есть несколько необычный вопрос. Я запускаю старую игру DOS в dosbox под управлением windows xp и пытаюсь определить, когда и где она получает доступ к файлу данных. что я могу использовать,…


история программирования в … DOS раз (не консольная)

прежде всего-заранее благодарю вас за все ответы. Во-вторых, я не спрашиваю ни о написании консольных программ, работающих на современных системах (например, Ubuntu 11.10 или Windows 7), ни о…


Почему (почти) все онлайн-игры написаны на ActionScript (Flash), а не на Java?

Я очень люблю хорошие игры защитника (например, Gemcraft, Protector: reclaiming the throne), поскольку они могут быть интеллектуально довольно сложными; это похоже на игру в шахматы, но немного…


Добавление кнопок в DOS

Как я могу добавить button в c++ для DOS можно взять байк на прокат? Тот, где, когда вы нажимаете на него, он создает ответ из игры. (Если есть библиотека и файл A, я могу добавить их)


Графические редакторы для программистов?

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


как заставить виртуальную машину winxp ms-dos работать так же, как win98 ms-dos, особенно с графикой

Первоначально… Я начал программировать в 40-м году, то есть 10 лет назад(в колледже). IDE, который я использовал, был Turbo C++ IDE. Все мои программы c были 16-битными. Модель Памяти: Огромная….


Как были запрограммированы игры для Playstation без операционной системы вообще?

Я немного поразмыслил и кое-что выяснил сам, а также из некоторых раскопок . Совершенно очевидно, что в сочетании с отсутствием операционной системы для аппаратного обеспечения Playstation (первой)…


Пользовательская проблема реализации JS-DOS DosBox.conf

Ошибка при попытке реализовать пользовательский dosbox.conf внутри установки js-dos. Всю свою жизнь я просто CANNOT выясняю, как, черт возьми, перезаписать конфигурационный файл js-dos dosbox.conf…


Как сохранить файлы после того, как теги были написаны?

Я пытаюсь изменить детали трека файла mp3 с помощью библиотеки getID3, которую затем хочу сохранить в каталоге. Как сохранить файлы после того, как теги были написаны? <?php $remotefilename =…

хорошо ли python для создания игр?



я слышу, как люди говорят, что python так же хорош, как c++ и java, но я не могу найти много хороших игр, сделанных в python.

просто пытаюсь выбрать правильный язык

edit: извините, многие игры действительно, я хотел бы сделать рогалик, в основном моя мечта. ничего сложного, я не хочу изобретать велосипед, но я хотел бы сделать забавную игру. у меня есть незначительный опыт java, но, как и внешний вид python, я не планирую делать игру 3d на самом деле.

python
Поделиться Источник fullyinsane1     07 марта 2011 в 20:17

6 ответов


  • Как «slow» — это python для разработки игр?

    Я хотел бы попробовать свои силы в разработке игр PC. Я все время слышу, что python медленнее по сравнению с C++. Это то, о чем я должен беспокоиться? Я больше знаком с python, чем с C++. Если я хочу сделать несколько игр, должен ли я потратить время на изучение C++ или просто придерживаться…

  • Использование WPF для создания настольных игр

    я новичок в разработке C#, и у меня есть это сомнение Мое требование состоит в том, чтобы создать игру, похожую на Pacman, которая имеет простую графику Можно ли использовать WPF для разработки подобных игр? Это right использовать WPF для создания игр или есть лучшие способы создать простую…



9

Вы также должны отметить, что интеграция Python с другими языками делает его чрезвычайно ценным. Например, движок Panda3D ( http://www.panda3d.org/ ) позволяет писать игры (в 3D) в Python, а затем при необходимости переносить части на C++. Конечно, это было бы излишним для ваших целей, но это показывает, что Python довольно мощный. Кроме того, одна игра, которая была сделана с этим движком, была коммерческой игрой Диснея, поэтому есть большие игры, частично написанные с Python. Если производительность действительно является проблемой, вы также можете использовать OpenGL в Python через Pyglet (а также PyGame, я полагаю), что может несколько уменьшить накладные расходы на рендеринг. И производительность может быть улучшена с помощью таких библиотек, как Cython, которые могут скомпилировать язык Python-esque в модуль расширения C Python, и PyPy, который может JIT-скомпилировать некоторый код Python (с ограничениями). Таким образом, вы можете легко создать прототип своей игры в Python, а затем улучшить детали позже по мере необходимости.

Кроме того, обратите внимание, что PyWeek -это соревнование для Python игр, которые, как правило, 2D, написаны с Pygame или Pyglet, и которые могут предоставить некоторый образец code/examples. Наконец, Frets on Fire написан на Python и кажется достаточно известным для такой маленькой игры.

Редактировать: См . https://gamedev.stackexchange.com/вопросы/5035/famous-games-written-in-python

Поделиться li.davidm     07 марта 2011 в 23:28



7

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

Следует также знать, что python хорошо сочетается с c++ для критичных по производительности ares. Смотрите ссылку на этот пост

Поделиться Tom     07 марта 2011 в 21:35



3

Я бы сказал, что Python подходит для написания сценариев в игровом движке (см.: EVE Online, Civ IV), но я бы не стал писать в нем игровой движок. Производительность просто не подходит для серьезных игр в реальном времени. Если вы просто хотите сделать простые вещи 2d, это нормально, но вы не собираетесь писать следующий Crysis или даже следующий Minecraft в чистом Python.

Поделиться Tyler Eaves     07 марта 2011 в 20:23


  • Платформа для создания игр

    Какую платформу хорошо использовать для создания игр с такими жанрами, как интеллектуальные игры, головоломки и тому подобное.. мы всего лишь новички и не можем решить, какую платформу использовать. Пожалуйста, помогите. И могу ли я попросить рекомендации? Спасибо 🙂

  • Графическая библиотека для игр и GUI

    Я хочу делать игры с python, какая для этого хорошая библиотека? Я могу использовать Tkinter или Qt? Или pygame лучше? Но для GUI приложений (без игр) я могу использовать pygame или Tkinter/Qt лучше? Существует библиотека, что хорошо для игр и приложений GUI?



1

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

Поделиться Kylotan     10 марта 2011 в 14:54



0

Зависит от вашего выбора. Если вы хотите сделать игру 2D, вы можете использовать pygame. Проверьте сайт pygame (я думаю, что у вас уже есть), вы найдете там много интересных игр. Если вы хотите сделать 3D игр, то Python может быть не лучшим выбором. Но все же, если вы хотите использовать Python для своих игр 3D, вы можете использовать привязку cTypes Python для некоторых библиотек C++. Как пиррлихт или пиогре .

С уважением

Поделиться Cobra     07 марта 2011 в 20:32



0

Python отлично подходит для разработки игр (особенно рогаликов). Вы можете найти полное руководство по Python roguelike здесь .

Поделиться Unknown     09 ноября 2012 в 21:41


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


Инструмент для создания Flash игр

Добрый день! Я планирую создать игру flash самостоятельно. Существует ли инструмент с открытым исходным кодом для создания игр flash?


Могу ли я использовать python для создания flash, как браузерные игры?

можно ли использовать python для создания flash подобных браузерных игр? (На самом деле я хочу использовать его для экономического моделирования, но это то же самое, что и браузерная игра) Давуд


Python веб-фреймворк, подходящий для создания игр

Я ищу веб-фреймворк Python, который подходит для создания текстовых веб-игр. Django кажется самым популярным выбором, но после проведения некоторых исследований он, кажется, подходит для газет и…


Как «slow» — это python для разработки игр?

Я хотел бы попробовать свои силы в разработке игр PC. Я все время слышу, что python медленнее по сравнению с C++. Это то, о чем я должен беспокоиться? Я больше знаком с python, чем с C++. Если я…


Использование WPF для создания настольных игр

я новичок в разработке C#, и у меня есть это сомнение Мое требование состоит в том, чтобы создать игру, похожую на Pacman, которая имеет простую графику Можно ли использовать WPF для разработки…


Платформа для создания игр

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


Графическая библиотека для игр и GUI

Я хочу делать игры с python, какая для этого хорошая библиотека? Я могу использовать Tkinter или Qt? Или pygame лучше? Но для GUI приложений (без игр) я могу использовать pygame или Tkinter/Qt…


Может Ли Python Создавать 2D Игр?

Можно ли сделать 2D игр, используя python? Если у него есть какие-либо ссылки на любую игру 2D, которая использовала Python для ее создания? Я думал об изучении Python, но подумал, что должен…


Хорошо ли Swift для разработки игр iOS?

Я новичок в концепции Swift и ее использовании для разработки приложений/игр. Включает ли бета-версия swift или xcode 6 инструмент для разработки игр ?


Использование cocos2d-js для создания мобильных приложений

Хорошо ли использовать Cocos2d-JS для создания приложений (а не игр) для мобильной платформы или это только для игр?

Почему я пишу игры на C (да, C): gamedev

  1. ⁠Хеш-карты (std :: unoredered_map) — до сих пор я не нашел хэш-карт, написанных на C, с хорошим интерфейсом и типобезопасностью

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

Способ создания хэш-карты для обеспечения более строгой типизации — это определение структуры с типами ключ / значение / хэш и т. Д. Вы можете смоделировать ее после std :: unordered_map, но основная проблема заключается в создании система, которая может создавать реализации очень удобным для пользователя способом. Так что в итоге у вас будет много макросов.

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

2. ⁠std :: string — если вы используете короткие строки, их довольно дешево копировать, поскольку они выделяются стеком благодаря SSO. C довольно хорошо известен переполнением буфера из-за обработки строк, которая требует от вас гораздо большего, чем обработка std :: strings

Мне даже не нравится std :: string, но я согласен со стандартным интерфейсом C для strings оставляет желать лучшего (как с точки зрения производительности, так и с точки зрения функциональности). Но это очень небольшая проблема, вам просто нужно создать свой собственный строковый интерфейс.Например, у меня есть строковый интерфейс, который поддерживает UTF-8, может избегать выделения и просто возвращать строку, содержащуюся внутри целого числа, и позволяет как стек, так и (включая глобальное) выделение кучи.

3. ⁠Функциональная перегрузка. Функции префикса / постфикса — это не весело. Кроме того, нет аргументов по умолчанию для функций

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

5. ⁠RAII, std :: unique_ptr, ссылки. Всегда ясно, кто выделяет память, а кто ее освобождает. Если функции возвращают или принимают ссылки, это ненулевая ссылка, и мне не нужно беспокоиться об управлении памятью в этих местах.

Хотя точно этого не добиться, не написав плагин компилятора. Тем не менее, вы можете аннотировать владение способом, понятным инструментам статического анализа, и таким образом иметь возможность обнаруживать ошибки, которые помогает решить std :: unique_ptr (и другие более сложные формы владения).Итак, вы не идеальны, но вы все равно можете получить ту же пользу в некотором роде.

6) constexp дает вам возможность вычислять данные во время компиляции и сохранять скорость во время выполнения

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

7) Пространства имен. Довольно сложно избежать конфликтов имен в C, поэтому у вас есть библиотеки с префиксами, которые вам нужно писать все время, и если вы пишете свою собственную библиотеку, вам нужно убедиться, что в ваши заголовки не попадает ничего с общим именем.

Жесткий? У меня никогда не было столкновений. Вы тоже отвечаете на решение проблемы. Главное, что вы упускаете, — это некоторые из функций юзабилити, которые не так уж и важны.

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

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

Так что, ИМО, это не такая уж большая проблема. Однако вы упускаете из виду искажение имен. Изменение имен в C ++ на самом деле может быть использовано после компиляции для выполнения какого-либо отражения или другого анализа. Хотя на самом деле он не предназначен для этого.

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

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

9) Полиморфизм полезен, и его легче обрабатывать, чем хранить / передавать обратные вызовы функций и хранить какие-то перечисления типа

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

Список 100 лучших игровых движков, написанных на C ++ — MYCPLUS

Игровой движок Известные игры Платформа (и)
4A Двигатель Метро 2033 Метро Redux Метро: Прошлой ночью Арктика.1 Windows, PS3, PS4, Xbox 360, Xbox one, Linux и DirectX9 / 10/11
Студия приключенческих игр Резонанс Квест героини Mamma Mia The Castle Windows 7, 8, 10, Vista, XP и Windows 2000 (Linux, Mac и другие порты также доступны для игры, а не для разработки)
Aleph One Марафон Марафон 2 Marathon Infinity Windows, Linus, OS X
Antiryad Gx Священная броня Антириады Windows, Linux, DOS, Mac OS, iOS, Android, MorphOS, NACL, AmigaOS, AROS
Anura Фрогатто и друзья Аргентум век Cube Trains Windows, Linux, iOS и Android
AnvilAppGameKit Assassin’s Creed II Принц Персии: Забытые пески Кредо ассасина братство Assassin’s Creed: Откровения Windows, PS 3, PS Vita, PS 4, Xbox 360, Wii U, Xbox One
Anvil Next Assassin’s Creed III Assassin’s Creed III: Освобождение Assassin’s Creed IV: Черный флаг Кредо ассасина Разбойник Окна, PS 3, PS Vita, PS 4, Xbox 360, Wii U, Xbox One.
Anvil Next 2.0 Assassin’s Creed Unity
Assassin’s Creed Syndicate
Skull & Bones
Windows, PS 3, PS Vita, PS 4, Xbox 360, Wii U, Xbox One.
Набор инструментов Aurora Ведьмак Neverwinter Nights Neverwinter Nights 2 Windows, OS X, Linux.
Оружейная 3D Производство еще не готово. Windows, Linux, macOS, HTML5, Android, iOS, PS4, Xbox One, Switch
Banshee Engine Не готово к производству все же.
Blend4Web Повесть Петигора Испытайте любопытство WebGL, Linux, Windows, OS X, Android, iOS
Блендер Мертвый киборг Помидор Джонс Йо Фрэнки! Синтел Игра Окна macOS Linux
Игровой движок Bork3D Quoridor Windows, iOS и Mac OS X
Buildbox Переключатель цвета Линия Дзен Брюс Ли Гипер Фрукты Гексавоид 2 Нео Фары Windows 7, Windows 8, Mac OS X (10.8, 10.9 и 10.10)
Игровой движок C4 Fat Princess Adventures для PlayStation 4 Мир Метро Симулятор городского автобуса 2010 PS 3, PS 4, Windows (начиная с XP), Mac OS X (10.9 и более поздних версий), Linux, а также iOS
Cafu Engine Нет крупных игр еще разработано. Windows, Linux, MacOS, Карманный ПК, Palm, DOS
Chrome Двигатель Умирающий свет (2015) Окончательное издание Dead Island (2016) Xbox One, Mac OS X, Linux, PS 3, PS 4, Xbox 360 и Microsoft Windows
ClanLib Огненный шар MacOS, Microsoft Windows и Linux
Клаузевиц Император: Рим Windows, Mac OS
Cocos2d Hill Climb гонки Не касайтесь белого Кафельная плитка Geometry Dash Lite Windows, OS X и Linux
Cocos2d-X Гриффины: В поисках всякого Linux, iOS, Android, Windows Phone 8, Tizen, Windows и Mac OS X
Построить Пчелиный побег Космический шутер Windows, Wii U, OS X, HTML5
Механизм создания The Elder Scrolls V: Skyrim Fallout 4 Fallout 76
CryEngine Aion: Башня Вечность Большая разница Far Cry Instincts Far Cry Instincts: Хищник Эволюция Far Cry Vengeance Окна, PS 3, PS 4, Wii U, OS X, Linux, Xbox One, Xbox 360, Android, iOS.
CryEngine 2 Blue Mar Crysis Кризисная боеголовка Наркотики Windows, PS 3, PS 4, Wii U, OS X, Linux, Xbox One, Xbox 360, Android, iOS.
CryEngine 3 ArcheAge АСТА: Война за Слезы и Ветры убийца богов Король ушу Окна, PS 3, PS 4, Wii U, OS X, Linux, Xbox One, Xbox 360, Android, iOS.
CryEngine 3.6 — 4 Язычники — сыновья закона Неверно созданный Добыча Следователь Снайпер: Призрачный воин 3 Windows, PS 3, PS 4, Wii U, OS X, Linux, Xbox One, Xbox 360, Android, iOS.
CryEngine V Охота: вскрытие Reboant — бесконечный Рассвет Обман Подъем Окна, PS 3, PS 4, Wii U, OS X, Linux, Xbox One, Xbox 360, Android, iOS.
Куб Куб Штурмовой куб Microsoft Windows, FreeBSD, Linux, ОС X, AROS, AmigaOS 4, iPhone и Dell Axim x50v
Куб 2: Sauerbraten Куб 2 Красное затмение Windows, Linux и MacOS X
Dark Engine Вор Системный шок 2 Thief II Windows
Двигатель Delta Герои Soul Craft SoulCraft DeltaNinja iOS, Android, W8, WP и HTML5
Dim3 Beats of Rage Crystal Space Windows, Unix, MacOS X, iOS и Linux
Dunia Engine Джеймс Кэмерон Аватар Far Cry 5 PlayStation 3, 4, Xbox Один, ПК (Microsoft Windows), Xbox 360
DX Studio ГазШок Баллистический бонбон Окна
Esenthel Великолепие Доминион Windows, Mac, Xbox, iOS, Android, Интернет и Linux
Exult Ultima VII: Черные ворота Windows, OS X, Linux и BSD
Frostbite Battlefield / Battlefront
Medal of Honor
Need For Speed ​​
Windows, PlayStation 3, Xbox 360, PlayStation 4 и Xbox One
G3D Innovation Engine Windows 10, OS X и Linux
Gamebryo Civilization IV Windows, iOS, Android, Linux, Gamecube, PSX, Wii / WiiWare, PS2, PS3, PS4, PSP, Xbox, Xbox One и Xbox 360
GamePlay3D Ракетное столкновение 3D Мировой тур по стрельбе из лука Windows NT, iOS, Linux, macOS и Android
Годо Стереообзор Deep Sixed Пусой дос Окна, UWP, MacOS, Linux, iOS, Android, веб-сборка и HTML
Gold Box Глаз смотрящего Бассейн сияния Амига, Apple II, Apple Macintosh, Atari ST, Commodore 64, DOS, NEC PC-9800, NES и Sega Genesis.
GoldSrc Период полураспада 2 Windows OS X Linux Dreamcast PlayStation 2 Xbox
HeroEngine Видения Зосима Фермер3d Окна
Horde3D Легенды бездорожья Redline Rush Microsoft Windows, Mac OS X, Linux
Двигатель HPL Полутень: Реквием Сома Windows, OS X, Linux
Двигатель HPL 2 Амнезия: Машина для свиней Амнезия: Темный спуск Windows, OS X, Linux
Двигатель HPL 3 Полутень: Черная чума Полутень: Реквием Windows, OS X, Linux
id Tech 1 Doom, DoomII DOS, Microsoft Windows, MacOS
id Tech 2 Quake, KingPin: Reloaded DOS, Microsoft Windows , MacOS
id Tech 3 Quake III, Call of Duty: Classic DOS, Microsoft Windows, MacOS, Linux
id Tech 4 Doom 3, Quake 4 Windows, OS X и Linux
id Tech 5 Ярость Зло внутри Windows, PS 3, PS 4, Xbox 360, OS X и Xbox One
id Tech 6 Wolfenstein II: Новый Колосс Дум VFR Windows, PS 4, Xbox One и Nintendo Switch
id Tech 7 Doom Eternal Windows, Nintendo Switch, PlayStation 4, Xbox One
IrrLicht Сокобан Челлендж MacOS, Windows, Linux и Windows CE
Двигатель IW Call of Duty: Black Ops II 007: Квант милосердия Windows, PS 4, PS 3, Xbox One, OS X, Xbox 360, Wii и Wii U
Jade За гранью добра и зла Rayman Raving Rabbids Xbox, Gamecube, PS2 и ПК
Leadwerks Худвинк Linux и Linux с поддержкой OS X в процессе
Limon Engine PlayStation 4, Windows и Xbox One
Lumberyard Звездный гражданин Дедхаус Соната Windows, Xbox One, PS 4
LumixEngine На охоте (в развитие) Окна
Мармелад МОНОПОЛИЯ, Игра Жизни ОС, Mac OS X, Android, Windows Phone, Tizen и Roku
Moai SDK Малиновый: Пираты Steam Разбитый век с iOS, Mac, Android, Windows, Chrome NaCl, Linux и HTML5
MT Framework Mega Man 11 Monster Hunter: World
Resident Evil 6
PlayStation 3, Windows, Wii, Xbox 360, Nintendo 3DS, Wii U и PlayStation Вита
OGRE Зомби Драйвер Роблокс Windows, Xbox, OSX, PocketPC, Linux и PS3
OpenClonk OpenClonk Linux, Microsoft Windows и OS X
ORX Опасная атака Брейктрис Windows, Linux, iPhone / iPod Touch / iPad, Mac OS X и Android
Panda3D Toontown Интернет Сеть
PhyreEngine Ниже Распутать PS 4, PS 3, PS VR, PS Vita, PS Portable, Windows, iOS и Android
PLIB TuxKart — гоночная игра Stormbaan Coureur — физический симулятор игра Портативные библиотеки
Пирогенез 0 А.D Windows, Linux, OS X и ОС
Qfusion Warsow Linux, macOS, Windows и Android (в разработка)
Реальная виртуальность ARMA 2 DayZ Окна, PlayStation 4, Xbox One
REDengine Ведьмак 2: Убийцы королей Ведьмак 3: Дикая Охота Windows, Xbox 360, OS X, PS 4 и Xbox One
Shark 3D Dreamfall: The Longest Journey, Windchaser Linux, Windows, Xbox и Xbox 360
ShiVa Принц Персии 2: Тень и пламя iOS, Android, BlackBerry и Windows Телефон, Windows, Mac OS X и Linux, веб-браузеры с поддержкой Flash, HTML5, Xbox 360, PlayStation3 и Nintendo Wii
Snowdrop Tom Clancy’s The Division South Park: The Fractured but Whole Windows, Nintendo Switch, PlayStation 4 и Xbox.
Источник Half Life 2 Портал Windows, OS X, PS 3, Xbox, Linux, Xbox 360 и Android
Источник 2 Артефакт Dota Underlords Windows, Android, OS X, Linux и iOS
Spring Сбалансированное уничтожение Windows, Linux и OS X
StepMania В пазу Windows, macOS и Linux
Stockfish Stockfish Chess
DroidFish для Android
SmallFish для iOS
Microsoft Windows, macOS, Linux, iOS, Android
Stratagus Bos Wars Битва за Мандикор Битва за выживание AmigaOS 4, BSD, Linux, Mac OS X, MorphOS, AROS, Windows
Truevision 3D Коралловая битва Море Отдых Простая 3D космическая боевая симуляция Окна
Двигатель надгробия PS 4 и Windows
Крутящий момент3D Пенни Аркада Windows, macOS, Linux, а также веб-платформы
Игрушечный двигатель В разработке Windows, Linux, iOS, Android, HTML5
UbiArt Framework Rayman Origins Дитя света Rayman Приключения PS3, PSVita, PS4, Wii, 3DS, Wii U, Nintendo Switch, Windows, X360, XONE, IOS, Android, OS X, tvOS
UDK (Нереально Комплект разработчика) Паранормальное явление Рыцарство: Средневековая война Windows, iOS, iPad, X360, PS3
Unigine Нефтяная лихорадка Сумоман Windows, Linux
Единство домашний очаг Побег из Таркова Долина монументов 2 Windows и OSX, Linux, плагин Unity Webplayer, Android, iOS, Windows Phone, Blackberry, XBox One, XBox 360, PS4, PS3, PSP Vita, Playstation Mobile, WiiU и Wii.
Unreal Engine 1 Unreal Tournament, Unreal Mac OS, Linux, Microsoft Windows, Unix, PS 2 и Dreamcast
Unreal Engine 2 Splinter Cell, Killing Floor Windows, Mac OS, Xbox, PlayStation и Wii U
Unreal Engine 3 Mortal Kombat 11, Batman Arkham Origins Платформы Windows, Mac OS, PlayStation, Xbox, Nintendo Switch, Android и iOS
Unreal Engine 4 Fortnite, Star Wars — Jedi Fallen Order, Biomutant MacOS, Microsoft Windows, SteamOS, Linux, HTML, iOS, Android, Nintendo Коммутатор, PS-4, OSVR
Urho3D Клинически мертв Военный жрец сделал это из живого Грань времени Эпизод 1: Возвышение Эуса Болдерлайн Windows, Linux, macOS, iOS, tvOSnew, Android, Raspberry Piv1.3 включая другие общие ARM Boardv1.6 и Webv1.4 с набором инструментов Emscripten.
Двигатель Vengeance SWAT 4: Золотое издание Племена: Месть Окна
Визуальный пинбол Визуальный пинбол Окна
Игровой движок V-Play (Фелго) Игровая сеть iOS, Windows Phone, Android, Linux, MacOS X, Raspberry Pi и i.MX: я.Серия MX 6
Двигатель Wintermute J.U.L.I.A среди звезд Реверсия: научно-фантастическая приключенческая игра Окна
WorldForge Желудь Linux, MacOSX и Window

Какие популярные / известные игры написаны на C?

Какие популярные / известные игры написаны на C? — Обмен стеками разработки игр
Сеть обмена стеков

Сеть Stack Exchange состоит из 178 сообществ вопросов и ответов, включая Stack Overflow, крупнейшее и пользующееся наибольшим доверием онлайн-сообщество, где разработчики могут учиться, делиться своими знаниями и строить свою карьеру.

Посетить Stack Exchange
  1. 0
  2. +0
  3. Авторизоваться Зарегистрироваться

Game Development Stack Exchange — это сайт вопросов и ответов для профессиональных и независимых разработчиков игр.Регистрация займет всего минуту.

Зарегистрируйтесь, чтобы присоединиться к этому сообществу

Кто угодно может задать вопрос

Кто угодно может ответить

Лучшие ответы голосуются и поднимаются наверх

Спросил

Просмотрено 10к раз

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

Закрыт 9 лет назад.

Это очень похоже на этот вопрос: https://gamedev.stackexchange.com/questions/3789/famous-games-written-in-java

Кто-нибудь знает какие-нибудь популярные или известные игры, написанные только на C?

\ $ \ endgroup \ $ 8 \ $ \ begingroup \ $

Doom, Quake, почти все игры id до id Tech 4.

\ $ \ endgroup \ $ \ $ \ begingroup \ $ Игры

Cryptic Studios — City of Heroes / Villians, Star Trek Online и Champions Online (и, предположительно, Neverwinter Nights, но я не могу поручиться за это на 100%, поскольку я там больше не работаю) — были написаны на C.

\ $ \ endgroup \ $ 7 \ $ \ begingroup \ $

Множество игр Jap / PS1 / DC.Также Soul Reaver 1, части Soul Reaver 2 и довольно простой код C в Tomb Raider: Legend.

\ $ \ endgroup \ $

язык-c

Обмен стеками разработки игр лучше всего работает с включенным JavaScript

Ваша конфиденциальность

Нажимая «Принять все файлы cookie», вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в ​​отношении файлов cookie.

Принимать все файлы cookie Настроить параметры

Разработка игр только на C. Является ли это возможным?

Разработка игр только на C.Является ли это возможным? — Обмен стеками разработки игр
Сеть обмена стеков

Сеть Stack Exchange состоит из 178 сообществ вопросов и ответов, включая Stack Overflow, крупнейшее и пользующееся наибольшим доверием онлайн-сообщество, где разработчики могут учиться, делиться своими знаниями и строить свою карьеру.

Посетить Stack Exchange
  1. 0
  2. +0
  3. Авторизоваться Зарегистрироваться

Game Development Stack Exchange — это сайт вопросов и ответов для профессиональных и независимых разработчиков игр.Регистрация займет всего минуту.

Зарегистрируйтесь, чтобы присоединиться к этому сообществу

Кто угодно может задать вопрос

Кто угодно может ответить

Лучшие ответы голосуются и поднимаются наверх

Спросил

Просмотрено 87k раз

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

Закрыт 8 лет назад.

Я учусь на первом курсе колледжа в Индии и хочу сделать небольшую игру в качестве проекта этого семестра.

Я неплохо разбираюсь в C и быстро изучаю его, но я хотел спросить, разрабатываю ли игру полностью на C (без C ++ или C #), я бы хотел использовать их, но для проектов колледжа у нас есть строгие требования использовать только C

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

Нейт

5,02422 золотых знака2525 серебряных знаков4646 бронзовых знаков

Создан 14 фев.

Ишан ШармаИшан Шарма

29911 золотых знаков22 серебряных знака55 бронзовых знаков

\ $ \ endgroup \ $ 6 \ $ \ begingroup \ $

Возможно написание игр на Си.Например, Quake II написан исключительно на C, поэтому написание других игр на C не должно быть проблемой. Это может быть лучший выбор, если вы более опытны и удобнее в C, чем в C ++.

Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *