На чём нынче пишут современные браузерные игры?
Появилось свободное время, и вот решил попробовать воплотить свою детскую мечту — «создавать игры», да и заодно подучиться, т.к деградирую.
Подскажите, на чём в 2019 году пишут браузерные игры?
Подобными делами не занимался даже близко. На данный момент мой уровень — это написать php сайт с админкой на фрейме, набросать небольшой js скрипт и настроить linux сервер,- чтоб всё работало, git и вёрстка.
Ничего сверхсложного писать не планирую, графику под игру буду брать из открытых источников.
Никаких ботов, онлайн режимов и т д не будет. Простая игра, минимум математики, однопользовательский режим. Хочу написать/разобрать от и до.
Например повторно написать туже змейку (slither.io) или простую игру «казино», где будут клубнички и вишенки по клику рандомно двигаться и выдавать $ + или -, в одну, две или три линии.
Сишные языки учить не охота, так как не вижу себя в дальнейшем в этом направлении.. Интересует WEB языки, js, рhp и т д
т.к интернет сейчас уже в телефоне, хочется чтоб игра работала как на ПК устройстве, так и на яблоке и андроиде. т.е без всяких дополнительных установок библиотек, типа флеш, юнити и т д.
Вывел ярлык на рабочем столе телефона/ноута и играешь.
- Вопрос задан более трёх лет назад
- 2250 просмотров
1 комментарий
Простой 1 комментарий
Ввод в разработку Web-игр
Современный web позволяет не только передавать различную информацию, но и создавать интерактивный контент. Например, потрясающие, высококачественные игры.
Диапазон игр, которые вы можете встретить в web поражает и не уступает «нативным» играм, реализованным с использованием языка программирования c++ и java.Причём это касается не только относительно небольших игр, но и объёмных игр жанра РПГ, 3d шутерах и многом другом. Это уже не аналоги простых карточных игр или многопользовательских социальных играх, реализованных с помощью Flash®, а гораздо более сложные вещи. Благодаря значительным улучшениям языка программирования JavaScript и появлению новых API браузера, вы можете создавать игры, не зависящие от операционной системы. Для их работы необходим только браузер. А иногда, например на устройствах с поддержкой HTML5, таких как Firefox OS, не нужен даже он.
Игровая платформа HTML5
Вы действительно можете подумать, что Web — лучшая платформа для вашей игры. Как мы любим говорить:»Web — это тоже платформа.» Давайте посмотрим на главные аспекты Web платформы:
Функционал | Технология |
---|---|
Аудио | Web Audio API (en-US) |
Графика | WebGL (OpenGL ES 2.0) |
Ввод | Touch events (en-US) , Gamepad API (en-US) , датчики устройства, WebRTC (en-US) , Full Screen API (en-US) , Pointer Lock API (en-US) |
Язык | JavaScript (или C/C++ используйте Emscripten для компиляции в JavaScript) |
Сеть | WebRTC (en-US) и/или WebSockets |
Данные | IndexedDB или «облако» |
Веб | HTML, CSS, SVG (en-US) , Social API (и многое другое!) |
Экономическое обоснование
Как разработчик игр, независимо от того, являетесь ли вы частным лицом или крупной игровой студией, вы хотите знать, почему имеет смысл ориентироваться на Web со своим игровым проектом. Давайте посмотрим, как сеть может помочь вам.
- Охват паутины огромен, она повсюду. Игры, построенные на HTML5, работают на смартфонах, планшетах, ПК и смарт-телевизорах.
- Маркетинг и открытость улучшаются. Вы не ограничиваетесь продвижением своего приложения в чужом магазине приложений. Вместо этого вы можете рекламировать и продвигать свою игру по всему интернету, а также в других средствах массовой информации, используя преимущества присущей сети связности и доступности для новых клиентов.
- У вас есть контроль, где это имеет значение: Платежи. Вы не должны отдавать 30% своих доходов кому-то другому только потому, что ваша игра в их экосистеме. Вместо этого, взимать плату, что вы хотите, и использовать любую услугу обработки платежей вам нравится.
- Опять же, с большим контролем, вы можете обновить игру, когда захотите. Не жди, затаив дыхание, одобрения, пока кто-то прячется внутри другого.
- Контролируйте свою аналитику! Вместо того чтобы полагаться на кого-то другого в принятии решений о том, какая аналитика вам нужна, вы можете собрать свою собственную-или выбрать третью сторону, которая вам больше всего нравится, — чтобы собрать информацию о ваших продажах и досягаемости вашей игры.
- Вы можете управлять своими отношениями с клиентами более тесно, по-своему. Больше не придётся работать с обратной связью магазина приложений. Взаимодействуйте со своими клиентами так, как вы хотите, без посредника.
- Ваши игроки могут играть в вашу игру в любом месте, в любое время. Поскольку Web распространён повсеместно, ваши клиенты могут проверить статус своей игры на своих телефонах, планшетах, домашних ноутбуках, рабочих столах или на чем-либо ещё.
Web-технологии для разработчиков игр
Давайте покопаемся в API веба, которое приносит на стол и обслуживает разработчиков игр. Вот подробный список, чтобы дать вам представление о том, что Web может сделать для вас:
Этот простой API позволяет вашей игре использовать весь экран, тем самым погружая игрока в действие.
Если вы хотите, чтобы ваши пользователи могли использовать геймпады и прочие игровые контроллеры для работы с игрой, вам потребуется этот API
Эти технологии помогут вам создать и разместить UI вашей игры, а HTML-элемент это один из способов создать 2D-графику
Мощный API для хранения пользовательских данных на собственном компьютере или устройстве. Отличный способ локально сохранить состояние игры и другую информацию, без необходимости подгружать её каждый раз при необходимости. Также полезно для того, чтобы сделать ваш проект играбельным, даже если пользователь не подключён к Интернету (например, когда он оказался в самолёте на несколько часов).
JavaScript, язык программирования, используемый в Интернете, быстро развивается в современных браузерах и становится ещё быстрее. Используйте его возможности для написания кода своей игры или используйте такие технологии, как Emscripten или Asm.js, чтобы с лёгкостью переносить существующие игры.
API Pointer Lock позволяет блокировать мышь или другое указывающее устройство в интерфейсе вашей игры. Вместо абсолютного позиционирования курсора вы получаете координаты дельты, которые дают вам более точные измерения того, что делает пользователь, и предотвращают случайную отправку ввода где-то ещё, тем самым упуская важные пользовательские действия.
SVG (en-US) (масштабируемая векторная графика)
Позволяет создавать векторную графику, которая плавно масштабируется независимо от размера или разрешения дисплея пользователя.
Типизированные массивы JavaScript дают вам доступ к необработанным двоичным данным из кода, что позволяет вам манипулировать текстурами GL, игровыми данными или чем-то ещё, даже если код не в формате JavaScript.
Этот API необходим для управления воспроизведением, синтезом звука и манипулированием аудио из кода JavaScript. Позволяет создавать потрясающие звуковые эффекты, а также воспроизводить и манипулировать музыкой в режиме реального времени.
Позволяет создавать высокопроизводительную аппаратно-ускоренную 3D (и 2D) графику из веб-контента. Это веб-реализация OpenGL ES 2.0.
API WebRTC (Real-Time Communications) даёт вам возможность управлять аудио- и видеоданными, включая телеконференции и передачу данных из других приложений между двумя пользователями. Хотите, чтобы ваши игроки могли общаться друг с другом, взрывая монстров? Это API для вас!
The WebSocket API позволяет подключить ваше приложение или сайт к серверу для передачи данных в реальном времени. Идеально подходит для многопользовательских игр, чатов и т. д.
Web Workers даёт вам возможность создавать фоновые потоки, выполняющие собственный код JavaScript, используя преимущества современных многоядерных процессоров.
Комбинация XMLHttpRequest и File API позволяет отправлять и получать любые нужные для вас данные (не позволяйте «XML» выкинуть вас!) с веб-сервера. Это отличный способ сделать что угодно: от загрузки новых игровых уровней и иллюстраций, до передачи информации о статусе игры в режиме non-real-time и обратно.
Found a content problem with this page?
- Edit the page on GitHub.
- Report the content issue.
- View the source on GitHub.
This page was last modified on 3 авг. 2023 г. by MDN contributors.
На каком языке программирования пишут игры для ПК, какой выбрать?
Создавать видеоигры — это перспективное и денежное занятие, поэтому очень много новичков, которые хотят ворваться в IT-профессию через видеоигры, ищут и изучают языки программирования для создания игр.
Сегодня мы разберем , на каком языке пишутся компьютерные и браузерные игры, а также игры для современных смартфонов.
Языки программирования для создания игр
Прежде чем начать изучать «лучший язык программирования для создания игр» , нужно определиться, а какие игры вы решили создавать? Игры играм рознь, а это значит, что и языки программирования для изучения будут разные.
Например:
- Swift и Objective-C — подходят для создания игр для iOS и MacOS;
- JavaScript и PHP — идеально подходят для создания браузерных игр;
- Java и Kotlin — подходят для создания игр для Android;
- C# — подходит для тех, что хочет создавать компьютерные игры на Unity;
- С и С++ — без них не обходится разработка требовательных компьютерных игр.
При этом игры создают, применяя и другие языки! Поэтому если вы уже знакомы с каким-либо языком, то , может , вам и не надо будет переучиваться, а всего лишь изучить дополнительный фреймворк вашего языка.
Если вы планируете просто для начала попробовать создать несложную игр у , чтобы «прощупать» профессию разработчика игр — своя или не своя, — тогда можно присмотреться к движкам игр, на которых можно создать игру , не имея глубоких познаний в коде. Например:
- Unity;
- Unreal Engine;
- CryEngine;
- и др.
На каком языке программирования пишут самые лучшие игры
Однозначного ответа на этот вопрос вы никогда не найдете, потому что каждый язык по-своему прекрасен, имеет свои преимущества и недостатки. При этом каждый язык «заточен» под свой вид игр и решает свои задачи. Крутые тяжеловесные игры часто пишут на нескольких языках программирования, потому что каждый из них выполняет какую-то свою функцию «на отлично».
Чтобы определиться , на каком языке лично вам лучше писать игры, нужно остановиться подробнее на видах игр.
Браузерные игры
Все мы встречали подобные игры, а некоторые любят в них и поиграть. Да, они не такие крутые и производительные , как игры для компьютера или игровой консоли, но своей доступностью они тоже неплохо затягивают.
Браузерные игры также по-своему бывают крупными, при этом игровой процесс для геймера дают небольшими «дозами», чтобы быстро не наскучило. Браузерные игры тоже можно монетизировать, если вас волнует именно «денежный вопрос». Но если сравнивать с полноценными компьютерными играми, то такие создаются быстрее и проще.
Игры для смартфонов
По качеству и объему использования игры для смартфонов превосходят браузерные игры. Многие из них достигают шикарной графики и крутой производительности. Но есть в них и своя трудность — это реализация удобного управления игровым персонажем. Однако в то же время эта сложность легко компенсируется достаточно простой разработкой подобных игр. Например, при использовании одного из популярных игровых движков, в которых уже есть встроенные решения для разработки графики и физики игры, можно создать игровой продукт всего за пару недель.
При работе с движками что в играх для смартфон ов , что для компьютеров, есть одно достоинство — не так много кода нужно дописывать «руками».
Если вы уже решили заниматься разработкой игр под мобильные устройства, не забудьте определиться , под какие. Android и iOS — это разные операционные системы, у которых разные собственные официальные инструменты для разработки. Соответственно , под каждую систему нужно будет изучать собственный язык программирования.
Иногда смотрят в сторону кроссплатформенных решений для игр. В них есть свой плюс : код пишется один раз, а далее под каждую систему только проводится компиляция. Но практика показывает, что подобные игры выдают более низкую производительность , чем игры, разработанные на нативных инструментах этих систем. Поэтому если в планах создать небольшую игрушку, возможно , для теста ниши или идеи, то можно воспользоваться кроссплатформенным решением. Н у а если вы хотите разрабатывать что-то серьезное и «на века», то лучше сразу присмотреться к «родным» инструментам для каждой отдельной системы. О них мы писали в самом начале статьи.
Компьютерные и консольные игры
Эти игры можно объединить в одну группу, потому что языки программирования для создания таких игр схожи, при этом разновидности и «размах» таких игр впечатля ю т, например :
- реалистичная графика;
- VR-технологии;
- огромные игровые миры;
- масштабные онлайн-проекты;
- и многое другое.
Небольшую компьютерную игру можно разработать в одиночку, но , как только вы задумаете проект по крупнее, нужно будет также задум аться и о собственной команде.
Чем масштабнее проект, тем масштабнее будут требования и, соответственно, ваши трудовые и финансовые затраты. В таких играх предпочтение от дается реалистичности, поэтому в большом количестве проект ов уделяется много внимания таким мелочам , как:
- тени,
- свет,
- отражения,
- динамика,
- реалистичная физика,
- и др.
Заключение
Существует такое мнение, что можно разработать игру без знания кода, поэтому не стоит вначале изучать языки программирования для создания игр. Нельзя отрицать данное утверждение, однако нужно понимать, что , используя готовые решения , вы вряд ли сможете создать что-то уникальное. А это значит, вряд ли найдется большое количество пользователей, которы е будут играть в вашу игру. А не будет пользователей — не будет смысла создавать игрушку, ну разве что «для себя» или «просто попробовать».
Даже примен ение современны х движк ов для игр и уже готовы х шаблон ов для игр подразумева ет хоть и небольшие, но знания языка программирования, который использует сам движок. Поэтому знать , на каком языке программирования пишут игры, которые вы тоже хотите разрабатывать , очень важно.
Помните, что лучший язык программирования для создания игр — это тот, который вы знаете в совершенстве. Поэтому, если вы на старте пути, выберите для начала, какие игры вы хотите создавать, потом подберите к ним подходящий язык программирования и дополнительные инструменты и начинайте уже учить — ведь время идет.
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
На каких языках программирования пишут игры
Знать, какие языки программирования нужны для создания игр – это хороший шанс стать профессионалом в этом направлении и найти высокооплачиваемую работу. Сфера компьютерных игр – одна из наиболее динамично развивающихся в IT. Доходы таких компаний постоянно растут, что также сказывается и на зарплатах сотрудников.
Современные языки программирования
Прогрессирующему специалисту, который хочет выйти на высокий уровень работы, необходимо следить за тем, какие языки программирования используются в создании современных игр. Это необходимо, чтобы разрабатывать контент достойного уровня. Устаревшие игры пишутся на уже устаревших языках программирования. А для современных стоит использовать те, которые применяются современными разработчиками:
- C и C++ – платформы для больших и требовательных игр. C++ – язык универсальный, поэтому на его основе написано много движков. Главные преимущества языка: гибкость и кроссплатформенность (игру легко адаптировать под разные платформы и операционные системы). Это относительно сложный язык, но он широко применяется крупными компаниями. Если есть минимальный опыт в программировании, то стоит пройти практический курс по изучению этого языка.
- Swift – особая платформа для iOS macOS. Язык программирования компании Apple с открытым кодом. Программа работает не построчно, как другие. Перед запуском полностью переводится в машинные коды через компилятор, поэтому приложения работают ощутимо быстрее. Его особенность в том, что применяется только для устройств Apple.
- C# – разработка на Unity. Это язык для создания игр на мобильные устройства и для социальных сетей. Его автором является компания Microsoft, издавшая много качественных учебных пособий для его освоения. Поэтому рекомендуется новичкам.
- JavaScript и PHP – для игр браузерного типа. Игры на их базе почти не адаптируются под другие платформы. Поэтому их необходимо дорабатывать дополнительно для ПК, консолей и мобильных устройств.
Эти языки программирования для игр обычно используются разработчиками, которые уже знакомы со сферой их создания. Новичкам рекомендуют начинать с таких движков:
Навыки работы с каждым из них можно получить самостоятельно. Но более эффективным и продуктивным в обучении языкам программирования будут курсы. После их окончания ученик становится специалистом в своей сфере и приобретает профессию разработчика игр.
Что нужно знать об устаревших языках
Первые игры разрабатывались для игровых приставок, которые подключались к монитору телевизора, а не для персонального компьютера. Для их разработки использовались совсем другие языки программирования. Марио была создана на Ассемблер. Позже эту основу использовали в десятках других игр.
Другой исторический момент – язык программирования Си, на основе которого был создан первый популярный шутер Doom. Он используется до сих пор в современном программировании, потому что является простым и четко структурированным.
Какие лучше
В изучении языков для программирования игр не нужно искать лучший вариант. Так как каждый из них имеет свои особенности и преимущества, которые хороши в своем направлении разработок. Чтобы решить, какому учиться лучше всего, нужно определить свои предпочтения и востребованность. Способности каждого специалиста можно раскрыть максимально продуктивно, если выбрать нужное направление. Лучшие языки программирования для создания игр можно освоить на курсах. Обучение поможет стать профессионалом в любом выбранном направлении.
Ближайшие наборы на курсы
Обучение проводится offline и online.
Подробности уточняйте у наших специалистов.
Уважаемые студенты, записывайтесь, пожалуйста, заранее: за неделю до начала курса, как правило, свободных мест уже не остается
Курс: Бизнес-анализ в сфере разработки ПО
Группа по будням
Занятия: пн, ср 19:00 – 22:00
Длительность: 64 ак. часа
Начало: 30 октября 2023
Свободные места: 2 места Стоимость: 950 бел. рублей
Стоимость: 760 бел. рублей
ПОЛУЧИТЬ СКИДКУ
Возможна оплата по частям!
Курс: Компьютер с нуля
Группа по будням (дневная)
Занятия: вт, чт 13:00 – 15:30
Длительность: 24 ак. часа
Начало: 31 октября 2023
Свободные места: 1 место Стоимость: 270 бел. рублей
Стоимость: 216 бел. рублей
ПОЛУЧИТЬ СКИДКУ
Возможна оплата по частям!
Курс: 3D моделирование
Группа по будням(дизайн)
Занятия: вт, чт 19:00 – 22:00
Длительность: 120 ак. часов
Начало: 09 ноября 2023
Свободные места: есть Стоимость: 1745 бел. рублей
Стоимость: 1570 бел. рублей
ПОЛУЧИТЬ СКИДКУ
Возможна оплата по частям!
Курс: Компьютер с нуля
Группа по будням (вечерняя)
Занятия: вт, чт 19:00 – 21:30
Длительность: 24 ак. часа
Начало: 09 ноября 2023
Свободные места: есть Стоимость: 270 бел. рублей
Стоимость: 243 бел. рубля
ПОЛУЧИТЬ СКИДКУ
Возможна оплата по частям!
Курс: Тестирование ПО (практикум)
Группа по будням
Занятия: ср, пт 19:00 – 22:00
Длительность: 72 ак. часа
Начало: 10 ноября 2023
Свободные места: есть
Стоимость: 1250 бел. рублей
ПОЛУЧИТЬ СКИДКУ
Возможна оплата по частям!
Курс: Компьютер с нуля
Группа по будням (утренняя)
Занятия: ср, пт 10:30 – 13:00
Длительность: 24 ак. часа
Начало: 10 ноября 2023
Свободные места: есть Стоимость: 270 бел. рублей
Стоимость: 230 бел. рублей
ПОЛУЧИТЬ СКИДКУ
Возможна оплата по частям!
Курс: Тестирование ПО
Группа по выходным
Занятия: сб, вс 10:00 – 13:00
Длительность: 64 ак. часа
Начало: 12 ноября 2023
Свободные места: есть
Стоимость: 950 бел. рублей
ПОЛУЧИТЬ СКИДКУ
Возможна оплата по частям!
Курс: Автоматизация тестирования ПО
Группа по будням
Занятия: пн, ср 19:00 – 22:00
Длительность: 128 ак. часов
Начало: 13 ноября 2023
Свободные места: 5 мест Стоимость: 1890 бел. рублей
Стоимость: 1795 бел. рублей
ПОЛУЧИТЬ СКИДКУ
Возможна оплата по частям!
Курс: Бизнес-анализ в сфере разработки ПО
Группа по будням
Занятия: вт, чт 19:00 – 22:00
Длительность: 64 ак. часа
Начало: 14 ноября 2023
Свободные места: есть
Стоимость: 950 бел. рублей
ПОЛУЧИТЬ СКИДКУ
Возможна оплата по частям!
Курс: Углубленный офис (Word, Excel)
Группа по будням (утренняя)
Занятия: вт, чт 10:00 – 12:30
Длительность: 30 ак. часов
Начало: 14 ноября 2023
Свободные места: есть Стоимость: 350 бел. рублей
Стоимость: 315 бел. рублей
ПОЛУЧИТЬ СКИДКУ
Возможна оплата по частям!
Курс: Web-разработки (Верстки) на HTML и CSS, JavaScript
Группа по будням
Занятия: пн, ср 19:00 – 22:00
Длительность: 160 ак. часов
Начало: 15 ноября 2023
Свободные места: есть Стоимость: 2490 бел. рублей
Стоимость: 2117 бел. рублей
ПОЛУЧИТЬ СКИДКУ
Возможна оплата по частям!
Курс: Тестирование ПО
Группа по будням (интенсив)
Занятия: вт, чт, пт 19:00 – 22:00
Длительность: 64 ак. часа
Начало: 16 ноября 2023
Свободные места: есть Стоимость: 950 бел. рублей
Стоимость: 855 бел. рублей
ПОЛУЧИТЬ СКИДКУ
Возможна оплата по частям!
Курс: Интернет-маркетинг
Группа по выходным
Занятия: сб, вс 10:00 – 13:00
Длительность: 64 ак. часа
Начало: 18 ноября 2023
Свободные места: есть Стоимость: 950 бел. рублей
Стоимость: 855 бел. рублей
ПОЛУЧИТЬ СКИДКУ
Возможна оплата по частям!
Курс: Программирование Python/Django
Группа по будням
Занятия: ср, пт 19:00 – 22:00
Длительность: 160 ак. часов
Начало: 22 ноября 2023
Свободные места: 3 места Стоимость: 2490 бел. рублей
Стоимость: 2241 бел. рубль
ПОЛУЧИТЬ СКИДКУ
Возможна оплата по частям!
Курс: Компьютер с нуля
Группа по выходным
Занятия: сб, вс 10:00 – 12:30
Длительность: 24 ак. часа
Начало: 25 ноября 2023
Свободные места: 2 места Стоимость: 270 бел. рублей
Стоимость: 243 бел. рубля
ПОЛУЧИТЬ СКИДКУ
Возможна оплата по частям!
Курс: Управление проектами в сфере разработки ПО
Группа по будням
Занятия: вт, чт 19:00 – 22:00
Длительность: 64 ак. часа
Начало: 07 декабря 2023
Свободные места: есть Стоимость: 950 бел. рублей
Стоимость: 808 бел. рублей
ПОЛУЧИТЬ СКИДКУ
Возможна оплата по частям!