ini adalah posting yang merinci pencarian saya untuk cara yang paling menyenangkan bagi seorang programmer game hobbyist untuk mempermanis waktu luangnya dengan membuat game.
Persyaratan saya: Saya melihat Flash dulu, saya membuat beberapa game kecil tapi saya ragu dengan kinerjanya. Saya ingin membuat game strategi yang cukup besar, dengan beberapa ratus unit bertarung secara bersamaan, termasuk ledakan dan animasi. Juga peta yang dapat diperbesar. Saya melihat Adobe memiliki API 3D baru untuk Flash, tetapi saya tidak tahu apakah itu meningkatkan kinerja 2D juga, saya tidak dapat menemukan apa pun yang terkait dengan pertanyaan itu pada sesi MAX10 mereka. Apakah Anda mengatakan bahwa Flash adalah teknologi yang baik untuk membuat game 2D besar dengan mudah? Saya sangat suka Actionscript, dan saya suka betapa mudahnya semuanya di Flash. Ada beberapa mesin yang tersedia yang membuatnya lebih mudah.
Saya hanya melakukan ini untuk bersenang-senang, dan akan lebih baik lagi jika ada animasi / editor partikel yang tepat tersedia dan jika mesin yang saya gunakan, akan tersedia untuk berbagai platform. (sehingga lebih banyak orang dapat memainkan game saya setelah selesai). Saya juga ingin tersedia di banyak platform seluler. (karena saya suka input sentuhan untuk beberapa alasan)
Saya tahu kerangka kerja XNA dengan cukup baik, tetapi tidak ada mesin yang baik untuk itu, dan itu hanya akan berjalan pada Windows, yang merupakan mematikan besar. Yang lebih besar adalah, Anda harus menginstal XNA yang dapat didistribusikan kembali setiap kali Anda ingin memberikan gim tersebut kepada seseorang. Jika saya menggunakan XNA, saya harus membuat semua alat sendiri, dan saya mungkin harus membuatnya dengan WPF. (Saya ingin membuat alat dengan Adobe AIR, tapi sayangnya API untuk manipulasi gambar dll. Jauh lebih buruk di Flash, daripada di XNA / WPF.) Sekarang, saya sadar bahwa saya bisa membuat mesin sendiri yang mendukung masing-masing platform tersebut, tetapi sejujurnya, itu akan menjadi pekerjaan yang terlalu banyak membajak melalui API. Lagi pula, saya ingin membuat game, bukan mesin.
Jadi pertanyaannya menjadi: Apakah mungkin ada platform lintas (gratis atau gratis untuk dikembangkan?) Mesin yang tersedia yang dapat saya gunakan untuk pengembangan 2D? Saya lebih suka: C #, Actionscript. Saya tidak keberatan menggunakan c ++ jika toolset di atas rata-rata, tapi saya sangat ragu bahwa ada sesuatu di luar sana seperti itu. Tolong buktikan saya salah :) Jadi ringkasan: Saya ingin menggunakan Flash, tapi saya tidak tahu apakah itu cukup baik. Saya bukan seorang penulis naskah, saya ingin beberapa API nyata yang dapat saya gunakan di dalam IDE yang tepat.
Sekedar informasi, saya melihat beberapa alternatif, saya sebenarnya sudah lama mencari. Anda akan banyak membantu saya untuk membuat keputusan akhirnya.
Dari segi fitur, mesin Flatredball akan ideal. Tetapi saya mencoba alat mereka, dan sejujurnya, itu mengerikan. Benar-benar tidak dapat digunakan, saya harus membuatnya sendiri. Saya tidak melihat API mereka, tetapi jika alat mereka sangat buruk, saya tidak cenderung untuk melihat lebih jauh.
Unity3D. Yang ini cukup bagus, tapi saya benar - benar tidak perlu 3D , dan itu cukup ... banyak pekerjaan untuk dipelajari. Saya juga tidak suka bahwa itu sangat mahal untuk digunakan untuk platform yang berbeda dan saya hanya bisa kode untuk itu melalui scripting. Anda harus membeli setiap platform secara terpisah. Kegunaan editor adalah rata-rata, keseluruhan produk cukup baik untuk sebagian besar tujuan, tetapi mempelajarinya sendiri akan berlebihan.
3D Siwa. Ini terlihat cukup bagus, tetapi sekali lagi: Saya tidak benar-benar membutuhkan 3D. Kegunaan editor sedikit lebih buruk daripada Unity3D menurut saya dan tidak jelas bagi saya bagaimana memulai pemrograman. Saya pikir ini membutuhkan C ++ untuk pengkodean, jadi itu negatif juga. Saya ingin bersenang-senang, dan c # menyenangkan;)
SDL. Sejujurnya, saya masih perlu port ke semua implementasi SDL yang berbeda. Dan saya tidak suka pemrograman gaya OpenGL, itu hanya jelek. Dan perlu c ++, saya tahu bahwa mungkin ada beberapa pembungkus yang tersedia, tetapi saya tidak suka menggunakan pembungkus, karena ...
Irrlicht. Banyak fitur, tetapi dukungan tampaknya rendah dan ditujukan untuk penggemar. Binding C # dijatuhkan berulang kali. Saya bukan penggemar mesin, saya hanya ingin membuat game. Saya tidak melihat ini terjadi dengan Irrlicht.
Ogre3D. Terlalu banyak pekerjaan, itu hanya mesin grafis. Juga tidak ada banyak dukungan platform dan c ++.
Torsi2D. Biaya sesuatu untuk digunakan, dan saya tidak mendengar banyak hal baik tentang dukungan dan dokumentasi. Juga ada biaya tambahan untuk setiap platform.
sumber
Jawaban:
Pygame adalah favorit saya. Karena pemrograman dengan python berarti Anda akan memprogram dengan cepat dan karena hal-hal 2D cepat dilakukan, pygame akan menyenangkan ...
sumber
Saya telah menggunakan LÖVE untuk beberapa waktu sekarang dan saya sangat menyukainya. Anda harus belajar Lua, tetapi itu adalah sedikit bahasa yang menyenangkan untuk dipelajari. Orang-orang di forum sangat membantu.
sumber
love .
Saya memutuskan untuk menggunakan Flash. API 3D Molehill baru dapat digunakan untuk menggambar sprite 2D dalam ruang 3D jauh lebih cepat juga. Saya tidak melihat alasan mengapa Flash seharusnya tidak cukup cepat untuk permainan yang saya jelaskan sebelumnya. Saya harus membuat alat sendiri, tetapi saya mungkin harus tetap melakukannya. Menggunakan AIR untuk membangun alat juga menurut saya cukup rapi. Flash juga memiliki jangkauan terluas dengan platform, yang keren.
sumber
Coba SFML
sumber
Coba Cocos2d-x . Itu yang saya gunakan untuk pengembangan game indie saya.
Ini adalah platform OpenGL (ES) yang teruji dan benar yang memiliki suara, fisika, dan bahkan sedikit 3D yang telah keluar untuk iPhone untuk sementara waktu sekarang, dan baru saja datang ke platform lain.
sumber
Karena Anda mengatakan Anda menyukai Actionscript tetapi mencari lintas platform, lihat HaXe + NME . HaXe adalah bahasa yang mirip dengan Actionscript, tetapi dapat dikompilasi ke Flash, Javascript, PHP, atau C ++. NME adalah perpustakaan yang mirip dengan perpustakaan grafis Flash, tetapi berjalan pada platform lain juga. Kombinasi ini memungkinkan Anda mengkompilasi ke banyak platform berbeda.
Saya belum menggunakan NME tetapi tes pertama saya dengan HaXe + Molehill (hanya beberapa hari yang lalu) menghasilkan 60fps ketika merender 10.000 spanduk berputar 16x16 di laptop saya. Saya hanya menggunakan HaXe selama beberapa hari dan tidak memiliki pengalaman yang cukup untuk memastikan bahwa itu adalah hal yang tepat untuk Anda, tetapi perlu dicoba.
sumber
Saya pribadi penggemar berat Allegro 5 , tetapi ini adalah API C. Meski begitu, API sederhana yang keluar dari jalan Anda dan menyediakan akses ke:
5.1 juga akan menambahkan dukungan shader.
SDL 1.3 juga terbentuk dengan cukup baik. Sam tampaknya sudah selesai membuat perubahan API utama, dan apa yang sudah ada di dalamnya sudah cukup stabil. Masih ... ini bahkan belum beta, dan Allegro 5.0 dirilis.
Memang, untuk game yang lebih kompleks dan canggih Anda mungkin ingin memasangkan Allegro 5 dengan semacam perpustakaan fisika ( Box2D , misalnya). Namun, Anda bisa mendapatkan jalan yang sangat panjang, dan bersenang-senang, dengan apa yang tidak lebih dari apa yang Allegro 5, pustaka standar C atau C ++, dan kode Anda sendiri.
sumber