На каком языке программирования написан старкрафт

Обновлено: 05.07.2024

В каком пространстве? 2D, с видом типа "Diablo"

Для какого жанра игр? RTS, стратегия в реальном времени

Какой вид в игре? Вид сверху/сбоку, я уже привел пример с "Diablo"

На какую игру похожа создаваемая игра, типа какой популярной игры? Starcraft BOO war, Warcraft 3 (2D версия для консолей)

Написанный на каком языке программирования? не имеет значения

На каком языке программировать в нём? Желательно без програмирования, максимум lua

Для какой платформы? PC, windows

Предоставление исходного кода движка? Не имеет значения

API? DirectX (мало разбираюсь)

Какой тип лицензии? Freeware

IDE, компиляторы? Без разницы

GUI? Пользовательский интерфейс, но против консоли протестовать не буду

Предпочтения? Прост в освоении, бесплатен/можно скачать торрент

Какие-то особые требования к поддержке форматов 3D-моделей? игра в 2D

Какие-то особые требования к поддержке форматов графики? Нет

Какие-то особые требования к поддержке форматов звукового сопровождения? Нет


Оригинальная игра StarCraft (с дополнением Brood War) портирована на HTML5. Теперь этот шедевр от студии Blizzard Entertainment запускается прямо в браузере. Правда, это пока что не полная игра, а только демо-уровни, но выглядит вполне достойно. Разработчик немало потрудился, портируя код с языков программирования C, C++ и ассемблера на Javascript.


Пользователь под ником Ryuta опубликовал исходники на Github. Если разместить игру на своём персональном компьютере, который выступает в роли сервера, то можно играть в офлайне, запуская StarCraft на localhost.

Разработка HTML5-версии — особенно приятная новость для пользователей Linux, потому что раньше игра не запускалась напрямую в свободной ОС, а только через Wine. Теперь демо-версия работает без эмуляторов.



Культовая стратегия в реальном времени вышла 18 лет назад, но до сих пор её можно назвать стандартом качества в жанре RTS. Да и вообще, приятно вспомнить старые добрые времена, которые вернулись благодаря современным веб-технологиям. Возможно, ненадолго. Репозиторий на Github содержит проприетарную графику StarCraft, за что автору может влететь от Blizzard Entertainment.

Может быть глупый вопрос, однако, на чём написаны интерпретаторы или компиляторы языков программирования, например JavaScript или С++? На каком языке? И чем "понимается" их код, где он хранится? То есть, я написал программу на JS, к примеру, она прочиталась интерпретатором и выполнилась, но что выполнило работу интепретатора?

hottabxp

JavaScript - это язык программирования. Его невозможно написать, пишут компиляторы, интерпретаторы(в данном случае наверное движки). Основные движки js:
SpiderMonkey - первый в истории движок js(написан на C++)
V8 - написан на C++ и js
Rhino - написан на java.

это очень большая тема, невозможно здесь дать ответ.
Читайте лучше хабр:
Как работает JS: о внутреннем устройстве V8 и опти.
Введение в компиляторы, интерпретаторы и JIT’ы
Интерпретаторы байт-кодов своими руками

А лучше напишите в google, например, - "habr как работает интерпретатор"

bingo347

в v8 уже давно нет js, его заменили на Torque - собственный язык, помесь js и c++ и компилируемый в c++

hottabxp

samodum


ЧТО.
Вот же он, написан. У него даже есть несколько версий

hottabxp

Язык программи́рования — формальный язык, предназначенный для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, определяющих внешний вид программы и действия, которые выполнит исполнитель (обычно — ЭВМ) под её управлением.

samodum

hottabxp

Сергей Карбивничий, Как раз таки возможно. Интерпретатор. Это тоже программа. И её написали программисты

bingo347

Licut

Движок(интерпретатор) языка программирования тоже написан на языке программирования. Т.е. есть например интерпретатор js или php, и ты внутри php файла, вызываешь функцию strlen(). В это время, вызывается, описанная в системных файлах php, функция на языке C. В любом случае интерпретировать\компилировать все встроенные конструкции и функции языка, будут некий код на другом языке. Но для того, чтобы глубже понять, что есть компилятор\интерпретатор, а что есть ЯП(спецификация), вам стоит почитать проф. литературу статьи, возможно посмотреть видео на эту тему.

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

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

3 ответа

В самой игре используется комбинация C, C ++ и XML (для метаданных).

Используемый язык сценариев называется «Галактика». Это язык на основе C, встроенный в игровой движок.
Он используется в кампании и на пользовательских картах.

Редактор карт - это «Галактика» из (Galaxy Editor). Это редактор, управляемый данными, который позволяет вам комбинировать действия с английскими заявлениями, которые действительно открывают безумное количество возможностей. Например, прикрепление пушек Тора к гидралиску легко дрянным.

  • Создайте объект Hydralisk и измените атрибуты на нем, чтобы придать ему желаемые способности.
  • Триггер - «Создайте 1 гидралиск для игрока 1, используя столбец по умолчанию»

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

Сама игра была написана на C /C ++.

Я предполагаю, что вы имели в виду scripting язык? (поскольку язык программирования по-разному, я был бы очень удивлен, если бы они не использовали C ++ . )

Быстрый Google-Google превратил этот вверх:

«StarCraft II использует совершенно новый язык сценариев, который мы назвали Galaxy. Этот язык очень похож к С, и всем, кто знаком с программирование на C не будет иметь проблем подбирая его. «

Читайте также: