@Puchryamba
Студент-программист

Выбор начинающего c++ gamedeveloper-а: SDL, SFML или что-то ещё?

Здравствуйте!
Вопрос такой: для разработки простеньких игр (на данный момент хобби) под C++ (владею языком на среднем уровне) в какую из библиотек лучше углубляться? Слышал, что SFML более современная и поддерживает концепцию ООП, тогда как SDL более популярная и имеет длинную историю =)
Мой выбор пал на SDL (точнее SDL2), однако активное использование в ней си-стайла (указатели вместо ссылок, си-строки и т.п.) наводит на меня тоску. Думаю, если и стоит с ней работать, то только если предварительно найти/создать самому обёртку (со всякими вкусностями типа умных указателей) вокруг её исходных функций. Но в таком случае стоит ли овчинка выделки и не легче ли сразу перейти на SFML (который я ещё не пробовал использовать)?
Изначально же мой выбор пал на SDL потому, что в одном из топиков на Reddit кто-то делился опытом разработки под SFML и сказал, что на многих драйверах их проект слетал, в связи с чем пришлось его полностью переписать под SDL, которая работает вполне стабильно.
В другом месте кто-то упоминал, что SDL даёт доступ к некоторым низкоуровневым вещам, к которым в SFML доступа нет.
Хотелось бы знать (если кто-то в курсе): действительно ли у SFML могут возникнуть проблемы с драйверами? И пригодятся ли мне (теоретически) те низкоуровневые вещи из SDL?
Ну и в целом сравнение этих двух библиотек также приветствуется.
P.S. Где-то в топике про геймдев наткнулся на библиотеку Allegro, которая в отличие от предыдущих двух поддерживает iOS и Android. Также на вики видел упоминание либы clanLib, которая вроде как заточена под гейм-девелопмент. В общем, что я хочу сказать: если знаете что-то по поводу упомянутых или каких-либо других подобных библиотек - также жду от вас ответа.

UPD. Извиняюсь, проглядел - на оффициальном сайте SDL написано, что iOS и Android поддерживаются. На сайте SFML же сказано, что поддержка появится в скором времени.

UPD2. Не указал в вопросе, но вообще хочется иметь дело с чем-то кроссплатформенным (а включая мобильные платформы так вообще красота), а не заточенным под конкретную операционку. Плюс сами проекты собираюсь разрабатывать в Linux Ubuntu (+ потом компиляция готового кода под Windows), соответственно инструменты должны иметь возможность запускаться под линуксом :)
  • Вопрос задан
  • 12542 просмотра
Решения вопроса 1
maaGames
@maaGames
Погроммирую программы
Обращайте внимание на даты плохих и хороших комментариев к фреймворкам.
Лично я предпочёл SFML именно из-за плюсанутости. Писать свои обёртки над SDL желания не было никакого, а недостатки SFML конкретно меня не коснулись. Низкоуровневые вещи в SFML доступны, потому что доступен OpenGL. Просто в SFML нет обёрток для функционала, касающегося 3D.
Игрушка завелась на Win7 и Убунте.

SFML поддерживает и iOS и Android, но там "всё очень сложно".
SDL тоже поддерживает, но могу ошибаться.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
ThePyzhov
@ThePyzhov
iOS Ninja
Поддерживаю комментарий сверху в пользу SFML.
Только я бы не сказал что там все так уж сложно.

Хорошая библиотека для 2D игр, и довольно таки не сложно накатать что-то хорошее.
Ответ написан
AtomKrieg
@AtomKrieg
Давай я поищу в Google за тебя
HGE рассмотрите. Структура у него очень хорошая. Поможет на первых порах создать простые вещи.
типа таких igdc.ru/project.php?id=21
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы