1

Step 1

Разработка стандартной версии "морского боя"

28 December—10 January

1

Step 1

Разработка стандартной версии "морского боя"

28 December—10 January

28 December 2014 10 January 2015
The goal is overdue by 3557 days

Goal abandoned

The author does not write in the goal 9 years 8 months 20 days

Goal author

zeglor

Russia, Москва

9 years old

General

Написать "морской бой" под android и выложить на google play

Здраствуйте. Я, Иван. Хотел бы сделать игру, WoW-killer суть такова...

Думаю, рано или поздно любого заядлого геймера при задрачивании очередной игрушки посещает примерно мысль "Черт, почему разработчики не могли добавить %фичанейм?". При определенном стечении обстоятельств мысль трансформируется в "Я же могу сделать лучше!". Ну из нее берет начало неудержимый поток: "Ох, а как было бы здорово сделать свою игру"; "Круто было бы сделать Доту, только с лазерами"; "А ведь на этом можно еще и кучу денег заработать!"; "Все, с завтрашнего дня начинаю". И, как правило, не начинают. По крайней мере, так было до сих пор у меня.

Постановке этой цели предшествовало много креативных идей, грез о золотых горах и изрисованных клочков бумаги. Начиналось все с пристрастия к играм меня и моего тогдашнего начальника. Постепенно обсуждения игр в курилке перерастали в обсуждение того, как круто будет сделать свою игру. И конечно же, это должна была быть убийца WoW, EVE и Lineage вместе взятых. После были попытки хоть немного структурировать идеи на бумаге. У меня до сих пор валяется где-то стопка листиков с набросками идей, корявыми концепт-артами и списками киллер-фич в духе "опупенная графика; живой мир; реалистичная экономика" и подобными. Естественно, так они на бумаге и остались - вряд ли два хеллоуворлдщика в обозримые сроки могут сделать игру, напичканную функционалом пяти лучших игр, сделанных топовыми профессиональными студиями. Однако кое-что я все-таки сделал: прошел туториал по разработке игр на allegro под C++, написал 216 строчек кошмарного кода на python, воплощая менее масштабную идею зомби-шутера (если кому интересно, тут ). А еще мы перелопатили огромное количество книг, статей и howto из области геймдева. Постепенно пришло понимание того, что глобальную игрушку мы не потянем даже если наймем программистов и художников. Так что WoW-killer трансформировался сначала в Dota-killer, потом в "простенькую игрушку с корованами и корабликами", а теперь - в "морской бой для мобилок с небольшими фичами. Надо же с чего-то начинать".

Работа над морским боем началась недели две назад с выбора инструментов. Выбор остановили на unity - хотелось выпустить игру побыстрее и начать снова ломать зубы о старые идеи. Первая неделя прошла за изучением обучалок и попытками не заспамить мегафичами обучающий проект. Вторая неделя ознаменовалась попытками написания мегадвижка для сетки - яркий пример overengineering. По замыслу, центральным объектом игры становилась сетка, которая должна была отвечать и за размещение\масштабирование кораблей, и за обработку событий, и за игровую логику. В итоге получилось нечто забашованное, но играбельное. Однако дальнейшая разработка сулила сплошную головную боль и страдания, поэтому сегодняшний день будет посвящен переосмыслению картины мира и рефакторингу кода. Нужно сильно постараться снова не накодить лишнего функционала "на потом". Ну а до 31-го декабря нужно уже доделать это чудо ламерской мысли и приступить к навешиванию фич.

 Goal Accomplishment Criteria

Игра доступна для скачивания

 Personal resources

Личное время 24\7, появившееся после сокращения с работы

 Goal ecological compatibility

Эта цель необходима мне для начального погружения в gamedev, повышения скилла "программирование" и первого опыта доведения проекта до финала.

  1. Разработка стандартной версии "морского боя"

    Этот этап нужен больше для того, чтобы хоть немного набить руку на программировании и unity.

    Игра на конец этапа должна выглядеть просто: два поля на экране, вместо кораблей - стандартные кубы unity соответствующей длины. Игроку противостоит противник, который действует случайным образом. Игра делится на 3 стадии: расстановка, бой, конец игры.

    Расстановка: из меню выбирается корабль длиной l, расположенный горизонтально (вдоль x) по умолчанию. Ориентацию корабля можно менять на вертикальную. Далее выбирается клетка на поле игрока, в которую корабль будет помещен, и если клетки на площади размещения корабля свободны, то корабль размещается на поле. Этап заканчивается после нажатия на кнопку "начать игру" в случае если все корабли игрока были расставлены на поле. В начале этого этапа ИИ также расставляет свои корабли.

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

    Конец игры: Вывод статистики игры и предложение сыграть еще одну партию. После принятия предложения поля игрока и противника приводятся в изначальный вид, и игра возвращается в режим "Расстановка".

  • 3957
  • 28 December 2014, 13:36
Sign up

Signup

Уже зарегистрированы?
Quick sign-up through social networks.
Sign in

Sign in.
Allowed.

Not registered yet?
 
Log in through social networks
Forgot your password?