Форум программистов, компьютерный форум, киберфорум
Программирование игр
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.85/40: Рейтинг темы: голосов - 40, средняя оценка - 4.85
 Аватар для MiKITA17
8 / 8 / 1
Регистрация: 18.11.2019
Сообщений: 109

Какой движок лучше выбрать

18.06.2020, 08:23. Показов 9553. Ответов 55
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Имеется древний ноут с windows 7. Юнити на нём лагает (да и учить шарп как то не хочется), Unreal Engine тоже. Посоветуете какой-нибудь современный малотребовательный игровой движок для C++? А то кодить на билдере 2009 года мне уже как-то стыдно
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.06.2020, 08:23
Ответы с готовыми решениями:

Какой движок лучше
Я хочу создать 3д игру в стиле action, нашел два движка Ogre SDK и Irrlicht Engine SDK. Подскажите какой лучше. P. S. Мне надо чтобы...

Какой движок выбрать 2d?
Хочу подучить язык java и возможно выучить ещё парочку типа lua или python. Есть заодно желание реализовать некоторые игровые идеи. Посему...

Какой движок выбрать?
Какой движок выбрать для RST стратегии? Желательно на C#, но можно и на другом.

55
Модератор
Эксперт Java
 Аватар для alecss131
2856 / 1363 / 406
Регистрация: 11.08.2017
Сообщений: 4,352
Записей в блоге: 2
18.06.2020, 08:58
для слабого компа если только gzdoom))) раз даже юнити лагает)) попробуйте еще cryengine или ogre например, но мне кажется вряд ли что будет лучше юнити работать
1
 Аватар для MiKITA17
8 / 8 / 1
Регистрация: 18.11.2019
Сообщений: 109
20.06.2020, 09:02  [ТС]
Цитата Сообщение от alecss131 Посмотреть сообщение
для слабого компа
для слабого ноутбука*
А что-то заточенное под 2d есть?
(К слову, проблема не только в юнити (хотя она тоже лагает). В последних версиях поддержка MonoDeveloper'а прекратилась, и на его место пришла VS, которая не совместима с моей ОС. А старые версии с MonoDeveloper'ом глючат )
0
Модератор
Эксперт Java
 Аватар для alecss131
2856 / 1363 / 406
Регистрация: 11.08.2017
Сообщений: 4,352
Записей в блоге: 2
20.06.2020, 09:26
2d… первое что приходит в голову так это box2d, но это не игровой а физический движок, то есть графику придется самому писать. Может godot?

Добавлено через 6 минут
Еще как вариант sfml, вроде для 2д как раз, но без графического редактора, все кодом. Тут даже раздел по этой штуке есть. Ессли это только графика то тогда хороший вариант из связки sfml + box2d. box2d кстати в angry birds использовался и вроде он бесплатный (он еще часть бесплатного libgdx это точно)
1
 Аватар для MiKITA17
8 / 8 / 1
Регистрация: 18.11.2019
Сообщений: 109
20.06.2020, 09:32  [ТС]
Спасибо, попробую godot, выглядит по крайней мере приятно.

Добавлено через 2 минуты
sfml пробовал прикручивать к Code::Blocks - всё без толку. Не умею я устанавливать большие либы.
0
Просто Икс
 Аватар для Mc X
691 / 233 / 47
Регистрация: 15.12.2009
Сообщений: 696
20.06.2020, 10:15
Цитата Сообщение от MiKITA17 Посмотреть сообщение
для слабого ноутбука
Цитата Сообщение от MiKITA17 Посмотреть сообщение
В последних версиях поддержка MonoDeveloper'а прекратилась
Цитата Сообщение от MiKITA17 Посмотреть сообщение
Посоветуете какой-нибудь современный малотребовательный игровой движок для C++
Что мешает использовать те версии (из ранних) которые поддерживает железо?
Современный это синоним "поддерживающий современные технологии", если у вас железо их не поддерживает, то вам от них ни горячо ни холодно. Точно так же, как будь у вас топовое железо со всеми самыми последними технологиями, то отсутствие знаний и опыта при любом раскладе не позволит использовать все эти возможности.

