Growing Crystals vol 8. Улучшаем интерфейс, даём оценку игровому балансу

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

1. Исправление интерфейса и всех задач из журнала улучшений.

  • game.class.php:277 non-optimal-solution
  • Подсветка лимитов кристаллов
  • Строительство через события: строительная площадка -> результат
  • Генерация случайного адреса страницы результатов, для обхода кэширования

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

3. Публикация материалов и статей на habrhabr и gamedev. Начиная со статьи, которая будет описывать исправление интерфейса и изменение системы управления.

Приступим…

Continue reading Growing Crystals vol 8. Улучшаем интерфейс, даём оценку игровому балансу

Ссылки: JavaScript

Вещи полезные для разработки на JavaScript

  • jsfiddle.net — сервис он-лайн просмотра и эмуляции JavaScript. Очень удобная вещь.
  • Лекции по JavaScript из курса Hexlet что не плохо может помочь разобраться с азами программирования в JavaScript.
  • Лекции по JavaScript на английском языке objectplayground.com, очень подробные, с хорошими наглядными иллюстрациями.

Работа с клавиатурой

Работа с объектом Canvas

  • Статья на хабре — вывод на канву многострочного текста.
  • Play Canvas— платформа разработки и публикации игр основанных на использовании технологии Canvas, также выполняет роль комьюнити для разработчиков.
  • примеры на threejs.org библиотеке WebGL с лучшими отзывами.
  • voxeljs.com библиотека для разработки JavaScript приложений, использующая воксельную графику.

Выбор и добавление в блог функционала цитирования (Like)

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

Continue reading Выбор и добавление в блог функционала цитирования (Like)

Growing Crystals vol 7. Релиз r1

Здравствуйте, друзья! Сегодня 8й день и первый релиз игры Growing Crystals! За последний день разработки клиента и сервера удалось сделать гораздо больше чем за все остальные вместе! Немного о тех вещах, без которых релиз был бы не возможен:

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

Continue reading Growing Crystals vol 7. Релиз r1

Growing Crystals vol 6. день до релиза

7й день, 6й выпуск серии статей о разработке стратегической игры Growing Crystals с 0!
Начнём день с небольшого code review, в первую очередь PHP. Даже на первый взгляд понятно, что сервер надо будет, если не переписать с 0, то точно подвергнуть детальной переработке, но пока он выполняет главную функцию — работает, трогать его не станем, ведь завтра релиз и наша задача сделать игру завершенной. Т.е. как минимум добавить Welcome Screen, ввод имени игрока, завершенное игровое задание и scoreboard, и, конечно же надо переработать управление, отказавшись от объектов html за пределами canvas.

Continue reading Growing Crystals vol 6. день до релиза

Growing Crystals vol 5. сервер и место случайности в игровом процессе

Здравствуйте друзья! Сегодня 6й день и 5й выпуск саги о разработке игры Growing Crystals, сегодня нам предстоит более глубокая проработка серверной части на PHP, реализация перемещения персонажа и немного игрового процесса, а также предстоит ответить на философский вопрос: random or not random?

Прежде чем двинуться вперед, позволю себе небольшое отступление о технологиях клиента. Увлекаясь чтением статей на тему Canvas и частично сталкиваясь с WebGL не отрицаю что возможен переход и на WebGL, поскольку технология уже прошла первичную и, можно сказать, вторичную обкатку и существует большое количество готовых библиотек, способных существенно сократить время разработки. Вполне возможно, что после первого релиза всерьез рассмотрим эту технологию применительно к Growing Crystals.
Немного ссылок: примеры на threejs.org библиотеке WebGL с лучшими отзывами, voxeljs.com/ классный набор инструментов и готовых открытых проектов. Вопрос когда Mojang заменят JRE клиент https://minecraft.net/classic/play на JS+Canvas? Вопрос времени, хотя для меня это казалось вопросом нескольких месяцев уже в 2011. Хабрапост о WebGL для Microsoft Store.

Continue reading Growing Crystals vol 5. сервер и место случайности в игровом процессе

Growing Crystals vol 4. картинка на клиенте и запросы к серверу

Сегодня мы продолжим наши эпические разработки игры Growing Crystals.

Вчера весь день я слушал лекции по JavaScript из курса Hexlet что не плохо помогло разобраться с азами программирования в JavaScript, всё это я закрепил просмотрев objectplayground.com. Также дополнительно удалось прочесть несколько статей про AJAX, JSON и JQuery.

Самое главное — удалось получить ценные советы и разъяснения от товарища. Общение и взгляд со стороны очень важны в таких проектах, особенно когда их ведёт человек с 0м опытом. Товарищ дал много полезной информации и объективную критику уже проведенной работы.

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

Continue reading Growing Crystals vol 4. картинка на клиенте и запросы к серверу