|
0 / 0 / 0
Регистрация: 18.06.2017
Сообщений: 31
|
|
Функционального программирования игр21.04.2018, 00:56. Показов 4039. Ответов 21
Метки нет (Все метки)
Посоветуйте стек технологий для разработки 2D игр на каком-то функциональном языке программирования.
Давно хотел наконец перейти на какой-то язык функционального программированния и сейчас у меня (точнее у нас) есть желания разобратся с разработкой игр. Для начала хотелось бы написать несложную (пока бесплатную) 2D игру (какую именно уже решено) и посмотреть как это все выглядит и кому она понравится. На производительность ограничений нету. Впринципе в ближайшем будущем я таки буду разбиратся с каким то мочным движком (наверно Unreal Engine) поэтому выбор языка стремится к C++. Я фул-стек веб разработчкик, а для простой игры на 2D сторонний движок использовать какой-то особо нет нужды, поэтому думаю писать на elm... Темболее лучший способ разобратся с какой-то новой темой - это написать велосипед, если есть время на это. Предлагаю обсудить тему функционального программирования в разработке игр. Как минимум будет полезно услышать о чьем-то опыте. Конечно если бы можно было бы писать например на Haskell было бы замечательно, но этот код потом прийдется переписывать, если нужно будет использовать в следующих проектах. Знаком с .NET так что F# тоже вариант. Короче говоря я не знаю насколько это вариант если потом прийдеться разбиратся с Unreal Engine и ламать себе голову как этот функциональный опыт применим в C++ . Но я предпочитаю в первую очередь разобратся, а сделать лишь бы работало и продавать меня не особо интересует в ближайшее время, пока зарабатывать можно и на вебе. Уж слишком люблю программировать чтобы делать что-то некрасиво. Мне психологически легче написать на фунцинальном языке, а потом переписать или транслировать это на С++ чем другие подходы. Разработка языков или инструментов программирования (в данном случае транслятора) мне интересует больше всего на свете, но не вижу как на этом можно серйозно заработать не имея паро лямов)) Але если говорить о суммах меньше то хлеба и воды достаточно
0
|
|
| 21.04.2018, 00:56 | |
|
Ответы с готовыми решениями:
21
Изучения программирования игр ПО для программирования игр Какой язык программирования лучше для игр? |
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||
| 21.04.2018, 01:05 | |||
|
kissarat, В играх ФП применим чуть менее чем никак. В системах такого уровня сложности рулит исключительно грамотное применение ООП.
Добавлено через 6 минут Добавлено через 23 секунды
0
|
|||
|
0 / 0 / 0
Регистрация: 18.06.2017
Сообщений: 31
|
||
| 21.04.2018, 01:12 [ТС] | ||
|
Меня физика не особо интересует. Только логика и красивое абстрагирования. Да с физикой походу разбирусь, это не абстрактная алгебра... (но всегда готов быть неправ)
В любом случае хочу убежать с веба в свой идеальный мир))
0
|
||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||||
| 21.04.2018, 01:29 | |||||
|
Добавлено через 7 минут
0
|
|||||
|
0 / 0 / 0
Регистрация: 18.06.2017
Сообщений: 31
|
||||
| 21.04.2018, 01:48 [ТС] | ||||
|
Добавлено через 6 минут Добавлено через 5 минут
0
|
||||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||
| 21.04.2018, 01:52 | |||
|
Добавлено через 1 минуту
0
|
|||
|
0 / 0 / 0
Регистрация: 18.06.2017
Сообщений: 31
|
||
| 21.04.2018, 01:57 [ТС] | ||
|
0
|
||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
| 21.04.2018, 02:01 | |
|
kissarat, Это на Западе. В СНГ из разработок симуляций если что то и есть то в основном геймдев. Да и то серьезного уровня 2-3 конторы.
0
|
|
|
0 / 0 / 0
Регистрация: 18.06.2017
Сообщений: 31
|
|
| 21.04.2018, 02:12 [ТС] | |
|
Надо же с чего-то начинать. Всеравно на хорошое понимание гемдева уйдет года два. Да нет, устроится на офис меня не устраивает, слишком уж своенравный. Морально проще самому что-то придумать и есть кому продавать
0
|
|
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
| 21.04.2018, 02:23 | |
|
kissarat, И ФП зря голову забивали. Для симуляций ООП единственный годный инструмент. А ФП вытащили из его болота только потому что там замыкания есть спецом для веб фронт-энда. Причина - при обработке древовидных стурктур объектов, состояния по любасу хранить надо. А учить вебдеверов ООП - ну как бы образовнием "средняя школа" которое сейчас в требованиях для процентов 90 вакансий по веб деву на Западе, не отделаешься. ООП это инструмент инженера. Вообще все вакансии Software Engeneer, а особенно из областей моделирования и CAD/CAM, на забугорных сайтах начинаются со слов Strong algorithmical and analitical skills. Strong mathematical background. Strong OOP skills. А о ФП ни пол слова. А выпустить вузы могут процентов 10 спецов от количества вакансий - т.е. отвлекать инженеров на разравнивание кнопочек сильно дорого. Иначе такого уродства как React,Angular, Node и т.д. не было бы в принципе. Задача визуального построения итерфейса и связывания его с источниками данных, в том числе с удаленными, решена общем виде еще в середине 90-х. И перенести ее на веб проблема только одна - от того кто ее пользует требуется очень глубокое знание ООП и умение понимания и построения высокоуровневых абстракций.
Добавлено через 5 минут kissarat, Серьезные системы моделирования реального мира от одиночки никто не купит. Они во первых применяются в тех сферах где софт подлежит обязательной сертификации, во вторых если контора садится на такой софт она садится на него очень серьезно - т.е. должна быть уверена в том что будет долгосрочное сопровождение и апгрейды. Одиночка такой уверенности дать не может. При этом работа не то что фрилансм, ремот фулл-тайм в конторах занимающихся подобными разработками априори не существует.
0
|
|
|
0 / 0 / 0
Регистрация: 18.06.2017
Сообщений: 31
|
||
| 21.04.2018, 02:47 [ТС] | ||
|
В геймдеве больше нужно думать чем вебдеве, а то уж совсем разленился Да и не в одиночку, если уж на то пошло. Была бы идея, инвесторы найдутся
0
|
||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 21.04.2018, 03:57 | ||
|
НУ а если геймдев и вообще графика интересует - то начинать надо с серьезного изучнения векторной алгебры и аналитической геометрии в первую очередь. На них все позиционирование, повороты/перемещения и определение взаимного расположения геометрических примитивов держится.
0
|
||
|
0 / 0 / 0
Регистрация: 18.06.2017
Сообщений: 31
|
||
| 21.04.2018, 04:53 [ТС] | ||
|
0
|
||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||
| 21.04.2018, 05:02 | |||
|
.
0
|
|||
|
0 / 0 / 0
Регистрация: 18.06.2017
Сообщений: 31
|
||
| 21.04.2018, 05:11 [ТС] | ||
|
И когда я говорю общия язык я же не имею ввиду только для машин, да и идея не в том, чтобы он имел какойто один текстовый формат, а чтобы в текст можно было любые форматы транслировать. Математика была бы языком если бы в книгах по математики небыло текста, да и для коммуникации и хранения данных она не предназначена, в ней нельзя обозначить и зафиксировать что-то конкретное, у нее нет библиотек, так что не надо
0
|
||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||
| 21.04.2018, 05:33 | ||||
|
Добавлено через 2 минуты Добавлено через 6 минут Добавлено через 9 минут Проблемы с трудно обнаруживаемыми утечками памяти, и прочими негараздами GC тоже всех давно достали, а они резко обострятся при переходе к концепции обработки клиентов в интерактивном режиме, который дают вебсокеты и HTTP2, а не только в пакетном как было в HTTP 1.1, которому концепция отдельно запускаемых на каждый пук процессов-скриптов уже не просто неудобна, а противопоказана в принципе.
0
|
||||
|
0 / 0 / 0
Регистрация: 18.06.2017
Сообщений: 31
|
||
| 21.04.2018, 05:51 [ТС] | ||
|
0
|
||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 21.04.2018, 07:25 | ||
|
Но как бы собственная альтернатива это тяжко. Годная инфраструктура у меня была еще два года назад. Эти два года в плане работ по движку занимаюсь в основном раскапыванием матана нужного для обеспечения работы физики на тех примитивах которые получаются на выходе годных средств моделирования. Нарыл из пригодного для реалтайм счета пока что только то что было более-менее на поверхности - торы, шары, конусы, цилиндры, а как к примеру сплайн-поверхности реалтаймово коллайдить пока что ноль на массу. По физике расклады примерно те же. К примеру полет пули в атмосфере более менее реальный нарыл, пробивание преграды пока ноль на массу. Движки этого кстати не делают - баллистика а тем более пробития и т.д. обычно юзер-кодом. Вообще чтобы эти темы рыть уровень математики должен быть достаточным для чтения и понимания докторских диссертаций на англицком.
0
|
||
|
0 / 0 / 0
Регистрация: 18.06.2017
Сообщений: 31
|
||||
| 21.04.2018, 09:43 [ТС] | ||||
|
Да я даже не представляю насколько тот же Unreal может быть полезен.
0
|
||||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||
| 21.04.2018, 15:58 | |||
|
0
|
|||
| 21.04.2018, 15:58 | |
|
Помогаю со студенческими работами здесь
20
Какой язык программирования выбрать для создания игр?
Язык программирования и Движок для игр! Игры по теории функционального программирования Подскажите ресурсы для изучения Функционального программирования? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|