SlideShare ist ein Scribd-Unternehmen logo
1 von 21
WEB, ИГРЫ, C++
ТЕМНАЯ МАГИЯ
KIRILL A. SHABORDIN , CILIZ::W4
ПРЕДУВЕДОМЛЕНИЕ
В связи с нравственным возрождением нашего общества в докладе по мере возможности
используется великий, могучий, правдивый и свободный русский язык, но автору все
равно удастся сказать правду о самом главном.
Все совпадения - случайны, а выводы -субъективны.
В докладе используется цветовая дифференциация слайдов :
● зеленый - информация для менеджеров и гуманитариев
● желтый - факты, цифры, утверждения
● красный - подробности для технарей и копающих чуть глубже
Кто ТЫ, ПУТНИК?
❖ Я хочу делать playable ads и интересуюсь разными технологиями
❖ Я - фронтендер, мне интересно, при чем тут C++
❖ Я - С++ разработчик и мне интересно, при чем тут веб
❖ Я - веб-студия, хочу заняться производством игр
❖ Я - человек индустрии, интересуюсь всем, до чего дотянусь
❖ Шел мимо, присел отдохнуть
СПОЙЛЕР: ОЦЕНОЧНОЕ СУЖДЕНИЕ №1
ГОРАЗДО ПРОЩЕ ДАТЬ ВОЗМОЖНОСТЬ ИГРОВОМУ РАЗРАБОТЧИКУ СОБИРАТЬ ИГРУ В
НОВУЮ ПЛАТФОРМУ (В ДАННОМ СЛУЧАЕ - В БРАУЗЕР), ЧЕМ НАУЧИТЬ ВЕБ
РАЗРАБОТЧИКА ДЕЛАТЬ ИГРЫ.
ГОРАЗДО ПРОЩЕ ДАТЬ ВОЗМОЖНОСТЬ ИГРОВОМУ РАЗРАБОТЧИКУ РАБОТАТЬ С
ЗНАКОМЫМ СТЕКОМ (В ДАННОМ СЛУЧАЕ - С С++), ЧЕМ ПЕРЕСАДИТЬ НА НОВЫЙ,
НЕПРИВЫЧНЫЙ .
ЧТО БЫВАЕТ В БРАУЗЕРЕ?
❖ Реклама, в которую можно играть - playable ADS (CPA/CTR)
❖ Игры для социальных сетей
❖ Игрофикация всего, что уже есть
❖ Витающие в воздухе разнообразные ‘TikTok for Games’ (Муа-ха-ха)
❖ Веб-компаньоны для игр на других платформах
❖ Графически насыщенные веб-приложения
МАКСИМАЛЬНО ВАЖНЫЙ СЛАЙД
СЛЕДИМ ЗА РУКАМИ
ЕСЛИ ВЫ ДОСТИГАЕТЕ НУЖНОГО РЕЗУЛЬТАТА ТЕМИ СРЕДСТВАМИ, КОТОРЫМИ ВЛАДЕЕТЕ,
ТО НИЧЕГО МЕНЯТЬ НЕ НУЖНО. ЕСЛИ ВАШИ ТЕХНОЛОГИИ ПОЗВОЛЯЮТ ВАМ ДЕЛАТЬ ТО,
ЧТО НУЖНО, ВОВРЕМЯ И С НЕОБХОДИМЫМ УРОВНЕМ КАЧЕСТВА - НЕ МЕНЯЙТЕ НИЧЕГО,
ВЫ - СЧАСТЛИВЧИК, У ВАС ВСЕ ХОРОШО.
ЕСЛИ ЖЕ ТО, ЧТО ВЫ ДЕЛАЕТЕ В ОБЛАСТИ ВЕБ-ИГР НЕ ПОЛУЧАЕТСЯ, ПОЛУЧАЕТСЯ
ДОРОГО ИЛИ МЕДЛЕННО - ДАВАЙТЕ ПОГОВОРИМ
ПОЧЕМУ БУДЕМ ГОВОРИТЬ В ОСНОВНОМ ПРО PLAYABLE ADS?
В случае, если нет ограничений платформы все так и происходит - вы берете знакомый
программисту стек, к примеру Unity3D и просто считаете браузер еще одной платформой.
На этом пути вас ждут ямы, болота и прозрения, конечно
Но так или иначе вы работаете в естественной для себя среде, разве что окружающий мир
становится более жесток , чем обычно, вы начинаете ненавидеть браузер, но постепенно
проходите все пять стадий принятия и издаете продукт.
Наступает. Счастливый. Конец.
ЧУДЕСНЫЙ МИР ЗАПРЕТОВ: МЕСТО, ГДЕ UNITY НЕ СРАБОТАЕТ
❖ Размер билда не должен быть более 1 - 2 Mb в зависимости от сети
❖ Вы должны быть интегрированы с сервисами сети, почти всегда надмозговым способом
❖ Все ресурсы вам будет поставлять заказчик, не признающий компромиссов
❖ Вы не должны использовать web-workers
❖ Вы должны упаковать все в один html, который пройдет валидацию сети
❖ Но как именно работает валидатор вы будете узнавать реверс-инжинирингом
❖ И все это - в стихах, то есть по возможности в 3D и с современной картинкой
❖ В идеале и геймплей и картинка должны быть не хуже, чем в рекламируемой игре
ТЕХНОЛОГИИ
❖ Классика : html5 / css / javascript (typescript)
❖ ‘ish : классика + сахар
❖ JS движки : Play Canvas, pixi.js, three.js …
❖ Движки общего назначения, умеющие в WASM - Unity3D, GameMaker, GDevelop ...
❖ WASM-based движки и фреймворки - W4, Nyan-Kit …
ОТВЕТ №1, МЕНЕДЖЕРСКИЙ : ХОЧУ ДЕЛАТЬ PLAYABLE
❖ Нанять C++ программиста, можно студента, сложность - средняя
❖ Взять W4 или Nyan-Kit вместе с онбордингом, сложность - нулевая
❖ Набрать заказов, сложность - максимальная
❖ Начать делать
Плюсы - time to market, низкий порог вхождения в бизнес с точки зрения технологий.
Минусы - это бизнес, вам никто не обещал, что заказы будут :)
ОТВЕТ №2, ФРОНТЕНДЕРСКИЙ : ЗАЧЕМ МНЕ C++?
НЕЗАЧЕМ. НИКАКИХ БЕНЕФИТОВ ОН ВАМ НЕ ПРИНЕСЕТ, ЗНАНИЯ НЕ БЫВАЮТ ЛИШНИМИ,
НО ЭТО КАК РАЗ ЛИШНЕЕ ЗНАНИЕ. У ВАС ЕСТЬ ЦЕЛЫЙ ВАГОН УДОБНЫХ И РАБОТАЮЩИХ
ТЕХНОЛОГИЙ, НЕ СТОИТ УВЕЛИЧИВАТЬ ЭНТРОПИЮ МИРА БЕЗ ЛИШНЕЙ НА ТО ПРИЧИНЫ.
ЕДИНСТВЕННЫЙ ВАРИАНТ - У ВАС ЕСТЬ НУЖНАЯ ВАМ БИБЛИОТЕКА, К СОЖАЛЕНИЮ
ДОСТУПНАЯ ТОЛЬКО НА С ИЛИ С++. ВОЗЬМИТЕ EMSCRIPTEN, ПРОЧИТАЙТЕ
ДОКУМЕНТАЦИЮ И АККУРАТНО ЭТУ ДОКУМЕНТАЦИЮ ИСПОЛЬЗУЙТЕ.
ОТВЕТ №3, ПРОГРАММЕРСКИЙ:
ЗДРАВСТВУЙТЕ, МЕНЯ ЗОВУТ ИГНАТ, Я ПРОГРАММИСТ. КАК Я МОГУ НАПИСАТЬ
АДМИНКУ К МОИМ СЕРВИСАМ НЕ ПОГРУЖАЯСЬ В ЧУДЕСНЫЙ МИР ФРОНТЕНДА,
ИЛИ ХОТЯ БЫ ПОГРУЗИВШИСЬ ДО ПОЯСА, А НЕ ПО ГОРЛО?
ВОЗЬМИТЕ EMSCRIPTEN, ПРОЧИТАЙТЕ ДОКУМЕНТАЦИЮ И АККУРАТНО ЭТУ
ДОКУМЕНТАЦИЮ ИСПОЛЬЗУЙТЕ. ТАМ ВСЕ ПРЕДЕЛЬНО ПОНЯТНО НАПИСАНО. QT ДАВНО
ПОРТИРОВАН, ТАК ЖЕ, КАК И SMFL К ПРИМЕРУ (А, ЗНАЧИТ И IMGUI). ЕСЛИ ЖЕ ВЫ ИЩИТЕ
ИГРОВОЙ ДВИЖОК, ПОСМОТРИТЕ В СТОРОНУ NYAN-KIT, ОН ДЛЯ ЭКСПЕРИМЕНТАЛЬНЫХ
ЦЕЛЕЙ БЕСПЛАТЕН. НЕ ВСЕ ТАК СТРАШНО, ИГНАТ, ГОРЛО УЦЕЛЕЕТ.
НА ВСЯКИЙ СЛУЧАЙ №1 - ФРОНТ и ТЫЛ
❖ Фронт - код, который выполняется у пользователя, в рамках его устройства
❖ Тыл, бэкенд, серверсайд и все такое - код, который выполняется у вас на сервере
❖ То же самое и с данными
❖ Сервер - это какой-то компьютер, кластер, который обслуживаете и оплачиваете ВЫ
❖ Устройство пользователя - это его компьютер, телефон, браузер, консоль
❖ Чем отличаются код и данные, можно спросить у Фон-Неймана
ФАКТ №1 - ПОЧЕМУ НЕВАЖНО, ЧТО У ВАС В БЕКЕНДЕ?
Потому, что на выбор технологий для backend то, как у вас реализован фронт не влияет
НИКАК
НА ВСЯКИЙ СЛУЧАЙ №3 - ЗАЧЕМ НУЖНА ОПЕРАЦИОННАЯ СИСТЕМА
❖ Ваш код должен не только считать, сколько будет 2+2 но и куда то выводить результаты
❖ Если у вас есть что-то, что реализует POSIX, то вы можете использовать компилятор C/C++
❖ В нашем случае операционная система - это браузер, его API - не POSIX
❖ Единственный язык нашей OC - это javascript
❖ Кто то должен реализовать нужные вызовы и скомпилировать GLib, чтобы все работало
❖ Это делает emscripten, это можете сделать вы сами
❖ Как только у вас есть GLib, вы можете скомпилировать и запустить любой C++ код
❖ Радуга отменяется, в процессе возникнем масса подводных камней
НА ВСЯКИЙ СЛУЧАЙ №2 - WASM
● LLVM-like IR + Portable AST
● Компилируется на стороне клиента
● Статически линкуется
● Это не asm.js и не PNaCl
int foo(int a) { return a * 42;}
(module
(table 0 anyfunc)
(memory $0 1)
(export "memory" (memory $0))
(export "foo" (func $foo))
(func $foo (; 0 ;) (param $0 i32)
(result i32)
(i32.mul
(get_local $0)
(i32.const 42)
)
)
)
var code = new Ut8Array(
[0,97,115,109,1,0,0,0,1,134,128,128,128,0,1,96,1,127,1,127,3,130,12
8,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1
,0,1,6,129,128,128,128,0,0,7,144,128,128,128,0,2,6,109,101,109,111,
114,121,2,0,3,102,111,111,0,0,10,141,128,128,128,0,1,135,128,128,12
8,0,0,32,0,65,42,108,11]);
var module = new WebAssembly.Module(code);
var instance = new WebAssembly.Instance(module, []);
console.log(instance.exports.foo(42));
ПОДРОБНОСТИ, - WASM, УЗКИЕ МЕСТА
❖ Производительность, неожиданные оверхеды
❖ Нереализованные (пока) никем <thread>
❖ SIMD и “соображения безопасности”
❖ Оверхеды на биндинг
❖ Не реализованы вызовы browser API в VM (единственное, что будет вас выбешивать)
❖ Время на компиляцию из IR и кривое кеширование
❖ Приколы с nullptr, накладные расходы на вызовы виртуальных функций etc
❖ В JS нет колбека на вызов сборщика мусора
❖ Emscripten, либо много времени на свою реализацию “posix” слоя
С++ vs JS , ПАРАД ЗАБЛУЖДЕНИЙ, ЛЮДИ
❖ С++ программиста сложно нанять, JS программиста нанять просто
❖ С++ программиста дорого нанять, JS программиста нанять дешево
❖ С++ сложный язык, студенты абсолютно не готовы к работе, JS знают все
❖ Мы уже умеем делать сайты, игры - это примерно о том же (о, да, вы не поверите)
❖ JS разработчиков очень много, делать игры достаточно просто, выбор вариантов больше
❖ Готовых решений для C++ гораздо меньше, это технологический замок
❖ В случае с JS я смогу нанять на проект другого разработчика в случае чего и он просто
продолжит то, что начато (муа-ха-ха)
ФАКТ №2 - ГОЛЫЕ ЦИФРЫ
● GitHub “Game Engine”
○ C++ 12528
○ JS 4665
● GitHub “Game”
○ JS 457560
○ C++ 110578
● hh “Gamedev” медиана
○ C++ 70-150 руб (188)
○ JS 55-150 руб (127)
● ВУЗы (программирование)
○ C++ 100%
○ JS 23%
● Stack Overflow tech
○ C++ 24.31%
○ JS 64.96%
○ HTML/CSS 63.1%
И СНОВА: ОЦЕНОЧНОЕ СУЖДЕНИЕ №1
ГОРАЗДО ПРОЩЕ ДАТЬ ВОЗМОЖНОСТЬ ИГРОВОМУ РАЗРАБОТЧИКУ СОБИРАТЬ ИГРУ В
НОВУЮ ПЛАТФОРМУ (В ДАННОМ СЛУЧАЕ - В БРАУЗЕР), ЧЕМ НАУЧИТЬ ВЕБ
РАЗРАБОТЧИКА ДЕЛАТЬ ИГРЫ.
ГОРАЗДО ПРОЩЕ ДАТЬ ВОЗМОЖНОСТЬ ИГРОВОМУ РАЗРАБОТЧИКУ РАБОТАТЬ С
ЗНАКОМЫМ СТЕКОМ (В ДАННОМ СЛУЧАЕ - С С++), ЧЕМ ПЕРЕСАДИТЬ НА НОВЫЙ,
НЕПРИВЫЧНЫЙ .
ГЛАВНОЕ БЛЮДО ВЕЧЕРА
НАДЕЮСЬ, ЧТО ЕСТЬ ВОПРОСЫ.

