Saya adalah pengembang web C # dan saya ingin mengembangkan keahlian saya dan bersenang-senang saat melakukannya. Saya tahu beberapa dasar-dasar C ++ dan saya ingin menulis mesin game 2d sederhana untuk saya sendiri menggunakan C ++. Apa perpustakaan atau SDK lain yang saya butuhkan dan di mana saya akan menemukan beberapa tutorial dan sumber informasi untuk bergerak maju?
Saya sudah melihat ke XNA dengan C #. Ada banyak sumber daya untuk itu tetapi saya lebih suka menggunakan produk non-Microsoft. Intinya adalah bersenang-senang sambil menjadi programmer yang lebih baik.
Harap dicatat bahwa saya tidak meminta tempat terbaik untuk memulai. Aku hanya meminta sebuah tempat untuk memulai.
Terima kasih atas bantuannya!
Saya akan menyarankan menggunakan SDL . Sudah ada sejak lama sehingga dokumentasi dan dukungannya cukup bagus, dan itu salah satu cara termudah yang saya tahu untuk mendapatkan permukaan gambar di layar. Ini akan memberi Anda latihan menulis kelas dalam C ++ (karena Anda mungkin ingin membungkus banyak panggilan fungsi SDL C) dan juga memberi Anda beberapa pengalaman menggunakan pointer dan referensi dan melakukan beberapa manajemen memori dasar. Mengelola memori Anda sendiri adalah salah satu perbedaan utama antara C ++ dan C #.
sumber
Secara pribadi, saya akan memilih Allegro 5 , karena alasan berikut:
Ini memiliki sistem build berbasis CMake. Ini membuatnya jauh lebih mudah daripada kebanyakan sistem build untuk bekerja pada banyak platform. Ini sepertinya hal kecil, tetapi secara keseluruhan cukup penting. Itu membuat membangun perpustakaan jauh lebih sederhana.
SFML masih dalam fluks yang signifikan. 2.0 adalah perubahan yang cukup besar. Padahal Allegro telah melalui perubahan signifikan dengan versi 5, dan sekarang semua tentang stabilitas.
Ini mencakup modularitas dengan cara yang berbeda dari SFML. Dengan SFML, Anda meminta komponen tertentu, tetapi Anda mendapatkan semuanya. Jika Anda meminta komponen grafis, Anda mendapatkan semua komponen grafik. Dengan Allegro 5, Anda selalu mendapatkan komponen grafis. Tetapi jika Anda tidak ingin menggunakan bitmap loader Allegro, Anda tidak harus; Anda bisa menggunakan milik Anda sendiri.
Ini memiliki dokumentasi yang sangat bagus. SFML menggunakan dokumentasi gaya Doxygen, tetapi bahkan itu cukup sederhana. Sedangkan Allegro 5 lebih komprehensif, dengan fungsi dikelompokkan bersama berdasarkan sistem spesifik yang mereka liput. Ini tidak sempurna, tetapi secara keseluruhan lebih baik.
Mereka cukup pintar untuk tidak mencoba melakukan threading. Dengan C ++ 11 / Boost.Baca baik tersedia secara luas atau hanya sekitar sudut, menggunakan pembungkus utas lainnya bisa lebih dari sekadar bermasalah: bisa berbahaya jika kode Anda berfungsi dengan baik.
sumber
Saya pikir tempat yang fantastis untuk memulai adalah LazyFoo . Ini akan membuat Anda bangun dan berjalan dengan SDL lebih cepat daripada tempat lain yang pernah saya lihat. Saya akan merekomendasikan dengan cepat masuk ke OpenGL (segera setelah Anda dapat melakukannya) karena Anda akan mendapatkan lebih banyak untuk pemrograman dolar Anda - dengan akselerasi perangkat keras. Jika Anda pergi dengan rute itu, saya merekomendasikan Panduan ini .
sumber
Saya akan merekomendasikan SFML jika Anda menggunakan c ++. Ini akan memberi Anda sesuatu di layar dengan cepat dan menggunakannya dengan kode permainan c ++ Anda langsung.
sumber
Mempertimbangkan OpenGL mempercepat sisi 2D hal-hal saat ini, tidaklah penting untuk memiliki akses ke peranti lunak cepat yang dimiliki Allegro dan SDL (atau ada dalam versi sebelumnya). Namun ketika saya memilih perpustakaan saya fokus pada kematangan proyek, basis pengguna dan dokumen lebih dari kecepatan (selama kecepatan masuk akal), dan saya akan mengatakan SDL dan Allegro menang di bidang itu. SDL juga telah merilis tiga judul AAA seperti Civ: Call to Power.
sumber