Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
Александрррррпд
3 / 3 / 1
Регистрация: 17.09.2017
Сообщений: 355
1

Можно ли на C++ написать браузерную игру?

17.07.2018, 18:53. Просмотров 615. Ответов 24
Метки нет (Все метки)

На чём лучше сделать простую игру браузерную?
html5 или флеш?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.07.2018, 18:53
Ответы с готовыми решениями:

Возможно ли сделать браузерную игру на C++?
Первый вопрос в теме, а второй, если да, то это сложно сделать из готовой игры? Например, для...

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

нужно в течение 3-4 недель написать браузерную игру!
Задание такое: нужно написать в течение 3-4 недель браузерную игру, например карточную какую-то...

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

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

24
sourcerer
Модератор
Эксперт CЭксперт С++
4922 / 2108 / 326
Регистрация: 20.02.2013
Сообщений: 5,574
Записей в блоге: 24
Завершенные тесты: 1
17.07.2018, 19:08 2
Александрррррпд, гуглить не пробовали? По первой же ссылке на запрос "на чем пишут браузерные игры" нашлось вот такое:
Цитата Сообщение от Алексей Павлов
выбирать язык стоит из двух факторов - 1) существующий опыт на каком-то языке и 2) что хочется изучить для будущего. Если с первым пунктом плохо, то остаётся выбрать какой-то язык и начать его изучать.
Браузерные игры состоят из трёх компонентов:
1) клиентская часть - тут практически без вариантов - javascript.
2) серверная часть - тут есть множество вариантов. Из основных два варианта - php или Node.js (это серверный javascript). Оба варианта достойны рассмотрения, у каждого есть свои достоинства и недостатки. Также можно рассмотреть Python и Ruby. Не стоит сбрасывать со счёта Java и .Net языки (тут c# и asp.net). Ну и экзотика - Erlang или Go (всё-таки go я отнёс к экзотике, потому что это развивающийся язык, но активно набирает очки).
3) База данных - для хранения игровых данных. Здесь тоже есть о чём подумать - взять обычный привычный вдоль и поперёк исследованный MySQL, или подумать о более мощных базах типа Postgres, или взять модный MongoDb и его nosql-братьев.
Выбирайте, что вам нужно и вперёд. Но самый главный мой совет - не беритесь за что-то "типа Травиана и Гриполиса" в качестве первого проекта. Подобные проекты делаются годами профессиональными опытными программистами. Сделайте что-то гораздо проще - типа танчиков, бомбермена, вертолётиков, гонок - где есть только одна основная игровая механика. За время разработки этого проекта вы получите бесценный опыт, без которого вы даже не сможете оценить сложность тех проектов, о которых вы говорили в вопросе.

UPD. В своём ответе вы просите добавить аргументов в пользу некоторых серверных языков. Добавлю про них.
Первым рассмотрим php. Это достаточно простой язык для начала написания скриптов, и можно очень быстро написать что-то уже рабочее. Но это язык, который за внешней простотой прячет большую гибкость и достаточно сложные моменты. Поэтому для профессионального его использования нужны его глубокие знания, иначе получившийся код будет 1) медленным, 2) дырявым (ошибки и уязвимости) и 3) сложным в поддержке (сложно добавлять новые функции). Но начать его использовать очень просто.
Node.js. Это серверная платформа, имеющая в качестве языка программирования javascript. Он в некоторых задачах намного быстрее, чем php, но в некоторых может быть сравним по скорости. Его преимущество, что используется тот же язык, что и для клиентской части - меньше изучать. Его сложность в том, что для серверного языка он достаточно сложен, писать хороший код сложнее, чем на php. Плюс, его основные парадигмы - прототипное наследование и асинхронный код - достаточно сложны для понимания. Хорошим советом может оказаться учиться писать не обычный javascript, а его разновидность CoffeeScript, но многие не согласятся, тут нет единого мнения.
Python. Это очень мощный язык, позволяющий писать программы не только для web (собственно, сервер игры), но он используется очень много где. Он имеет очень простой синтаксис (кстати, отличающийся от многих других c-подобных языков), но очень гибкий и быстрый, и обладает богатейшей библиотекой готового кода (в принципе, php и node.js тоже обладают этим преимуществом). Недостатком можно отметить то, что гораздо меньшее количество программистов им владеют, и может быть, будет сложнее получить консультацию по возникшим вопросам (а вопросы будут - причём в любом языке). В общем, Python - отличный выбор для начала изучения серверного программирования.
Ruby может дать очень быстрый старт и быструю разработку. Но его знают ещё меньше программистов, чем Python. Насчёт скорости выполнения он, вроде, медленнее питона (тут я не уверен, не хочу обманывать - у меня нет опыта на ruby). Его синтаксис достаточно своеобразен. Но если вы его хорошо освоите, то никогда не останетесь без высокооплачиваемой работы.
Java и C# - очень мощные языки общего назначения, дадут очень сильную платформу для любого приложения, в том числе и сервера. Но они сложные, изучать их и хорошо писать на них гораздо сложнее предыдущих рассмотренных языков.
Go - новый развивающийся язык, можно рассмотреть его для изучения. Но на нём пока мало готового кода, мало материалов, небольшое сообщество.
Erlang - функциональный язык с очень необычной архитектурой (с точки зрения всех предыдущих языков), и очень необычный синтаксис. Изучать его сложно, но он даёт потрясающие результаты - в некоторых задачах. Советовать его не буду.
1
Antikl
с++
338 / 322 / 162
Регистрация: 15.07.2015
Сообщений: 1,702
Завершенные тесты: 6
17.07.2018, 19:15 3
книга отличная Изучаем C++ через программирование игр - Майкл Доусон
0
Александрррррпд
3 / 3 / 1
Регистрация: 17.09.2017
Сообщений: 355
17.07.2018, 23:58  [ТС] 4
вы как считаете что лучше использывать html5 или флеш?
0
17.07.2018, 23:58
MrGluck
Форумчанин
Эксперт CЭксперт С++
8123 / 4975 / 1436
Регистрация: 29.11.2010
Сообщений: 13,456
18.07.2018, 00:32 5
Цитата Сообщение от Александрррррпд Посмотреть сообщение
флеш
Флеш уже давно хотят похоронить. Достаточно того факта, что на iOS он не будет работать?
0
Kastaneda
18.07.2018, 10:54
  #6