Weitere ähnliche Inhalte

Ähnlich wie Веб, Игры, С++ : Темная Магия / Кирилл Шабордин (Ciliz :: W4)

История проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинИстория проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинOntico
 
От заката до рассвета | Максим Безуглый | Zlit Tech
От заката до рассвета | Максим Безуглый | Zlit TechОт заката до рассвета | Максим Безуглый | Zlit Tech
От заката до рассвета | Максим Безуглый | Zlit TechZlit
 
Как потратить 4 года и мешок денег на рефакторинг и ничего не запустить / М.Ч...
Как потратить 4 года и мешок денег на рефакторинг и ничего не запустить / М.Ч...Как потратить 4 года и мешок денег на рефакторинг и ничего не запустить / М.Ч...
Как потратить 4 года и мешок денег на рефакторинг и ничего не запустить / М.Ч...Ontico
 
Александр Алаев. Сколько можно заработать на разработке прикладного софта
Александр Алаев. Сколько можно заработать на разработке прикладного софтаАлександр Алаев. Сколько можно заработать на разработке прикладного софта
Александр Алаев. Сколько можно заработать на разработке прикладного софтаДмитрий Шахов
 
Internet marketing best_free_tools
Internet marketing best_free_toolsInternet marketing best_free_tools
Internet marketing best_free_toolsAndreygold
 
Tech Talks @NSU: Проходим тест Джоэла
Tech Talks @NSU: Проходим тест ДжоэлаTech Talks @NSU: Проходим тест Джоэла
Tech Talks @NSU: Проходим тест ДжоэлаTech Talks @NSU
 
1450 days in Service Design
1450 days in Service Design1450 days in Service Design
1450 days in Service DesignOleg Koss
 
Мобильная коллаборация
Мобильная коллаборацияМобильная коллаборация
Мобильная коллаборацияAnatoly Levenchuk
 
Как сделать веб-карту, сохранить здоровье и возненавидеть IE
Как сделать веб-карту, сохранить здоровье и возненавидеть IEКак сделать веб-карту, сохранить здоровье и возненавидеть IE
Как сделать веб-карту, сохранить здоровье и возненавидеть IEАртём Кудзев
 
Игорь Вольнов Мой опыт работы и жизни за рубежом
Игорь Вольнов Мой опыт работы и жизни за рубежомИгорь Вольнов Мой опыт работы и жизни за рубежом
Игорь Вольнов Мой опыт работы и жизни за рубежомForkConf
 
Олег Годовых - Как учёба в универе и олимпиады не сделали мою жизнь хуже | Ha...
Олег Годовых - Как учёба в универе и олимпиады не сделали мою жизнь хуже | Ha...Олег Годовых - Как учёба в универе и олимпиады не сделали мою жизнь хуже | Ha...
Олег Годовых - Как учёба в универе и олимпиады не сделали мою жизнь хуже | Ha...HappyDev
 
Как стать игроком большой команды
Как стать игроком большой командыКак стать игроком большой команды
Как стать игроком большой командыAgilie Team
 
"Dealing with legacy code"
"Dealing with legacy code""Dealing with legacy code"
"Dealing with legacy code"HYS Enterprise
 
Indie Gamedev
Indie GamedevIndie Gamedev
Indie GamedevIT61
 
Проходим тест Джоэла
Проходим тест ДжоэлаПроходим тест Джоэла
Проходим тест Джоэла0leGG
 
Maksym Antipov Hardware development as a hobby and a job
Maksym Antipov Hardware development as a hobby and a jobMaksym Antipov Hardware development as a hobby and a job
Maksym Antipov Hardware development as a hobby and a jobАліна Шепшелей
 
SE2016 IoT Maksym Antipov "Hardware development as a hobby and a job"
SE2016 IoT Maksym Antipov "Hardware development as a hobby and a job"SE2016 IoT Maksym Antipov "Hardware development as a hobby and a job"
SE2016 IoT Maksym Antipov "Hardware development as a hobby and a job"Inhacking
 
Азбука вежливости
Азбука вежливостиАзбука вежливости
Азбука вежливостиPyNSK
 
Highload++2013: TopGun - архитектура терабитной платформы DPI
Highload++2013: TopGun - архитектура терабитной платформы DPIHighload++2013: TopGun - архитектура терабитной платформы DPI
Highload++2013: TopGun - архитектура терабитной платформы DPILeonid Yuriev
 

Ähnlich wie Веб, Игры, С++ : Темная Магия / Кирилл Шабордин (Ciliz :: W4) (20)

История проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинИстория проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей Шетухин
 
От заката до рассвета | Максим Безуглый | Zlit Tech
От заката до рассвета | Максим Безуглый | Zlit TechОт заката до рассвета | Максим Безуглый | Zlit Tech
От заката до рассвета | Максим Безуглый | Zlit Tech
 
Как потратить 4 года и мешок денег на рефакторинг и ничего не запустить / М.Ч...
Как потратить 4 года и мешок денег на рефакторинг и ничего не запустить / М.Ч...Как потратить 4 года и мешок денег на рефакторинг и ничего не запустить / М.Ч...
Как потратить 4 года и мешок денег на рефакторинг и ничего не запустить / М.Ч...
 
Александр Алаев. Сколько можно заработать на разработке прикладного софта
Александр Алаев. Сколько можно заработать на разработке прикладного софтаАлександр Алаев. Сколько можно заработать на разработке прикладного софта
Александр Алаев. Сколько можно заработать на разработке прикладного софта
 
Internet marketing best_free_tools
Internet marketing best_free_toolsInternet marketing best_free_tools
Internet marketing best_free_tools
 
Tech Talks @NSU: Проходим тест Джоэла
Tech Talks @NSU: Проходим тест ДжоэлаTech Talks @NSU: Проходим тест Джоэла
Tech Talks @NSU: Проходим тест Джоэла
 
