Войти
РазработчикиФорум

Ищу наставника! (4 стр)

Страницы: 1 2 3 4 5 Следующая »
#45
0:56, 11 янв. 2015

вы чайники... нормально вам Odin_KG пишет... а вы сами себя кипятком поливаете...


#46
4:59, 11 янв. 2015

В общем есть только два типа людей

#47
7:24, 11 янв. 2015

Sh.Tac.
> программасты это такие недоучёные, схожесть им придаёт умение проводить
> декомпозицию предметной области, кто бы что ни говорил про алгоритмы и проч.
> сопутствующую атрибутику
О как круто, оказывается я почти ученый! Надо изобрести какую-нибудь мегахрень :)

равен
> В общем есть только два типа людей
Программисты и низшие существа :)

#48
15:44, 11 янв. 2015

Sh.Tac.
Боюсь даже до НедоУчёных тут как до луны.
Программист - это инженер. Кто-то даже изобретатель.

#49
15:46, 11 янв. 2015

программист как-то слишком по-прикладному звучит. Плохо. Алгоритмы, например, математики разрабатывают. Математик - что-то возвышенное и правильное. Ничего не поделаешь.

#50
18:05, 11 янв. 2015

маразм крепчает... )))...

#51
19:56, 11 янв. 2015

igo, ты погоди, мы почти дошли до идеи, что программисты - высшие существа, особенно программисты С++ :)

#52
23:40, 11 янв. 2015

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

#53
0:08, 12 янв. 2015

static_cast
> Алгоритмы, например, математики разрабатывают.
Это всеобщее заблуждение. В основном при программировании применяется математика на уровне начальной школы, т.е. плюс/минус и умножить/разделить . Есть, конечно, задачи, которые требуют знания какого-то конкретного раздела математики, например, то же самое 3D, но это отдельная специфическая область. А для 2D-игры математика нужна очень ограниченно. К примеру, моя RTS, которую я в посте #25 показал, математику использует по минимуму - насколько я помню, от математики там только "формула прямой, проходящей через 2 точки". И это ВСЁ на такой огромный проект. По-моему, там даже sin/cos нет. Т.е. там чисто логика и почти 0 математики.
Даже существует такая версия, что самые плохие программисты получаются как раз из математиков. Не знаю, насколько это правда, но, на мой взгляд, при доказательстве теорем применяются совсем другие принципы. Ну, и, видимо, в программировании они не работают, а у математиков мозги уже привыкли к теоремам и переделать их сложно.


AntonioModer
> "Умение решать задачи"?
> Что это?
> Впервые слышу?
Ну, плохо твоё дело.
Я нашел тут свой старый пост, где я кому-то объяснял про сетевую игру в RTS. Максимум, что я могу для тебя сделать - это его сюда скопировать. К слову говоря, подобные задачи относятся мною к категории СУПЕР СЛОЖНЫЕ, и решение подобных проблем встречается не так уж часто, но это как раз и есть "Умение решать задачи", о котором я говорю. Буду сильно признателен, если на этот раз ты прочитаешь то, что я пишу более внимательно, чем в прошлый раз.

>На мой взгляд, самая большая проблема в сетевой игре в RTS - это мелкие ошибки, которые могут приводить к рассинхронизации сети. Короче говоря, если у тебя какой-нибудь компьютер начал выполнять что-то чуть-чуть не совсем то, что остальные, то у тебя очень скоро на компьютерах будут происходить совершенно разные вещи. Ужас ситуации в том, что ты этот момент расхождения никак засечь не можешь, а вместо этого получишь вылетание программы на одном из компьютеров. Но... это может произойти минуты через 2 после того, как ошибка произошла в реальности. Короче говоря, сложнее ошибок вроде бы на свете нет. Поиск таких багов происходит разве что методом "внезапного озарения", но никак ни через логику. Чтобы хоть как-то воспроизводить эти ошибки в RTS появился так называемый реплэй, т.е. мультик, записанный с игры - его, естественно, превратили в фичу для игрока (типа можно просмотреть свою игру), но на деле его основная задача - это хоть как-то попытаться повторить ошибку в сетевой игре. На деле это помогает мало, но иногда-таки помогает.
>Чтобы обнаружить рассинхронизацию сети как можно быстрее, а не через пару минут, можно вместе с командами передавать по сети, например, сумму случайных чисел, которые были выработаны на компьютере с момента прошлой передачи сетевых команд. Так как случайные числа обычно вырабатываются в подобных играх постоянно, то несоответствие в происходящем сразу же будет выявлено по этим случайным числам. Однако это опять же не показывает то место, где произошла проблема.

>Приведу пример ошибки, о которой я говорил. На карте загорелось дерево и количество древесины в нем уменьшается по общему счетчику (когда древесины становится 0, то дерево исчезает с карты). Счетчик при запуске игры сброшен в 0, но каждый такт он увеличивается на 1, например, до 10-и, и когда достигает 10-и снова сбрасывается в 0, а из всех горящих деревьев вычитается одна древесина. Но в программе допущена ошибка - счетчик не сбрасывается в 0 в момент запуска сетевой игры. Что мы получаем... в первый раз игроки будут играть вполне нормально, так как при старте программы у всех в счетчик записался 0, но... допустим игра закончена и создана повторная сетевая игра. И тут окажется, что этот счетчик имеет разные значения на разных компьютерах, потому что они не могут одновременно завершить игру (кто-то отсоединился раньше, а кто-то позже, а счетчик исправно отсчитывал такты). При повторном запуске сетевой игры, практически, на разных компьютерах дерево "догорит" в разное время, что приведет как минимум к тому, что юниты построят разные пути при движении к цели - на одном компьютере дерево уже отсутствует, а на другом его нужно обойти. Всё, приехали... через пару минут будет полный крах игры. Запускаем записанный реплей, чтобы понять причину, но... теперь всё работает исправно (никакого расхождения в реплэе не будет - а в нем нужно тоже контролировать через сохраненные суммы случайных чисел), так как при старте программы счетчик успешно инициализировался нулем. Дальше можно начинать молиться.
>В реальности подобных ошибок может быть несколько (и в случае со сложным проектом этого не избежать), что будет приводить к тому, что сеть будет "разваливаться" через 10-15 минут игры.

#54
0:19, 12 янв. 2015

Odin_KG
> В основном при программировании применяется математика на уровне начальной школы
и да, и нет : )
нужно шарить в битовых представлениях чисел, тогда возможны подобные фокусы
(легендарный id'шый fast inverse square root):

+ Показать
#55
2:28, 12 янв. 2015

Вий
> разработан математиком
канешн, Chris Lomont, кто ещё будет подобную хрень от нечего делать городить? : )

З.Ы. и ещо гугл подсказывает mathematician Chris Lomont of Purdue University

З.З.Ы. можно ещо автора STL вспомнить, Степанов - законченный математик, и соратники тоже

#56
6:21, 12 янв. 2015

Odin_KG
> static_cast
> > Алгоритмы, например, математики разрабатывают.


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

Можно, конечно, одних и тех же результатов добиваться разными способами, но там где ты нагородишь 1000 if, математик решит задачу одной строчкой. Проблема в том, что человек не может знать всё и мир несовершенен :)))

#57
12:34, 12 янв. 2015

чем дальше в лес, тем... толще стволы...

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

а аналитика - это не алгоритмы, это просто математика...

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

#58
13:18, 12 янв. 2015

Вий
> Есть понятие "Теория алгоритмов"
> И относится оно не к математике, а к информатике.

вообще то... да... )))...

алгоритмы появляются там, где есть "если"... ну вот в математике - оно есть в приближенных... ну где ещё? я, например, не в курсе...

#59
13:33, 12 янв. 2015

KVADRO
> http://www.gamedev.ru/projects/forum/?id=196756#m6
> Дежавю...

нет, вот ближе
http://www.gamedev.ru/flame/forum/?id=141833&page=4
Ищу учителя

Страницы: 1 2 3 4 5 Следующая »
РазработчикиФорум

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