Saya tidak punya preferensi terhadap Ruby (atau Python), saya sendiri orang Jawa. Tapi jawaban UnknownDevice tentang bagaimana Ruby entah bagaimana "tidak benar-benar untuk game" dan Python, membuat saya frustrasi. Saya berharap dia akan mengklarifikasi.
Saya tahu Pygame ada dan telah ada, dan saya menyadari bahwa Python memiliki basis pengguna yang lebih besar daripada Ruby. Tapi jujur saja, tak satu pun dari mereka yang tampak seperti bahasa "untuk game". Java juga tidak, dan itu bahasa pemrograman game pilihan saya. (dan ketika saya mengatakan "pilihan", saya maksudkan dengan pilihan , bukan karena itu yang diajarkan di sekolah atau karena itu adalah sesuatu yang saya "tahu"). Dan sungguh, apa bahasa "untuk game"? Nah, kecepatan adalah faktor, dan jelas itu harus memiliki perpustakaan untuk grafik dan sistem permainan lainnya (audio, input, dll).
Sejauh kecepatan berjalan, tampaknya menjadi pertarungan antara Ruby dan Python. Lakukan beberapa pencarian dan Anda akan dengan cepat menemukan tolok ukur dan argumen untuk kedua sisi spektrum, dan berbagai konfigurasi yang menempatkan satu atau yang lain di depan. Python dengan sesuatu yang disebut "Psycho" tampaknya merupakan demon speed yang populer dibandingkan dengan Ruby, namun Python biasa tampaknya sedikit lebih lambat daripada Ruby. Pada akhirnya, jika Anda memilih bahasa tingkat tinggi seperti itu, Anda jelas tidak peduli dengan kecepatan asli; ikuti bahasa yang paling Anda ketahui. Dan jelas Anda tahu Ruby terbaik, jadi saya mendorongnya!
Faktor lainnya adalah apakah teknologi itu ada untuk membuat game; apakah itu dapat mendukung menggambar ke layar dan mengumpulkan input dan memutar audio. Ruby dapat melakukan semua ini. Sebenarnya ada sejumlah opsi yang baik dalam hal ini. Ada paket ruby-opengl di RubyForge yang akan memberikan dukungan OpenGL ke Ruby (atau mungkin disertakan secara default?). Atau, Chingu menyediakan "grafis 2D 2D yang dipercepat OpenGL cepat!" sesuai dengan berandanya; itu membangun fitur tambahan di atas Gosu , yang dapat Anda pilih untuk digunakan jika Chingu terlalu banyak untuk Anda. Atau untuk grafik 3D, jika Anda tidak ingin menggunakan ruby-opengl, coba G3DRuby , "satu set kelas pembungkus yang sangat bersih untuk banyak fitur OpenGL yang lebih canggih". Sana'Rubygame , yang saya tidak dapat menemukan banyak informasi tentang tetapi mengklaim sebagai "perpustakaan multimedia lintas platform" dan diberi nama, harus memiliki penekanan pada pengembangan game. Jika Anda terbiasa dengan pustaka SDL populer untuk C ++, ada Ruby / SDL atau RUDL , keduanya merupakan pembungkus Ruby dari SDL. Atau jika Anda lebih suka yang lebih baru, lebih berorientasi objek SFML , juga tersedia untuk Ruby!
Tidak ada alasan bahwa Ruby seharusnya kurang dari bahasa pemrograman game daripada Python; jika ada, saya benar-benar ingin mendengarnya sehingga saya bisa membantahnya. Jika Anda merasa pemrograman paling nyaman di Ruby, dan Anda mengetahui pro dan kontra dibandingkan dengan bahasa populer lainnya, maka tentu saja Anda dapat mengembangkan game di Ruby!
http://gafferongames.com/2009/01/11/ruby-is-not-at-all-suitable-for-game-development/
URL mungkin sedikit spoiler.
tl; dr: pengumpul sampah yang naif adalah masalah nyata.
sumber
Tidak ada alasan mengapa Anda tidak bisa. Selama ada dukungan multimedia untuk suatu bahasa, maka itu bahan gamedev. Heck, sebagian besar dari salah satu permainan Rollercoaster Tycoon dilakukan dengan tangan di ASM.
sumber
Meskipun saya tidak terbiasa dengan banyak pekerjaan spesifikasi mendalam seputar Ruby, Enterbrain menciptakan program pembuatan game RPG Maker VX dan RPG Maker XP yang menggunakan skrip game berbasis Ruby: http://www.rpgmakerweb.com/
Ini sebenarnya adalah penyelaman pertama saya ke dalam bahasa ini. Seperti yang dikatakan kebanyakan orang, Anda mungkin tidak akan mendapatkan kinerja tinggi dari bahasa lain, tetapi jika Anda ingin memulai RPG 2D (atau game 2D lainnya, sebenarnya), itu mungkin salah satu editor game paling canggih di luar sana untuk membantu.
sumber
Ruby adalah bahasa yang baik, tapi jujur itu bukan untuk game. Jika Anda tidak ingin menggunakan C ++ tetapi ingin sesuatu seperti Ruby, periksa Python. Untuk kerangka kerja Python yang bagus, Anda harus memeriksa sesuatu seperti www.cocos2d.org/.
sumber
Tergantung jenis permainan yang Anda minati. Saya telah menggunakan ruby untuk menulis klien AI untuk beberapa permainan, termasuk Diplomasi , poker, dan Kota Hilang . Saya menemukan itu bahasa yang sangat ramah untuk bereksperimen dengan cepat dengan konsep yang berbeda. Di sisi lain, saya tidak ingin menggunakannya untuk menulis penembak waktu nyata - hanya saja tidak akan memiliki kinerja yang saya butuhkan.
sumber
Pertanyaan Anda terlalu umum. Apakah Anda hanya ingin menulis beberapa game komputer sebagai proyek hobi atau apakah Anda ingin masuk ke pengembangan game indie / profesional? Apakah akan memiliki grafik? Di platform mana ia seharusnya dijalankan?
Secara umum, Ruby cocok untuk proyek hobi (BTW game Ruby favorit saya adalah Ruby Warrior ) dan untuk pengembangan game berbasis web seperti Farmville. Bahkan ada permintaan tertentu untuk programmer seperti itu, cobalah untuk google sesuatu seperti: "game sosial programmer ruby".
Di sisi lain, jika Anda ingin mengembangkan game berbasis desktop atau mobile dengan grafis, Ruby bukanlah pilihan terbaik. Mempertimbangkan:
sumber
Jangan berharap untuk menulis game 3D yang berkinerja tinggi, profesional, komersial, dengan Ruby, tetapi Ruby adalah bahasa yang hebat untuk digunakan saat mempelajari konsep pengembangan game.
Gosu adalah perpustakaan yang paling populer (dan dipelihara secara aktif) untuk menulis game 2D di Ruby. Ini memiliki pustaka C ++ yang mendasarinya yang digunakan untuk meningkatkan kinerja dan berinteraksi dengan pustaka rendering tampilan yang mendasari seperti OpenGL.
Sejauh kinerja berjalan, implementasi Ruby "default" (MRI) akan berfungsi dengan baik (saya sarankan Ruby 2.0 terbaru untuk kinerja terbaik) tetapi ada implementasi alternatif yang memiliki thread asli dan algoritma pengumpulan sampah alternatif seperti Rubinius, JRuby, dll. Jika Anda menggunakan utas, Anda mungkin ingin mencoba Rubinius, jika tidak, MRI Ruby akan berfungsi dengan baik.
sumber
Saya mengatakan Python karena memiliki basis pengguna yang lebih besar dan lebih banyak pilihan ketika datang ke kerangka kerja / perpustakaan untuk pengembangan game. Cukup jelas bahwa orang ini tidak memiliki pengalaman dalam pengembangan game sehingga tidak masuk akal bagi saya untuk merekomendasikan bahwa mereka menggunakan sesuatu seperti Ruby hanya karena itu mungkin.
Ketika saya mengerjakan game yang saya gunakan C ++ dengan Lua, saya tidak pergi dan menulis game saya di Visual Basic hanya karena memiliki dukungan media. Saya yakin semua orang di sini telah mendengar seseorang mengatakan alat tertentu untuk pekerjaan tertentu. Saya yakin Anda dapat memalu paku dengan sepatu, tetapi mengapa Anda melakukan itu ketika Anda bisa menggunakan palu.
sumber