ФлеймФорумПроЭкты

X-Ray 1.7 Разработка новой версии движка

Страницы: 1 2 Следующая »
#0
0:50, 5 янв 2016

Всем привет, я веду разработку новой версии движка X-Ray. Я ищу единомышлеников, которые помогут мне в этом деле, да и просто хороших ребят, с которыми можно пообщаться на тему движка и обсудить наболевшие баги/особенности реализации. :D
Не так давно (хотя уже почти как больше года) исходники движка S.T.A.L.K.E.R. включая модуль игровой логики xrGame были слиты в сеть. Слиты были исходники всех трех частей + мода Lost Alpha. Таким образом не осталось места где нельзя было что-то изменить в этой игре.
Но давайте по порядку:
  1. Зачем это все?
  2. Что предстоит сделать
  3. Кто мне нужен
  4. Контакты

1. Зачем это все? (осторожно, много букв)

В нулевых (да и сейчас порой) была эдакая мода писать программы/игры для старых приставок: Dendy/Sega Mega Drive даже PS1 и т.д. Кто этим занимался? Как правило те люди, что в детстве резались в игры на этих приставках, а когда выросли, им стало любопытно: что творится под капотом любимой приставки. Создавались целые клубы, проводился тяжелый реверс-инжиниринг (с осциллографом и программатором люди сидели). Другие люди (не столь подкованные в техническом плане, но так же много игравшие в старые игры) захотели вспомнить старые годы и создать олдскульную игру с 2D пиксельной графикой. Тысячи их! Даже не так. МИЛЛИОНЫ ИХ. Зайдите в steam, сами убедитесь.
В приставки я погонять почти не успел, но зато прошел много старых 3D игр. На 2D меня даже не тянет, если честно. Можно сказать я принадлежу уже к следующему поколению.
Так вот, к чему я все веду: Мне интересно как работает движок X-Ray, и как можно его улучшить. Возможно сделать что то на нем. Так же как и предыдущее поколение интересно Dendy, 2D, пиксели и прочие радости 80-x, 90-x. Это первая причина.
Кроме того мне интересно писать на низкоуровневом API (Windows API, Windows NT API, или даже, страшно сказать, System Calls). X-Ray 1.7 использует WinAPI напрямую а значит работает только на Windows, и меня это полностью устраивает. Вводить кроссплатформенность я не собираюсь (право же, это же весь движок менять, да и зачем, если на этом поприще его Unity с UE4 задавят). Честно сказать я устал от всех этих кроссплатформенных фраеворков и библиотек. Я понимаю что они нужны, что есть бизнес и прочее, но тут я хотел бы от этого отдохнуть и немного покодить на низкоуровневом API. Это вторая причина
Кроме того мне интересна вселенная S.T.A.L.K.E.R. Думаю и так все понятно. Это третья причина.

2. Что предстоит сделать

Разработать новый SDK:

  Абсолютно новый LevelEditor написанный на C++/CLI:
    * WYSIWYG редактор (xrRender подключается напрямую к LevelEditor) Статус: 85%.
    * Сборка уровня без компилятора (расчет лайтмаппов теперь не будет, теперь у нас только динамический свет. 2016 год все же)
    * Скриптинг на нодах (что то подобное я уже делал, фичу беру на себя)
  Скриптовой дебаггер (возможно будет встроен в Level Editor) речь идет кстати о дебаггинге нодов, чистый код можно отлаживать обычным отладчиком в Visual Studio.

Движок:

  * Разработать новое API на C#.
  * Оставить только R3 и R4 (2016 год, я надеюсь уже у всех есть DirectX 10? Не ну, серьёзно, DirectX 10 появился 10 лет назад, уже все должны видеокарты обновить. UE4 4.9 уже даже тупит на видеокартах, которые DirectX 10 не поддерживает)
  * Доработать систему UI (там столько хлама, ей богу)
  * Доработать геймплей (добавить новую опасность: холод, и т.д.) сделать больший уклон в опасность Зоны (ходить ночью как по бульвару теперь не получится, аномалий станут хитрее)
  * Изменить систему AI, придумать аналог AI сетки (или улучшить существующую конструкцию), которая будет стримится прямо во время игры.
  * Если все выше получится, можно подумать о поддержке огромных локации (возможно одной - единственной)


3. Кто мне нужен

Все фичи что я перечислил выше я знаю и могу реализовать сам. Вопрос лишь времени. Но именно время меня и смущает - речь идет о двух, а то и трех годах разработки, и это если оптимистично смотреть. К тому же одному оказалось скучно, ведь некому поделиться интересными находками (а некоторые решения порой сильно меня удивляли). Так что я ищу соратников в столь нелегком деле. Проект некоммерческий, следовательно работает на чистом интересе и энтузиазме (знаю как избито это звучит, но уж как есть). Хотя мелкие расходы я таки беру на себя (например необходимо сделать что то, что никто из нас не может - я могу нанять фрилансера), благо я уже не бедный школьник/студент и некоторыми средствами я располагаю. Не исключаю что в дальнейшем чья то большая работа будет вознаграждено материально, но пока я ищу людей которым именно интересна эта идея, т.к. оплачивать штат программистов для некоммерческого проекта как то не комильфо ;) .

