+1 απο μένα για τη Unity. Δουλεύω αυτή τη στιγμή πάνω σε παιχνίδι για mobile και μπορώ να πω οτι δε μου πήρε πάνω απο μια βδομάδα να τη μάθω (οκ μεγάλο μέρος της), αλλά είχα κάποια εμπειρία σε 3d programming. Δεν είναι τόσο τραγικό το 3d από άποψη μαθηματικών, κατά βάση κυρίως διανύσματα πρέπει να ξέρεις. Το θέμα είναι να φτιάξεις ένα επιτυχημένο worklflow (τι φορματ θα χρησιμοποιήσεις για το εξπορτ των μοντέλων σου για να πάρεις τις ιδιότητες που θέλεις κλπ). Η unity είναι πολύ δυνατή για prototyping και γρήγορη, οπότε φτιάχνεις τη μηχανή και το ομορφαίνεις στη συνέχεια.
Τώρα για 2d δεν ξέρω αν είναι καλή, δε θα έλεγα οτι ειναι το φόρτε της γιατί και ότι 2d έχει φτιαχτεί στην ουσία είναι 3d με κίνηση στις 2 διαστάσεις. Εγώ μόνο για adventure είχα βρει αξιόλογη μηχανή 2d, το visionaire. Επίσης για χρόνια ασχολήθηκα με το dark GDK στην C++ το οποίο έχει καλούτσικη 2d μηχανή.
Αυτά, καλή αρχή και αν έχεις τόση εμπειρία στον προγραμματισμό δε σε φοβάμαι, μια χαρά θα τα πας, και μην το φοβηθείς λίγο διαβασματάκι, καλό κάνει ;)