LINUX.ORG.RU

А движки вообще нужны?

 , , , ,


1

1

Такой вопрос, а в чем профит писать игру на сдл2, сфмл и т.д? Ведь написать игру на движке будет проще и выгоднее. Современные движки быстрые и надежнее, упрощает жизнь и геймдевелоперу и игроку.



Последнее исправление: cetjs2 (всего исправлений: 1)

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

Алсо, большинство движков «под капотом» всё равно используют SDL2, он сегодня как DirectX в мире *nix. Вопрос немного некорректен.

EXL ★★★★★
()
Ответ на: комментарий от EXL

О, привет Эксель! marx xram

Спасибо за ответ. Правда не понятно, зачем писать свой движок для игры на 2-3 спрайта.

> Алсо, большинство движков «под капотом» всё равно используют SDL2, он сегодня как DirectX в мире *nix. Вопрос немного некорректен.

Может быть, но я про написание своего движка вместо использования готового.

Kotan2000
() автор топика
Ответ на: комментарий от Kotan2000

готовый контролируешь не ты. перегружаешь ненужными функциями не ты, функции и классы тебе не нравятся и на изучение этого всего всё равно нужно тратить время. И после этого всё равно всё работает как-то неправильно.

Deleted
()
Ответ на: комментарий от Kotan2000

Может быть, но я про написание своего движка вместо использования готового.

Смотря что считать движком. Вот если я решил склепать свою RPG, собрав популярные библиотеки (SFML, SFGUI, sol2, spdlog, entityx, PhysFS) в одну кучу, вместо реально монстроуозного Unity, будет ли это считаться своим движком? Как правило, чаще всего люди пишут свои велосипеды для получения опыта. В остальных случаях - если готовые решения совсем не подходят. Например, на прошлой работе писали свой велосипед на SFML для «терминалов» (читай, игровые автоматы для казино). Они были ограничены в ресурсах и Unity там бы не взлетел.

Meyer ★★★★★
()

Такой вопрос, а в чем профит писать игру на сдл2, сфмл и т.д?

Простота, мало оверхеда, ты сам контролируешь всё, твоя игра 2D платформер, причин может быть много.

Ведь написать игру на движке будет проще и выгоднее.

Выгода спорна, захочешь продавать игру будешь отчислять Простота тоже спорна, ты будешь изучать движок.

Современные движки быстрые и надежнее, упрощает жизнь и геймдевелоперу и игроку.

Нет, игра на голом sdl будет быстрее на порядки. Нет, не надёжнее в случае бага ты бессилен Упрощает жизнь девелоперу если это игра от A до AA в случае триплА тебе придётся платить за доступ к исходному коду для допила и оптимизации и соответственно для этого целый отдел прогеров.

Игроку тоже никакого профита, твоя игра либо будет работать либо нет вот и всё.

Да и вообще движок понятие такое себе, если грамотно подойти к делу и у тебя крутая 2D или простенькая 3D то к примеру Godot будет идеален. Если у тебя тетрис или кликкер то выбор чистого SDL с его 2D рендером будет самое оно и лучше чем godot.

Можно взять не движок,а фреймворк вроде love2d. И да совет из интернетов не пиши движок, а пиши игру движок сам обрисуется.

но я про написание своего движка вместо использования готового.

Будешь писать универсальный и провалишься, будешь писать под игру конкретную может что-то выйдет. В любом случае это сложно, чаще всего пишут не движки, а фреймворки вроде love2d хотя и его можно движком назвать.

Вот отличный пример https://github.com/orangeduck/Corange который я не перестану советовать, если для тебя подобное написать на изи то в бой, если нет можно взять это за основу, Даниэль одобряе, сам использую.

Тут вообще надо на себя смотреть и думать что лично тебе удобнее взять godot всё в одном и тебе всё нравится, то есть тебе хочется монолитный инструмент или взять OGL/SDL и налабать для себя упрощающих жизнь функций потратитив на это время, но оставив за собой полную свободу действий по дальнейшему развитию. Вон factorio чуваки написали чисто на компонентной основе и наверное нарисовался у них двиг под себя, а разработчики Resident Evil 7: Biohazard взяли RE Engine который пилился с оглядкой на будующее капком пока они пилили игры на чужих движках.

Вот мне чисто эстетически удобно взять godot открыть и получить полную среду где попивая чай с молоком тихонько мышевозить разбавляя скриптами поведение нитов, всё хорошо и на душе тепло.

А вот чисто практически удобнее форкнуть Corange и начать агрессивно рефракторить код и обвешивать новыми плюшками удобными чисто мне от который у сишников волосы выпадут и они перекрестятся, но суть то в чём ты делаешь заточку под конктетную программу ибо игры это тот софт где у тебя чисто мораль нет возможности написать место с тормозным кодом ибо на всё про всё у тебя 8 или 16 миллисекунд на полную отработку всего дерева кода как твоей игры так и движка.

Deleted
()

Но, по моему начать лучше с движка просто потыкать,понять нужность assets то есть механизма управления ресурсами(ах да! ресурсы 3d/2d форматы,конфиги вот это всё), посмотреть как оно работает на стороне и механизмы доступа к ресурсам, посмотреть как реализованно на уровне api entities системы, то есть сущности, как их всех объединять в сцену, как потом производить разбор сцены в конечном рендере и производить отрисовку, просто когда пишешь свой движок ты больше не пишешь его, а оверинженеришь, думаешь как написать и переписываешь раз за разом всё по иному ибо связность компонентов огромная почти всегда это касаемо своего для себя на все случаи жизни,но если писать именно игру то ты будешь реализовывать только то что нужно этой игре и по окончании ты сможешь выдрать из неё сам движок где всё будет ровно так как тебе удобно и оправданно и тут история не про красоту кода и подходов.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 2)

А игры вообще нужны?

Deleted
()

Дело скуса же. Если мсье хочет особенный винтажный С++ UE4, который выглядит как «вернули мой 2003-й» и не интегрируется без граблей ни с чем сторонним, либо «дельфистайл» программирование из Unity — фпирет к наслаждениям :)

slackwarrior ★★★★★
()

сдл2 не нужен. Бери готовый движок. Лучше ты не сделаешь, только тормозное безфичное вечнопадающее поделие. Не, если у тебя пару спрайтов, то можно повелосипедить.

anonymous
()

Если ты делаешь игру - ты делаешь игру (кто то фанатеет от дизайна уровней или графики или моделей), движек одна из составных частей, если ты пишешь движек, то ты пишешь движек (кто то с этого прётся), ваш К.О. Вообше, имхо всё от цели зависит и от такого ресурса как время. Мы всё большие мальчики и знаем как пользоватся гуглом и в состоянии освоить всё что угодно, вопрос насколько быстро и насколько качественно, если цель именно реализация некоторой идеи в виде игры, скорее всего взять готовый движек с кучей тулзов, примеров и доп контента эффективнее.

sparks ★★★
()
Ответ на: комментарий от anonymous

Ну расскажи не толстяк, какой в UE4 замечательный и современный С++ :)

slackwarrior ★★★★★
()

SDL - это не движок. Это штука, которой упрощают ввод с маеипуляторов, и вывод на экран в Windows/macOS/Linux/Android. Потому что на низком уровне (прямо в X11 или в GLX) это сложно, и там нет «защиты от дурака».

99% игр из Humble Store и Steam используют SDL. В том числе и игры на движках Source, UE 3 и 4 и CryEngine. Многие из них ещё используют OpenAL

Движок игры - это совсем другое, и SDL их дополняет, а не заменяет их собой

при портировании на Linux, отказались от своих движков в пользу SDL?

anonymous
()

Современные движки быстрые и надежнее

Звучит как мантра, повторяй её почаще. Нет, не быстрые и не надёжные. Они универсальные, не более. Это само по себе много, но когда нужно мало, быстрее, проще и надёжнее будет написать на чем-то низкоуровневом.

slovazap ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.