Не по теме:

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

0
DobroAlex
Модератор
395 / 337 / 165
Регистрация: 30.04.2016
Сообщений: 1,725
Завершенные тесты: 3
18.07.2018, 12:41 7
MrGluck, на ведре тоже
Александрррррпд, JS ваш лучший друг
0
Dmitriy_M
1434 / 1314 / 131
Регистрация: 20.03.2009
Сообщений: 4,688
Записей в блоге: 11
18.07.2018, 16:46 8
Цитата Сообщение от Александрррррпд Посмотреть сообщение
На чём лучше сделать простую игру браузерную?
Можно, но просто не будет.
0
mrden777
5 / 13 / 12
Регистрация: 20.03.2018
Сообщений: 405
Завершенные тесты: 2
18.07.2018, 18:17 9
А есть где то туториал под ключ создания на html5 браузерки ?
0
Antikl
с++
338 / 322 / 162
Регистрация: 15.07.2015
Сообщений: 1,702
Завершенные тесты: 6
18.07.2018, 20:15 10
Цитата Сообщение от mrden777 Посмотреть сообщение
А есть где то туториал под ключ создания на html5 браузерки ?
https://www.piter.com/collection/all...s-i-javascript

Добавлено через 4 минуты
https://www.youtube.com/watch?v=VLpjfr7mgT0
0
Dmitriy_M
1434 / 1314 / 131
Регистрация: 20.03.2009
Сообщений: 4,688
Записей в блоге: 11
18.07.2018, 20:21 11
Цитата Сообщение от mrden777 Посмотреть сообщение
А есть где то туториал под ключ создания на html5 браузерки ?
А зачем HTML5? https://s3.amazonaws.com/mozilla-games/ZenGarden/EpicZenGarden.html работает и на современных мобильных браузерах
0
Александрррррпд
3 / 3 / 1
Регистрация: 17.09.2017
Сообщений: 355
20.07.2018, 09:07  [ТС] 12
у HTML5 игры будет закрытый исходный код?
0
_lunar_
Эксперт С++
1523 / 1425 / 200
Регистрация: 03.05.2011
Сообщений: 3,308
Записей в блоге: 3
Завершенные тесты: 1
20.07.2018, 09:20 13
Цитата Сообщение от Александрррррпд Посмотреть сообщение
у HTML5 игры будет закрытый исходный код?
если вы не выложите исходники, то он будет "закрытый".
если вам нужно защитить ваш код от взлома, используйте обфускацию и vm.
0
8Observer8
2711 / 1670 / 294
Регистрация: 05.10.2013
Сообщений: 5,147
Записей в блоге: 89
09.08.2018, 18:06 14
Цитата Сообщение от Александрррррпд Посмотреть сообщение
html5 или флеш?
Flash будет удалён из Chrome в 2020. Конечно, выбирать нужно HTML5/WebGL.

