MMORPG Базис

Аватара пользователя
blackstrip
Админ
Сообщения: 1341
Зарегистрирован: Ср янв 02, 2008 1:42 pm
Откуда: Подольск
Контактная информация:

Re: MMORPG Базис

Сообщение blackstrip » Сб июн 20, 2026 11:19 am

Возврат к андроид-яве

Продолжаем разработку) Попробовав AppGameKit и попробовав Delphi 11 - есть желание перейти на стабильную среду, которая не схлопнется с годами =)

AppGameKit не особо популярен и может когда-то закрыться, и тогда проект помрет вместе с ним, т.к. под новые андроиды ничего поправить будет нельзя.

Delphi 11 выдает бесплатную лицензию на год (Community-версию). Но где гарантия что в очередной год халява не прекратится или просто от желания денег разработчиками, или под давлением санкций, или из-за закрытия всей фирмы, делающей Delphi)

Да и выпуск PaintCAD Mobile 3.0.24 под Android 2.3+ с тестами под старые и новые андроиды воодушевляет - можно еще сделать приложение, работающее почти на всех андроидах (от 2.3, как минимум, и выше до самого последнего).

Переходим на чистую и бесплатную Android-яву + Android SDK, как было в самом начале разработки мморпг базис.

В ней, как раз, можно даже подкрутить проект под новые API. Может быть даже сделать везде по коду развилки (если старый андроид - делаем одно, если новый - делаем другое), и тогда повысить targetSDK до высокой версии, и выпускать проект в 2 версиях - с minSDK мелким (для старых устройств, 2.3+) и minSDK большим (для современных устройств).

По сути, в нем рисуется 2D графика, 3D графика, играет музыка, воспроизводятся звуки, есть стандартный ввод текста. Что еще надо для игры... =) И даже нет ни одной нативной библиотеки, которую пришлось бы менять для разных андроидов, разных процессоров и т.п. Просто чистая ява.

А под Windows можно и через Bluestacks запустить ее, или через другую android-среду запуска игр.

Что с той версией

Судя по всему, последняя была добавлена фича отображения 3D-превью персонажа прямо на его квадрате с ником и другими параметрами в меню выбора персов (флаг черный, т.к. персонаж создавался когда еще флагов не было, в базе на сервере в ячейке флага нули).

Изображение

Рисовались модельки в 3DS Max. Там OBJ-файлы, простые 3D-модели в текстовом виде, где записаны треугольники, нормали, координаты текстуры для каждой точки каждого треугольника, MTL-файл материала с параметрами и именем файла картинки текстуры, ну и сама текстура в отдельной картинке.

Переходим на свой 3D редактор. Но его еще нет.

Теперь надо переделать это почти пустое окно 3D редактора Hippo из состава экстра-утилит PaintCAD 4Windows в полноценный 3D-редактор, чтобы оно могло не только рисовать кубик, собирая его из 12 треугольников в объект номер 1, и крутить его мышкой во все стороны вокруг точки (0,0,0), а набивать сцену, как минимум, разными 3D-примитивами (такой 3D-паинткад на минималках, сюда сферу, туда кубик), как вручную, так и по командам из скрипта из поля в правой части, показывать структуру полученной сцены (дерево или что-то такое), текстурировать эти объекты и скопом (или по отдельности) экспортировать в OBJ:

Изображение

Так что временно переходим к разработке новой версии PaintCAD 4Windows с 3D редактором Hippo, попутно пробуя что же он наэкспортирует и как это будет выглядеть под андроидом в Basis MMORPG.

Аватара пользователя
blackstrip
Админ
Сообщения: 1341
Зарегистрирован: Ср янв 02, 2008 1:42 pm
Откуда: Подольск
Контактная информация:

Re: MMORPG Базис

Сообщение blackstrip » Вс июн 21, 2026 5:35 am

На устройствах слабых и где нет 3D или отрисовать его затруднительно - для любой сетевой игры можно, теоретически, сделать лайт-версию. Как писалось здесь http://blackstrip.ru/phpBB2/viewtopic.p ... t=70#p3609

Это такой безмозглый мини-проигрыватель всего того, что скажет сервер или раз в N секунд, или до момента окончания ввода текста, выбора пункта меню и т.д.

Обязательно должна быть команда серверу "обновить", в ответ сервер присылает отрисовку того, что сейчас в игре на экране должно быть нарисовано в виде набора команд для отрисовки.

Примеры команд от сервера для отрисовки на клиентском экране:

линия x1, y1, x2, y2, толщина, цвет

линия3D x1, y1, z1, x2, y2, z2, толщина, цвет

текст строка, x, y, опорная точка по X (центр, лево, право), опорная точка по Y (центр по вертикали, верх, низ), толщина, цвет, номер шрифта

меню id меню, текст верхушки, текст пункта 1, текст пункта 2, ..., текст пункта N, номер введенного пункта, текст кнопки 1, текст кнопки 2 - а в ответ клиент должен ответить id меню и нажали ли Кнопку 1 или кнопку 2.

ввод_текста id окна ввода, текст верхушки, текст поля ввода, текст кнопки 1, текст кнопки 2 - в ответ клиент должен ответить id окна ввода и какую кнопку нажали

и т.п.

Т.к. размеры экранов устройств совершенно разные, то координаты по X должны быть в процентах от ширины экрана (или области вывода на этом экране), по Y в процентах от высоты экрана (или области вывода на этом экране)

Внутрь клиента должны быть встроены шрифты с мелкими буквами чтобы рисовать ими тексты на экране мелкого разрешения. Для бОльших разрешений шрифты должны скалироваться x2, x3 и т.д.

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость