Если вы раньше не программировали игру, я бы порекомендовал вам начать с Python и Pygame. Сам Python очень прост в освоении, если вы уже программист, так что это не будет для вас слишком большим скачком.
С Pygame вы практически не тратите время на написание «клея» или на повседневные мелкие детали, такие как управление окнами и настройка звука - вы почти сразу же будете программировать игровую логику и в самое короткое время будете blit
влево и вправо. Более того, будет очень легко запустить прототип вашей игры, чтобы вы могли начать экспериментировать с механикой - я запрограммировал простой платформер с боковой прокруткой за считанные часы.
Performance
Производительность Python с Pygame, как правило, приличная для простых игр, хотя игры с "плавной прокруткой" могут показывать низкую производительность, особенно на Linux (по моему опыту, по крайней мере - pygame.display.update()
буквально занимало 15-30 мс на кадр на Linux и 4-5 в Windows с дешевой графикой Intel, хотя это было два года назад, а драйвер Intel для Linux в последнее время улучшился). Кроме того, если у вас физический / математический код Psyco может дать вам огромное ускорение (20% - 200% в некоторых случаях), хотя на компьютерах с архитектурой x86 вы будете ограничены 32-битным Python.
Как только вы освоите большую часть игровой логики, если производительность все еще неудовлетворительная, вы можете переключиться на C и SDL. Поскольку вы уже написали игровую логику, вам просто нужно сосредоточиться на работе непосредственно с SDL. Даже это должно быть довольно просто - Pygame внутренне использует SDL, поэтому перевод должен быть относительно простым.
OpenGL
К сожалению, вышеприведенное верно только в том случае, если вы пишете 2D-игру - Pygame практически не помогает OpenGL. Однако я бы не рекомендовал бы начинать программирование игр с OpenGL. Поначалу это может быть довольно трудно понять, поэтому вы столкнетесь с двумя проблемами одновременно - во-первых, вы пытаетесь понять, как получить игровую логику / физику / ай / и т.д. работает, а затем вы пытаетесь понять OpenGL. Стоит в конечном итоге изучить OpenGL, но не для начала - лучше начать с основ и идти оттуда.
Кроссплатформенные соображения
Что касается кроссплатформенности - py2exe (для Windows) и py2app (для Mac) позволяют создавать отдельные исполняемые файлы, содержащие ваши зависимости (включая интерпретатор Python). и Pygame); однако я не думаю, что вы сможете собрать свои исполняемые файлы из среды Linux (вам, вероятно, понадобится заимствовать компьютер под управлением Windows / Mac на несколько минут). Для Linux вы, вероятно, просто распространяли бы .deb, в котором Pygame указана как Зависимость (и Psyco как Рекомендует или Предлагает, если необходимо).