Pixel Dominoes. История разработки одной игры для Ludum Dare.

Apr 30, 2013 23:32



В минувшие выходные проходил очередной (уже 26 по счету) чемпионат по скоростной разработке игр под названием Ludum Dare.
Разработчикам-одиночкам давалось 48 часов, чтобы от начала и до конца сделать игру по теме "Minimalism".

Погода в тот день не задалась, вечер был свободный - вот я и решил поучаствовать ради интереса. Небольшой дневник разработки - под катом :)


21:32

За окном дождь. Только вошел домой. Чашечка кофе, пригласить в гости кота и за дело!



21:35

Если верить сайту,
Ludum Dare 26 Compo Ends: in 1 day, 8 hours, 24 minutes, 24 seconds
Я планирую разобраться с игрой за вечер - завтра свободного времени уже не будет.

Общая идея проекта, который созрел у меня в голове - минималистичное домино. Я обратил внимание, что когда люди играют в домино и выкладывают из косточек на столе “змейку” - значение для следующего хода имеют только две крайних косточки с их числом точек. Соответственно, я решил сжать весь игровой стол до одной косточки, у которой, в зависимости от сделанного хода, будет меняться левая или правая цифра.

Соперника - убрать.

Просчет косточек, которые уже были в игре - обойдемся без него.

Рабочее название игры - “Minimalistic Dominoes”.

Посмотрим, что выйдет!

21:47

Как выяснилось, под Виндой стоит только Visual Studio в версии для Windows Phone… Плохо дело! Качаю Express вариант для настольных приложений.



21:48

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

00 - 1
01 - 2
02 - 3
03 - 4
04 - 5

05 - 6
06 - 7
11 - 8
12 - 9
13 - 10

14 - 11
15 - 12
16 - 13
22 - 14
23 - 15

24 - 16
25 - 17
26 - 18
33 - 19
34 - 20

35 - 21
36 - 22
44 - 23
45 - 24
46 - 25

55 - 26
56 - 27
66 - 28

Стандартный набор 28 косточек - цифры сошлись.

21:57

Visual Studio все качается, пока делаю графику для доминошек в фотошопе.



22:00

Надоело сидеть в тишине - включаю музыку.

22:07

Visual Studio установилась. Сейчас буду проверять, подойдет ли эта версия для разработки домино-игрушки.



22:11

Генерируем стандартную форму. 1280х720, тонкая полоска сверху.

Первый запуск!



Вот и мысли мгновенно растерялись - думаю, с чего теперь начать.

22:13

28 косточек будут расположены в 2 ряда
По 14 в одном ряду

По горизонтали 1280 пикселей
Нужен заметный отступ по краям, чтобы был воздух

50 точек по горизонтали для каждой - мало
70 - много
60 - в самый раз

14 * каждая по 60 = 840

Ок

Между ними отступы по 10 пикселей - это еще 130 точек

840+130 = 970 пикселей вся зона домино “на руках” игрока

310 на отступы
Значит слева и справа считаем по 155

Высота каждой косточки, соответственно, 60*2 = 120 точек (два квадратных сектора с точками).

22:22

Присутствие или отсутствие домино решено менять за счет FlatStyle стиля кнопки.



22:28

Дизайн формы

Первый ряд домино выстроен.



22:30

Есть второй ряд. Отсутствие домино решено менять за счет его сокрытия со стола игрока (FlatStyle себя не оправдал).

22:42

Вся графика по доминошкам в руках игрока завершена.



22:49

Загружаю графику в проект.



Понимаю, что нужно взять перерыв на еду.

***

23:15

Конец перерыва. Сажусь за программирование. Для начала пишу модули отображения домино в руках и их обновления.

23:26

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

23:35

Отдельная графика по центральной доминошке готова.
Дописываю переменную, по которой она отслеживается.

23:40

Отрисовка центральной доминошки работает!



23:50

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

00:10

Делаю для одной кнопки рабочий функционал “хода” игрока (если подходит к центральное доминошке - ход происходит, если нет - облом).
Выношу его в отдельную функцию и прикрепляю ко всем доминошкам в руках игрока.

00:20

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

0:31

Добавил возможность взять еще одну доминошку, если игроку нечем ходить (кнопка TAKE).
Игру уже можно пройти до конца, потратив все свои доминошки.

0:32

Волевым усилием решено переименовать игру из Minimalistic Dominoes в Pixel Dominoes. Да, так стало правда лучше.

0:37

Добавил в код обработку победы игрока. Пока она пустая, но только что я формально прошел игру до нее. Почувствовал приятное чувство кхм… “близости завершенности”.

0:47

Прячу все элементы на загрузке, добавляю логотип Sometimes You и кнопку “BEGIN”, которая позволяет начать игру.

0:57

Еще немного доработки по титульному экрану и кнопка “AGAIN ?” для повтора игры.

Вроде бы по коду все готово :)

0:59

Из половинки центральной доминошки с пятью точками делаю иконку для игрушки в онлайн-редакторе иконок.



1:10

Оптимизация графики - снижаю разрешение у всех картинок в десять раз (в оригинале они были просто огромными).
Результат - 1,64Mb откомпилированного EXE превратились в 358Kb.
Время 3,5 дискет вроде бы давно прошли, но подобная оптимизация - это все-равно приятно!



Игра готова!

***

Напоследок - немного ссылок.

Скачать игру (меньше 64Кб в архиве): http://sometimesyou.com/PixelDominoes_LD26.zip
Скачать исходники: http://sometimesyou.com/PixelDominoes_LD26_Src.zip

Страница игры на Ludum Dare: http://www.ludumdare.com/compo/ludum-dare-26/?action=preview&uid=23092
Если игра понравилась - голосуйте, комментируйте :) Я только рад буду!

.рубрика: инди-игры, .содержание: скачать/распродажа, .содержание: картинки, .платформа: pc, материал для gamer.livejournal.com, .рубрика: как делают игры?

Previous post Next post
Up