Как стать автором
Обновить

Пятеро в танке: зачем фронтендерам в 2023 году делать игру из 90-х

Время на прочтение13 мин
Количество просмотров9.7K
Всего голосов 16: ↑13 и ↓3+11
Комментарии37

Комментарии 37

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

Три порядка? У Денди 1.8 мегагерца и 2 Кб памяти. У слабого первого ифона было 620 мегагерц, и 128 мегабайт оперативки. Тут не три порядка а явно больше...

Плюс-минус. По частоте - 2,5 порядка, по памяти - 4,8.

5 незнакомых людей за три месяца запилили ремейк культовой игры 90-х «Танчики»

Почему-то представилось, как лица ближнего зарубежья впятером таки избили одного гражданина и очень этим гордятся )))

Ну а если без стеба - молодцы, сделали, довели до конца.

Ну какие 90е? Игра Battle City 85 года выпуска. Просто у нас в неё массово играли в 90х. Но сама то игра старше. По ней даже чувствуется, что это технологический уровень 80х, все же игры в 90х гигантский скачек вперёд сделали.

Код лился рекой: за три месяца закрыли 104 Pull Request и написали 21 тысячу строк кода.

Интересный факт оригинальная игра занимает 24 килобайта, вместе с графикой и уровнями. Что даёт 24576 символов. Если отбросить графику то код игры меньше 16 килобайт. Тоесть 16384 символов, что уже меньше чем СТРОК в которые уложились авторы.
Вот жалко неизвестно сколько времени было потрачено тремя авторами оригинальной игры на рахработку.


PS. Не хочу принизить разработку автора статьи и их команды. Просто интересно наблюдать, сколько ресурсов тратится на то чтобы повторить то, что когда-то работало на 2х мегагерцах с 2 килобайтами памяти.

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

А их приложение работает в браузере, что уже нетривиально, так ещё и кучу разных типов браузеров должно поддерживать. Ещё у них мобильное приложение и форум. И там современная архитектура, ради которой приходится жертвовать краткостью кода.

Через 40 лет их приложение будет таким же лютым говнокода с антипатернами и костылями.


так ещё и кучу разных типов браузеров должно

Я лет 10 не смотрел в сторону браузеров, но вроде как сейчас есть движок фокса, и движок хрома. Итого вроде два.


И там современная архитектура, ради которой приходится жертвовать краткостью кода.

Об этом и речь, причем можно даже прикинуть насколько современная архитектура жрет ресурсов ради получения результат который раньше можно было уложить в 16 килобайт. Жалко вот неизвестно сколько времени было затрачено на разработку оригинальной игры. Известно только что делали 3 программиста. А то можно былобы прикинуть насколько затянутей стала разработка в современной архитектуре, с совсременными инструментами.

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

Позволю себе не согласится. Не знаю конкретно насчет танков, но писал достаточно много игр на ассемблере для ZX Spectrum. Намного больше этой. И знаете, там был далеко не говнокод. Да, глобальные переменные, но все четко структурировано, вполне предсказуемо и даже отлаживаемо. При крайне ограниченных ресурсах. Многим современным писателям и не снилось такое. Если что, сейчас занимаюсь разработкой сложного спец. софта для аналитического оборудования, могу оценить умения современных разработчиков. Часто просто страшно смотреть.

P.S. Пример одной из игр. https://www.youtube.com/watch?v=EWBqVuqhPGc

Прошу прощения, вы видели код ?
Ни какой архитектуры нет до сих пор. Нельзя написать вменяемый продукт не нарушая современные, якобы, архитектуры.
И как по вашему выглядит goto на 6502 ?

Статья интересная

P.S. Но как рекламная интеграция..

Хорошая попытка, яндекс практикум, но нет

В 2020 интереса ради тыкал курс по Frontend разработке в Я.П.

Та ещё шляпа

Возможно, сейчас с качеством курса получше стало, но на момент 2020 года это была лютая дичь, а не курсы

Привет! Спасибо за то, что похвалили статью! Всегда приятно получать позитивную обратную связь.

По поводу программы: Яндекс Практикум регулярно обновляет учебные программы, чтобы студенты получали те навыки, которые востребованы рынком. И курс по мидл фронтенду не стал исключением)

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

В комментариях одни мерзкие токсики. Люди сделали офигенный законченный проект в рамках курса, а вы тут ноете, что они долго делали старую игру. Обучение - это значит ты проект совмещаешь с работой, изучением теории, личной жизнью и это офигеть как сложно. При всём при этом ребята переходят планку с джуна на мидла, то есть по факту законченный продукт сделали джуны-фронты, которые сами никогда не организовывали процессы, не дизайнили макеты, не были аналитиками и даже о многих технологиях фронтенда-бэкенда узнали впервые именно на курсе.

Вас почитаешь - так все сразу родились гуру-прогерами и никогда сложных багов не делали и продукты писали за 1 неделю. Если это так, то где ваши-то статьи по вашим многомиллионным офигенным продуктам? Накидайте ссылки плиз - интересно глянуть. Да даже если вы и супер-гуру, то вы мерзкий токсик-гуру и мне жаль ваших коллег :-)

Спасибо. Вы абсолютно правы :) Времени реально много занимало, но об этом предупреждали изначально, не было сюрпризом, к тому же, было интересно и команда суперская собралась.

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

Как же без дедовщины, тем более это рекламная статья. Ну а если по существу - трое сделали бы быстрее, пятеро - это уже балаган для такого проекта (тем более имело место клонирование, а не создание нового).

Возможно, вы правы.

Можете показать свой идеальный проект, очень интересно посмотреть, перенять опыт. Судя по комментарий - вижу, что вы профи

Можете показать свой идеальный проект, очень интересно посмотреть, перенять опыт.

Можно я похвастаюсь немного? :) Это, конечно, не браузерные игры и SOLID там и не ночевал, но оно у меня достаточно шустро работало лет 15-20 назад. И писалось в одну рожу тоже весьма быстро и без особых проблем.



Прям идеальный, из тех что делал единолично, разве что пожалуй это эмулятор приставки 3DO (100% совместимость со всей игротекой). Я видео не делал, но вот нашел чужие.

Спорить с Вами конечно же не имеет никакого смысла. Приводишь вам аргументы, а вы игнорируете их и свои "факты" фигачите без аргументов. Из вас скорей всего получится плохой руководитель.

Это конечно рекламная статья, но ребята, которые делали проект - не работают в Яндексе. Они обычные ученики, которые оплатили курс и фигачили несколько месяцев проект на энтузиазме и ради опыта. И такими комментами вы именно их обижаете, а не ЯндексПрактикум.

"Балаган" из 5 человек тут вполне обоснован целью научить ребят налаживать коммуникацию и процессы между собой.

Зачем вам обесценивать чужой труд? У Вас какая цель? Показать свою профессиональность за счёт унижения других? Окей, но в этом случае вы проседаете по софтам. Вы не толерантны.

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

Я видала вполне себе профессиональные игры типа казино - довольно простые по механике. И делали их не 5 человек, а целые студии с командами всех мастей и в команде по 3 дизайнера + аналитики + тестировщики + фронтов штук 5 и один-два бэка. В том казино механика была чистый копипаст, но зато макеты все свои. Всё зависит от целей проекта, планки качества кода, уровня разрабов и временных ресурсов.

В проекте танчиков, о котором говорится в статье - уровень команды джун+(премидл) в лучшем случае, время на разработку игры тратится вне работы, учёбы и личной жизни (попробуйте так совмещать - сильно устанете). Ну и конечно же есть тьма ограничений от Яндекс практикума в рамках зачётов, под которые нужно подстраиваться. Тут нельзя просто прикрутить библиотечку, какую вам захотелось.

Сравнивать со старой игрой не имеет смысла - стек разный, цели разные, предыстория разная. То есть это вообще объективно несравнимые вещи)

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

Из вас скорей всего получится плохой руководитель.

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

Вы не толерантны.

Однозначно. Я люблю игры, играл в танчики, эмулировал танчики, поэтому не могу быть беспристрастным.

Я видала вполне себе профессиональные игры типа казино - довольно
простые по механике. И делали их не 5 человек, а целые студии с
командами всех мастей и в команде по 3 дизайнера + аналитики +
тестировщики + фронтов штук 5 и один-два бэка.

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

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

Поверьте пробовал и пробую и буду пробовать - усталость говорите? Тут сразу вспомнился диалог из "Сезона Туманов":

  • Разве ты не устал от борьбы, от каменистых дорог

  • Нет.

  • Как странно, ведь многие так ценят покой...                                             E.

Спасибо за подробный ответ, но "не спасибо" за сексизм, эгоцентризм и дедовщину :-(

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

Вообще "Говорить правду" это скорее не про объективную правду, а про толерантность. Одного человека ваша "правда" подстегнёт к улучшениям, а другого выбьет из колеи и он наделает ещё больше ошибок

В любом случае такие как Вы чаще отрезвляют людей, чем топят. Просто аргументируйте пожалуйста своё недовольство подробней, как сделали после моего сообщения. Ещё раз спасибо за разъяснения и ссылки :-)

Спасибо за подробный ответ, но "не спасибо" за сексизм, эгоцентризм и дедовщину :-(

Это вы сами начали:

В комментариях одни мерзкие токсики.

Мой коммент был просто "в космос", без ответа на чей-то конкретный. Вы сами решили себе его присвоить. Как раз Ваш первый коммент довольно неитральный был и частично хвалебный, не токсичный, правдивый. Но если вы решили, что это именно Вы токсичите, то что-то в том комменте похоже не чисто было... На воре шапка горит.

Но именно после сексисткого "обесценивание - это слово женское" прям мерзко стало Х) вроде крутой прогер - признанно крутой скорей всего. Но откуда такое желание уколоть - не ясно. То ли свербит неудовлетворённость собой, то ли что, я не смею судить, я не ваш психолог. Мы же даже не в одной команде работаем и врятли когда-то где-то пересечёмся, так как стеки разные и сферы тоже разные, как я поняла из ваших работ.

Мой комментарий - это эмоциональное недовольство от общего впечатления от комментаторов в этом треде. Я новичёк и я за хорошее или неитральное общение без оскорблений, дедовщины, сексизма и подобной чуши от которой легко отказаться. Редко я где-либо высказываюсь, уж простите, что вам именно здесь довелось это читать.

Мой комментарий - это эмоциональное недовольство от общего впечатления от комментаторов в этом треде.


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

То ли свербит неудовлетворённость собой, то ли что, я не смею судить, я не ваш психолог.

Мне не нужен психолог, а вам не помешает.

В комментариях одни мерзкие токсики.

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

Эм, ясно всё с Вами. Если вы до сих пор в треде и отвечаете мне - значит задела вас за живое. Подышите глубоко и успокойтесь. И спасибо за оскорбления, это не меня ранит, а делает Вас ещё более мерзким человеком, несмотря на то, что вы, вероятно, хороший специалист. Одно другому не мешает)

Для вас - комментарии не были агрессивными, для меня были - это нормально, так как люди мы разные и по-разному привыкли общаться.

Не надо своё понимание моего сообщения присваивать к всему сообществу. Вы - не глас сообщества, сообщество на то и сообщество, чтобы мнений было много и разных. Конкретно до вас дошло неверное понимание сообщения. Я разъяснять его Вам подробно не особо хочу - всё равно вы не поймёте правильно и закопаетесь в словах. Я не писатель, а Вы не лингвист. Недопонимание - это нормально, но не повод оскорблять.

По поводу психологии - я работаю временами с психологами и имею обратную связь в виде хорошей осознанности. А вот Ваше отрицание своих проблем и применение психологии в виде оскорбления - это уже звоночек. Но если вам и так комфортно без осознанности - то почему нет? Главное, чтобы вам с собой было хорошо.

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

Вы - хороший человек в целом для себя и своего окружения.
Я - хороший человек для себя и моего окружения.
Остаёмся при своём мнении.

Всего вам счастливого и хорошего. Желаю больше не заходить в этот тред и не писать гадости)

Кстати, попробуйте не вырывать фразу из контекста "В комментариях одни мерзкие токсики." А прочитать весь коммент целиком. Там поясняется, какое именно мнение я не поддерживаю. Повторять и объяснять свои мысли по 100 раз у меня правда нет времени и желания.

Не зацикливайтесь на словах и не будете душнилой Х)

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

Если хотите рассказать, что 5 человек для такого проекта балаган -
напишите статью об этом и приведите аргументы, сделав ссылку на эту
статью.

Попробуйте выкопать колодец метром в диаметре и метр вглубину хотя бы вдвоем и поймете, что иногда вообще лучше одному. Я не могу обнулить свой опыт, поэтому статья все равно вот типо такой получится, невижу смысла еще одну писать по вашей просьбе, это вот что один человек за то же время может сделать, когда ему коллеги не мешают: https://habr.com/ru/articles/337566/

Проект делали далеко не джуны. Джуновский уровень — это простенькая тормозящая карточная игра или глючный пошаговый квест (и то вряд ли бы закончили).

И где, как не в комментах, прикажете излить накопившегося яду? Считайте это коллективной психотерапией)

Ну это уже даже ближе к комплименту)

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

Если честно, не успели разобраться с этим. Есть ли на примете какие-нибудь хорошие статьи на сей счёт?

там не нужно отдельной статьи. нужно просто получать в апдейте прошедшее время и при перемещении это время умножать на скорость.

Отличный проект! Спасибо за теплые ламповые воспоминания! Успехов!

интересно, побольше бы таких статей

Зарегистрируйтесь на Хабре, чтобы оставить комментарий