HLFX.Ru Forum Страницы (255): « Первая ... « 137 138 139 140 [141] 142 143 144 145 » ... Последняя »
Показать все 3825 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Наши проекты (https://hlfx.ru/forum/forumdisplay.php?forumid=1)
-- XashNT: блог разработчика (https://hlfx.ru/forum/showthread.php?threadid=5297)


Отправлено FiEctro 27-04-2022 в 07:18:

Цитата:
XaeroX писал:
Если честно - до сих пор удивляюсь, сколько же всего мне удалось наворотить, пока жил в относительно "тепличных" условиях Новосибирска, с вагоном свободного времени. Но ещё больше так и осталось на уровне задумок и планов.


Стареем

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 27-04-2022 в 07:37:

Пришлось пока что остановить работу над редактором и заняться бакэндом.
А точнее - платформозависимым слоем абстракции. Поскольку движок изначально базировался на коде от Кармака, вы знаете, как там с этим обстоят дела - мультиплатформенность гарантируется только для самого движка, а вот утилиты и особенно редактор - ну как повезёт.
К тому же утилиты использовали собственную файловую систему, упрощённую. Пока я долгое время тешил себя надеждой, что можно будет обойтись сторонним редактором, это всё худо-бедно работало.
Но с учётом новой концепции, это будет единая среда, в которой каждый компонент может запускать другой. Движок из редактора, редактор из движка, утилиты. Неплохо бы предусмотреть гибкий механизм, который позволяет это сделать. Какие-то зачатки были еще в старом ксаше, там как вы помните, движок умел перезапускать сам себя, через хитрозакрученную систему каллбэков, но это не слишком надёжно.
Сейчас я выработал новый принцип для этого дела. Есть некая структурка, которая содержит в себе:
1. путь до загружаемой библиотеки
2. название инстанции (движок, редактор, дедикатед-сервер, компилятор)
3. строку командных параметров

Эта структурка заполняется внутри .exe файла. И передаётся внутрь дллки, которая будет вызвана. Дальше дллка может по собственному усмотрению записать туда новый путь к дллке, новую инстанцию и изменить командную строку. И при выходе из экспортной функции, соответственно, вернуть 0 - завершение работы. Или 1 - рестарт.
А сам вызов этой экспортной функции из дллки оформлен в цикле.
Точнее говоря, не просто функции, а загрузки библиотеки, вызова функции и выгрузки библиотеки. Т.е. мы можем подключать любые части движка по необходимости, минуя классический вызов экзешников с командной строкой, поскольку возникают сложности, с выводом в консоль, например при таком подходе. Там какие-то трубы надо городить.
Опять же смену игровой директории через этот механизм можно делать.

Вторая задача - абстракция платформозависимого кода, вынос его в отдельный класс, не только для движка, а для всей среды. Это будет нечто вроде SDL (для понимания), но для более широкого спектра задач и заточенное именно под XashNT.

Например в любом приложении будет доступна консоль с виндовым окошком, а не только системная.

Отдельно скажу по DLL Hell. В новом ксаше я принял за правило, что ни одно из приложений входящих в среду не может вызвать более одной дллки. Иначе получится натуральный DLL Hell. Т.е. всегда будет работать схема: exe->dll. А дллка будет содержать в себе абсолютно всё необходимое для работы. Конечно она может вызывать еще какие-то дллки, но только системные из папки windows. То есть в такой дллке будет целиком оформлена подсистема движка, но на уровне понятном пользователю. Библиотека - редактор, библиотека - движок, библиотека - компилятор уровней. То что, с точки зрения пользователя делает какое-то завершенное действие. А вот подход, когда у нас в этой библиотеке tier0, tier1, FileSystem, ParticleMan и прочее - такого не будет. Потому что неизбежно получится каша из разных версией с несовпадающими интерфейсами и работать ничего не будет.
Мое допущение заключается в том, что абсолютно у всех библиотек будет единая точка входа, с интерфейсом, описанным в начале этого поста.
И этот интерфейс никогда меняться не будет.

Из любопытного: теперь настройки для конкретного экзешника будут задаваться в командной строке, в которую экзешник будет автоматически добавлять параметры - вот в ту самую структурку. Таким образом пользователи смогут тоже вручную это контролировать в некоторых ситуациях. Довольно гибкий подход получится, я думаю.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено (_-=ZhekA=-_) 27-04-2022 в 07:52:

XaeroX
У тебя уже есть полностью рабочий двиг для него рабочий редактор, что еще для жизни надо?!

Дядя Миша
Если не секрет, то сколько часов в день ты тратишь на свой двиг и все необходимое для него?

__________________
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.

http://button.moddb.com/download/medium/125531.png


Отправлено FiEctro 27-04-2022 в 08:06:

>> Отдельно скажу по DLL Hell. В новом ксаше я принял за правило, что ни одно из приложений входящих в среду не может вызвать более одной дллки.

Ну можно процесс иницилизации вынести в GameInfo.txt А сами дллки хранить в папках игры или мода, с подписью версии движка. Ну и создать папку base с базовыми библиотеками, на случай если в папке мода вообще ничего нет. В общем всё уже валва придумала за нас.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 27-04-2022 в 08:12:

Цитата:
(_-=ZhekA=-_) писал:
Если не секрет, то сколько часов в день ты тратишь на свой двиг и все необходимое для него?

По-разному. Иногда по 6-8 часов в день, иногда вообще нет на это времени.
Еще бывают творческие отпуска, когда я целый месяц к коду не притрагиваюсь.

Цитата:
FiEctro писал:
Ну и создать папку base с базовыми библиотеками

Папка base есть, для 32-х битной версии называется bin_x86, ну ты видел.
Но дллок в игровой папке скорее всего не будет, там теперь будут файлы виртуальной машины. А дллки - только в базовой.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено (_-=ZhekA=-_) 27-04-2022 в 08:19:

Цитата:
Дядя Миша писал:
По-разному. Иногда по 6-8 часов в день, иногда вообще нет на это времени.

А как же работа, если ты тратишь почти целый день на это? Если я правильно понимаю, то двиг для тебя сейчас, как хобби, который пока доход не приносит, так?
Цитата:
Дядя Миша писал:
Еще бывают творческие отпуска, когда я целый месяц к коду не притрагиваюсь.

Такое кстати у меня тоже бывает...

__________________
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.

http://button.moddb.com/download/medium/125531.png


Отправлено Дядя Миша 27-04-2022 в 10:09:

Цитата:
(_-=ZhekA=-_) писал:
А как же работа, если ты тратишь почти целый день на это?

Ну так я прямо на работе его и пишу, если её нет.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 27-04-2022 в 13:55:

Цитата:
Дядя Миша писал:
По-разному. Иногда по 6-8 часов в день, иногда вообще нет на это времени.
Еще бывают творческие отпуска, когда я целый месяц к коду не притрагиваюсь.


Это похвально, я бы за такой период уже бы давно выгорел. Интересно как ты боришься с выгоранием?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено XaeroX 27-04-2022 в 15:18:

Цитата:
(_-=ZhekA=-_) писал:
А как же работа, если ты тратишь почти целый день на это?

Работа разная бывает. Сравнивая Россию с Канадой, мне кажется, что в России можно получать относительно неплохие деньги, не особо напрягаясь. У меня даже в Яндексе оставалась куча времени на волатилу.

Тем временем, в Северной Америке в ходу вот такие грустные шутки:


Перевод:
"Отлучился с работы в Европе: я уехал путешествовать на всё лето, напишите емейл в сентябре.
Отлучился с работы в Америке: я покинул офис на два часа ради операции на почке, но вы всегда можете связаться со мной по мобильному телефону."

Так и живём! А вы говорите - "где апдейты, где сдк волатилы, где джек"...

__________________

xaerox on Vivino


Отправлено Дядя Миша 27-04-2022 в 15:27:

Цитата:
FiEctro писал:
Интересно как ты боришься с выгоранием?

Сменой деятельности же. Занимаюсь основной работой.


Цитата:
XaeroX писал:
я покинул офис на два часа ради операции на почке

Это чертовски долго, целых два часа на почку. Тут на две почки хватит.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено XaeroX 27-04-2022 в 15:31:

Цитата:
Дядя Миша писал:
Это чертовски долго, целых два часа на почку. Тут на две почки хватит.

Да. Я думаю, у менеджера к этому товарищу будут серьёзные вопросы во время перфоманс-ревью.

__________________

xaerox on Vivino


Отправлено Дядя Миша 27-04-2022 в 15:53:

Да, если бы я только за компьютером сидел и код писал, уже давно бы выгорел. Но у меня тут ручная работа, кофемашины жы.
Так что нормально получается в целом.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Дядя Миша 28-04-2022 в 05:50:

Предидущий пост на эту тему: https://hlfx.ru/forum/showthread.ph...&pagenumber=116

Из того что тогда предстояло финализировать, отпишусь по готовности.

1. единый формат хранения геометрии успешно финализирован. Возможно я к нему так же приведу шрифты, для пущей консистентности. DONE

2. компилятор освещения успешно финализирован и радиосити прикручен. DONE

3. Код рендерера с момента того поста практически не менялся. UNDONE

4. Колоизация сделана. Симуляция твёрдых тел еще нет. Partially DONE

5. Момент продуман, сама виртуальная машина уже написана, но пользовательская часть еще не создана. Partially DONE

6. Код сети с момента того поста практически не менялся. UNDONE

7. Просмотровщик в планах, он поделит код вместе с редактором, так что по сути оба появтся одновременно. UNDONE

8. Как раз над редактором я сейчас и работаю. Но я только начал, по сути. UNDONE.

Интересно, как теперь подсчитать процент готовности движка?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено (_-=ZhekA=-_) 28-04-2022 в 06:12:

Цитата:
Дядя Миша писал:
Интересно, как теперь подсчитать процент готовности движка?

Собрать все-все хотелки\фичи в один пост и сделать подсчет, что в итоге готово, а что еще нет или чего вообще не будет, как-то так )

__________________
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.

http://button.moddb.com/download/medium/125531.png


Отправлено XaeroX 28-04-2022 в 06:13:

Цитата:
Дядя Миша писал:
UNDONE

Кстати, мне всегда казалось, что UNDONE - это когда ты что-то сделал, потом понял, что получилась ерунда, удалил весь написанный код и написал комментарий - "UNDONE: xxx".

__________________

xaerox on Vivino


Временная зона GMT. Текущее время 18:38. Страницы (255): « Первая ... « 137 138 139 140 [141] 142 143 144 145 » ... Последняя »
Показать все 3825 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024