Всем привет!
Я сделал игру, по мотивам творчества Моргана, вот ссылка.
http://a00.kzРаздел "Дуэли" соответственно. Чтобы играть выберите стихии и формы, нажмите кнопку "начать игру", и конечно нужно чтобы еще кто-нибудь был на сайте. А если хотите просто оценить интерфейс и механику войдите в игру из двух разных браузеров. Из разных вкладок одного не получиться, сессия будет одна и та же.
У того кто ходит вторым, объем здоровья увеличен. Один ход в игре это ход любого игрока. То есть если заклинание действует два хода, это один ваш и один ход противника. В трех слотах, на картинке в середине экрана, отображаются заклинания противника. На каждого игрока можно повесить до шести бафов и шести дебафов.
Изначально хотел делать по правилам описанным на сайте, но ознакомившись с количеством стихий, форм, предметов, характеристик и механик, прибалдел слегка и решил упростить. В итоге имеем шесть стихий из которых можно выбрать три и девять форм из которых выбираются пять. В целом соответственно 54 заклинания в игре. Действие их я тоже придумал сам, постарался подобрать баланс, пишите как он вам, поправим если что.
Я не дизайнер, но в целом получилось симпатично как по мне. Адаптивный дизайн подгонял под разрешения 2560*1440, 1920*1080, 1366*768. Если у вас другое, или окно браузера по каким-то причинам сильно меньше монитора, может быть криво.
А теперь история разработки.
Живу я все еще в городе Астана, столице нашей родины. Впрочем город уже Нур-Султан, наш президент героическим усилием воли, сложил с себя полномочия, власть сменилась, а преемник на радостях переименовал столицу в честь Назарбаева.
Переходил с работы на работу, нигде особо не задерживаясь, размещал объявления разных предпринимателей в интернете, писал бизнес-планы, чиновником выдавал справки о зарплате и цифровые подписи в гос учреждении, мерчендайзером расставлял элитный алкоголь по полочкам в супермаркетах. Работа вся была так себе и доход с неё соответствующий.
Но пару лет назад удача улыбнулась и я устроился системным администратором в строительную компанию, где и трудился до нынешней пандемии. Там было два десятка компьютеров, без сервера, столько же принтеров и плоттеров, архитекторы печатали чертежи на больших рулонах. Больше всего проблем было как раз с этим оборудованием, компы более-менее новые, а плоттерам некоторым десяток с лишним лет, задолбался подключать это все. Самый старый кое-как подключил к древнему ноутбуку, а тот уже по сети к инженерам нашим.
Работа мне понравилась, не считая отдельных эксцессов, когда интернет отваливается, а на тебя шипит весь офис, особенно милые женщины из бухгалтерии. Правда больше я занимался не оборудованием, а фото и видео монтажем, для группы в инстаграмме и сайта, который сам и сделал. Рекламные буклеты делал, щит рекламный для въезда в офис. Освоил в общем неплохо Sony Vegas, Photoshop и Corel Draw.
Ну и понял что мое призвание это высокие технологии. Думал пройти курсы какие-нибудь для сисадминов, начал интересоваться этим всем, читать статьи, видео соответствующие смотреть и понял что пожалуй больше привлекает программирование. Так что принялся изучать javascript. Начал в декабре 2018 года. Когда было свободное время учил на работе, когда нет, дома час другой, перед сном. В разных видео на ютубе говориться в основном что заниматься программист должен день и ночь и найти первую работу через месяцы, пол года максимум. Наверное я дикий слоупок, прошло полтора года, а я все учусь... В свое оправдание скажу что большую часть этого времени совмещал работу и учебу. Освоил я в общем учебник "Современный javascript"
https://learn.javascript.ru, который всем советую.
Потом понял что посредством только его мало что можно сделать, нужно что-то на стороне сервера, долго кусал локти выбирая между php, python и nodejs. В конце концов открыл хэд хантер, забил их по очереди, и увидев что php разработчиков в нашем городе нужно вчетверо больше чем на ноде и пайтоне вместе взятых, выбрал его. Так что игра которую вы видите на писана на js и php. Сейчас бы наверное выбрал пайтон, что-то про него я из каждого утюга слышу... Прочел "PHP 7 в подлиннике" Дмитрия Котерова, также отличная книга, рекомендую.
И решил после этого написать какой-нибудь свой проект. Тогда появился первый вариант этой игры, но на тот момент я хорошо изучил формальную часть php и джаваскрипта, то есть знал синтаксис, команды, но мало понимал в архитектуре. У меня еще хватило ума разделить проект на отдельные большие части, но дробить дальше я не сообразил. В итоге после того как у меня образовалась функция на джаваскрипт которая искала противника на сервере, а в ней еще одна функция которая слала на сервер сигналы что данный игрок еще здесь, а в ней еще одна функция, которая запрашивала с сервера данные об игроках, а в ней еще одна функция которая рисовала интерфейс по этим данным, а в ней еще одна функция которая отображала подсказки, а в ней еще одна функция которая следила чтобы противник не вышел, а в ней еще одна функция которая предавала информацию о сотворенных заклинаниях, а в ней еще одна функция которая следила за состоянием здоровья игроков и показывала сообщение о победителе или проигравшем, и все это в одном огромном файле, с функциями натурально вложенными одни в другие и с километром закрывающих скобок в конце. И я не спя ночами, думая над кодом, все таки заставил это все работать, но после этого понял что энергии на то чтобы закончить игр у меня не хватает. Ну, нужно было еще несколько функций вставить внутрь...
После этого всего я написал игру "головоломки", которую вы можете видеть здесь же. У меня в детстве была книжка с логическими задачами, я больше всего из них любил головоломки со спичками, потому что можно было настоящие спички взять и перекладывать на полу, ища ответ. Если тоже любите поиграйте, моим племянникам, обоим понравилось. Там и конструктор есть, для новых задач, так что регистрируйтесь, добавляйте новые, если есть желание.
В общем вооружился я после этого всего книгой Мэтта Зандстры "РНР. Объекты, шаблоны и методики программирования". Тоже долго выбирал что почитать об архитектуре и остановился на этой книге, в основном потому что примеры именно на php. Эту книгу тоже всем рекомендую, мне понравилась.
И начав опять с нуля, все таки написал данную игру. Не работал еще программистом профессионально, не знаю что бы сказал опытный разработчик глядя на мой код, но все таки я использовал теперь объекты и абстрактные классы, и трейты, js код разделен на культурные отдельные модули. У меня в коде совсем нет комментариев, даже не знаю нужны ли они если честно, мне все понятно... И не знаю нужно ли удалять многочисленные console.log из js кода. С одной стороны код с ними не чистый наверное, а с другой если понадобиться что-то добавить, опять их прописывать что-ли все?
Теперь я сижу дома, из компании ушел сам, руководство приняло решение продолжать работу, не смотря на эпидемию. А я решил что правильнее остаться дома и изучать веб разработку дальше, а затем искать работу по этой специальности.
Сделал я эту игру в первую очередь с целью обучения, во вторую для портфолио, но буду очень рад если вам она понравится, может привлечет новых людей на форум, поспособствует его развитию. Я тестировал игру сам, с племянником поиграл, но думаю вполне возможны еще какие-нибудь баги. Если заметите, постарайтесь запомнить какие конкретно заклинания вы создавали.
В общем играйте, пишите ваше мнение.