Проблема с UPBGE

Board index Геймдев в Blender Игровой движок Blender

Description: Все вопросы и обсуждения, касающиеся BGE
Moderators: exooman, denis8424

Post #1by Август » 23.11.2018, 10:27

Всем привет.
Интересное кино, в версии UPBGE_v0.2.3_ge_physics_Windows64, окошко есть, а вот в версиях UPBGE_v0.2.3Windows64, UPBGE_v0.2.4_master_Windows64, UPBGE_v0.2.3_ge_physics_Windows64 такого окошка, а следовательно и возможности русификации, нет, или я не нашёл?
https://my-files.ru/c0eaa4
Кроме того, русификация какая-то ущербная в окне текстового редактора (см. ссылку). Пробовал в настройках изменить шрифт, но пока не угадал.
Приходилось преодолевать такие препятствия?
Август M
Posts: 163

Post #2by Wegemu » 23.11.2018, 13:22

Август, откуда скачан UPBGE? Какой шрифт? Стандартный или свой/кастомный/из интернета? Проверил и 0.2.4 и 0.2.3 - все работает нормально (квадратиков и перехлеста символов в текстовом редакторе нет). Internation Fonts в некоторых билдах отсутствует, да. Как включить не знаю, т.к. не пользуюсь.

Пробовал в настройках изменить шрифт, но пока не угадал.
Приходилось преодолевать такие препятствия?
Возможно что-то со сборкой (если не с download.upbge.org/download/release/), либо видеокарта (но далеко не факт). Перехлест символов последний раз видел только в игре FTL на своем древнем ноуте под виндой (на линухе было все норм).
When debugging, novices insert corrective code; experts remove defective code.
VEゲーム

Ушел в поисках приключений в страну GLSL.
Wegemu M
Avatar
Posts: 62

Post #3by Август » 23.11.2018, 16:17

Wegemu wrote:Август, откуда скачан UPBGE?
По вашей рекомендации:
Wegemu wrote:Просто интересно почитать (возможно у меня BGE головного мозга - не отрицаю))))). А как скачать, то просто идете на https://download.upbge.org и качаете.
Вот я пошёл и скачал.
Какой шрифт? Стандартный или свой/кастомный/из интернета?
Тот, что в UPBGE по умолчанию пробовал, потом Verdana.ttf. Результат на изображении по ссылке https://my-files.ru/m8hqvo
Тут видно что-то с шириной шрифта а не с русификацией. Пытался в настройках добиться результата – не получилось. Нижние строки в текстовом окне я набил, просто для того чтобы посмотреть что происходит.
Wegemu wrote:Возможно что-то со сборкой (если не с download.upbge.org/download/release/), либо видеокарта (но далеко не факт). Перехлест символов последний раз видел только в игре FTL на своем древнем ноуте под виндой (на линухе было все норм).
Моему восьмой год, Windows 7, то же старьё уже, но он подарочный – никак не решусь поменять.
Август M
Posts: 163

Post #4by Wegemu » 23.11.2018, 16:43

Август, попробуйте проверить на других ПК. Шрифты не могут быть кривыми по определению. Дело скорее всего в видеокарте, в поддерживаемой версии OpenGL.

УМВР
Image
When debugging, novices insert corrective code; experts remove defective code.
VEゲーム

Ушел в поисках приключений в страну GLSL.
Wegemu M
Avatar
Posts: 62

Post #5by Август » 23.11.2018, 20:18

Wegemu wrote:
Wegemu » Сегодня, 17:43
Август, попробуйте проверить на других ПК. Шрифты не могут быть кривыми по определению. Дело скорее всего в видеокарте, в поддерживаемой версии OpenGL.
Ладно Wegemu, в принципе комментарии можно писать и через пробелы, ведь русский язык в основном в них необходим, ну а скрипты придётся писать с предельным вниманием или вообще в стороннем текстовом редакторе, и просто их копировать.
Мой Windows давно уж просит чтобы я его переустановил. Попробую, может поможет. Видеокарта и OpenGL прекрасно справляются в 79 версии Blender. Тут играю, тут не играю... что-то не похоже, что в этом железо виновато. Склонен думать, что пакет "корявый", с ошибками, или Windows шкодит. Хотелось пощупать UPBGE, но пока, похоже, не судьба.
Август M
Posts: 163

  • 1

Post #6by Wegemu » 23.11.2018, 22:50

Август, если настолько принципиально использование русского языка в интерфейсе (что, имхо, будет только путать), то скрипты вообще никто не заставляет писать внутри Blender или копировать их "внутрь" (да и это же неудобно вообще!).
1) В директории где лежит главный blend-файл (тот, который скармливаем blenderplayer, ну или runtime.exe если делали export game) создаем директорию, например scripts (любое имя на латинице, как душе угодно).
2) Пишем в любом текстовом редакторе на выбор: Geany, Vim, Emacs, Notepad++, PyCharm, хоть Visual Studio.
3) Сохраняем python-файл(ы) в директорию scripts из пункта 1.
4) В игре теперь вызов скриптов будет работать только через PythonController в режиме Module. Чтобы вызвать какую-нибудь функцию пишем scripts.module_name.func_name. Где module_name соотв-но имя python-файла из директории scripts без расширения .py, func_name - имя функции в module_name.
5) ????????????
6) PROFIT!!!
7) Запускаем игру.

В итоге директория с игрой выглядит как-то так:
└───ubiytsa_skairima
├───conf
├───fonts
├───objects
├───levels
├───scripts
│ └───some_module_name1.py
│ └───some_module_name2.py
│ └───module_name.py
│ └───engine.py
├───sound
├───textures
└───Диздок
└───game.blend

Важно! Чтобы это все работало необходимо blenderplayer запускать из директории где лежит blend-файл (например через .sh или .bat), т.е. из рабочей директории игры. Blenderplayer ищет файлы в os.sys.path, о чем далее.

Можем пойти еще более интересным путем. Положить все ресурсы игры в директорию, например, data.
1) Делаем "пустой" blend-файл с пустышкой (Empty).
2) Создаем в Blender в текстовом редакторе скрипт:
import os
os.sys.path.append('./data/')

from scripts import engine

engine.main()

Для чего это? А теперь все ресурсы игры у нас в лежат в директории data, т.е. textures, scripts, objects и т.д.

Как по мне то это намного удобнее чем втыкать во внутреннем редакторе. Почему-то в уроках про это мало где сказано.

Могу сделать пример, если непонятно (значит плохо объяснил).
When debugging, novices insert corrective code; experts remove defective code.
VEゲーム

Ушел в поисках приключений в страну GLSL.
Wegemu M
Avatar
Posts: 62

Post #7by Август » 24.11.2018, 09:25

Wegemu wrote:Август, если настолько принципиально использование русского языка в интерфейсе (что, имхо, будет только путать), то скрипты вообще никто не заставляет писать внутри Blender или копировать их "внутрь" (да и это же неудобно вообще!).
Wegemu, интерфейс достаточно качественно русифицируется, а вот текстовый редактор в окне не справляется с шириной символов. Приспособиться, конечно можно, однако использовать внешние редакторы это дополнительные заморочки
1) В директории где лежит главный blend-файл (тот, который скармливаем blenderplayer, ну или runtime.exe если делали export game) создаем директорию, например scripts (любое имя на латинице, как душе угодно).
2) Пишем в любом текстовом редакторе на выбор: Geany, Vim, Emacs, Notepad++, PyCharm, хоть Visual Studio.
3) Сохраняем python-файл(ы) в директорию scripts из пункта 1.
4) В игре теперь вызов скриптов будет работать только через PythonController в режиме Module. Чтобы вызвать какую-нибудь функцию пишем scripts.module_name.func_name. Где module_name соотв-но имя python-файла из директории scripts без расширения .py, func_name - имя функции в module_name.
5) ????????????
6) PROFIT!!!
7) Запускаем игру.

В итоге директория с игрой выглядит как-то так:
└───ubiytsa_skairima
├───conf
├───fonts
├───objects
├───levels
├───scripts
│ └───some_module_name1.py
│ └───some_module_name2.py
│ └───module_name.py
│ └───engine.py
├───sound
├───textures
└───Диздок
└───game.blend

Важно! Чтобы это все работало необходимо blenderplayer запускать из директории где лежит blend-файл (например через .sh или .bat), т.е. из рабочей директории игры. Blenderplayer ищет файлы в os.sys.path, о чем далее.

Можем пойти еще более интересным путем. Положить все ресурсы игры в директорию, например, data.
1) Делаем "пустой" blend-файл с пустышкой (Empty).
2) Создаем в Blender в текстовом редакторе скрипт:
import os
os.sys.path.append('./data/')

from scripts import engine

engine.main()

Для чего это? А теперь все ресурсы игры у нас в лежат в директории data, т.е. textures, scripts, objects и т.д.

Как по мне то это намного удобнее чем втыкать во внутреннем редакторе. Почему-то в уроках про это мало где сказано.

Могу сделать пример, если непонятно (значит плохо объяснил).
Wegemu, дело не в том понятно или не очень. Ново для меня, незнакомо, но интересно. Если поделитесь примером, с толковыми комментариями, буду бескрайне благодарен, ведь принцип способа может пригодиться и в иных ситуациях.
P.S.
Опробовал 32-ух разрядные версии - та же самая проблема.
Август M
Posts: 163

Post #8by Wegemu » 25.11.2018, 16:48

Август, пример сделал. Код очень простой (самодокументируемость). На совершенство не претендую, т.к. сделал по-быстренькому. Ну а вообще много разных реализаций выдумывать можно, кому что нравится. Но лучше сразу архитектуру более менее продумать где-что лежит, так и прототипы игры легче собирать, и переделывать завтра/через неделю/потом (если все не заглохнет, как у меня каждый раз из-за лени).
aaa_game_title.tar.gz
When debugging, novices insert corrective code; experts remove defective code.
VEゲーム

Ушел в поисках приключений в страну GLSL.
Wegemu M
Avatar
Posts: 62


Return to Игровой движок Blender