Добавлено через 14 минут
Цитата Сообщение от alecss131 Посмотреть сообщение
ogre
И Огра лучше не трогать. Это графический движок, что лишь часть игрового.
Те кто ищет "игровой движок" обычно не готовы к тому, чтобы осознать эти существенные различия
1
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,965
Записей в блоге: 232
20.06.2020, 18:15
Цитата Сообщение от MiKITA17 Посмотреть сообщение
В последних версиях поддержка MonoDeveloper'а прекратилась, и на его место пришла VS, которая не совместима с моей ОС.
VS - это для Windows и Mac. Значит, у вас Linux. Я использую для Unity (и не только для Unity) кроссплатформенный легковесный редактор кода VSCode. Официальная инструкция, как настроить VSCode для Unity: https://code.visualstudio.com/docs/other/unity VSCode работает на Linux, Mac и Windows.

Цитата Сообщение от MiKITA17 Посмотреть сообщение
современный малотребовательный игровой движок для C++?
Например, есть игровой движок Urho3D. Малотребовательный и с программированием на C++. Он не только для 3D, но и для 2D. В него встроен физический движок Box2D. Если захотите 3D, то в него встроен физический движок Bullet и библиотека загрузки 3D-моделей Assimp. Но если вы не смогли подключить SFML, то и Urho не получится, потому что он подключается таким же образом. Я собирал пример на Urho с помощью Makefile'а, вот моя инструкция: Makefile для сборки примера на движке Urho3D с помощью MinGW 32 bit Если хотите попробовать, то можете нагуглить, как его подключать к вашей среде программирования.

Цитата Сообщение от MiKITA17 Посмотреть сообщение
Спасибо, попробую godot, выглядит по крайней мере приятно.
Предполагаю, что по требованиям Godot несильно отличается от Unity. У меня на ноутбуке Unity нормально работает. Характеристики моего ноутбука:
Asus K53SV; 8 GB RAM, i3 2.2 GHertz (2 cores); Intel HD Graphics 3000; Nvidia Geforce GT 540M (1 GB); Windows 10
К тому же, на Godot такое же программирование на C++, как на Unity, то есть и там и там на C++ можно писать только плагины (библиотеки) на C++, чтобы ускорить алгоритм, который недостаточно быстро работает из-за особенностей C#. Игровые скрипты на Godot можно писать на C# и GDScript (очень похож на Python). О написании плагинов можно пока не думать. Очень редко может возникнуть такая ситуация. Можно почитать здесь для чего это используется: Tutorial — Create C/C++ plugins for Unity3D

Цитата из статьи выше. Насколько алгоритм можно ускорить, переписав с C# на C++ в виде плагина:

Reference machine: Macbook Pro 15″ Mid 2014, Intel I7 2.2Ghz
  • Fill 10000 x 10000 Integer array with series:
    [Unity C#] 1.0258 seconds vs 0.2346 seconds [C Library]
  • Fill 500 x 500 Integer array with series:
    [Unity C#] 3.794 milliseconds vs 0.35 milliseconds [C Library]
  • Fill 10000 x 10000 Integer array with Random numbers:
    [Unity C#] 4.26 seconds vs 0.995 seconds [C Library]
  • Fill 10000 x 10000 Integer array with Perlin Noise:
    [Unity C#] 6.015 seconds vs 2.394 seconds [C Library]
  • Fill 500 x 500 Integer array with Perlin Noise:
    [Unity C#] 20,47 milliseconds vs 5.697 milliseconds [C Library]
1
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,965
Записей в блоге: 232
20.06.2020, 18:16
Цитата Сообщение от MiKITA17 Посмотреть сообщение
sfml пробовал прикручивать к Code::Blocks - всё без толку. Не умею я устанавливать большие либы.
Я не пробовал никогда Code::Blocks. Сейчас попробовал подключить SFML к QtCreator - работает. Я слышал, что эта среда идёт с некоторыми дистрибутивами Linux. Если планируете писать GUI-приложения на C++, то Qt может стать отличным выбором.

Скину настройки для QtCreator и тестовый код с созданием пустого окна на SFML, может вам пригодится:

.pro

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
CONFIG += console c++11
CONFIG -= qt
 
LIBS += -L"E:\Libs\SFML-2.5.1-windows-gcc-7.3.0-mingw-32-bit\lib"
LIBS += -L"E:\Libs\SFML-2.5.1-windows-gcc-7.3.0-mingw-32-bit\bin"
 
INCLUDEPATH += "E:\Libs\SFML-2.5.1-windows-gcc-7.3.0-mingw-32-bit\include"
DEPENDPATH  += "E:\Libs\SFML-2.5.1-windows-gcc-7.3.0-mingw-32-bit\include"
 
CONFIG(release, debug|release): LIBS += -lsfml-audio -lsfml-graphics -lsfml-system -lsfml-network -lsfml-window
CONFIG(debug  , debug|release): LIBS += -lsfml-audio -lsfml-graphics -lsfml-system -lsfml-network -lsfml-window
 
SOURCES += \
    main.cpp
main.cpp

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <SFML/Graphics.hpp>
#include <SFML/Window.hpp>
 
// Configure Qt creator with SFML GCC 7.3.0 MinGW on Windows 10
// https://www.youtube.com/watch?v=HO1yhzTVzDo
 
int main()
{
    sf::Event event;
    sf::RenderWindow _window;
    _window.create(sf::VideoMode(1280,720), "test");
    _window.setFramerateLimit(20);
    while(_window.isOpen()){
        _window.display();
        while(_window.pollEvent(event))
            if(event.key.code == sf::Keyboard::Space)
                _window.close();
    }
    return 0;
}
0
Модератор
Эксперт Java
 Аватар для alecss131
2856 / 1363 / 406
Регистрация: 11.08.2017
Сообщений: 4,352
Записей в блоге: 2
20.06.2020, 18:36
8Observer8, автор же написал что у него windows 7, а вы про лиеукс сделали выводы…
может он 19 студию пробует, может майки поддержку 7 убрали
а так в целом мне кажется для 2д вполне пойдет и 3 юнити к примеру, уж он то должен норм работать, но автор не хочет шарп
анреал для 2д это перебор, 4.25 компилит шейдеры для сцены из шаблонов даже у меня прилично (8700к-1070ти-32гб)
мне кажется лучшее тут научиться подключать библиотеки и использовать sfml+box2d
хотя для 2д игр графику не сложно и самому кодить на чистом opengl, на своем примере, у меня пока проблемы с коллизиями, особенно с не статичными объектами и углами не кратными 90 градусов.
1
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,965
Записей в блоге: 232
21.06.2020, 11:44
Цитата Сообщение от alecss131 Посмотреть сообщение
8Observer8, автор же написал что у него windows 7, а вы про лиеукс сделали выводы…
Не знаю даже, как я так взглядом пропустил первые слова первого сообщения. Меня привлекла фраза, что Visual Studio не поддерживается на его ОС, а VS есть для Windows и Mac, поэтому я подумал, что Linux у него.

Цитата Сообщение от MiKITA17 Посмотреть сообщение
для слабого ноутбука*
Посмотрите на характеристики моего ноутбука выше. Как видите, у меня не особо мощный ноутбук. Ему больше 10 лет. Я его брал за 20 тыс. рублей. У меня отлично работает Windows 10, Unity и Blender - ничего не греется, не шумит. Я пробовал ставить UE4 и CryEngine5, но мой ноут сильно шумит и греется. В UE4 есть поддержка 2D игр, но на мой взгляд в Unity удобнее делать 2D, потому что UE4 и CryEngine рассчитаны на 3D и топовую графику и мощные компьютеры. C# намного проще в освоении, чем C++ и вам будет комфортно. Если ваш ноут не поддерживает Windows 10, тогда поищите в интернете, какая версия Unity работает с VS2013 (по-моему, максимально на Win7 можно поставить VS2013, а VS2015 требует Win10). Но параллельно с Unity и какими-то другими высокоуровневыми движками лучше ещё осваивать более низкоуровневую библиотеку, например, SFML, чтобы только кодом писать, так можно лучше прочувствовать, как ниже дело обстоит, а ещё лучше параллельно делать без движков, например, на OpenGL, потому что шейдеры нужно тоже осваивать, они применяются и в высокоуровневых движках.

Цитата Сообщение от MiKITA17 Посмотреть сообщение
sfml пробовал прикручивать к Code::Blocks - всё без толку. Не умею я устанавливать большие либы.
В этой проблеме вам срочно нужно разобраться, потому что все библиотеки на C++ подключаются одинаково. Если вы сейчас этого не поймёте, то не сможете подключить никакую библиотеку, вроде Box2D и т.д. В интернете огромное количество руководств. На Youtube наберите, как подключить SFML. Там вам просто покажут, а вы повторите, ставя видео на паузу. На английском больше всего таких инструкций. Даже если вы не понимаете английский, всё равно будет понятно, как и что настраивать.
0
 Аватар для MiKITA17
8 / 8 / 1
Регистрация: 18.11.2019
Сообщений: 109
21.06.2020, 12:26  [ТС]
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Но параллельно с Unity и какими-то другими высокоуровневыми движками лучше ещё осваивать более низкоуровневую библиотеку, например, SFML
Цитата Сообщение от 8Observer8 Посмотреть сообщение
На Youtube наберите, как подключить SFML.
Пробовал, дня четыре мучался подключая это всё. Как я понимаю версия моего компилятора не подходила к данным версиям. Не знаю, потом как нибудь нужно взяться снова за это дело.
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,965
Записей в блоге: 232
21.06.2020, 12:51
Цитата Сообщение от MiKITA17 Посмотреть сообщение
Как я понимаю версия моего компилятора не подходила к данным версиям.
Может такое быть. Если зайти на сайт скачки SFML: https://www.sfml-dev.org/download/sfml/2.5.1/ то в данный момент там можно скачать версию SFML GCC 7.3.0 MinGW (DW2) - 32-bit. По логике, нужно искать версию компилятора MinGW 7.3.0 32-bit, чтобы версия MinGW-компилятора совпадала с той, с помощью которого собрали SFML.

Я скачал крайнюю версию SFML, но компилятор у меня более новый - MinGW 8.1.0-win32. У меня уже стоял этот компилятор, до того, как я поставил Qt. Qt Creator автоматом потянул в настройки этот компилятор. Я попробовал собрать пример на SFML с новым компилятором и оно работает. Вот требования Qt, который работает на Win7: https://doc.qt.io/QtForDeviceC... ndows.html Я вам очень рекомендую поставить Qt, к которому подключается SFML очень легко. Вместе с Qt идёт своя MinGW версия компилятора. Вы дополнительно ещё получите возможность делать GUI приложения на C++, собирать приложения под Android и iOS. Не раздумывая ставьте Qt, подключайте SFML и не теряйте очень драгоценное время. Сейчас у вас есть время, что вы можете 4 дня спустить, а потом вы будете вспоминать и жалеть, что не использовали это по-настоящему драгоценное время на SFML и Qt. Сейчас вы можете мне не поверить, но потом вспомните, как дорого время.
0
 Аватар для MiKITA17
8 / 8 / 1
Регистрация: 18.11.2019
Сообщений: 109
21.06.2020, 15:59  [ТС]
8Observer8, спасибо, попробую.
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,965
Записей в блоге: 232
21.06.2020, 16:08
Попробуйте добавить SFML в настройки Qt Creator, как я выше сделал и напишите работает у вас или нет. Если какие-то ошибки, то скопируйте их сюда.
0
 Аватар для MiKITA17
8 / 8 / 1
Регистрация: 18.11.2019
Сообщений: 109
21.06.2020, 17:33  [ТС]
8Observer8, создаю консольный проект в Qt, захожу в файл .pro проекта, вписываю строчки
LIBS+=-L<путь до папки либ>

INCLUDEPATH+=<путь до инклудов>
DEPENDPATH+=<путь до инклудов>

На данные строчки ругается, что мол не знает "-lsfml-audio" и всех остальных конфигов:
CONFIG(release, debug|release): LIBS += -lsfml-audio -lsfml-graphics -lsfml-main -lsfml-network -lsfml-window -lsfml-system
CONFIG(debug, debug|release): LIBS += -lsfml-audio-d -lsfml-graphics-d -lsfml-main-d -lsfml-network-d -lsfml-window-d -lsfml-system-d

Захожу в сам проект, пихаю пример проекта на sfml. Пишу sf:: - среда видит всё содержимое. Компилирую проект иии...

Предварительно в папки систем (во все) были положены dll-ки из бина. Мнде...
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,965
Записей в блоге: 232
21.06.2020, 18:18
Цитата Сообщение от MiKITA17 Посмотреть сообщение
Предварительно в папки систем (во все) были положены dll-ки из бина
Проблема не в DLL, потому что в этом случае бы скомпилировалось, но при запуске появилось сообщение, что не хватает DLL. Сообщение было бы в отдельном MessageBox

Похоже, что линковщик не находит статических библиотек ".a", то есть путь неправильный к либам. Может быть пусть содержит русские символы?

Либо несовместимость компиляторов. Какую версию MinGW вы установили? Посмотрите здесь: "Tools" > "Options..." > вкладка "Compilers"

Добавлено через 3 минуты
Перепроверьте, точно ли вы скачали MinGW-версию SFML, а если так, то посмотрите, может быть QtCreator подхватил компилятор Visual Studio и пытается слинковать MinGW либы SFML, используя VS-компилятор.
0
 Аватар для MiKITA17
8 / 8 / 1
Регистрация: 18.11.2019
Сообщений: 109
21.06.2020, 18:47  [ТС]
Да, упустил из вида, что нужно качать MinGW отдельно. Попробую с sfml-версией...
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,965
Записей в блоге: 232
21.06.2020, 19:07
Цитата Сообщение от MiKITA17 Посмотреть сообщение
Да, упустил из вида, что нужно качать MinGW отдельно.
Я отдельно скачивал, а можно при установке Qt поставить галочку - MinGW. В Qt можно доустанавливать модули: на панели задач внизу-слева: Start > Qt > "Qt Maintenance Tool". Откроется окно, где можно доустановить нужные модули, в том числе MinGW, либо удалить модуль. Если установить отдельно MinGW, то в Qt Creator есть кнопку "Re-detect". Эта кнопка находится там же, где вы находили версию компилятора: "Tools" > "Options..." > вкладка "Compilers". Там же можно скопировать существующие настройки, назвать этот Kit по-другому, настроить путь самому.
0
 Аватар для MiKITA17
8 / 8 / 1
Регистрация: 18.11.2019
Сообщений: 109
21.06.2020, 19:08  [ТС]
Неа, все равно выдаёт undefined reference to. Путь не содержит русских букв. В настройках следующее:




upd:
Упс... Не заметил вашего предыдущего сообщения...
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,965
Записей в блоге: 232
21.06.2020, 19:22
У вас комплект по умолчанию выбран 64 бита. А так же копию комплекта вы создали - 64 бита, хотя назвали вы её 32 бита. Вы скачали SFML тоже 64 бита? Из-за несовпадения битности тоже может быть такая ошибка. Мне кажется, что лучше собирать под 32 бита. Например, у меня есть старый персональный компьютер, на котором я иногда тестирую приложения. На нём XP и архитектура 32 бита. У меня знакомый был, которому я скидывал свои поделки несколько лет назад и у него была тоже 32 бита, поэтому я на всякий случай всегда собираю под 32 бита. Так же на форуме в разделе Бета-тестирование некоторые люди иногда просят, чтобы скидывали свою работу собранную под 32 бита. Трудно поверить, но у кого-то ещё есть системы 32 бита. Главное, что если вы хотите 64 бита, то нужно проследить, что вы скачали SFML 64 бита.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.06.2020, 19:22
Помогаю со студенческими работами здесь

Подскажите, какой игровой движок выбрать
Посоветуйте, какой движок можно выбрать, если я хочу сделать проект по типу: Star Wars: Knights of the Old Republic II – The Sith Lords ...

Какой мультиплеер лучше выбрать?
Который мультиплеер лучше выбрать? Где почитать о нем? Такой что не надо вводить IP адресов а просто нажимаем поиск его ищет. Желательно...

Как лучше залить текстуру в массив? Какой формат текстуры лучше использовать?
Как лучше залить текстуру в массив? Какой формат текстуры лучше использовать?

3D движок вручную, какие инструменты выбрать?
Всем добрый день, интересует вопрос по поводу того, какие библиотеки использовать для непосредственного написания своего 3D движка. В...

Выбрать движок? [Unity3D, XNA, OGRE, Wave, Delta, Axiom, Mono.]
Собственно сабж. Сам не первый год в геймдеве, но вот желание делать новый проект - и опять не знаю, на чем. Что-то более или менее...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера 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. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru