Sergei Kushnirenko @dalerank
Люблю (ш)кодить, алгоритмы и старые авто.
Information
- Rating
- 162-nd
- Location
- Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity
Specialization
Software Developer, Game Developer
Senior
From 300,000 ₽
Git
C++
Multiple thread
Applied math
OOP
Это называется behavior base design, очень мало игр для такого подходят, и его очень сложно сделать нормально. Навскидку Deus Ex, который собственно и был его родоначальником, еще могу привести пример Jagged Alliance и Thief/Dishonored
ну вы просто не впихнете вычисленя "реальной" воды в игру, иначе фпс будет 1, а то и ноль
От игры я в первую очередь жду, чтобы она меня удивляла. Но постоянно выдерживать такой темп удается очень и очень немногим играм, последнее, что было таким запоминающимся - Horizon Forbidden West, и хотя я играл в первую часть, но эта часть смогла удивлять на все протяжении сюжета
Задачи сделать сложный адаптивный ИИ нет, это скорее ниша инди
А вот сделать красиво и рассказать интересную историю, чтобы об этом писали все игровые журналы, это да. Немезис сильно переоцен, там нет обучения и памяти, та механика которую упомянули сделана на профилях врагов, а враги часто спавнятся рандомом, в общем все как мы любим. Но это было подано красиво и с рекламой, а люди верят и срабатывает эффект плацебо - это не моб вас нашел, просто вы зашли на локацию и он там заспавнился недалеко.
Сам не знаю, просто пишу истории из личного опыта, они как-то сами складываются. Ну эта вы поняли наверно про каких белкобобров. Мне вот не нравятся картинки от нейросетки, но это личные тараканы
Си пережил все что можно, и всех кого мог, практически не поменяв синтаксис, не идеалиен ли этот язык? Ну указатели, ну стрельба по ногам, зато возможность сделать все что пожелаешь на каком угодно устройстве с нуля, без фреймворков, без IDE, без гаданий почему переменная ушла в GC, максимально близко к асму, просто набрав код в консоли и собрав его, опять же, из консоли. У меня создалось впечатление, что автор покопал один язык, не понравилось, второй - тоже не понравилось, третий, четвертый... Не достигнув плато Майерса, не увидишь насколько хорошо ты знаешь язык
В принципе оно так и есть, у меня сейчас машина 13900к/64гб/4070, и она не то чтобы хорошо тянет редактор, но учтите что в редакторе на два порядка больше объектов чем в игре
Белка бобру - не товарищ ;(
ну так в стектрейсе или дампе это было бы видно сразу, но их не дают. Пришлось им ехать в командировку и проверять это на месте. С другой стороны некоторые ос приучили что памяти не может не быть, как быть в таком случае. Вот совсем свежий пример, xbox - памяти физически нет (ну так может 10-15кб осталось, это мы уже тестами репро такое накрутили), малок вернул чтото, и только при попытке записать туда получаем краш, а это получалось через несколько фреймов только. И был гейзенбаг, потому что в 99% случаев ОС успевала чтото освободить и запись не крашилась
Эту байку ещё в английском варианте я знаю года эдак с 2002 ;) люди и сюжеты не меняются
https://dawood.in/if-carpenters-were-hired-like-programmers/
Agile: зеленый
Scrum: синий
Lean: белый
RAD: красный
Это нужно от силы паре процентов игроков, остальным нужен интересная и ненапряжная история
Все совпадения абсолютно неслучайны
Ага, когда игрок заходит в локацию, то патроны и гранаты раздаются исходя из состояния игрока. Так уже давно во многих играх, потому проще балансить врагов. А если раздавать заранее, то к приходу игрока может произойти непонятное
Какой-то у вас неправильный яндекс, лично знаком с пятью ребятами из разных команд, и с одним из побывших там работаю сейчас. Про разное общались, но такого не всплывало
Справедливо, но лучше в личку ;)
не угадали, хотел подвести к мысли что с самых первых игр были багофичи
справедливо
Memory arena\Segregate storage - это один из широко известных принципов управления памятью, в этом случае выделяется один большой блок памяти фиксированного размера кратный размеру элемента помноженному на степень двойки, используется для выделения памяти для объектов. Такой подход позволяет эффективно управлять памятью, уменьшая фрагментацию и повышая производительность за счёт уменьшения накладных расходов на управление. Обычно количество юнитов\монстров\нпс не превышает 32\64\128\xxx, поэтому нет необходимости динамически выделять её в процессе игры, на старте уровня выделяется нужный объем в котором потом выполняются все операции
сами движки чтобы писали на чистом С, такого встречал мало, самого кода на С хватает с головой, либы, отдельные подсистемы, но там скорее С++ без классов, просто так удобнее кодовую базу держать