1450 days in Service Design
1450 days in Service Design1450 days in Service Design
1450 days in Service Design
 
Мобильная коллаборация
Мобильная коллаборацияМобильная коллаборация
Мобильная коллаборация
 
Как сделать веб-карту, сохранить здоровье и возненавидеть IE
Как сделать веб-карту, сохранить здоровье и возненавидеть IEКак сделать веб-карту, сохранить здоровье и возненавидеть IE
Как сделать веб-карту, сохранить здоровье и возненавидеть IE
 
Игорь Вольнов Мой опыт работы и жизни за рубежом
Игорь Вольнов Мой опыт работы и жизни за рубежомИгорь Вольнов Мой опыт работы и жизни за рубежом
Игорь Вольнов Мой опыт работы и жизни за рубежом
 
Олег Годовых - Как учёба в универе и олимпиады не сделали мою жизнь хуже | Ha...
Олег Годовых - Как учёба в универе и олимпиады не сделали мою жизнь хуже | Ha...Олег Годовых - Как учёба в универе и олимпиады не сделали мою жизнь хуже | Ha...
Олег Годовых - Как учёба в универе и олимпиады не сделали мою жизнь хуже | Ha...
 
Как стать игроком большой команды
Как стать игроком большой командыКак стать игроком большой команды
Как стать игроком большой команды
 
"Dealing with legacy code"
"Dealing with legacy code""Dealing with legacy code"
"Dealing with legacy code"
 
Indie Gamedev
Indie GamedevIndie Gamedev
Indie Gamedev
 
Проходим тест Джоэла
Проходим тест ДжоэлаПроходим тест Джоэла
Проходим тест Джоэла
 
Maksym Antipov Hardware development as a hobby and a job
Maksym Antipov Hardware development as a hobby and a jobMaksym Antipov Hardware development as a hobby and a job
Maksym Antipov Hardware development as a hobby and a job
 
SE2016 IoT Maksym Antipov "Hardware development as a hobby and a job"
SE2016 IoT Maksym Antipov "Hardware development as a hobby and a job"SE2016 IoT Maksym Antipov "Hardware development as a hobby and a job"
SE2016 IoT Maksym Antipov "Hardware development as a hobby and a job"
 
Азбука вежливости
Азбука вежливостиАзбука вежливости
Азбука вежливости
 
Highload++2013: TopGun - архитектура терабитной платформы DPI
Highload++2013: TopGun - архитектура терабитной платформы DPIHighload++2013: TopGun - архитектура терабитной платформы DPI
Highload++2013: TopGun - архитектура терабитной платформы DPI
 
Первый шаг в Open Source
Первый шаг в Open SourceПервый шаг в Open Source
Первый шаг в Open Source
 

Mehr von DevGAMM Conference

The art of small steps, or how to make sound for games in conditions of war /...
The art of small steps, or how to make sound for games in conditions of war /...The art of small steps, or how to make sound for games in conditions of war /...
The art of small steps, or how to make sound for games in conditions of war /...DevGAMM Conference
 
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...DevGAMM Conference
 
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...DevGAMM Conference
 
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...Why indie developers should consider hyper-casual right now / Igor Gurenyov (...
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...DevGAMM Conference
 
AI / ML for Indies / Tyler Coleman (Retora Games)
AI / ML for Indies / Tyler Coleman (Retora Games)AI / ML for Indies / Tyler Coleman (Retora Games)
AI / ML for Indies / Tyler Coleman (Retora Games)DevGAMM Conference
 
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...DevGAMM Conference
 
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...DevGAMM Conference
 
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...DevGAMM Conference
 
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...DevGAMM Conference
 
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)DevGAMM Conference
 
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)DevGAMM Conference
 
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...DevGAMM Conference
 
How to increase wishlists & game sales from China? Growth marketing tactics &...
How to increase wishlists & game sales from China? Growth marketing tactics &...How to increase wishlists & game sales from China? Growth marketing tactics &...
How to increase wishlists & game sales from China? Growth marketing tactics &...DevGAMM Conference
 
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)DevGAMM Conference
 
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...DevGAMM Conference
 
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...DevGAMM Conference
 
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...DevGAMM Conference
 
Branded Content: How to overcome players' immunity to advertising / Alex Brod...
Branded Content: How to overcome players' immunity to advertising / Alex Brod...Branded Content: How to overcome players' immunity to advertising / Alex Brod...
Branded Content: How to overcome players' immunity to advertising / Alex Brod...DevGAMM Conference
 
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...DevGAMM Conference
 
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...DevGAMM Conference
 

Mehr von DevGAMM Conference (20)

