Доброго времени суток! Получая профессию инженер-программист не имел совершенно ни какого опыта разработки игр, решил восполнить пробел и приобщиться к этой теме. Выбирая, с чего начинать, взгляд мой пал на Unity3d, так как этот игровой движок дружит с языком программирования C#, который я, в свою очередь, сейчас изучаю. Так сказать, совместил приятное с полезным. Обсуждая эту тему с коллегами по работе, неожиданно родилась идея простой до безобразия игры — на экране находится квадрат, стороны которого имеют разные цвета, сверху на него падают кубы цветов совпадающих с цветами его сторон, нужно тапом по левой и правой стороне экрана вращать разноцветный квадрат и ловить кубы правильного цвета. Поймал правильной стороной — плюс одно очко, не правильной — проиграл. Окрестили это первым словосочетанием пришедшим в голову — Color Cube. Сказано — сделано.
Первой задачей было организовать генерацию падающих кубов. Всё оказалось просто, помогла функция Invokerepeating(), которая периодически создавала вверху за пределами экрана новые кубы случайного цвета. Уже тут появились зачатки геймдизайна, опытным путём выяснилось, что выпадение подряд кубов одинакового цвета сбивало ритм игры. Исправил. Цвет следующего куба выбирался всё ещё рандомно, но обязательно не совпадал по цвету с предыдущим.
Читать полностью »