Pull to refresh
30
49
Антон @tntnkn

Не шалю, пишу статьи, починяю поломанное.

Send message

К слову, если правильно понял слова Антона, на их движке другие ребята даже что-то делают.

Тут, кстати, видимо эллемент считается входящим в ячейку, если его половина туда входит. Как, например, треугольник рендерится, если его какая-то часть входит в клипспейс.

Про getAllElems() , там нужно весь массив (или что там) скопировать, чтобы ссылка висячей стала. Мне кажется, это не то место, где это будет делаться.

Undefined Behavior Can Format Your Drive =)

Но шутки в сторону -- если Си задуман как язык небезопасный, то зачем лишний раз полагаться на случай?

Тысячестрочник -- круто!

Но под развесистым движком я имел в виду, скорее, готовые движки общего назначения.

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

И вам спасибо за комментарий! Рад, что понравилось.

Строго говоря, это не движок, а библиотека для графики и инпутов. Вдобавок, если нужно рисовать что-то тяжелое, она умеет доставать OpenGL функции.

А развесистых движков на чистом Си я тоже не знаю)

*Зануда включён* Строго говоря, в начале написано, что оно -- в конце, и что оно -- не большое ) *Зануда выключен*

Но, на самом деле, тут и возразить нечего -- сие есть авторский, то есть мой, первый опыт в интервью. Как буду уметь получать большие разговоры, то они тут сразу же и объявятся. Поэтому всяческим замечаниям буду только рад!

Получается, мозг игрока в прямом смысле думает, что его носитель катится кувырком из-за крутящегося окружения. Коридоры там ещё очень узкие, вероятно тоже сказывается на заметности движения окружения.

Натыкался на преинтереснейшую статью с разбором Фронтира (http://watsonmw.com/fintro/), но там автор сам дисассемблировал.

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

Приходите к нам работать, или на экскурсию, сами и посмотрите!)

Если правильно понимаю, то в те времена заместо чистого кода и архитектурных принципов в целом (в плюсах) пользовались методом Бутча (я понимаю, что QW не на плюсах написан).

Я бы так сказал -- мне, как человеку, который на момент релиза этого проекта писал разве что каракули на бумаге, приятно осознавать, что у меня сейчас есть энное количество методов сделать себе жизнь легче. В конце-концов, если в таком великом проекте есть, казалось бы, такие очевидные огрехи, то мне расслабляться точно нельзя =)

Вообще, геймдев -- зверь специфический. Раз заговорили о чистом коде -- можно найти некоторые мнения и против этой методологии. Думается, что если бы Кармак прятал код за тысячей интерфейсов, в кваку бы мы так и не поиграли =) Но это, как говорится, совсем другая история.

Я было хотел ложиться спать, но начальник заставил написать в комментариях, что никто меня статью писать не заставлял.

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

Я точно видел у Дяди Боба в книжке картинку с графиком затрат на поимку одного и того же условного бага на разных стадиях софта. Утверждается, что поимка до релиза много дешевле, чем после. Если есть возможность встроить какие-то тулзы в общий цикл разработки приложения (не обязательно даже статический анализ и, строго говоря, не обязательно наш), то шансы не допустить указанные Вами случаи увеличиваются кратно и трудозатраты на это, наоборот, снижаются.

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

ЗЫ -- комментарий не является медицинской рекомендацией, последствия для здоровья неизвестны.

Так, ну длинна массива -- 2048 байт, стало быть максимально валидное в этом случае значение, возвращаемое strlen-- 2047 (без учёта нуль терминатора в конце Си-строки). Стало быть, оператор >= выглядит логичнее, так как 2048 -- некорректная длинна строки. Другое дело, что навряд бы это могло исправить сложившуюся ситуацию.

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

Остаётся с Вами только согласиться, но, кстати, не факт, что она тогда у них была. Первый Квейк вышел в 96ом, а как минимум этот ман указывает на то, что strnlen был описан только в POSIX.1-2008, в то время как более прямолинейная её сестра имеет больший послужной список -- POSIX.1-2001, C89, SVr4, 4.3BSD.

После прочтения неминуемо вспомнился анекдот про двух сумасшедших.

Анекдот

Двое сумасшедших решили сбежать из дурдома. Забрались на крышу. Один перепрыгнул на крышу соседнего здания, а второй затрусил. Тогда первый предложил: давай я посвечу фонариком, а ты по световому лучу перейдешь ко мне. На что второй ответил: «Думаешь, я псих?! Как только я пройду половину пути, ты выключишь фонарик!»

Вообще, молодцы ребята -- ещё из ЗБТ не вышли, а уже код выложили! Видно, что проект на века делают =)

Information

Rating
129-th
Location
Россия
Date of birth
Registered
Activity

Specialization

Software Developer, Application Developer
C++
English
Linux
C
Python