Вообщем два требования:
  * Иметь желание изучать что то новое, не бояться лезть разбираться в тяжелых, сложных системах. Вообщем любознательность приветствуется.
  * Знать С++ на стадий pre-intermediate и выше.


Не обязательно, но будет желательно:
  * Знать C#
  * Уметь пользоваться отладчиком (им придется уметь пользоваться, как минимум научится)
  * Знать следующие технологий: WinAPI, DirectX, Boost, .NET, HLSL.
  * Знания тригонометрии и алгебры так же будут очень кстати.
  * Знания ассемблера на уровне понимание "Что здесь происходит". Баги бывают в самым неожиданных местах, порой по-другому их не увидеть.

Если чего то не знайте, но хотите изучить - я с радостью вам помогу. На все вопросы постараюсь ответить и разъяснить, благо все вышеперечисленные технологий я знаю. Можно сказать это единственное чем я могу отплатить за помощь :) .

Спасибо за внимание.


4. Контакты

Skype: sergej_1965 при добавлений указывайте что вы пришли отсюда.


UPDATE:
Решил добавить что было сделано за то время пока я был один (иногда помогал знакомый, но щас уже ушел)
1) Были возвращены некоторые вырезанные фичи и немного своих: возможность управлять станционным пулеметом, диалог при переходе в новую зону, смена языка прямо в игре.
2) Произведено портирования движка на x64 с перекомпиляцией всех зависимостей и правкой вылезших багов.
3) Начата разработка LevelEditor - пока на начальной стадий, но все же
4) Добавлена защита для сборки (чтобы можно было дать другому человеку не боясь что он сольет билд)
5) Добавлена отладочная консоль
6) Отделен рендер от движка (несмотря на то, что рендер идет отдельным dll, он крайне часто обращался к данным в модуле xrEngine. Теперь рендер сам по себе, и общается с движком через интерфейс.
7) Ради теста добавили скриптовую систему питона (просто систему, API не имплементировали). Скорее всего придется вырезать :D .

#1
4:32, 5 янв 2016

Как ты прокачивался с вот этого момента? Это я намекаю на то, что слишком вы, товарищ, хорошо о себе думаете.

#2
5:26, 5 янв 2016

MATov
тема два года назад создана, за два года можно мнооогое, при желании.

По теме
С Новым Годом, с новым Сталкером! :)

#3
6:48, 5 янв 2016

MATov
> Как ты прокачивался с вот этого момента? Это я намекаю на то, что слишком вы,
> товарищ, хорошо о себе думаете.

Все что я написал могу подтвердить. За два года многое поменялось.
Портфолио: http://giperion.16mb.com/index.html
Проект на С++ разработанный мною: https://github.com/Giperionn/TalosRenderEngine Бинарники: http://rghost.ru/6WbYVt697

D_A_C
> С Новым Годом, с новым Сталкером! :)

Спасибо!

#4
11:27, 5 янв 2016

Как я понимаю это некое подобие-"Народной солянки".
А зачем оно надо?-Сейчас OpenXRay набрал обороты, и очень резво развивается.

#5
12:09, 5 янв 2016

NickGastovski
> Как я понимаю это некое подобие-"Народной солянки".
Нет, к солянкам проект X-Ray 1.7 не имеет никакого отношения. Я не сливаю в одну кучу исходники откуда то, я их пишу.

NickGastovski
> А зачем оно надо?-Сейчас OpenXRay набрал обороты, и очень резво развивается.

Зайдите вот сюда: https://github.com/OpenXRay/xray-16/commits/master
И почитайте последние коммиты. Только не поверхностно, а немного углубившись. И вы поймете, что последний серьёзный коммит был 23 апреля. Это типа "резво развивается"?
Почему я работаю над своим проектом, а не над OpenXRay? Потому что у меня свои список задач, и свои цели, которые порой отличаются от целей OpenXRay.
X-Ray 1.7 тем не менее является форком OpenXRay 1.6 от сентября 2015.

#6
12:45, 5 янв 2016

Giperion
> Все что я написал могу подтвердить. За два года многое поменялось.
> Портфолио: http://giperion.16mb.com/index.html
> Проект на С++ разработанный мною:
> https://github.com/Giperionn/TalosRenderEngine Бинарники:
> http://rghost.ru/6WbYVt697

Очень слабо для человека решившего дописывать X-Ray. Я не с целью оскорбить или унизить, я с целью намекнуть "не майся дурью".
С Новым Годом)

#7
13:19, 5 янв 2016

MATov
> Очень слабо для человека решившего дописывать X-Ray. Я не с целью оскорбить или
> унизить, я с целью намекнуть "не майся дурью".
> С Новым Годом)
Спасибо, однако если бы мне это было бы не по зубам, я бы бросил это еще в сентябре.
По поводу "не майся дурью" - порой я программирую для себя. Не ради денег, не ради кого то, а вот просто. На мой взгляд это лучше чем пить ягу в подъезде, или как то по-другому прожигать жизнь.
В любом случае причины я расписал выше.
И все же: почему слабо? Причину можете назвать? Можно в личку.

#8
16:18, 5 янв 2016

Giperion
> Кроме того мне интересна вселенная S.T.A.L.K.E.R. Думаю и так все понятно.
Эх, скукота, все пишут клоны игр. А зачем? Вот если бы целью было освоение какого-нибудь алгоритма, было бы интересно.
В целом, все что написано уже реализовано в движках. Какой смысл писать то что и так уже есть?

#9
2:05, 7 янв 2016

Panur
> А на что этот движок станет похож, после ваших манипуляций с его кодом ? У вас
> есть " образец для подражания " ?

Образец для подражания сам X-Ray, я стараюсь поддерживать тот же Code Style, который использовали программисты GSC.

Panur
> это попытка прогеров из GSC превратить idTech2 ( QUAKE2 Engine ) - в Cry
> Engine.

Не похоже. В X-Ray нету ни строчки кода из idTech2, CryEngine'ом X-Ray не будет хотя бы из за своего ужасного SDK (сам движок хороший).

#10
14:07, 7 янв 2016

Giperion
Вам в раздел Утилиты: http://www.gamedev.ru/projects/forum/?tools

#11
17:26, 7 янв 2016

А ты сам модил на сталкер?
>Сборка уровня без компилятора
вообще то без расчета освещения, он компилит меньше чем за минуту это совсем не напрягает. Лайтмапы как раз камень преткновения, но это не единственная вещь которая происходит при компиляции уровня. Это и точки перемещения и исключение какой то области из путей для НПС.

>* Скриптинг на нодах (что то подобное я уже делал)
ну Mysql я тоже когда то делал, но по скорости и оптимизации это было не только (as is) но и исключительно для конкретного случая. Как только база переходила в миллионную запись от неё невозможно было добиться уже ничего. Это я к тому, что сделал так что вообще не приходится переписывать спустя годы и просто написал - это разные вещи.
У целой команды настоящих профессионалов, X-Ray не получилось довести до ума, а ты собираешь любителей.

>Разработать новый SDK:
и три года на развитие, это не просто оптимистично, это скорее иллюзорно.

PS:
в своё время я донимал одного уважаемого человека, человека легенду в этом деле, его тогда звали "бардак" (если мне память не отшибло). Его неоценимый вклад в скрипты и прочее, в сам SDK. К сожалению к тому времени он видимо оставил своё детище и отошел от дел. Так что его скрипты мне пришлось изучать самому, но моя ему благодарность за его труды не стала меньше.
Спустя год наша команда All Changes Team (ACT) развалилась, и вовсе не из-за того что нам надоело, мы просто устали тянуть проект. Вероятность того, что нам помогли бы деньги равняется около 10%. Мы были настоящими идеалистами. А произошло всё наверняка из-за того, что взяли на себя слишком много что ли. Спустя годы мы встретились на просторах интернета и хотели даже реанимировать проект, но уже не смогли найти общий язык, мы стали другими )
Проблемы бывают разные: заболел, разонравилось, разочаровался, семья, дети, работа, учёба. Они всегда будут как бы мешать, но без их участия, вы не сможете жить.
А ещё (коль уж заговорили о сталкере), я хотел бы выразить благодарность команде АМК (наших основных конкурентов) за приятную и добрую конкуренцию в модмейкерстве. Пусть и не сразу, но мы стали гоняться с ними в этом нелегком деле ;) Они пришили к игре, тогда, болота из чистого неба на ЗОВ. В этом они нас обошли, можно сказать, прямо у нас из под носа )
(меня тогда звали ZZZubec, меня и сейчас так кличут старые друзья)

#12
11:08, 13 янв 2016

пользуясь случаем, хотел бы передать....

#13
14:09, 13 янв 2016

gendir2000
> пользуясь случаем, хотел бы передать....
ссылку на скачивание Юнити?

#14
14:10, 22 янв 2016

Giperion

Оу, планы у тебя, конечно, наполеоновские - перетрясти X-Ray в четырех вариантах. Только зачем? Если просто самому поковыряться - то вопросов нет, но тебе нужны люди, да еще и со непохими скилами. Мне кажется. что тебе лучше будет вести блог или постить здесь свои успехи, неудачи и вопросы по ковырянию движка; и обратную связь получишь и кому-нибудь интересно будет, я точно бы почитал что там и как устроено.

Страницы: 1 2 Следующая »
ФлеймФорумПроЭкты

Тема в архиве.