Дядя Миша писал: Вот кстати какая мысль ещё мне пришла в голову. Для тех у кого логает там где логать не должно - попробуйте поиграться с кваром gl_finish.
И ещё. Попробуйте gl_vsync -1
Не один, а именно минус один.
Я тут разгребаю код инициализации OpenGL-подсистемы, там очень много залежей накопилось ещё с конца нулевых. Так что может и уйдут ваши лаги.
Мне никак не помогло. gl_vsync -1 ограничивает фпс до 60 что не имеет смысла в этом контексте, а gl_finish ничего не делает.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Сделал большую ревизию для кода создания OpenGL окна и обработчика движения мышы. Код там не менялся со времён Xash3D, был бардак какой-то непонятный. Куча ненужного устаревшего кода, который вообще непонятно как работал. В связи с этим также изменились скриптовые API, стали более целостными, поэтому демки, которые выкладывал уже несовместимы с будущей версией - каллбэки поменялись. Ну ничего, каллбэков немного, и я не планирую их всё время трогать, это просто сейчас идёт процесс окончательного устаканивания. А вот новые API, доступные из скриптового языка будут добавляться новые, на совместимость это никак не повлияет.
К тому же в движке есть встроенное средство тестирования функций и интерфейсов, позволяет убедиться что это всё есть в наличии, прежде чем вызвать.
SampleSDK для начала будет совсем простейший, но даже в таком варианте он содержит порядочно кода.
Меню состоит из двух подменю:
1. Подменю выбора карт для запуска
2. Подменю смены разрешения экрана
3. Кнопка выхода из игры (в Unity как мы помним по дефолту не было даже этой кнопки).
Клиентская часть обрабатывает нажатые игроком кнопки и отсылает их биты на сервер, а так же считает ректангл вьюпорта и fov игрока.
Серверная часть содержит в себе ворлдспаун, объект игрока и точку его старта.
В принципе этого достаточно, чтобы бегать и летать по статичной геометрии, например по картам из того же сталкера.
И достаточно для изучения кода, чтобы сформировать минимальное представление о том, как это всё работает. В таком виде оно и будет выложено для первого знакомства. Дальше возможны варианты - либо я сам добавлю туда для примера двери-аптечки, пушку в руках, либо вы прекрасно справитесь и без меня с этим. В любом случае SampleSDK для каких-то серьезных задач не предназначен, это просто минималка для запуска. Для разработки игр будет написан BaseSDK с объектами из XashXT, ну я уже говорил об этом.
Так же вам будут доступны исходники Квейк-Римейка да и любой другой из игр, которые я впоследствии планирую портировать.
Дядя Миша
Насколько Шота будет совместим с современными вижуал студиями и будет ли файл проекта для более удобной работы с проектом? Ибо писать код в блокноте врядли кто то захочет, особенно новички.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Я никогда не работал в современных визуал-студиях, ничего не могу сказать.
Но там же вроде бы теперь есть возможность подключения плагинов, для поддержки разных специфических вещей? К примеру я слышал вроде бы есть плагин для написания GLSL.
Дядя Миша
Да есть, но их написание тоже требует определенной компетенции. Как минимум очень хорошего знания твоего языка. А уж парсить свои собственные файлы проекта это вообще кошмар. Уж лучше использовать то что есть, и при возможности немного подправить чем изобретать велосипед с нуля, а потом ещё как то и всё это поддерживать.
Лучше всего рекомендую ознакомиться с VS Code он более легковесный чем студия, кроссплатформенный и более дружелюбный к плагинам, и полностью бесплатный. Правда с WinXP могут быть проблемы, как вариант можно попробовать эту старую версию (https://code.visualstudio.com/updates/v1_14) но я хз заведётся или нет, я не проверял.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro писал: Как минимум очень хорошего знания твоего языка
Ты намекаешь что я свой язык знаю не очень хорошо?
Цитата:
FiEctro писал: Правда с WinXP могут быть проблемы
Я уйду с XP как только будет готов редактор. Я там реализую всё то, чего мне собствено и нужно для работы.
Добавлено 21-10-2023 в 16:51:
А вот скажите товарищи, такой вопрос. Вас же не смутит, что в SampleSDK будет довольно много кода и файлов?
Не так чтобы один файл на три строчки, хелловорлд.
Скажем игровой код будет килобайт 100 весить суммарно в разных файлах.
Я бы конечно мог это всё максимально ужать, чтобы пример вообще невозможно было расширять и переиспользовать, но не думаю, что это хорошая затея.
Добавлено 21-10-2023 в 16:51:
Или как лучше сделать?
Добавлено 21-10-2023 в 17:03:
Давайте я вам озвучу свои планы, касательно того, что именно я планирую написать\портировать на Шот из игрового кода. Не в порядке приоритетов, а просто, как вспомнютак вздрогну.
Quake 1 - собственно уже портирован. Осталось только отшлифовать.
Quake 2 - скорее всего уже в этом году.
BaseSDK - некий собирательный образ из энтить халфы, ксаш-мода и паранои. Базовый SDK для XashNT на основе которого можно делать ваши игры, добавляя недостающее. Ориентировочно зима2023 - весна2024.
Doom - помните я говорил что римейк Doom доделаю на XashNT? Ну там немного работы, по большей части надо просто портировать порт.
MIR - используя BaseSDK
Paranoia - используя BaseSDK
Paranoia 2:Savior - используя BaseSDK
Это из того, что запланировано точно. Теперь из вероятного-частичного.
Quake3 - скорее всего без ботов или боты не будут на 100% себя вести как в оригинале.
Unreal Tournament 99 - это моя личная хотелка, которую или за меня сделает кто-нибудь ещё или я доберусь до нее на пенсии.
Half-Life 2 - ну тут может Crystallize займется, как я понял ему интересно.
Очень может быть что для вероятного я вообще никакой код писать не буду, а ограничусь только написанием экспортёров в форматы, понятные новому Ксашу. Но вот то что выше - это включено в roadmap.
Дядя Миша писал: Ты намекаешь что я свой язык знаю не очень хорошо?
Ну если ты сам сделаешь плагин то ни на что не намекаю. А вот если его будут пытаться делать другие люди может получиться сломанный телефон.
Цитата:
Дядя Миша писал: Я уйду с XP как только будет готов редактор. Я там реализую всё то, чего мне собствено и нужно для работы.
Ну ты попробуй ту версию что я скинул, может ничего и не придётся.
Цитата:
Дядя Миша писал: Скажем игровой код будет килобайт 100 весить суммарно в разных файлах.
Я бы конечно мог это всё максимально ужать, чтобы пример вообще невозможно было расширять и переиспользовать, но не думаю, что это хорошая затея.
Я думаю его просто по папкам надо расфасовать, у пользователя в проекте это папка Assets, для редактора скрипты в папке Editor, для бекенда Library. Ну тоесть всё максимально модульное. Плюс если ты всё удалишь кроме папки Assets то движок тебе всё восстановит в проекте. Это нужно на случай если там что то сломалось или повредилось.
Ты можешь где то внутри движка сделать что то вроде ToolAssets.pak куда ложить файлы необходимые для работы СДК, но при создании проекта его просто распаковывать в папку с проектом. Почему сразу не подгружать из архива спросишь ты? Да малоли может кто то свою версию захочет сделать
Цитата:
Дядя Миша писал: Давайте я вам озвучу свои планы, касательно того, что именно я планирую написать\портировать на Шот из игрового кода. Не в порядке приоритетов, а просто, как вспомнютак вздрогну.
Это уже не актуально, к тому же всё однотипное кроме разве что СДК и Паранойи, и с натяжкой хл2. А что можно протестировать на первой кваке или первом дууме? Да и моддеры этих игр врядли пересядут, ибо им важна кроссплатформенность и опенсорц.
Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Актуально - не актуально, вопрос так не стоит. Сейчас идёт активное бета-тестирование платформы и лучше всего это делать на готовых и хорошо изученных ресурсах.
А что можно протестировать в первом дууме? Спрайтовых монстров?
Мне кажется логичнее брать игры где есть материалы.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Дядя Миша писал: Quake 1 - собственно уже портирован. Осталось только отшлифовать.
Quake 2 - скорее всего уже в этом году.
BaseSDK - некий собирательный образ из энтить халфы, ксаш-мода и паранои. Базовый SDK для XashNT на основе которого можно делать ваши игры, добавляя недостающее. Ориентировочно зима2023 - весна2024.
Doom - помните я говорил что римейк Doom доделаю на XashNT? Ну там немного работы, по большей части надо просто портировать порт.
MIR - используя BaseSDK
Paranoia - используя BaseSDK
Paranoia 2:Savior - используя BaseSDK
Возьми, какую-нибудь одну игру, например, Paranoia - доведи ее до ума и сделай, чтобы она идеально работала на твоем новом движке + добавь в нее все современные плюшки, чтобы все это вместе смотрелось и будет все ок ) Зачем тратить кучу времени на почти одно и тоже, портируя все эти игры?
Добавлено 22-10-2023 в 12:19:
Цитата:
FiEctro писал: Ибо писать код в блокноте врядли кто то захочет, особенно новички.
Если я не ошибаюсь, то в джеке был редактор шейдеров для волатилы, и нечто подобное можно сделать в редакторе, которые будет для ксаша. Для шейдеров и для кода, чтобы для тупых показывал, где ошибка и возможные варианты исправления, ну и чтобы, когда нажал кнопочку на скомпилировать \ сохранить и этот код \ шейдер, то был сразу виден результат во вьюпорте
__________________
Kiss my ass if you don't like my Ford!
------------------------------------------ Game Area51 Update 1
First Person Shooter Released Jul 24, 2017
The game is a 3d shooter with the elements of the quest.
Дядя Миша писал: Тестирование различных подсистем и ситуаций.
Игры, которые ты перечислил они плюс-минус одинаковые, я бы не стал тратить на это тонну времени
Цитата:
Дядя Миша писал: Он только кутришные шейдеры поддерживает.
Я имел ввиду, чтобы ты потом сделал нечто похожее, но только уже для своего движка и своего языка программирования )
__________________
Kiss my ass if you don't like my Ford!
------------------------------------------ Game Area51 Update 1
First Person Shooter Released Jul 24, 2017
The game is a 3d shooter with the elements of the quest.