The Dark Mod

Автор V Raptor, 18 мая 2005 16:09:33

« назад - далее »

0 Пользователи и 2 гостей просматривают эту тему.

Zontik

Да, тот, что в голове.
Дайте глазам отдохнуть! Тёмное место

Soul_Tear

Цитата: Zontik от 07 февраля 2017 14:43:25
Вроде давно уже. Да что за вопросы вообще, можно подумать, тут целая армия пашет на Dark Mod.

Интрига нарастает. Ты про Чужого?


Цитировать
Мое невежество вполне может подождать еще. Пиарьтесь пока без меня.

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

Soul_Tear

Цитата: Zontik от 07 февраля 2017 15:21:31
Да, тот, что в голове.

Значит, я прав, консерватизм. Какая-то часть привычного эго умрет, если границы познания расширяться, чего оно допустить не может. Зачем куда-то двигаться, есть же эта банка консервная, нет смысла дальше нее вылазить. Здесь все известно и понятно, и пусть так и остается во веки веков. Логично и не придерешься.

Zontik

Soul_Tear, видишь, как все просто. И никаких интриг.
Я запускал Dark Mod, даже прошел несколько миссий. На этом вопрос для меня закрыт вплоть до часа Х. Хотя то, что делает Чужой, я запущу даже в том печальном случае, если для этого придется зарегистрироваться в Steam. Но сначала я все-таки поищу более адекватные способы.
Не удивляйся так уж сильно, я интересуюсь вопросом в меру возможностей. Хотя интерес к большинству новых игр обычно угасает на стадии изучения деталей. Но это уж не моя вина.
ЦитироватьЗначит, я прав, консерватизм.
Некоторые называют это верностью. Впрочем, сейчас XXI век, так что пускай лучше будет консерватизм.
Дайте глазам отдохнуть! Тёмное место

nemyax

Soul_Tear
У тебя у самого-то есть сейчас что-нибудь в работе для даркмода?
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

nemyax

Вот объясните, нахрена привязывать звук шагов к шатанию башки игрока?

else if ( ( !usercmd.forwardmove && !usercmd.rightmove ) || ( xyspeed <= MIN_BOB_SPEED ) ) {
// Play a footstep sound when we stop walking (the foot is lowered to the ground;
// also this prevents exploits)
if (bobCycle != 0) {
PlayFootStepSound();
}
// start at beginning of cycle again
bobCycle = 0;
bobFoot = 0;
bobfracsin = 0;
}

Это у них отакое в game/Player.cpp. Откровенно загадочное проектное решение.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Maxim

Soul_Tear Я понимаю тебя. Ты меня упоминал, но я всё-таки к таким не принадлежу. Нормально отношусь к Dark Mod, а в некоторой степени даже и с надеждой. Я обязательно попробую эту штуку и может даже вольюсь. Просто сейчас много внимания уделяется приоритетным вещам - создание для Thief II. Хорошо для Dark Mod'a творить получится тогда, когда и играешь в миссии для него. Так сказать, находишься на этой волне. Имеешь желание что-то сделать лучше или интереснее, чем другие, или просто иную историю рассказать, например. А сейчас не хочется переключаться на пол-пути, чтобы не возникало стилевых диссонансов.
Still they talk anyway
When there's nothing to say
There's so much said in empty words...

spy

ЦитироватьВот объясните, нахрена привязывать звук шагов к шатанию башки игрока?
Это у них еще с самых ранних версий.

nemyax

Цитата: spy от 07 февраля 2017 20:10:48
Это у них еще с самых ранних версий.
Значит молодцы? Неужели нельзя найти менее хачный способ отслеживать фазу движения?
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

spy

Цитата: nemyax от 07 февраля 2017 22:14:18
Значит молодцы? Неужели нельзя найти менее хачный способ отслеживать фазу движения?
Дело не в том, что молодцы или не молодцы. Может у них другие приоритеты. Дурацкую анимацию перса от 3го лица они тоже не поменяли, до сих пор. 

Zontik

Интересно, как это реализовано в Thief. Всегда думал, что элементарно связано с нажатием/отпусканием клавиши движения. Нажата - есть звук, отпущена - нет звука. Все не так просто, да?
Дайте глазам отдохнуть! Тёмное место

nemyax

Цитата: Zontik от 08 февраля 2017 10:05:39
Интересно, как это реализовано в Thief.
Вот так:
void cPlayerMovement::Update()
{
   if (!PlayerObjectExists())
      return;

   if (IsMovingTerrain(m_GroundObj))
      return;

   mxs_vector velocity;
   mxs_real   velocity_mag;

   PhysGetVelocity(PlayerObject(), &velocity);
   velocity_mag = mx_mag_vec(&velocity);

   float footstep_dist;
   if (velocity_mag < 5.0)
      footstep_dist = 2.5;
   else
   if (velocity_mag > 15.0)
      footstep_dist = 4.0;
   else
      footstep_dist = 2.5 + 3.0 * ((velocity_mag - 5.0) / 10.0);

   mxs_vector foot_loc;
   PhysGetSubModLocation(PlayerObject(), PLAYER_FOOT, &foot_loc);

   // Have we moved enough to step?
   mxs_real cur_dist_2 = mx_dist2_vec(&m_LastFootLoc, &foot_loc);

   if ((velocity_mag > 1.0) && ((m_LastFootTime < 0) || (cur_dist_2 > sq(footstep_dist))))
   {
      BOOL on_ground = PhysObjOnGround(PlayerObject());
      ePlayerMode mode = g_pPlayerMode->GetMode();

      // Update our last footfall location/time
      if ((mode != kPM_Jump) && ((mode != kPM_Stand) || on_ground))
      {
         m_LastFootLoc = foot_loc;
         m_LastFootTime = GetSimTime();
      }

      // Update head movement
      if (velocity_mag > 1.5)
      {
         BOOL do_stride = TRUE;

         // Stand must be on ground to do head-bob
         if ((g_pPlayerMode->GetMode() == kPM_Stand) ||
             (g_pPlayerMode->GetMode() == kPM_Crouch) ||
             (g_pPlayerMode->GetMode() == kPM_BodyCarry))
         {
            if (!PhysObjOnGround(PlayerObject()))
               do_stride = FALSE;
         }

         if (do_stride)
         {
            g_pPlayerMode->ActivateStrideMotion(!m_RightFootNext);

            // Switch which foot is next
            m_RightFootNext = !m_RightFootNext;

            if (m_volume>0)
            {
               int play_vol = m_SteppingBaseVol + (m_SteppingVolMul * velocity_mag);
               if (play_vol >= 0)
                  play_vol = -1;
               
               g_pPlayerMode->DoStrideSound(play_vol, foot_loc);
            }
         }
      }
   }

   // See if we're coming to a stop
   if (((GetSimTime() - m_LastFootTime) > 100) && (velocity_mag > 0.1) &&
       ((cur_dist_2 > sq(footstep_dist / 2.0)) || (velocity_mag < 1.5)))
   {
      g_pPlayerMode->ActivateRestMotion();
   }

   // Have we stopped moving?     
   if (velocity_mag < 1.0)
      m_LastFootTime = -1.0;
}

По-человечески секут таймером и измеряют расстояние. На этот же механизм завязано и мотыляние башкой.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Zontik

Интересно еще вот что: отсутствие звука шагов при крайне медленном перемещении получается отсюда автоматически (скорость < 1) или прописано где-то отдельно? Или это вообще чит?
Дайте глазам отдохнуть! Тёмное место

nemyax

Цитата: spy от 08 февраля 2017 04:17:03
Дело не в том, что молодцы или не молодцы.
Тут из преисподней подсказывают, что это ещё Кармак был такой молодец. Ну или кому он сбагрил писать код игрока.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Vorob

http://steamcommunity.com/sharedfiles/filedetails/?id=858048394

НАКОНЕЦ НАКОНЕЦ!!! Как же это они сподобились.