Ci sono molte buone scelte. (Insegno a CS1 e CS2, nonché alla programmazione di giochi.) Innanzitutto, ovviamente, impara a pensare come uno scienziato informatico. Non rimanere troppo legato alla lingua, perché i concetti sono veramente universali.
Java è un linguaggio abbastanza buono, ma costruire un gioco in Java è un po 'noioso. Ci sono alcuni motori interessanti là fuori che rendono il processo un po 'più semplice. Sfortunatamente, può essere doloroso collegare un motore di gioco al tuo strumento di modifica.
Mi piace il motore FANG (purtroppo non posso ancora pubblicare collegamenti ipertestuali, quindi cercalo su Google.) Una parte interessante di questo progetto è l'editor online. Ciò significa che puoi iniziare subito senza dover fare confusione con le impostazioni dell'eclissi.
Non sono davvero un fan di Game Maker. La GUI va bene per le persone che non vogliono imparare a programmare ed è uno strumento di prototipazione decente (ma non eccezionale). Tuttavia, ci sono due cose che non mi piacciono. Innanzitutto, è commerciale. Non è una brutta cosa, ma se ci sono alternative open source gratuite che sono altrettanto buone (e ce ne sono) forse dovresti prima esaminarle. Il problema più grande con Game Maker è il linguaggio di scripting. Alla fine supererai la GUI e vorrai iniziare a scrivere codice. Il linguaggio di scripting in GM è piuttosto ripensante. Dato che sei un CS maggiore, sei (spero) interessato al riutilizzo del codice, all'eleganza, alla chiarezza, all'efficienza e alla modularità. Il linguaggio GM ti deluderà.
Adoro Python e Pygame. (In effetti, ho scritto un libro su di loro. Vedi tutti i miei appunti e video online sul mio sito se vuoi. Sei il benvenuto a quelle risorse, che tu abbia il libro o no.) Python è un bel linguaggio elegante che non è Troppo difficile da imparare (specialmente se sai già come programmare.) Pygame è un wrapper sul popolare motore SDL 2D. In effetti, ho aggiunto un secondo wrapper a pygame per renderlo facile da usare come Flash.
A proposito di Flash, non credo ne valga la pena. (So che non l'hai chiesto) È una buona piattaforma, ma il costo e l'incertezza su come andrà sui dispositivi mobili significa che potrebbe non essere uno strumento di apprendimento eccezionale. (Ho anche scritto un libro sugli sviluppatori di giochi in Flash, ma non insegno più a Flash.)
Ecco alcune altre grandi cose da provare. Ottieni una copia di scratch dal MIT:
scratch.mit.edu
È fatto per i bambini, ma non lasciarti scoraggiare. È uno strumento di gioco e animazione assolutamente incredibile. La programmazione utilizza i riquadri, quindi è facile iniziare. Rimarrai stupito da ciò che puoi farci.
Potresti anche provare Alice da Carnegie Melon www.alice.org L'ultima (terza) edizione è in realtà un'estensione di Java, che utilizza i modelli Sims2.
Sia Scratch che Alice sono gratuiti.
Un altro ottimo strumento da esaminare è Blender
www.blender.org
È uno strumento di modellazione 3D, ma molte persone non sanno che è anche un motore di gioco completo con un'interfaccia di programmazione drag-and-drop. Dopo aver superato le tessere, ha il supporto Python integrato.
Ora sono abbastanza interessato a HTML5 (che è a malapena HTML - È davvero HTML, CSS e JavaScript.) Non è abbastanza lì come ambiente di sviluppo del gioco, ma credo che sarà un grande giocatore. Il mio prossimo libro sarà sullo sviluppo di giochi in HTML5.
Buona fortuna a te e fammi sapere se hai altre domande.