Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.63/40: Рейтинг темы: голосов - 40, средняя оценка - 4.63
4 / 4 / 1
Регистрация: 17.09.2017
Сообщений: 359

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

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

Студворк — интернет-сервис помощи студентам
На чём лучше сделать простую игру браузерную?
html5 или флеш?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.07.2018, 18:53
Ответы с готовыми решениями:

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

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

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

24
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
17.07.2018, 19:08
Александрррррпд, гуглить не пробовали? По первой же ссылке на запрос "на чем пишут браузерные игры" нашлось вот такое:
Цитата Сообщение от Алексей Павлов
выбирать язык стоит из двух факторов - 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
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
17.07.2018, 19:15
книга отличная Изучаем C++ через программирование игр - Майкл Доусон
0
4 / 4 / 1
Регистрация: 17.09.2017
Сообщений: 359
17.07.2018, 23:58  [ТС]
вы как считаете что лучше использывать html5 или флеш?
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
18.07.2018, 00:32
Цитата Сообщение от Александрррррпд Посмотреть сообщение
флеш
Флеш уже давно хотят похоронить. Достаточно того факта, что на iOS он не будет работать?
0
18.07.2018, 10:54

Не по теме:

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

0
Заклинатель змей
 Аватар для DobroAlex
705 / 560 / 219
Регистрация: 30.04.2016
Сообщений: 2,605
18.07.2018, 12:41
MrGluck, на ведре тоже
Александрррррпд, JS ваш лучший друг
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
18.07.2018, 16:46
Цитата Сообщение от Александрррррпд Посмотреть сообщение
На чём лучше сделать простую игру браузерную?
Можно, но просто не будет.
0
 Аватар для mrden777
14 / 20 / 14
Регистрация: 20.03.2018
Сообщений: 485
18.07.2018, 18:17
А есть где то туториал под ключ создания на html5 браузерки ?
0
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
18.07.2018, 20:15
Цитата Сообщение от mrden777 Посмотреть сообщение
А есть где то туториал под ключ создания на html5 браузерки ?
https://www.piter.com/collecti... javascript

Добавлено через 4 минуты
https://www.youtube.com/watch?v=VLpjfr7mgT0
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
18.07.2018, 20:21
Цитата Сообщение от mrden777 Посмотреть сообщение
А есть где то туториал под ключ создания на html5 браузерки ?
А зачем HTML5? https://s3.amazonaws.com/mozil... arden.html работает и на современных мобильных браузерах
0
4 / 4 / 1
Регистрация: 17.09.2017
Сообщений: 359
20.07.2018, 09:07  [ТС]
у HTML5 игры будет закрытый исходный код?
0
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
20.07.2018, 09:20
Цитата Сообщение от Александрррррпд Посмотреть сообщение
у HTML5 игры будет закрытый исходный код?
если вы не выложите исходники, то он будет "закрытый".
если вам нужно защитить ваш код от взлома, используйте обфускацию и vm.
0
9037 / 2937 / 494
Регистрация: 05.10.2013
Сообщений: 7,962
Записей в блоге: 216
09.08.2018, 18:06
Цитата Сообщение от Александрррррпд Посмотреть сообщение
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
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
09.08.2018, 18:08
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Есть компиляторы из C++ в asm.js, то они сырые
Вранье.
0
9037 / 2937 / 494
Регистрация: 05.10.2013
Сообщений: 7,962
Записей в блоге: 216
09.08.2018, 18:22
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Вранье.
Я сужу по разработчикам движков Unreal Engine 4 и Unity, которые реализовали сборку в HTML5/WebGL с помощью Emscripten, но на мобильных браузерах эти сборки не поддерживаются. По личным наблюдениям среди разработчиков игр Emscripten мало популярен, потому что на нём мало игр, по нему мало форумов, мало книг, мало текстовых и видео туториалов в сравнении, например, с Phaser, который являются обёрткой над HTML5/CanvasAPI/WebGL.
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
09.08.2018, 18:27
Цитата Сообщение от 8Observer8 Посмотреть сообщение
но на мобильных браузерах эти сборки не поддерживаются.
Кто их не поддерживает? Некоторые демки Unreal Engine 4 запускаются на мобильных браузерах.
0
9037 / 2937 / 494
Регистрация: 05.10.2013
Сообщений: 7,962
Записей в блоге: 216
09.08.2018, 19:24
Цитата Сообщение от 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
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
09.08.2018, 19:52
Официально не поддерживают, но тот же ZenGarden в WebAssembly на мобильных устройствах запускается.
1
 Аватар для mrden777
14 / 20 / 14
Регистрация: 20.03.2018
Сообщений: 485
10.08.2018, 15:48
Мне кажется для браузерок спесально JAVA изобрели, зачем применять другие инструменты ? Это такая же тупая идея как 3D игры писать на ассемблере
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.08.2018, 15:48
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru