Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Игра не отображается под Windows #8

Open
gugglegum opened this issue Oct 13, 2020 · 11 comments
Open

Игра не отображается под Windows #8

gugglegum opened this issue Oct 13, 2020 · 11 comments

Comments

@gugglegum
Copy link

gugglegum commented Oct 13, 2020

Привет!

Прошу помощи в сборке и запуске данного проекта под Windows. Преодолев некоторые первичные трудности с подключением SFML и компиляцией проекта, игра компилируется, запускается, появляется меню. Но после нажатия на Play игра как будто бы работает (выросла нагрузка на проц, упал FPS, курсор всегда в центре окна), но в окне по-прежнему отображается всё то же меню.

Для решения проблемы с компиляцией пришлось добавить один инклуд в файлик Camera.h:

#include <condition_variable>

Без этого компилятор ругался и предлагал это сделать:

In file included from C:\Users\Paul\CLionProjects\pseudo3DEngine\Menu.h:10,
                 from C:\Users\Paul\CLionProjects\pseudo3DEngine\Menu.cpp:5:
C:\Users\Paul\CLionProjects\pseudo3DEngine\Camera.h:119:10: error: 'condition_variable' in namespace 'std' does not name a type
     std::condition_variable startCV;
          ^~~~~~~~~~~~~~~~~~
C:\Users\Paul\CLionProjects\pseudo3DEngine\Camera.h:119:5: note: 'std::condition_variable' is defined in header '<condition_variable>'; did you forget to '#include <condition_variable>'?

Параметры моей системы:

  • Windows 10 Pro версия 2004
  • IDE CLion 2020.2.4.
  • MinGW-W64 версии x86_64-8.1.0-posix-seh-rt_v6-rev0 (с другими 64-битными версиями не компилировалось; ещё компилировалось под 32 бита с i686-8.1.0-posix-dwarf-rt_v6-rev0, но там всё то же самое)
  • Версия SFML: GCC 7.3.0 MinGW (SEH) - 64-bit

Также я записал скринкаст видео, демонстрирующее проблему: https://youtu.be/n9fpNlZG0sY

@NexSqaud
Copy link

MinGW используй тот же, что использовался для компиляции SFML. Ссылки есть на странице загрузки SFML, в красной рамке.

@OldiLo
Copy link

OldiLo commented Oct 28, 2020

Версия MinGw тут ни при чем, игра видь запускаеться. Тут с кодом накосячили, и думаю я не один человек который пытаеться
разобраться с етим (извините за мой Рукиий)

@AleksandrSae
Copy link

Та же проблема под Linux (

@AleksandrSae
Copy link

AleksandrSae commented Oct 29, 2020

Сделал чек-аут на коммит 46c1537, добавил condition_variable, thread в Camera.h и изменил CMakeLists.txt для сборки под Ubuntu линукс 20.04 - игра запустилась.

@gugglegum
Copy link
Author

gugglegum commented Oct 29, 2020

@AleksandrSae я тоже попробовал сделать и у меня тоже получилось. Огромное вам спасибо за помощь! Похоже, что мерж пулл-реквеста от Neirokan сломал игру.

@OldiLo
Copy link

OldiLo commented Oct 30, 2020

@AleksandrSae я тоже попробовал сделать и у меня тоже получилось. Огромное вам спасибо за помощь! Похоже, что мерж пулл-реквеста от Neirokan сломал игру.

тоже так думаю

@OldiLo
Copy link

OldiLo commented Oct 30, 2020

@AleksandrSae но здесь нет врагов

@Neirokan
Copy link
Contributor

Neirokan commented Nov 14, 2020

Для решения проблемы с компиляцией пришлось добавить один инклуд

Каюсь, я использовал VS2019, а там mutex включает в себя condition_variable, поэтому я не заметил отсутствие библиотеки.

Похоже, что мерж пулл-реквеста от Neirokan сломал игру.

Полегче. Я действильно забыл include и не завершил обновление отрисовки, но оно работает. Если ваш FPS упадёт достаточно низко, чтобы заметить проблему (пол/небо/здоровье врагов смещаются позже, чем стены/бонусы/враги) - закомментируйте #define BACKGROUND_THREADS в Camera.h, но возможно это снизит ваш FPS.

Ваша же "поломка" решается проще. Автор добавил режим обучения, который отключает отрисовку ради скорости обучения нейросети. Просто измените в main.cpp значение флага learn c true на false.

Два примечания, на случай если кто-то ещё решит поиграться с проектом:

  1. learn = false; не выключает само обучение, оно лишь включает отрисовку. Если вы хотите отключить обучение - отключите функции generation.newGeneration и generation.saveNetwork.
  2. Если кто-то решит доделать моё обновление, а не просто выключить его - добавьте в класс Camera информацию о повороте камеры и положении противников в предыдущем кадре, а также внесите изменения в саму отрисовку.

@Neirokan
Copy link
Contributor

@OldiLo разумеется у вас нет врагов после отката на два обновления, потому что нейросети были добавлены только в последнем из них.

@OldiLo
Copy link

OldiLo commented Nov 15, 2020

Логично, там даже небыло файлов enemy.cpp enemy.h

@OldiLo
Copy link

OldiLo commented Nov 15, 2020

Для решения проблемы с компиляцией пришлось добавить один инклуд

Каюсь, я использовал VS2019, а там mutex включает в себя condition_variable, поэтому я не заметил отсутствие библиотеки.

Похоже, что мерж пулл-реквеста от Neirokan сломал игру.

Полегче. Я действильно забыл include и не завершил обновление отрисовки, но оно работает. Если ваш FPS упадёт достаточно низко, чтобы заметить проблему (пол/небо/здоровье врагов смещаются позже, чем стены/бонусы/враги) - закомментируйте #define BACKGROUND_THREADS в Camera.h, но возможно это снизит ваш FPS.

Ваша же "поломка" решается проще. Автор добавил режим обучения, который отключает отрисовку ради скорости обучения нейросети. Просто измените в main.cpp значение флага learn c true на false.

Два примечания, на случай если кто-то ещё решит поиграться с проектом:

  1. learn = false; не выключает само обучение, оно лишь включает отрисовку. Если вы хотите отключить обучение - отключите функции generation.newGeneration и generation.saveNetwork.
  2. Если кто-то решит доделать моё обновление, а не просто выключить его - добавьте в класс Camera информацию о повороте камеры и положении противников в предыдущем кадре, а также внесите изменения в саму отрисовку.

за ето спасибо

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants