Ответы пользователя по тегу Разработка игр
  • Написание эмулятора сервера с нуля возможно?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Насколько реально для одного человека имея клиент Lineage 2 написать эмулятор сервера с нуля, не заглядывая в код pts и java версии сервера, а так же не анализируя входящий трафик с работающих серверов?

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

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

    Кроме того, сколько лет вы готовы потратить на это мероприятие? Я думаю что вы будете достойны либо премии Дарвина. Либо книги рекордов посмертно.

    Мне кажется что в нашей жизни есть более интересные и более оплачиваемые виды досуга. Если вам нравится реверс - займитесь им там где за это точно заплатят. Государства и спецслужбы и большие корпорации в этом имеют свой интерес.
    Ответ написан
    Комментировать
  • Можно ли обучить бота повторять действия в игре?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если речь идет о computer vision - то да. Скорее всего можно. Но мне жаль ваш талант. Если вы действительно создатите такого бота который обучается по картинке то вас можно нанимать на работу и платить столько денег что дешевая прокачка Эльфа в какой нибудь MMORGPG вам станет просто не нужна. Сможете купить все.
    Ответ написан
    Комментировать
  • Как получить понимание разработки игры?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Из сбивчивых жалоб и стенаний автора можно только то что нет опыта и есть признаки выгорания от учёбы. У меня тоже такое было. Я выгорал. И самое лучшее в этот момент - бросить самообучение и заняться другим делом за которое платят и которое вполне осязаемо. Самая большая беда новичка - это амбиции. Это желание сразу сходу делать своё где есть все фичи в мире и можно грабить корованы и прочее. Это ошибка. Ошибка которая как раз приводит к выгоранию. Лучше написать морской бой в браузере который работает чем писать 3д шутер 10 лет и потом выкинуть его на свалку просто потому что он морально устарел. Одиночки вообще никакой игры не могут написать. Игра сегодня - это как съемки сериала. Требует слишком много разных знаний из разных областей и 1 чел никогда все не охватит.

    По поводу мотивации и геймдева. Лучше всего наверное влиться в команду которая уже делает игры. Влиться самым младшим подмастерьем и хотя-бы пол-годика поработать и понаблюдать как идет процесс разработки. Да. Надо будет приглушить амбиции. Но ничего не поделать. Я думаю что это единственный верный путь где не будет выгорания. Эмоциональный контакт с командой очень важен.
    Ответ написан
    Комментировать
  • Как поставляются игры на компьютеры?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Когда я играл в игры - они продавались на местных радио-рынках в CD-дисках.

    Сейчас в основном их ставят из онлайн сервисов типа Steam. Сомнительно чтобы хоть кто-то из них давал сорцы. Более того. Мой знакомый гейм-девелопер говорит что есть процесс очистки бинарника от всех отладночных и прочих данных. (Они Unreal Engine используют). Вобщем из кода выметается все что похоже на исходник. И из ресурсов (текстуры, звуки, 3d геометрия тоже выкидывают вообще все что помогает реверс-инжинерингу). И эти очищенные файлы упаковываются в ресурсный файл. Шифруются и поставляются как релиз игры.

    Как читы пишут я не знаю. Ты приведи в качестве примера что чит может делать и может быть кто-то даст ответ.
    Ответ написан
    1 комментарий
  • Game dev/mobile в России. Как стать разработчиком?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Не знаю насчет россии. Но я-бы шел сразу в корпорацию. Любой ценой. На позицию подмастерья. Менти. Или самого младшего джуна. Через пол-года резюме улучшается и уже можно быть твердым джуном. И подыскивать новое место. Зарабатывать одному - утопия. Нужно быть адски продуктивным чтобы покрыть риски этого нестабильного рынка работ. Тоесть фактически работать 2х или 3х больше чтобы кушать. Нужно очень много коммуницировать с опытными. Звучит неприяно - но надо им ездить по ушам. Сначала вас буду гнать и ругать. Но это не имеет значения. Запоминайте все. Каждое слово старшего в команде разработки во много раз ценнее форумов или онлайн тренингов. Тренинги - это седьмая вода на киселе. Они продают не то что вам надо. А то что надо - только в той корпорации где вы сидите. Я-бы отдал больше денег за 1 час беседы с экспертов чем за 30 дней каких-то курсов. Курсы вообще редко дают то что нужно. Они уже давно стали просто индустрией заработка.

    Готовые проекты выкладывайте в публичный доступ. В них пока нет никакой ценности. Не бойтесь что украдут. Современный опенсорц - это кладбище ненужного никому кода. Код вообще не важен. А важна всегда идея + человек который ее знает и может развивать.
    Ответ написан
    Комментировать
  • Что нужно знать для создания платформера или изометрической бродилки?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Для рисования изометрических игр без 3Д - нужно знать пиксельную графику. Тоесть уметь ее для начала создавать. И создавать так чтобы она имела художественную ценность. Туториалов по этому делу - миллион. Далее - определиться где эта игра должна работать. Варианты платформ - windows32 (да и такое есть), браузер/Unity, Android. Ну и дальше по результатам выбора искать API и библиотеки . Легче всего начать с походовой стратегии. Там где нет фактора реального времени. Можно поискать в github готовые реализации изометрических игр и просто посмотреть их стек технологий. Это будет видно по imports, includes и по сборочным скриптам. Если за день просмотришь хотя-бы штук 20 таких проектов то уже примерно будешь себе представлять хотя-бы что они используют.
    Ответ написан
    2 комментария
  • Существуют ли игровые движки работающие с CSS анимацией, а не рисующие на Canvas?

    mayton2019
    @mayton2019
    Bigdata Engineer
    У каждой вещи есть своё предназначение. Например у JavaScript - делать браузерные игры. У заднего прохода - делать дефекацию организма. Но находятся иногда мужчины которые находят анусу необычное применение.
    Ответ написан
    Комментировать
  • Можно ли без высшего образования работать в Геймдеве?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Геймдев наверное разный бывает. Если это карточные игры, ставки на спорт или квесты с эротикой - то там достаточно базового образования. Главное чтоб деньги считать умел. Технологии - формошлёпство. Их осваивают люди с Индии у которых очень спорное образование. Ну там... точно матана не было.
    Ответ написан
  • Большая ли разница между написанием на UNITY или чистом С++ C#?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Основное энергопотребление для игр занимает рендеринг графики. Поэтому для игры будет по большему счету безразлично вызываете вы графичесекий API из С++ или из C#. Исключение пожалуй составят игры со сложным AI где именно важен основной CPU. Но в играх типа Марио нету никакого сложного AI поэтому можете игнорить это исключение.

    C# более прозрачный для понимания язык свободный от UB и поэтому если вы планируете в будущем развивать и доделывать софт - то лучше всего этот софт делать на современном и однозначном языке. Для бизнеса это полезно. Всегда найдете другого разработчика который легко разберется в вашем коде и пофиксит все что надо.
    Ответ написан
    Комментировать
  • Как заставить ботов убегать от преследователей?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Проблема кроется в самой постановке. Боту недостаточно убегать от красных. Ему надо заранее прокладывать траекторию так чтобы при равных скоростях они оба бегали бесконечно. Я так понимаю что это будет успех.

    Все прочие алгоритмы при равных скоростях тяготеют к тому что зеленый будет становится все ближе и ближе. Ему ведь надо тыкаться в углы. А все известные машинные алгоритмы ближнего действия требуют ощупывания или осязания тупиков и углов. При таком раскладе зеленый будет пойман. Или надо давать ему фору в скорости.
    Ответ написан
  • Как сделать так чтобы игра показывала только вертикальные стены?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вот ты чудак. Ты говоришь - я пишу рейкастинг. И код - кривой. Так либо ты не делай кривой. Либо скажи честно что скопировал в таком-то и таком-то интернет ресурсе.

    Это наверное поможет вопроснику разобраться где там нужная функция.
    Ответ написан
    Комментировать
  • Как сделать генерацию 2D мира на лету?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Первая мысль - профилирование кода. Что там медленно работает. Возможно это 1 цикл. Ну тоесть без этой информации мы не доисследовали проблему до конца. А это - непрофессионально. Надо изучить.

    Второе - это "разделяй и властвуй". Карту надо резать на tiles. И рендерить только необходимое на данный момент.
    Ответ написан
  • Как сделать сервер для собственной игры?

    mayton2019
    @mayton2019
    Bigdata Engineer
    На данном этапе (полностью отсутствуют требования) ты можешь брать любой сервер. Tomcat. Jetty. Но я слышал что игроделы для hi-load используют Netty. Хотя он не такой удобный.
    Ответ написан
    Комментировать
  • Какой сервис использовать для ведения анкет персонажей разрабатываемой RPG?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тут нужны не документы и рисовалка, а графовая БД, наподобие Neo4j.
    Ответ написан
    Комментировать
  • TCP - как лучше передавать данные?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Лучше всего простой текстовый протокол.

    json при данной постановке - вторичен. Когда будет написана основная игровая логика то перейти на json будет не сложно.
    Ответ написан
    Комментировать
  • На чем отрендерить симуляцию с увеличивающимся количеством объектов?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Почитайте про Web-assembly. По идее эта технология позволяет просто запускать очень быстрый код в среде браузера. Насчет языков я не скажу.
    Ответ написан
    Комментировать
  • Возможна ли компьютерная игра на основе панорамного фото?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Да почти все квесты построены на переходах от одной статичной картинки к другой.
    Ответ написан
  • Как сделать реакцию на вызов метода у объекта?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Эта тема не про иерархию и ООП.

    А про алгоритмы и структуры данных. На их языке вопрос должен звучать так.

    - Дано дерево объектов {Car}/{Box}/{Bomb}
    - И при возникновении события в листовом уровне дерева - должна удаляться вся цепочка Parents вплоть до уровня Car.
    Ответ написан
    Комментировать
  • Как разработчики игр и софта оптимизируют свои игры и программы под определённое железо?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я полагаю так. Нужно оринтироваться на массовое железо. Если ты купил себе топовое - на нем затестил. То не факт что игра будет хорошо принята игровым сообществом. В своё время создатели Doom-3 не могли сделать релиз. Они ждали пока железо достигнет какого-то уровня

    Тоесть - разработчик должен сначала представить себе целевую аудиторию. Кто это? Детишки со смартфонами. У них - на 80% будет один набор фич. Бюджетнички такие себе. Насколько мама с папой им купили телефон - настолько они и поиграют. Это один сегмент.

    Другое. Олд-геймеры. Мусчины. Которые прилично зарабатывают. И сидят вечерами спокойно в Steam и покупают то что хотят. У них будет железо топовое плюс минус 1-3 года оставания.

    Третье. Офисные клерки. Они сидят на типовых HP/Intel железках. Тоже сегмент.

    Вобщем игра должна быть шпионом который собирает профиль конфигурации и рапортует девелоперу на сайт чтоб собрать сведенья по рынку железа и далее - сегментировать его.
    Ответ написан
    Комментировать
  • Как реализовать движок звуковых игр?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Это было создано более 15 лет назад CreativeLabs. У них есть технология EAX. И к ней есть доступ через Microsoft Direct Sound 3D. Я играл еще в старые версии Half-Life и я помню этот пугающий трехмерный звук. После перехода от старой железки SoundBlaster 16 bit на Creative - разница конечно чудовищная. Молодым - не понять.

    По поводу Питонов и прочих линуксов. С этим конечно тухляк - т.к целевая аудитория почти нулевая. Но погугли по ключевому слову OpenAL. Это по идее тоже должно иметь интерфейс доступа к железу EAX но насколько там хорошо и полно воплощены фичи - ХЗ.
    Ответ написан
    Комментировать