Перейти к содержимому


Свернуть чат Чат Открыть чат во всплывающем окне

Yakim (Watco... : (14 Июль 2018 - 00:06) :D
Yakim (Watco... : (14 Июль 2018 - 00:06) nope
Yandersen : (13 Июль 2018 - 22:07) Айаяй. Поди Якимко заспамил чат стикерами. :)
Yandersen : (13 Июль 2018 - 22:06) Да лан, тут каждый день кто-нить из админов заглядывает. Как пропустили?
Nextovoy : (13 Июль 2018 - 01:04) Я писал
Гость : (10 Июль 2018 - 22:42) Сорьки, что так у нас. Чего три года так и не попытался в чат писнуть? :)
Nextovoy : (06 Июль 2018 - 16:15) Спасибо
lz : (04 Июль 2018 - 19:44) Активировал.
Гость : (03 Июль 2018 - 16:30) Активируйте его.
Гость : (03 Июль 2018 - 16:30) Мой профиль - Nextovoy
Гость : (03 Июль 2018 - 16:25) Написать в чат. Профиль в ручную админы активируют.
Гость : (03 Июль 2018 - 15:47) Ох уж эта дурацкая привычка писать всё раздельно засоряя чат. Это всё классно, конечно, но ребята, одменестраторы, так называемые. Третий год пытаюсь зарегистрироваться (буквально, третий) на этом форуме, но ПИСЬМО С ПОДТВЕРЖДЕНИЕМ НА ПОЧТУ ТАК И НЕ ПРИХОДИТ. Что делать?
Гость : (03 Июль 2018 - 15:46) Перешёл я всё же по ссылке Redoctor'a...
Гость : (03 Июль 2018 - 15:41) Пора уже M4
Гость : (29 Июнь 2018 - 00:18) итак м3
lz : (28 Июнь 2018 - 16:01) Мы тебе и тут передадим.
Гость : (28 Июнь 2018 - 13:13) Зачем в телеграмме делать?!Я вот например не могу зайти,написать в чат,подписаться и не только у меня это.
Redoctor : (24 Июнь 2018 - 19:35) https://vk.com/away....0_23001&cc_key=
Redoctor : (24 Июнь 2018 - 19:34) Тогда в телеграмме в поисковике набери Механоиды 3
Гость : (24 Июнь 2018 - 19:05) Не открывается.
Redoctor : (24 Июнь 2018 - 18:00) https://t.me/mechanoids3 Для тех кто в танке.
Yakim (Watco... : (15 Июнь 2018 - 01:33) КРУЗИИИС!!!11

Изображение
lz : (15 Июнь 2018 - 00:09) КРУЗИС!
lz : (15 Июнь 2018 - 00:09) ЗИС
lz : (15 Июнь 2018 - 00:09) КРУ
Yakim (Watco... : (14 Июнь 2018 - 14:50) Крузис и Королева тоже не в моем вкусе, а проигрывать нечего =D
lz : (14 Июнь 2018 - 13:55) Конечно, полюбить - так королеву, проиграть - так миллион, сделать - так крузис.
smt005 : (14 Июнь 2018 - 00:22) И от третьего лица тоже можно сделать простенькую игру. Простая игра это лучше чем ничего.
smt005 : (14 Июнь 2018 - 00:21) А, ты хочеш что-бы хит был, с "Crysis" графоном и контентом на 100500 часов игры?
Yakim (Watco... : (14 Июнь 2018 - 00:18) Ни топдовншутеры, ни стратежки)
Yakim (Watco... : (14 Июнь 2018 - 00:15) Не, спасибо, не в моем вкусе=)
smt005 : (13 Июнь 2018 - 23:13) Помнится за пару недель от скуки сделал. Делал по вечерам.
smt005 : (13 Июнь 2018 - 23:13)
smt005 : (13 Июнь 2018 - 23:11) Или например такое, только с моделями из игры -> https://youtu.be/RFDdN5dcX8s
smt005 : (13 Июнь 2018 - 23:07) Yakim, да сами себя пните... :) Сделайте что-то, хотя бы уровня "Scrolling TopDown Shooter".
Yakim (Watco... : (12 Июнь 2018 - 22:17) так что, думаю завтра с утреца стартану марафон)
Yakim (Watco... : (12 Июнь 2018 - 22:15) хе-хе, не сомневайся, я в чате по уе уже поинтересовался, сказали обалденный сериал)))
Yandersen : (12 Июнь 2018 - 20:56) Оооооо, поди ща залипнет на пару дней, стопудофф. :)
Yakim (Watco... : (12 Июнь 2018 - 18:28) Окей гляну)
Yandersen : (12 Июнь 2018 - 16:23) Сериал Пространство посмотри. Не по части Мехов, просто шикарен, авось ману доставит.
Yakim (Watco... : (11 Июнь 2018 - 18:50) Дуст и ты уже закаленные и пустые, надож где-то ману доставать)))
Yakim (Watco... : (11 Июнь 2018 - 18:49) Думаю, кого быть пнуть, что-бы тот пнул в ответ да по сильнее.
Yakim (Watco... : (11 Июнь 2018 - 18:48) Давненько и не маленько хе-хе, делать нечего, прокрастинирую =)
Yandersen : (11 Июнь 2018 - 17:46) Якимка, ты там шо, упоролсо маленько? Чиво картинами опспамилсо?
Yakim (Watco... : (09 Июнь 2018 - 22:27) Изображение

Yandersen

Регистрация: 06 Июл 2014
OFFLINE Активность: 21 Июл 2018 17:24
*****

#141 Механика глайдера

Написано Yandersen 14 Июль 2014 - 00:32

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

 

Начну с общей картины. Что такое антиграв, как он работает и как его симулировать.

 

Антиграв - система, состоящая из набора расположенных на корпусе глайдера грави-эффекторов и их контроллера. Грави-эффектор (или просто "гравик") - ус.-во, отталкивающее материю в определённом направлении. Для упрощения симуляции, гравики имеют луч, исходящий из точки расположения гравика на корпусе, отталкивающий их от точки, куда этот луч направлен. Сила отталкивания прямо пропорциональна "накачке" гравика и обратно пропорциональна расстоянию от гравика до поверхности.

Скрытый текст

 

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

Скрытый текст
Это можно либо преподнести как новую фичу геймплея, либо добавить маневровые эффекторы (типа ракетных сопел).

 

Но пока сконцентрируемся на гравиках.

 

От контроллера Антиграва требуется держать заданное положение глайдера в пространстве и сохранять требуемую ориентацию посредством манипуляций с энергиями накачки гравиков. На глайдер могут действовать внешние силы, выводящие его из требуемого положения и пытающиеся изменить его ориентацию. Антиграв должен стремиться сохранять положение глайдера и ориентацию. Этот эталон может быть изменён юзером: когда пилот уводит прицел в сторону, эталонная ориентация меняется, что должно заставить Антиграв развернуть глайд в новое положение. Пока пилот держит кнопки движения нажатыми (вперёд/назад/стрейф_влево/стрейф_вправо/прыжок), эталонное положение глайдера всегда немного смещено в желаемом юзером направлении; когда кнопки движения отпущены, текущее положение глайдера считается эталонным (т.е. перемещается вместе с глайдером). Вертикальная компонента эталонного положения (у) не может быть меньше вертикального расстояния от поверхности до центра масс глайдера и всегда обрезается на этом уровне вне зависимости от желания юзера. Если же юзер нажимает кнопку "тормоз", эталонное положение глайдера фиксируется в точке, в которой глайд находился в момент нажатия кнопки, так что если что-то заставит глайд сместиться, Антиграв будет пытаться вернуть глайдер в ту точку, где был нажат тормоз.

 

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

 

Система контроля должна быть универсальной, т.е. быть способной справляться со своим предназначением вне зависимости от количества грави-эффекторов и их расположения на конкретной модели глайдера или от их состояния (т.к. гравики могут повреждаться в бою и терять функциональность). Разумеется, вполне возможна ситуация, когда количество активных грави-эффекторов, их расположение на корпусе или расстояния до точек отталкивания просто физически не позволят решить поставленную задачу. В таком случае поведение глайдера неопределено. Например, если глайдер опрокинуло взрывом и у него нет ни одного грави-эффектора сверху, то перевернуться он никак не сможет. Но вот если из 4-х гравиэффекторов на днище уничтожен один, это может привести к необычному кренению и снижению управляемости, но глайдер всё равно должен остаться контролируемым.




#129 Terraforming Engine

Написано Yandersen 13 Июль 2014 - 01:27

Публика, мой ландшафтный движок хочет поиграть с Вами! Но потребует от видюхи поддержки OpenGL 4.3.

Кнопок много:

ENTER - вход/выход в режим управления камерой;

нажатие на колёсико мыши - вход/выход в полноэкранный режим;

подкручиванием колёсика мыши регулируется скорость перемещения;

WSAD - вперёд/назад/влево/вправо;

C, SPACE - вниз/вверх;

Q,E - крен бочкой;

R переключает режим рендера: сетка/обычный;

+/- увеличивают/уменьшаю дальность видимости (т.е. размер рендеримой карты, а вместе с тем и дистанцию тумана);

Левая кнопка мыши плюхает на карту кратер ровненько под камерой;

правая кнопка мыши плюхает на карту рядом с камерой гору в рандомной ориентации.

 

Учтите, чем больше по карте летать, тем больше фрагментов карты будет сохранено на диск в папку Data//Map//. Все сделанные изменения таким образом сохраняются.

Прикрепленные файлы




#114 Предложения и пожелания

Написано Yandersen 11 Июль 2014 - 18:11

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



#11 Модели и текстуры

Написано Yandersen 06 Июль 2014 - 22:42

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

 

Если есть материалы Вашего собственного производства, которые Вам не жалко отдать для общего пользования, пожалуйста, публикуйте тут.




#10 OpenGL

Написано Yandersen 06 Июль 2014 - 22:24

Если Вы пишите свой движок и графику выводите средствами OpenGL, то вот мой пакет С++ примочек, которыми пользуюсь:

 

LoadGL.h - все функции OpenGL, которые можно встретить в официальной документации (1-2, 3, 4), самозагружающиеся при первом запуске - просто, безопасно и без головной боли.

(текущая версия хеадера поддерживает OpenGL 4.5)

 

FileGLSL.hpp (требует LoadGL.h) - создание шейдерной программы и загрузка кода шейдеров из текстового файла формата *.glsl.

 

GLSL.hpp - векторная математика в стиле GLSL, насколько это применимо в обычном С++. Векторочки, матрицы, тригонметрические, векторные и все остальные функции...

 

 

---

 

 

LoadGL.h - единственный файл, который нужно кинуть в папку Вашего проекта и прописать

#include "LoadGL.h"

чтобы пользоваться всеми возможными функциями, начинающимися на gl* и glu*. Упрощение в том, что не нужно проверять поддерживаемые расширения и инициализировать указатели на функции - самоинициализация всех объявленных в файле LoadGL.h указателей происходит автоматически при первом вызове каждой из используемых функций, и даже если расширение не поддерживается, ничего страшного не произойдёт - вызов будет просто проигнорирован.

 

---

 

FileGLSL.hpp позволяет загружать коды шейдеров из файла формата *.glsl (это текстовый формат файла с GLSL кодом, редактируется блокнотом). Описанная в хеадере функция

GLuint LoadGLSL(const char* FileName)

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

Перед загрузкой кода шейдеров в OpenGL функция LoadGLSL вырезает строки с комментариями (начинающиеся на //) и сортирует код. Сортировка необходима потому, что в одном файле должны находиться коды всех типов шейдеров, из которых будет составлена требуемая графическая программа. Какой код какому шейдеру принадлежит, указывается с помощью идентификаторов в квадратных скобках:

[GL_VERTEX_SHADER]
[GL_FRAGMENT_SHADER]
[GL_GEOMETRY_SHADER]
[GL_TESS_CONTROL_SHADER]
[GL_TESS_EVALUATION_SHADER]

Весь код до первого идентификатора считается общим и дублируется для каждого шейдера. Код, который идёт строчкой ниже идентификатора, принадлежит конкретному типу шейдера. Так что при загрузке файла *.glsl функция LoadGLSL сканирует строки, игнорируя пустые и те, что начинаются на //, и собирает по отдельности строки для каждого из пяти типов шейдеров. Создаются только те шейдеры, для которых есть индивидуальный код (тот что под соответствующим идентификатором). Шейдеры компиллируются и из них составляется программа, после удачной линковки которой шейдерные контейнеры удаляются. Вот пример файла *.glsl:

//Общее для обоих шейдеров:
varying vec4 Color;

[GL_VERTEX_SHADER]

//Код вершинного шейдера

void main()
{
 Color = gl_Color;
 gl_Position = ftransform();
}

[GL_FRAGMENT_SHADER]

//Код фрагментного шейдера

uniform sampler2D Texture;

void main()
{
 gl_FragColor = Color;
}



#5 О проекте

Написано Yandersen 06 Июль 2014 - 18:13

Цель этого проекта - создание для креативных фанатов игры "Механоиды" места в интернете, где они смогут хранить и публиковать свои наработки, тематика которых имеет хотя бы отдалённую связь с этой игрой, или которые могут оказаться полезными тем, кто решит двигаться в направлении создания продолжения этой игры. Идеально было бы объединить усилия над созданием третьей части Механоидов, но пока что все подобные попытки успехом не увенчались, т.к. каждый делает что хочет, как хочет, и тогда, когда ему это удобно. Я это прекрасно понимаю, ибо сам таков - трудно заставить человека делать то, что ему не интересно. Но вот как заинтересовать?.. :rolleyes:

 

Я обратил внимание на то, как творческий процесс привлекает внимание других людей и вызывает интерес к чужой работе. Зачастую становится интересно разобраться "как же он это сделал?.." Или же стимулируется спортивный интерес - "ха, а я вот могу лучше, смотри!" Ну или просто возникает желание поучаствовать, присоединиться к разработке, сделать свой вклад. Именно на этих психологических эффектах я и предлагаю сыграть на этот раз: каждый делает что хочет, но публикует на этом сайте исходники и материалы своего проекта. Не обязательно грузить всё прямо на сайт прикрепелниями - скорее всего, Вам удобнее будет держать свои файлы на Гугл-Драйве, который их автоматически синхронизирует, или каком другом файловом хранилище. Главное - обеспечить членам сообщества доступ к Вашим наработкам, чтобы заинтересованные механоиды могли их изучить/оценить/использовать в своих проектах, или же помочь Вам с Вашим.
 

Если Вы желаете влиться в компанию, мы добавим Вас в группу Создатели, и в Вашем распоряжении будет до 1 ГБ дискового пространства на нашем хостинге (если Вам удобно хранить файлы прямо тут).

 

Мы с Archangel'ом админим этот сайт, я плачу за хостинг и аренду доменного имени. Так что сайт не удалят, об этом можно не беспокоиться. Archangel постарался сделать сайт максимально удобным для пользования, но если Вас что-то не устраивает или есть какие-либо пожелания, пишите сюда, всё можно настроить и поправить. С вопросами сюда или в чат (в чат писать могут и гости). Вот информационный раздел, тут общедоступные ресурсы, тут личные топики проектов.

 

Ждём новых участников!

 

P.S.: будем особо рады людям, имеющим опыт с движками Unity 3D или Unreal Engine! Хотя лично мне интереснее писать свой движок  :]