|
8 / 8 / 1
Регистрация: 18.11.2019
Сообщений: 109
|
|
Какой движок лучше выбрать18.06.2020, 08:23. Показов 10170. Ответов 55
Метки нет (Все метки)
Здравствуйте. Имеется древний ноут с windows 7. Юнити на нём лагает (да и учить шарп как то не хочется), Unreal Engine тоже. Посоветуете какой-нибудь современный малотребовательный игровой движок для C++? А то кодить на билдере 2009 года мне уже как-то стыдно
0
|
|
| 18.06.2020, 08:23 | |
|
Ответы с готовыми решениями:
55
Какой движок лучше Какой движок выбрать 2d?
|
| 27.06.2020, 19:16 | ||||||
|
0
|
||||||
| 28.06.2020, 11:19 | ||
|
Я когда стал изучать C#, у меня такое ощущение и было, что C# - это усовершенствованный C++. Столько очень удобных штук добавилось к C++. Изучайте одновременно C++ и C# через написание простых игр. Научитесь писать простые - будут открываться пути к более сложным. Учиться определённо нужно на простых известных играх. Почитайте эти короткие статьи, особенно, статью "Make small Games": https://noobtuts.com/articles Руки нужно набивать на простых игра. Это я и к себе тоже обращаюсь, потому что я сам часто это забывал и сейчас забываю. День проходит, а вклад в конкретную игру не был сделал. Надо писать 2D-игры на SFML С++ и 2D/3D игры на Unity C#. По SFML я уже давал ссылку, какие игры можно взять за стартовые. А это ссылка на текстовые туториалы на простом английском, как делать известные игры с простой графикой на Unity: https://noobtuts.com/unity Нужно повторять эти туториалы до полного запоминания и фантазировать - добавлять и изменять по-своему.
0
|
||
| 28.06.2020, 12:03 | ||||||||||||
|
Теперь к вопросу выбора движка. Изучайте одновременно Unity и SFML. Unity вам даст умение программировать на самом высоком уровне абстракции, а SFML - немного другой подход, что нужно всё кодом, что тоже интересно и полезно. Одновременно будете изучать программирование 2D игр на С++ и 2D/3D игр на Unity. Для 2D на C++ у вас есть SFML, но я считаю, что нужно ещё изучать графический движок на C++. Я советую взять графический движок Qt3D, который встроен в Qt. За одно будете практиковаться c Qt и делать приложения с 3D графикой и с GUI на Qt. Этот графический движок можно использовать для 3D игр. Qt3D является обёрткой над OpenGL. При этом не нужно писать шейдеры и устанавливать Assimp. В Qt3D встроен Assimp. Уже многое в Qt3D реализовано, в том числе скелетная анимация, которую я ещё не пробовал. Например, реализованы контролеры для работы с камерой. К примеру, QOrbitCameraController, который поворачивает камеру вокруг объекта и QFirstPersonCameraController, который перемещает камеру, как в 3D шутерах. Можно добавить Bullet, чтобы хотя бы детектировать прикосновение объектов. По-моему, в Bullet ещё Raycast должен быть, то есть выбор объектов по клику мыши. Небольшим числом строк кода я загрузил кубик, который раскрасил в бесплатном 3D редакторе Blender. Поместил на сцену камеру и точечный источник света. Добавил управление камерой QOrbitCameraController. Как вариант, можно сделать 3D змейку, создав свои простые 3D объекты в Blender или найти их в интернете. Позже попробую загрузить объекты из Blender для которых применю физику на Bullet - падающий кубик на угол другого кубика для начала. Чем больше разнообразных практических упражнений, тем лучше.
main.cpp
0
|
||||||||||||
| 28.06.2020, 12:51 | ||
|
Не по теме:
использование JIT компиляции превратило язык в по сути тоже самое что и java, только вместо jvm тут свое, а то что сборка в ехе ни о чем не говорит (так как это не ехе а аналог jar) и появилась проблема легкого получения исходников из программы, причем еще проще чем в java (я изначально думал это особенности юнити, но как оказалось весь язык такой, проще потому что полученный код куда ближе к оригиналу чем декомпилированный java) имхо нету ничего лучше компиляции в нативный код почитайте вот отзывы начиная с Java - это недоразвитый си шарп? (два примера почему это так) имхо переход к байткоду это шаг назад, не буду разводить холивары
0
|
||
| 28.06.2020, 13:34 | ||||||
|
Добавлено через 6 минут По поводу того, что будет выпущен новый GUI фреймворк на базе .NET Core. Из группы вконтакте Metanit'а скопировал если кому-то будет интересно, но я ещё раз призываю использовать Qt C++.
0
|
||||||
| 28.06.2020, 13:56 | ||||||
|
MiKITA17, настоятельно вам рекомендую начать изучать JavaScript с переходом на язык TypeScript. Вы сможете страивать свои игры в социальные сети, такие как: вконтакте, facebook и т.д. Сможете взаимодействовать с API этих социальных сетей. На JavaScript/TypeScript самый простой способ сделать реальный мультиплеер вебсокетах и Node.js без денежных затрат, потому что есть такие бесплатные хостинги, как Heroku, OpenShift и т.д. На этих хостингах есть бесплатные базы данных: SQLite, MySQL, MongoDB, PostgreSQL и т.д. Вы сможете одновременно практиковаться в программировании клиент-серверных приложений, в использовании SQL, взаимодействии с API социальных сетей. Самый популярный бесплатный фреймворк для 2D-игр - это Phaser. Этот фреймворк позиционирует себя, как mobile-first, то есть оптимизирован для работы с мобильными устройствами. В целом, вы можете практиковаться в программировании, через игры и особой нет разницы какой язык, потому что многие принципы программирования остаются теми же самыми и могут быть перенесены с языка на язык и с движка на движок. Phaser - это игровой фреймворк, который заточен на программирование кодом, как SFML или MonoGame. Phaser является обёрткой над WebGL, то есть графика рисуется с помощью шейдеров, которые загружаются в память видеокарты. При желании можно самому писать шейдеры для Phaser.
Приведу пример анимации. Запустите пример в браузере. Смотрите, как мало кода надо: index.html
1
|
||||||
|
8 / 8 / 1
Регистрация: 18.11.2019
Сообщений: 109
|
||
| 28.06.2020, 19:00 [ТС] | ||
![]() Добавлено через 2 часа 36 минут И да, раз уж столкнулся с такой проблемой напишу сюда же. Как сделать так, чтобы не нужно было таскать за эксешником кучу dll-ок. Мало того что как по мне это не очень красиво, да ещё я не могу найти нужных dll-ок. Вылезает сообщение "this application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem." и попробуй пойми что ему нужно. Пробовал кидать dll-ки из папки plugins в Qt\Tools\QtCreator\bin которая, но это не помогло. В интернете отрыл тему на этом же форуме (Ошибка This application failed to start because no Qt platform plugin could be initialized) но в ней отсылают на сайт документации Qt, где я опять же не нашёл ничего кроме папки plugins. Какие всё таки нужны dll-ки?
0
|
||
| 28.06.2020, 20:35 | |||||
Добавлено через 54 минуты Я Virtual Box не ставил. Постепенно можно вычислить какие dll нужны. Надо выкладывать свои игрушки на форуме, просить знакомых, чтобы они запустили. После нескольких приложений или игрушек вы будете знать, какие требуются для релиза. Библиотеки нужно брать из этой папки: C:\Qt\5.15.0\mingw81_32\bin
Если вы собираете в статику, то вы можете использовать GPL и предоставлять исходники. Добавлено через 16 минут MiKITA17, я считаю, что пока не стоит тратить время на сборку Qt в статику из исходников. Не так уж и много библиотек нужно будет добавить и весить приложение будет по современным меркам не очень много. Пользователь без труда отыщет exe-файл.
0
|
|||||
|
Модератор
|
||
| 28.06.2020, 21:12 | ||
|
причем так будут вести даже на программе типа hello world это уже проходил знаю ехе в сотню мегабайт даже имхо лучше небольшого ехе но с кучей фалов в нагрузку много файлов оправданно если крупный проект, но тогда уже нужен и инсталятор хотя вон в маке приложение представляет из себя папку где в конце имени .app и такая папка является исполняемой, а внутри куча всего, программы крайне редко требуют установки (почти не встречал), распространяются в виде образа диска формата dmg который монтируется двойным кликом и имеет интерфейс (при это программу сжимает)
0
|
||
| 28.06.2020, 22:03 | ||
|
MiKITA17, если вы пишите GUI приложение на Qt, то вам нужно будет добавить из Qt всего три библиотеки: Qt5Core.dll, Qt5Gui.dll и Qt5Widgets.dll. А так же создать папку "platforms" рядом с EXE, куда положить библиотеку qwindows.dll из папки: C:\Qt\5.15.0\mingw81_32\plugins\platform s У меня новое достижение, в плане создания GUI для игр. До меня дошло, как одновременно можно изучать создание GUI на Qt C++ и тренироваться в программировании игр на SFML. Можно сделать GUI для изучения Box2D. Для учебных игр не нужно красивое GUI. Можно делать классическое GUI, которое идёт с Qt, а SFML нужно встроить внутрь окна Qt. Мы получаем всё богатство GUI и SFML графику в одном окне. Видео инструкция, которую я проверил, она работает: How to create an SFML Widget in Qt Creator Видео
0
|
||
| 28.06.2020, 22:04 | |
|
Это инструкция с официального сайта SFML, где расписано, по-моему, тоже самое, чем происходит в видео сообщением выше: Integrating to a Qt interface
0
|
|
| 28.06.2020, 22:20 | |
|
Здесь на скринште я показал, каких библиотек должно быть достаточно, а может быть какие-то лишние - у меня нет чистой операционки, чтобы проверить. По-моему, ничего страшного в этом списке нет, exe можно легко найти в нём. Хотя я предпочитаю больше веб-приложения для запуска которых нужен только один клик по ссылке. Вообще если требования позволяют запускать приложение в браузере, то лучше делать web-приложение, а не не позволяют, то в виде standalone-приложения.
Может библиотеку openal32.dll я зря включил, но она идёт вместе с SFML. На всякий случай, я её буду добавлять к своим поделкам. Кстати, выкладывание своих даже таких простых творений в виде релиз очень мотивирует. Выкладывание кода даже так не мотивирует, потому что код - это не исполняемое приложение, а EXE - это уже достижение и оформленный результат, который может запустить любой человек, даже далёкий от программирования и IT. Сборка в релиз для Windows: QSfmlWidgetDialog_Win86.rar (10.00 Мб)
0
|
|
|
8 / 8 / 1
Регистрация: 18.11.2019
Сообщений: 109
|
||
| 29.06.2020, 08:54 [ТС] | ||
|
0
|
||
| 29.06.2020, 10:47 | ||||||||||||||||||||||
|
Определённые достижения в направлении вебсокетов у меня есть. Я выполнил практическую часть инструкции: WebSockets Crash Course Видео
Я перемотал теорию - потом над ней подумаю, и написал только практику, этот код где ставлю точку останова, чтобы как в видео засечь момент, когда подключается клиент: server.js
main.cpp
0
|
||||||||||||||||||||||
| 01.04.2023, 15:21 | |||
0
|
|||
|
1 / 1 / 0
Регистрация: 01.08.2023
Сообщений: 23
|
|
| 01.08.2023, 14:04 | |
|
Перейди на vim с плагинами, по удобству не уступает современным IDE, а работает даже под DOS'ом. Только нужны минимальные знания гуглежа, английского (на уровне C++) и CMake. Я настраивал его 1 день, там тему под себя можно, горячие клавиши (там они называются мапами).
0
|
|
| 01.08.2023, 14:04 | |
|
Подскажите, какой игровой движок выбрать Какой мультиплеер лучше выбрать? Как лучше залить текстуру в массив? Какой формат текстуры лучше использовать? 3D движок вручную, какие инструменты выбрать? Выбрать движок? [Unity3D, XNA, OGRE, Wave, Delta, Axiom, Mono.] Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы
Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
|
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
|
Очистка реквизитов и табличных частей документа при копировании
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2.
Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
|
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
|
|
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
|
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
|
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
|
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время?
Никакой пенсии. Никакого нового. . .
|