Создание настольной игры. Часть 01: функционал.

Здравствуйте, товарищи.


Хочу рассказать и подробно показать, как создать простую кросс-платформенную (Linux, macOS, Windows, Android, iOS, Web) настольную игру.


ПРЕДИСЛОВИЕ.


Мысль сделать это именно здесь родилась после чтения публикаций GooDCrafter о создании игры TerraPath. Где-то на 15-й его публикации я задал себе вопрос: "А чем я хуже?"

Мои публикации преследуют следующие цели:

1. обучение вас созданию игр;

2. получение обратной связи по обучению.


Данная серия публикаций расскажет и покажет создание игры "Память: Цвета" (Memory: Colors). Wikipedia даёт следующее определение ( https://en.wikipedia.org/wiki/Concentration_(game) ) этой игре: Концентрация, она же Память или просто Пары, является карточной игрой, в которой все карты лежат рубашкой кверху. На каждом ходу игрок переворачивает две карты. Цель игры в том, чтобы убрать со стола совпадающие пары карт.


Вот так выглядит веб-версия игры, которую мы создадим с нуля: https://ogstudio.github.io/game-memory-colors/0.3/mjin-playe...


ЧАСТЬ 1:  ФУНКЦИОНАЛ.

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


Игровые экраны.

Игра содержит три экрана:

1. Начало (Start)

2. Игра (Game)

3. Завершение (Finish)

Давайте пройдёмся по всем экранам и составим список из единиц функционала. Будем обозначать одну единицу функционала как Ф-<число>.


Экран начала (Start screen).

Это простой экран приветствия.


Ф-01. Заголовок

Сразу после запуска игры экран содержит лишь заголовок (включая версию выпуска), отображающийся на трёх строках:

Ф-02. Описание

Через пару секунд начинает появляеться описание, по одной букве за раз:

Ф-03. Анимация выхода с экрана начала

После клика или тапа заголовок и описание начинают лететь в сторону пользователя:

Ф-04. Выход с экрана начала

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


Экран игры (Game screen).

На этом экране мы собственно играем.


Ф-05. Игровое поле

Как видно, игровое поле состоит из 16 кругов в виде сетки 4x4. Все круги с одинаковым узором, что означает их положение "рубашкой кверху".


Ф-06. Выбор элемента

После выбора элемента можно увидеть узор круга:

Ф-07. Сопоставление двух элементов

После выбора второго круга мы получаем

1. либо промах:

2. либо совпадение:

Ф-08. Анимация промаха

Как вы заметили, в случае промаха фон мигает красным цветом.


Ф-09. Анимация совпадения

В случае совпадения:

1. фон меняет цвет;

2. круги улетают в сторону пользователя.


Ф-10. Окончание игры

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


Экран завершения (Finish screen).

Это последний экран с результатами. Т.к. проиграть в этой игре нельзя, то мы отображаем победу.


Ф-11. Победа

Сначала мы отображаем на экране лишь слово "VICTORY" (ПОБЕДА):

Ф-12. Домашняя страница

Через пару секунд выводим адрес домашней страницы:

ПОСЛЕСЛОВИЕ.

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

Далее в ходе разработки мы обнаружим дополнительный функционал, который не был заметен сразу.


На этом заканчиваю первую часть. Задавайте вопросы. Комментируйте.

До скорой встречи!


PS1: Домашняя страница у нас болеет после недавней смены хостинга, поэтому заранее прошу прощения. Мы её вылечим в ближайшее время.

PS2: Хранилище с игрой: https://bitbucket.org/ogstudio-games/memory-colors

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"

1
Верь мне, я инженер.
Автор поста оценил этот комментарий
Video_games_based_on

"based on" означает - "основанный на". А настольная игра - это буквально игра, разложенная на столе) Карты, шахматы, шашки, нарды, домино - вот самые очевидные примеры.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Хорошо. В следующий раз озаглавлю "Создание компьютерной игры на основе настольной игры" :)

0
DELETED
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Вопрос скорее в том, за какой функционал в этой игре лично вы бы заплатили. Расскажете?

2
Автор поста оценил этот комментарий
Развивающая игра на память.
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Всё-таки существуют настольные игры: https://en.wikipedia.org/wiki/Category:Video_games_based_on_board_games

которые вполне себе платформенные.

показать ответы
0
Автор поста оценил этот комментарий

Мои публикации преследуют следующие цели:

1. обучение вас созданию игр;

2. получение обратной связи по обучению.


Задавайте вопросы.


Где обучение?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

В следующей части будет первое отображение.

1
Верь мне, я инженер.
Автор поста оценил этот комментарий

компьютерная)

раскрыть ветку (1)
Автор поста оценил этот комментарий

Я надеялся, что это уточнять не нужно будет, ведь публикация в "Лиге разработчиков ВИДЕОигр". Но теперь буду.

3
Верь мне, я инженер.
Автор поста оценил этот комментарий
Настольная игра не кроссплатформенная. Она вообще не платформенная. Она оффлайновая) Это не настольная игра ни разу.
раскрыть ветку (1)
Автор поста оценил этот комментарий

А какая это тогда игра?

показать ответы

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества