Beberapa tahun yang lalu, jika Anda menulis dalam C dan beberapa himpunan bagian dari C ++ dan menggunakan cukup banyak abstraksi platform (melalui SDL atau apa pun), Anda dapat berjalan di setiap platform yang bisa dicapai oleh indie - Linux, Windows, Mac OS dari berbagai versi , hal-hal yang tidak jelas seperti BeOS, dan konsol terbuka seperti GP2X dan Dreamcast paska kematian. Jika Anda mendapat kontrak untuk platform tertutup di beberapa titik, Anda dapat mem-port game Anda ke platform itu dengan perubahan kode "minimal" juga.
Hari ini, pengembang indie harus menggunakan XNA untuk masuk ke Xbox 360 (dan telepon Windows yang akan datang); tidak boleh menggunakan XNA untuk bekerja di tempat lain selain Windows; sampai saat ini harus menggunakan Java di Android; Flash tidak berjalan di ponsel, HTML5 tidak berfungsi di IE. Tidak seperti misalnya DirectX vs OpenGL atau Windows vs. Unix, ini adalah perubahan pada bahasa inti tempat Anda menulis kode dan tidak dapat ditulis tanpa, pada dasarnya, menulis kompiler. Anda dapat memindahkan beberapa logika permainan ke dalam skrip dan menyertakan juru bahasa - kecuali jika Anda tidak bisa, karena iPhone SDK tidak mengizinkannya, dan kinerjanya akan menurun karena tidak ada yang mengizinkan JIT.
Jadi apa yang dapat Anda lakukan jika Anda menginginkan game portabel yang benar-benar cross-platform, atau bahkan hanya mesin dan kode logika yang signifikan?
Apakah ini bukan masalah karena platform secara fundamental menyimpang - hanya saja tidak ada gunanya mencoba menargetkan iPhone dan Xbox 360 dengan kode bersama apa pun karena permainan seperti itu akan buruk? (Saya menemukan ini sangat tidak mungkin. Saya dapat dengan mudah melihat ingin berbagi permainan antara ponsel Windows Mobile dan Android, atau Xbox 360 dan iPad.) Apakah antarmuka sangat tinggi sekarang sehingga waktu porting dapat diabaikan? (Saya mungkin percaya ini untuk aplikasi bisnis, tetapi tidak untuk game dengan persyaratan kinerja yang ketat.)
Apakah ini akan menjadi lebih menonjol di masa depan? Apakah perpecahan akan menjadi, agak serampangan, masih di jalur vendor? Akankah kita semua bergantung pada middleware tingkat tinggi seperti Flash atau Unity untuk menyelesaikan semua cross-platform?
tl; dr - Apakah porting masalah, apakah itu akan menjadi masalah yang lebih besar di masa depan, dan jika demikian bagaimana kita menyelesaikannya?