Нужно решить на каком языке будет написан движок для игры (пока по дефолту мы не используем готовых движком, только свое).
Пока два очевидных варианта: С++ и С#, причем как показывает практика первый вариант куда очевиднее.
Итак, смысл:
C# - это "бизнес" язык, производительность - его самое слабое место. Это природа платформы .NET: работая в условиях виртуальной машины и переживая кучу различных трансляций, программа на С# чисто физически не может сравниться по скорости с С++, а уж тем более ассемблером (нет, ассемблер даже не вариант ). Чем меньше уровень абстракции - тем выше производительность. С# используется в приложениях, где скорость разработки, куда важнее конечной производительности, а в игровом движке производительность - приоритет номер 1.
Для 3D движка С# не подходит однозначно, слишком долгий рендеринг, для 2D (наш случай) "с пивом покатит". Лично я не думаю, что у нас будут серьезные проблемы, но тем не менее.
ВЕРДИКТ: Для базы игры - С# подходит плохо. Да он удобнее и легче, но он медленный.
После долгого гугления пришел к выводу, что все, кто хоть как то был связан с игростроем использовали С++ и ниже. В крайнем случае на С# были части не связанные с вычислениями, а за рендеринг и просчет видимости объекта отвечали библиотеки написанные на неуправляемом С++.
Все выше написанное ИМХО, на объективность не претендует (ну как, я не видел ни одного поста против))). Жду ваших мнений
Личное: очень не хочу менять шарп на С++, но боюсь это необходимо