хочу высказатсья по поводу выбора языка и поводу вот таких вещей.
ИМХО.
игру надо изначально реализовывать в виде независимых модулей (DLL) которые можно писать на рызных языках.
Моя версия:
1. ядро игры. оно осуществляет основную деятельность по обработке игры. при этом ей совершенно по барабану кто играет и где он находится. она просто вызывает функции которые отвечают за ходы игроков.
2. прослойка отвечающая за сетевую игру. она получая данные/сигналы от ядра игры отправляет данные игрокам и получает их ходы. именно этот модуль отвечает за сетевое соединение. при этом ей опять же по барабану кто играет (ИИ или человек)
3. уровень игрока. часть отвечающая за ИИ и человека. при этом при взаимодействии с ядром игры совершенно нет разницы кто играет: ИИ или человек. Отличие состоит лишь в том что когда играет человек, происходит вывод графики и ожидание его действий.
при использовании вышеприведённой модели можно будет в начале разработки игры использовать 2D, а потом в случае необходимости внедрить движок аля "суперпуппер3D" при этом даже не затрагивая ядро игры.
Да, это все красиво звучит. Какраз в русле нынешних паттерн-кодеров.
Но проблема в том, что игра -- это одноразовый продукт.
А такая детальная проработка: разделение на (независимые) модули, программирование в рассчете на слудующую версию и т.п.
тупо усложняет разработку здесь и сейчас в 2-3 раза.
А если программист(ы) не понимают сути выше указаного, то и вообще ведет разработку к краху.
мы тут обсуждаем разработку альтерцивы, и ты говоришь что это одноразовый продукт. обижаешь
я уже начал так делать и особых проблем и тормозов не вижу. при использовании этой схемы реально возникает возможность РЕАЛЬНО разделить работу программистов, один делает ядро, другой делает интерфейс. если изначально всё правильно сделать всё будет хорошо.
ффффНовичкам я бы посоветовал (и советую при каждом удобном случае, вот как сейчас) начинать с проекта в стиле total conversion на чужом движке, и в этот чужой движок влезать очень осторожно. К сожалению, у них, за редким исключением, извините, амбиции, и очевидную мысль, что первую свою хорошую игру сделать на чужом движке совершенно нормально, они не догоняют.
поддерживаю ahilles
модульность, объектность не спроста придумали.
дело не только и не столько в реюзинге сколько в улучшении понимания собственной программы и простоты ориентирования в ней.
то что структурированный код писать в 3 раза дольше - это не соответствует действительности. возможно по началу только.
а экономия времени наоборот огромная - на отладке прежде всего, а отладка львиную долю составляет процесса разработки.
если мы говорим конечно не про hello world а про большую программу на десятки тысяч строк