Цитата Сообщение от Александрррррпд Посмотреть сообщение
На чём лучше сделать простую игру браузерную?
Если это 2D игра, то делайте с использованием фреймворка Phaser. Если 3D, то графические движки: Three.js или Babylon.js. Будет работать на мобильных браузерах тоже.

Цитата Сообщение от Александрррррпд Посмотреть сообщение
Можно ли на C++ написать браузерную игру?
Есть компилятор Emscripten из C++ в asm.js.

Если на HTML5/WebGL, то моё мнение, что вместо JavaScript для браузера лучше использовать TypeScript, потому что он похож на такие языки как C# и C++, и он является компилируемым языком, имеет автодополнение, типы и многое другое для синтаксиса. Для JS автодополнения в средах нет. Лучше всего TypeScript поддерживает редактор VSCode. Например, на JS если вы напишите свойство объекта с опиской и что-то к нему приравляете, то будет создано новое свойство. В TS такое невозможно, вам об этом сообщит среда или компилятор. Или, например, любая другая ошибка обнаруживается на JS только в рантайме, а в TS при компиляции. Автором TS является тот же человек, который является автором C#, Delphi и Turbo Pascal.

TypeScript можно использовать с: HTML5/WebGL, Phaser, Three.js и Babylon.js. Причём Babylon.js полностью написан на TypeScript.

Книги по графике: HTML5 Canvas, WebGL, ThreeJS и Phaser

Книги по TypeScript
1
Dmitriy_M
1434 / 1314 / 131
Регистрация: 20.03.2009
Сообщений: 4,688
Записей в блоге: 11
09.08.2018, 18:08 15
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Есть компиляторы из C++ в asm.js, то они сырые
Вранье.
0
8Observer8
2711 / 1670 / 294
Регистрация: 05.10.2013
Сообщений: 5,147
Записей в блоге: 89
09.08.2018, 18:22 16
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Вранье.
Я сужу по разработчикам движков Unreal Engine 4 и Unity, которые реализовали сборку в HTML5/WebGL с помощью Emscripten, но на мобильных браузерах эти сборки не поддерживаются. По личным наблюдениям среди разработчиков игр Emscripten мало популярен, потому что на нём мало игр, по нему мало форумов, мало книг, мало текстовых и видео туториалов в сравнении, например, с Phaser, который являются обёрткой над HTML5/CanvasAPI/WebGL.
0
Dmitriy_M
1434 / 1314 / 131
Регистрация: 20.03.2009
Сообщений: 4,688
Записей в блоге: 11
09.08.2018, 18:27 17
Цитата Сообщение от 8Observer8 Посмотреть сообщение
но на мобильных браузерах эти сборки не поддерживаются.
Кто их не поддерживает? Некоторые демки Unreal Engine 4 запускаются на мобильных браузерах.
0
8Observer8
2711 / 1670 / 294
Регистрация: 05.10.2013
Сообщений: 5,147
Записей в блоге: 89
09.08.2018, 19:24 18
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Кто их не поддерживает?
Прямо в документации Unity здесь написано, что не поддерживается на мобильных браузерах:
Mobile devices are not supported by Unity WebGL.
На форуме UE4 есть вопрос:
Does UE4 support HTML5 with WebGL on smartphones?
Ответ, видимо, от разработчика UE4:
HTML5 is supported for web browsers but not mobile devices. You can package for Android or iOS if you'd like to have a game on your tablet.

We're always in the process of bettering our engine. It takes time to implement better features across all platforms, so patience is needed.
0
Dmitriy_M
1434 / 1314 / 131
Регистрация: 20.03.2009
Сообщений: 4,688
Записей в блоге: 11
09.08.2018, 19:52 19
Официально не поддерживают, но тот же ZenGarden в WebAssembly на мобильных устройствах запускается.
1
mrden777
5 / 13 / 12
Регистрация: 20.03.2018
Сообщений: 405
Завершенные тесты: 2
10.08.2018, 15:48 20
Мне кажется для браузерок спесально JAVA изобрели, зачем применять другие инструменты ? Это такая же тупая идея как 3D игры писать на ассемблере
0
10.08.2018, 15:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.08.2018, 15:48

Как разграбить браузерную игру=) ?
Всем привет. Имеется браузерная флешь игра в которой периодически меняются цифры. Задача получать...

Как создать браузерную онлайн игру?
Пожалуйста подскажите как создать браузерную онлайн игру? Я очень хочу создать её))) Желательно...

Делаю браузерную игру. Приложение ВКонтакте
сейчас делаю браузерку. а точнея приложение вконтакте. делаю на флеш с ас 3.0 сервер на пыхи пишу....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru