Есть много хороших выборов. (Я преподаю CS1 и CS2, а также программирование игр.) Прежде всего, конечно, научиться думать, как ученый. Не слишком привязывайтесь к языку, потому что понятия действительно универсальны.
Java - довольно хороший язык, но создание игры на Java немного утомительно. Есть несколько интересных движков, которые делают процесс немного проще. К сожалению, может быть болезненно прикреплять игровой движок к вашему инструменту редактирования.
Мне нравится движок FANG (к сожалению, я пока не могу публиковать гиперссылки, поэтому поищите его в Google.) Одна интересная часть этого проекта - онлайн-редактор. Это означает, что вы можете начать прямо сейчас, не связываясь с настройками затмения.
Я действительно не фанат Game Maker. Графический интерфейс хорош для людей, которые не хотят учиться программировать, и это достойный (но не очень) инструмент для создания прототипов. Однако есть две вещи, которые мне не нравятся. Во-первых, это коммерческий. Это не плохо, но если есть бесплатные альтернативы с открытым исходным кодом, которые так же хороши (и есть), возможно, вам следует сначала изучить их. Большая проблема с Game Maker - это язык сценариев. В конце концов вы собираетесь перерасти GUI и захотите начать писать код. Язык сценариев в GM довольно задом наперед. Поскольку вы являетесь специалистом CS, вы (я надеюсь) заинтересованы в повторном использовании кода, элегантности, ясности, эффективности и модульности. Язык GM разочарует вас.
Я люблю Python и Pygame. (На самом деле, я написал книгу о них. Посмотрите все мои заметки и онлайн-видео на моем сайте, если хотите. Добро пожаловать на эти ресурсы, есть ли у вас эта книга или нет.) Python - хороший элегантный язык, который не ' Это слишком сложно для изучения (особенно если вы уже знаете, как программировать.) Pygame является оберткой на популярном движке SDL 2D. Фактически, я добавил в Pygame второй упаковщик, чтобы с ним было так же легко работать, как с Flash.
Говоря о Flash, я не думаю, что это того стоит. (Я знаю, что вы не спрашивали). Это хорошая платформа, но стоимость и неопределенность в отношении того, как она будет работать на мобильных устройствах, означает, что она может быть не таким уж хорошим инструментом обучения. (Я тоже написал книгу о разработке игр на Flash, но я больше не учу Flash.)
Вот еще несколько замечательных вещей, которые стоит попробовать. Получить копию нуля из MIT:
scratch.mit.edu
Это сделано для детей, но не позволяйте этому оттолкнуть вас. Это абсолютно невероятный инструмент для игры и анимации. В программировании используются плитки, поэтому с ними легко начать. Вы будете очень удивлены тем, что вы можете сделать с этим.
Вы также можете попробовать Алису из Carnegie Melon www.alice.org . Последнее (3-е) издание на самом деле является расширением Java, которое использует Sims2 Models.
И Скретч, и Алиса свободны.
Еще один замечательный инструмент для изучения - Blender
www.blender.org
Это инструмент для 3D-моделирования, но многие люди не знают, что это еще и полноценный игровой движок с интерфейсом программирования методом перетаскивания. После того, как вы переросли плитки, в него встроена поддержка Python.
Теперь я довольно заинтересован в HTML5 (который является всего лишь HTML - это действительно HTML, CSS и JavaScript). Он не совсем как среда разработки игр, но я верю, что он станет крупным игроком. Моя следующая книга будет посвящена разработке игр на HTML5.
Удачи вам, и дайте мне знать, если у вас есть еще вопросы.