Kami berencana mengembangkan game puzzle 2D berbasis grid, dan meskipun masih sangat awal dalam tahap perencanaan, kami ingin membuat keputusan dengan baik sejak awal.
Strategi kami adalah membuat game tersedia untuk sebanyak mungkin platform, misalnya PC (Windows, Mac dan / atau Linux), ponsel (iPhone dan / atau ponsel berbasis Android), konsol game (XBLA dan / atau PSN) PC akan memiliki penekanan, tetapi saya percaya itu adalah platform yang paling fleksibel sehingga seharusnya tidak menjadi masalah.
Jadi, bahasa pemrograman, mesin gim, kerangka kerja dan alat apa saja yang paling cocok untuk tujuan kami?
PS: Saya bertaruh satu set alat tidak akan mencakup SEMUA dari mereka, dan bahwa masih akan ada semacam upaya "menerjemahkan" untuk beberapa platform, tetapi kami ingin tahu apa yang paling jauh jangkauannya.
sumber
Jawaban:
Kami memiliki kerangka kerja C ++ yang tebal di atas lapisan platform yang tipis, juga C ++. Porting game ke platform baru adalah masalah menerapkan lapisan platform baru, yang karena sangat tipis, itu cukup cepat dilakukan.
Juga, semua dependensi kami adalah open source dan lib platform silang, seperti SDL, Ogg, LibPNG, dll.
Sebagai contoh, kami memiliki platform Win32 / DirectX, platform SDL / OpenGL untuk Linux dan Mac, bekerja pada platform iOS untuk iPhone / iPad, dan port android juga dimungkinkan. Untuk beberapa waktu kami memiliki platform Playground, yang berarti kerangka kerja kami berjalan di atas mesin PlayFirst Playground. Pendekatan berlapis ini memungkinkan Anda untuk memanfaatkan antarmuka apa pun yang Anda miliki ke perangkat keras / OS yang mendasarinya, selama Anda dapat menggambar quad bertekstur, mendapatkan beberapa input dan memainkan suara, Anda sudah cukup siap.
Saya akan dinyalakan karena hal ini, tetapi C ++ mungkin adalah bahasa yang paling lintas platform. Setiap arsitektur dan OS yang paling mungkin memiliki kompiler C ++ atau gcc dapat di-porting ke sana.
sumber
Cukup gunakan Unity
sumber
Saya baru tahu tentang NME beberapa hari yang lalu di pertanyaan lain dan berpikir mungkin ada baiknya menyebarkan berita. Mengenai masalah dukungan multi-platform, halaman depan menyatakan sebagai berikut:
Saya belum mengujinya secara pribadi, tetapi menurut saya itu menarik karena berbagai alasan:
Saya tidak punya banyak waktu untuk mencobanya saat ini, jadi jika seseorang melakukannya, akan sangat membantu jika Anda dapat meninggalkan umpan balik tentang hal itu.
sumber
Nah itu tergantung, dapatkah Anda pemrograman dalam C / C ++, Obj-C dan C #?
Unity3D adalah yang terbaik 1 ukuran cocok untuk semua tetapi game 2D di dalamnya dapat sedikit rumit (untuk game 2D pula).
Jika Anda menargetkan Xbox dengan XNA (alias toko indie) maka Anda harus menggunakan C #. Tetapi Anda benar-benar tidak dapat menggunakan C # dengan iOS (kecuali dengan satu). Meskipun Anda dapat menggunakan C / C ++ untuk iOS, Anda masih perlu menggunakan sedikit Obj-C kecuali Anda menggunakan semacam perangkat menengah.
Jika Anda tidak menggunakan mesin, saya pikir hal terbaik yang harus dilakukan adalah menulis lapisan abstraksi Anda sendiri. Sehingga setiap panggilan ke perpustakaan Anda harus melalui lapisan tengah ini, jadi ketika tiba saatnya untuk port Anda hanya perlu mengubah implementasi dari lapisan abstraksi dan kode permainan Anda kurang lebih utuh.
sumber
Jawaban lain telah mencakup alat dan bahasa dengan cukup baik, tetapi di sisi grafis, saya pasti akan merekomendasikan untuk membuat grafik (2D) Anda dalam format vektor dan memastikan bahwa mereka terlihat bagus pada ukuran kecil dan besar. Detail terlalu banyak turun dengan buruk, terlalu detail terlalu kecil.
sumber
Moai SDK adalah kerangka kerja open source dan saat ini dapat menerbitkan ke android, iOS dan chrome. Moai akan dapat diperluas untuk mencakup host seperti konsol game, tergantung pada keahlian dan pengetahuan Anda di bidang-bidang tersebut.
sumber
Saya akan mengatakan pilihan bahasa terbaik Anda adalah c #. Anda dapat menggunakannya untuk berkembang di Unity untuk sejumlah platform. c # juga merupakan bahasa yang digunakan di MonoTouch (untuk pengembangan untuk iOS) dan MondoDroid (belum keluar tetapi akan memungkinkan Anda menargetkan platform Android). Dan, tentu saja, c # dapat digunakan dalam XNA yang memungkinkan Anda menargetkan XBOX 360 dan Windows Phones.
Cukup banyak mencakup semuanya. Masih akan ada pekerjaan yang harus dilakukan dalam kenyataan bahwa Anda akan menggunakan alat yang berbeda untuk memanipulasi konten gim, tetapi logika gim inti Anda tidak perlu diubah jika semuanya ada di c #.
oh dan tentu saja c # digunakan di Silverlight yang akan membiarkan Anda menargetkan web juga.
sumber
Langkah pertama mungkin adalah membuat game, setidaknya prototipe yang layak, menggunakan alat / teknologi favorit Anda, untuk platform tunggal (atau sejumlah kecil platform).
Sangat mudah untuk terjebak dalam pengembangan alat / teknologi lintas platform. Berfokus terlalu banyak pada lintas-platformness sebelum memiliki game adalah semacam optimasi prematur. Ini tentu layak untuk dipikirkan sejak awal, tetapi jangan menghabiskan seluruh waktu Anda untuk itu sampai Anda benar-benar memiliki permainan.
Mencoba untuk mendukung setiap platform sebelum mengetahui apakah game itu akan sukses terdengar seperti strategi berisiko tinggi - terutama jika itu adalah game beranggaran rendah yang sederhana (di mana biaya pengembangan sistem lintas platform bisa jauh lebih besar daripada biaya pengembangan game) diri?).
Tidakkah masuk akal untuk meluncurkannya pada sejumlah kecil platform, melihat seberapa baik itu, dan menentukan apakah layak untuk mendukung platform yang lebih menantang (mis. Sistem yang kurang kuat, yang memiliki perangkat input yang tajam, atau yang membutuhkan lengkap port ke C # atau Java)
sumber
Saya tahu ini tidak populer, tetapi AS3 dengan Starling mungkin menjadi jawaban Anda untuk seluler, desktop, dan web. Ini MENAKJUBKAN dan melakukan dengan cara yang mengejutkan. Saya membuat dan game kinect iOS yang juga berjalan di windows dan android. Tidak ada hal lain yang dapat menangani kebutuhan komputasi dan lintas platform itu. Juga - Anda dapat menghubungkan semua proyek Arduino dengan mulus. Kebanyakan orang tidak memperhatikan apa yang telah dilakukan Adobe terhadap alat pembangun flash / flash pada akhir-akhir ini ....
sumber
Flash dan Java memiliki dukungan yang sangat luas; mereka bekerja pada semua PC (lebih atau kurang) dan banyak perangkat seluler (lebih atau kurang), dan saya yakin mereka mudah untuk port ke konsol seperti proyek lain dengan pengaruh PC.
sumber