The art of small steps, or how to make sound for games in conditions of war /...
The art of small steps, or how to make sound for games in conditions of war /...The art of small steps, or how to make sound for games in conditions of war /...
The art of small steps, or how to make sound for games in conditions of war /...
 
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...
 
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...
 
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...Why indie developers should consider hyper-casual right now / Igor Gurenyov (...
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...
 
AI / ML for Indies / Tyler Coleman (Retora Games)
AI / ML for Indies / Tyler Coleman (Retora Games)AI / ML for Indies / Tyler Coleman (Retora Games)
AI / ML for Indies / Tyler Coleman (Retora Games)
 
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...
 
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...
 
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
 
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
 
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
 
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
 
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
 
How to increase wishlists & game sales from China? Growth marketing tactics &...
How to increase wishlists & game sales from China? Growth marketing tactics &...How to increase wishlists & game sales from China? Growth marketing tactics &...
How to increase wishlists & game sales from China? Growth marketing tactics &...
 
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
 
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
 
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
 
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
 
Branded Content: How to overcome players' immunity to advertising / Alex Brod...
Branded Content: How to overcome players' immunity to advertising / Alex Brod...Branded Content: How to overcome players' immunity to advertising / Alex Brod...
Branded Content: How to overcome players' immunity to advertising / Alex Brod...
 
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
 
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
 

Веб, Игры, С++ : Темная Магия / Кирилл Шабордин (Ciliz :: W4)

  • 1. WEB, ИГРЫ, C++ ТЕМНАЯ МАГИЯ KIRILL A. SHABORDIN , CILIZ::W4
  • 2. ПРЕДУВЕДОМЛЕНИЕ В связи с нравственным возрождением нашего общества в докладе по мере возможности используется великий, могучий, правдивый и свободный русский язык, но автору все равно удастся сказать правду о самом главном. Все совпадения - случайны, а выводы -субъективны. В докладе используется цветовая дифференциация слайдов : ● зеленый - информация для менеджеров и гуманитариев ● желтый - факты, цифры, утверждения ● красный - подробности для технарей и копающих чуть глубже
  • 3. Кто ТЫ, ПУТНИК? ❖ Я хочу делать playable ads и интересуюсь разными технологиями ❖ Я - фронтендер, мне интересно, при чем тут C++ ❖ Я - С++ разработчик и мне интересно, при чем тут веб ❖ Я - веб-студия, хочу заняться производством игр ❖ Я - человек индустрии, интересуюсь всем, до чего дотянусь ❖ Шел мимо, присел отдохнуть
  • 4. СПОЙЛЕР: ОЦЕНОЧНОЕ СУЖДЕНИЕ №1 ГОРАЗДО ПРОЩЕ ДАТЬ ВОЗМОЖНОСТЬ ИГРОВОМУ РАЗРАБОТЧИКУ СОБИРАТЬ ИГРУ В НОВУЮ ПЛАТФОРМУ (В ДАННОМ СЛУЧАЕ - В БРАУЗЕР), ЧЕМ НАУЧИТЬ ВЕБ РАЗРАБОТЧИКА ДЕЛАТЬ ИГРЫ. ГОРАЗДО ПРОЩЕ ДАТЬ ВОЗМОЖНОСТЬ ИГРОВОМУ РАЗРАБОТЧИКУ РАБОТАТЬ С ЗНАКОМЫМ СТЕКОМ (В ДАННОМ СЛУЧАЕ - С С++), ЧЕМ ПЕРЕСАДИТЬ НА НОВЫЙ, НЕПРИВЫЧНЫЙ .
  • 5. ЧТО БЫВАЕТ В БРАУЗЕРЕ? ❖ Реклама, в которую можно играть - playable ADS (CPA/CTR) ❖ Игры для социальных сетей ❖ Игрофикация всего, что уже есть ❖ Витающие в воздухе разнообразные ‘TikTok for Games’ (Муа-ха-ха) ❖ Веб-компаньоны для игр на других платформах ❖ Графически насыщенные веб-приложения
  • 6. МАКСИМАЛЬНО ВАЖНЫЙ СЛАЙД СЛЕДИМ ЗА РУКАМИ ЕСЛИ ВЫ ДОСТИГАЕТЕ НУЖНОГО РЕЗУЛЬТАТА ТЕМИ СРЕДСТВАМИ, КОТОРЫМИ ВЛАДЕЕТЕ, ТО НИЧЕГО МЕНЯТЬ НЕ НУЖНО. ЕСЛИ ВАШИ ТЕХНОЛОГИИ ПОЗВОЛЯЮТ ВАМ ДЕЛАТЬ ТО, ЧТО НУЖНО, ВОВРЕМЯ И С НЕОБХОДИМЫМ УРОВНЕМ КАЧЕСТВА - НЕ МЕНЯЙТЕ НИЧЕГО, ВЫ - СЧАСТЛИВЧИК, У ВАС ВСЕ ХОРОШО. ЕСЛИ ЖЕ ТО, ЧТО ВЫ ДЕЛАЕТЕ В ОБЛАСТИ ВЕБ-ИГР НЕ ПОЛУЧАЕТСЯ, ПОЛУЧАЕТСЯ ДОРОГО ИЛИ МЕДЛЕННО - ДАВАЙТЕ ПОГОВОРИМ
  • 7. ПОЧЕМУ БУДЕМ ГОВОРИТЬ В ОСНОВНОМ ПРО PLAYABLE ADS? В случае, если нет ограничений платформы все так и происходит - вы берете знакомый программисту стек, к примеру Unity3D и просто считаете браузер еще одной платформой. На этом пути вас ждут ямы, болота и прозрения, конечно Но так или иначе вы работаете в естественной для себя среде, разве что окружающий мир становится более жесток , чем обычно, вы начинаете ненавидеть браузер, но постепенно проходите все пять стадий принятия и издаете продукт. Наступает. Счастливый. Конец.
  • 8. ЧУДЕСНЫЙ МИР ЗАПРЕТОВ: МЕСТО, ГДЕ UNITY НЕ СРАБОТАЕТ ❖ Размер билда не должен быть более 1 - 2 Mb в зависимости от сети ❖ Вы должны быть интегрированы с сервисами сети, почти всегда надмозговым способом ❖ Все ресурсы вам будет поставлять заказчик, не признающий компромиссов ❖ Вы не должны использовать web-workers ❖ Вы должны упаковать все в один html, который пройдет валидацию сети ❖ Но как именно работает валидатор вы будете узнавать реверс-инжинирингом ❖ И все это - в стихах, то есть по возможности в 3D и с современной картинкой ❖ В идеале и геймплей и картинка должны быть не хуже, чем в рекламируемой игре
  • 9. ТЕХНОЛОГИИ ❖ Классика : html5 / css / javascript (typescript) ❖ ‘ish : классика + сахар ❖ JS движки : Play Canvas, pixi.js, three.js … ❖ Движки общего назначения, умеющие в WASM - Unity3D, GameMaker, GDevelop ... ❖ WASM-based движки и фреймворки - W4, Nyan-Kit …
  • 10. ОТВЕТ №1, МЕНЕДЖЕРСКИЙ : ХОЧУ ДЕЛАТЬ PLAYABLE ❖ Нанять C++ программиста, можно студента, сложность - средняя ❖ Взять W4 или Nyan-Kit вместе с онбордингом, сложность - нулевая ❖ Набрать заказов, сложность - максимальная ❖ Начать делать Плюсы - time to market, низкий порог вхождения в бизнес с точки зрения технологий. Минусы - это бизнес, вам никто не обещал, что заказы будут :)
  • 11. ОТВЕТ №2, ФРОНТЕНДЕРСКИЙ : ЗАЧЕМ МНЕ C++? НЕЗАЧЕМ. НИКАКИХ БЕНЕФИТОВ ОН ВАМ НЕ ПРИНЕСЕТ, ЗНАНИЯ НЕ БЫВАЮТ ЛИШНИМИ, НО ЭТО КАК РАЗ ЛИШНЕЕ ЗНАНИЕ. У ВАС ЕСТЬ ЦЕЛЫЙ ВАГОН УДОБНЫХ И РАБОТАЮЩИХ ТЕХНОЛОГИЙ, НЕ СТОИТ УВЕЛИЧИВАТЬ ЭНТРОПИЮ МИРА БЕЗ ЛИШНЕЙ НА ТО ПРИЧИНЫ. ЕДИНСТВЕННЫЙ ВАРИАНТ - У ВАС ЕСТЬ НУЖНАЯ ВАМ БИБЛИОТЕКА, К СОЖАЛЕНИЮ ДОСТУПНАЯ ТОЛЬКО НА С ИЛИ С++. ВОЗЬМИТЕ EMSCRIPTEN, ПРОЧИТАЙТЕ ДОКУМЕНТАЦИЮ И АККУРАТНО ЭТУ ДОКУМЕНТАЦИЮ ИСПОЛЬЗУЙТЕ.
  • 12. ОТВЕТ №3, ПРОГРАММЕРСКИЙ: ЗДРАВСТВУЙТЕ, МЕНЯ ЗОВУТ ИГНАТ, Я ПРОГРАММИСТ. КАК Я МОГУ НАПИСАТЬ АДМИНКУ К МОИМ СЕРВИСАМ НЕ ПОГРУЖАЯСЬ В ЧУДЕСНЫЙ МИР ФРОНТЕНДА, ИЛИ ХОТЯ БЫ ПОГРУЗИВШИСЬ ДО ПОЯСА, А НЕ ПО ГОРЛО? ВОЗЬМИТЕ EMSCRIPTEN, ПРОЧИТАЙТЕ ДОКУМЕНТАЦИЮ И АККУРАТНО ЭТУ ДОКУМЕНТАЦИЮ ИСПОЛЬЗУЙТЕ. ТАМ ВСЕ ПРЕДЕЛЬНО ПОНЯТНО НАПИСАНО. QT ДАВНО ПОРТИРОВАН, ТАК ЖЕ, КАК И SMFL К ПРИМЕРУ (А, ЗНАЧИТ И IMGUI). ЕСЛИ ЖЕ ВЫ ИЩИТЕ ИГРОВОЙ ДВИЖОК, ПОСМОТРИТЕ В СТОРОНУ NYAN-KIT, ОН ДЛЯ ЭКСПЕРИМЕНТАЛЬНЫХ ЦЕЛЕЙ БЕСПЛАТЕН. НЕ ВСЕ ТАК СТРАШНО, ИГНАТ, ГОРЛО УЦЕЛЕЕТ.
  • 13. НА ВСЯКИЙ СЛУЧАЙ №1 - ФРОНТ и ТЫЛ ❖ Фронт - код, который выполняется у пользователя, в рамках его устройства ❖ Тыл, бэкенд, серверсайд и все такое - код, который выполняется у вас на сервере ❖ То же самое и с данными ❖ Сервер - это какой-то компьютер, кластер, который обслуживаете и оплачиваете ВЫ ❖ Устройство пользователя - это его компьютер, телефон, браузер, консоль ❖ Чем отличаются код и данные, можно спросить у Фон-Неймана
  • 14. ФАКТ №1 - ПОЧЕМУ НЕВАЖНО, ЧТО У ВАС В БЕКЕНДЕ? Потому, что на выбор технологий для backend то, как у вас реализован фронт не влияет НИКАК
  • 15. НА ВСЯКИЙ СЛУЧАЙ №3 - ЗАЧЕМ НУЖНА ОПЕРАЦИОННАЯ СИСТЕМА ❖ Ваш код должен не только считать, сколько будет 2+2 но и куда то выводить результаты ❖ Если у вас есть что-то, что реализует POSIX, то вы можете использовать компилятор C/C++ ❖ В нашем случае операционная система - это браузер, его API - не POSIX ❖ Единственный язык нашей OC - это javascript ❖ Кто то должен реализовать нужные вызовы и скомпилировать GLib, чтобы все работало ❖ Это делает emscripten, это можете сделать вы сами ❖ Как только у вас есть GLib, вы можете скомпилировать и запустить любой C++ код ❖ Радуга отменяется, в процессе возникнем масса подводных камней
  • 16. НА ВСЯКИЙ СЛУЧАЙ №2 - WASM ● LLVM-like IR + Portable AST ● Компилируется на стороне клиента ● Статически линкуется ● Это не asm.js и не PNaCl int foo(int a) { return a * 42;} (module (table 0 anyfunc) (memory $0 1) (export "memory" (memory $0)) (export "foo" (func $foo)) (func $foo (; 0 ;) (param $0 i32) (result i32) (i32.mul (get_local $0) (i32.const 42) ) ) ) var code = new Ut8Array( [0,97,115,109,1,0,0,0,1,134,128,128,128,0,1,96,1,127,1,127,3,130,12 8,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1 ,0,1,6,129,128,128,128,0,0,7,144,128,128,128,0,2,6,109,101,109,111, 114,121,2,0,3,102,111,111,0,0,10,141,128,128,128,0,1,135,128,128,12 8,0,0,32,0,65,42,108,11]); var module = new WebAssembly.Module(code); var instance = new WebAssembly.Instance(module, []); console.log(instance.exports.foo(42));
  • 17. ПОДРОБНОСТИ, - WASM, УЗКИЕ МЕСТА ❖ Производительность, неожиданные оверхеды ❖ Нереализованные (пока) никем <thread> ❖ SIMD и “соображения безопасности” ❖ Оверхеды на биндинг ❖ Не реализованы вызовы browser API в VM (единственное, что будет вас выбешивать) ❖ Время на компиляцию из IR и кривое кеширование ❖ Приколы с nullptr, накладные расходы на вызовы виртуальных функций etc ❖ В JS нет колбека на вызов сборщика мусора ❖ Emscripten, либо много времени на свою реализацию “posix” слоя
  • 18. С++ vs JS , ПАРАД ЗАБЛУЖДЕНИЙ, ЛЮДИ ❖ С++ программиста сложно нанять, JS программиста нанять просто ❖ С++ программиста дорого нанять, JS программиста нанять дешево ❖ С++ сложный язык, студенты абсолютно не готовы к работе, JS знают все ❖ Мы уже умеем делать сайты, игры - это примерно о том же (о, да, вы не поверите) ❖ JS разработчиков очень много, делать игры достаточно просто, выбор вариантов больше ❖ Готовых решений для C++ гораздо меньше, это технологический замок ❖ В случае с JS я смогу нанять на проект другого разработчика в случае чего и он просто продолжит то, что начато (муа-ха-ха)
  • 19. ФАКТ №2 - ГОЛЫЕ ЦИФРЫ ● GitHub “Game Engine” ○ C++ 12528 ○ JS 4665 ● GitHub “Game” ○ JS 457560 ○ C++ 110578 ● hh “Gamedev” медиана ○ C++ 70-150 руб (188) ○ JS 55-150 руб (127) ● ВУЗы (программирование) ○ C++ 100% ○ JS 23% ● Stack Overflow tech ○ C++ 24.31% ○ JS 64.96% ○ HTML/CSS 63.1%
  • 20. И СНОВА: ОЦЕНОЧНОЕ СУЖДЕНИЕ №1 ГОРАЗДО ПРОЩЕ ДАТЬ ВОЗМОЖНОСТЬ ИГРОВОМУ РАЗРАБОТЧИКУ СОБИРАТЬ ИГРУ В НОВУЮ ПЛАТФОРМУ (В ДАННОМ СЛУЧАЕ - В БРАУЗЕР), ЧЕМ НАУЧИТЬ ВЕБ РАЗРАБОТЧИКА ДЕЛАТЬ ИГРЫ. ГОРАЗДО ПРОЩЕ ДАТЬ ВОЗМОЖНОСТЬ ИГРОВОМУ РАЗРАБОТЧИКУ РАБОТАТЬ С ЗНАКОМЫМ СТЕКОМ (В ДАННОМ СЛУЧАЕ - С С++), ЧЕМ ПЕРЕСАДИТЬ НА НОВЫЙ, НЕПРИВЫЧНЫЙ .