1

Этап 1

Подготовка

2

Этап 2

Написание костяка клиента

3

Этап 3

Написание костяка сервера

4

Этап 4

Мигрировать на Unity 5

5

Этап 5

Наполнение игровой механикой, особенностями

6

Этап 6

Разработка стиля игры

7

Этап 7

Поиск возможностей для издания и донесения до человечества

8

Этап 8

Получить наконец инвайт на Хабр

1

Этап 1

Подготовка

2

Этап 2

Написание костяка клиента

3

Этап 3

Написание костяка сервера

4

Этап 4

Мигрировать на Unity 5

5

Этап 5

Наполнение игровой механикой, особенностями

6

Этап 6

Разработка стиля игры

7

Этап 7

Поиск возможностей для издания и донесения до человечества

8

Этап 8

Получить наконец инвайт на Хабр

23 февраля 2015 31 августа 2015
Цель завершена 21 июня 2015
Общая

Написать играбельный прототип игры

Пройденные в нежном возрасте пошаговые тактические стратегии, а так же желание унижать в боях реальных игроков, а не ИИ, сформировали желание сделать эдакий сетевой turn-based замес. Дуэльный для начала. Итак, особенности в порядке убывания важности:

  1. Пошаговая тактическая игра в гексагональном поле
  2. Матчи через интернет с другими людьми
  3. Порождает азарт, веселье, бомбежку
  4. Легко научиться
  5. Меньше рандома, больше просчитываемости
  6. Устойчивость к взлому
  7. Боевка с огнестрельным и холодным оружием
  8. При этом разнообразие за счет возможных разных стилей игры и комбинаций с несколькими юнитами

 Критерий завершения

В игру можно сыграть полноценный матч через интернет, а в идеале даже получить от этого удовольствие

 Личные ресурсы

За плечами 6 лет профессионального программирования, в том числе 4 из них в роли тим-лида. Довольно много опыта в плане игрока, т.е. знание разных механик, удачных и не очень кейсов, если можно сказать: 150+ игр в Steam и чудовищное число отыгранных часов. В сутках обычно в распоряжении есть пара часов тишины для сосредоточения и программирования по ночам. Небольшой бюджет на покупку ассетов...

 Экологичность цели

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

  1. Подготовка

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

  2. Написание костяка клиента

    1. Клиент реализует гексагональную "математику". То есть все базовые операции:
      1. Приведение координат из гексагональных в мировые и обратно
      2. Нахождение соседних гексагонов. построение линий, нахождение расстояния
      3. Поиск пути
      4. Нахождение сектора окружности
    2. Построение поля (пока дефолтного)
    3. Внедрение 3rd party компоненты для клиент-серверного взаимодействия
    4. Базовый интерфейс для создания/присоединения к играм и управления юнитами
    5. Базовые модели/анимации для юнитов
  3. Написание костяка сервера

    1. Перенос на сервер всей гексагональной математики
    2. Внедрение стейт-машины на сервере для каждой комнаты для ведения состояния матча
    3. Генерация карты на сервере
    4. Ожидание подключений игроков и начало игры с рассылкой карты как только игроки подключились
    5. Правка клиента для работы с сервером
    6. Внедрение Entity/Component/System архитектуры на сервере для игрового мира
    7. Описание мира и его правил в рамках этой архитектуры:
      1. Движение
      2. Зрение (поле видимости)
    8. Базовая проверка верности данных приходящих от клиентов
  4. Мигрировать на Unity 5

    Автоматическая миграция дала мне пустую сцену... Не очень круто. Придется руками разбираться.

  5. Наполнение игровой механикой, особенностями

    А вот это уже текущая работа. Реальные ее рамки очень размыты.

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

    А вот подпункты каждый могут на самом деле заслуживать более подробного описания или отдельного пункта, если подумать, сколько за ними работы. Но пока расписывать лень, так что пусть будет пока так. 1 фича, которую хочется иметь - 1 пункт.

    План минимум - до момента экрана статистики. чтобы игру можно было завершить победой с минимумом функциональнсти.

    1. Базовая стрельба

    2. Инвентарь

    3. Очки действий

    4. Жизни (НР) юнитов, получение повреждений и смерть

    5. Условие окончания матча

    6. Экран статистики

    7. Статы: конфигурирование и влияние на существующую игровую механику

    8. Система скрытности

    9. Продвинутая система повреждений: типы повреждений, броня

    10. Система уклонений, промахов

    11. Продвинутая стрельба: баллистика, прохождение снарядов через препятствия

    12. Разрушаемость препятствий

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

    14. Ближний бой

    15. Способности: каждая из них будет отдельной фичей по мере уточнения

  6. Разработка стиля игры

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

    Понадобится сторонняя помощь с большой вероятностью.

    1. Вселенная, сюжет

    2. Визуальный стиль

    3. Звуки, музыка

  7. Поиск возможностей для издания и донесения до человечества

  8. Получить наконец инвайт на Хабр

  • 4385
  • 23 февраля 2015, 02:06
Регистрация

Регистрация

Уже зарегистрированы?
Быстрая регистрация через соцсети
Вход на сайт

Входите.
Открыто.

Еще не зарегистрированы?
 
Войти через соцсети
Забыли пароль?