Saya ingin membuat game di Java dan ingin itu berfungsi di Windows, Linux, dan Mac. Saya cukup yakin C # adalah pilihan yang buruk untuk ini, dan saya tidak punya cukup pengalaman dalam C atau C ++. Saya ingin menjauh dari Flash. Karena itu, apakah Jawa pilihan yang baik untuk saya? Sebagian besar, saya menggunakan C #, dan berpikir bahwa Java mirip, jadi saya menganggap itu tidak akan sulit untuk dipelajari. Tetapi apakah ini cukup cepat? Apakah ada bahasa yang lebih cocok untuk kebutuhan saya daripada Jawa?
java
game-development
cross-platform
Komunis
sumber
sumber
Jawaban:
Java sangat cocok untuk menulis game lintas platform. Keuntungan utama:
Keputusan utama yang harus Anda ambil adalah kerangka kerja GUI apa yang akan Anda gunakan. Ada beberapa opsi yang berbeda tetapi yang paling menonjol adalah:
Kerugian utama Java untuk bermain game sebenarnya ada di sekitar "kasus tepi" yang mungkin tidak akan memengaruhi Anda tetapi relevan untuk beberapa kelas permainan:
Perhatikan bahwa ada juga beberapa opsi penempatan yang perlu dipertimbangkan:
Akhirnya, ada baiknya mempertimbangkan beberapa bahasa JVM lainnya - ini memiliki semua manfaat dari platform Java yang tercantum di atas, tetapi beberapa menganggapnya sebagai bahasa yang lebih baik daripada Java itu sendiri. Scala, Clojure dan Groovy akan menjadi yang paling menonjol, dan mereka semua dapat menggunakan alat dan perpustakaan Java yang tercantum di atas.
sumber
Minecraft dan Blocks that Matter sama-sama dibangun di Jawa, jadi ya itu bagus untuk membuat game. Masalah utama yang akan Anda hadapi saat menggunakan Java adalah porting ke platform seluler jika Anda memilih untuk pergi rute itu dan menulis aplikasi asli. Android adalah semacam Java SE frankensteined dengan perpustakaan terpisah. Blackberry RIM menggunakan Java ME. Secara teori iOS dapat diprogram dengan Java meskipun Objective-C kemungkinan akan menjadi pilihan yang lebih baik untuk platform itu.
Java sangat mirip dengan C #. Saya sering menemukan kode C # dapat dimengerti meskipun hanya mengetahui Java. Mereka memang memiliki filosofi desain yang berbeda tetapi sejauh dapat digunakan secara luas dengan kerumitan minimal keduanya sesuai dengan tagihan. C # bukan pilihan yang mengerikan untuk gim dengan cara apa pun, meskipun penyebaran seluler Anda akan lebih sulit dan menggunakan platform non-windows akan lebih memakan waktu atau sulit tergantung pada pustaka eksternal spesifik apa dan seterusnya yang akhirnya Anda gunakan.
sumber
Cara yang paling jelas dan paling tidak tahan adalah dengan menggunakan HTML5 + javascript combo. Aplikasi atau game apa pun yang dibuat menggunakan ini akan berjalan di hampir setiap perangkat dan browser.
Keuntungan : - Anda membutuhkan konfigurasi nol untuk membuat game Anda berjalan di berbagai platform dan perangkat.
CATATAN: - Saya telah melihat beberapa game yang dibangun menggunakan teknologi yang disebutkan di atas, tetapi mereka bertubuh lebih kecil. Tapi, saya kira jika seseorang bisa membuat mentega dari susu maka keju bukan tidak mungkin
sumber
Anda dapat menggunakan Scala dan Skema Bigloo di Eclipse untuk menggunakan JVM untuk kode yang ditekankan atau tindakan paralel di dalam game Java Anda.
Dengan Pola Desain dan UML2, Anda juga dapat mengamankan kode dengan OCL, semua ada di Topcased.org.
Menguasai alat-alat itu butuh waktu, tetapi itu adalah latar belakang Java, pangkalan yang akan mendorong Anda ke atas.
sumber
Jawaban singkat: tidak.
Java tidak menghasilkan biner yang dapat dieksekusi tetapi hanya bytecode seperti halnya C # (CLI), dan ini bukan hal yang baik untuk bisnis yang serius di "lingkungan terbuka" karena dua alasan utama:
Tentu saja setiap bahasa memiliki perpustakaan sendiri tetapi karena jumlah yang besar untuk masing-masing dan setiap bahasa ini bukan masalah nyata dan saya tidak berpikir adalah tujuan dari topik ini.
Mungkin pada level profesional Anda dapat menemukan sesuatu yang dapat melanggar aturan seperti dev-Kit yang dapat menerjemahkan semua pernyataan C # menjadi kode perakitan untuk mesin dunia nyata, tetapi jika pendekatan semacam ini tidak ada dalam kartu, Anda secara praksis terpaksa harus pertimbangkan hanya C dan C ++ untuk pengembangan Anda ketika Anda bertujuan untuk menjual produk Anda di lingkungan terbuka.
Hal-hal yang sedikit berbeda untuk perangkat seluler karena mereka adalah "lingkungan tertutup" bahkan Android ditutup secara pratik mengingat fakta bahwa sumber ROM dunia nyata biasanya tidak tersedia untuk umum, Android dapat dianggap sebagai open source tetapi 99 % dari ROM di perangkat aktual tidak. Dalam hal ini Anda tidak bisa berdebat terlalu banyak, semuanya sudah diatur untuk Anda dan setiap platform memiliki bahasa sendiri seperti semua orang tahu.
Pada akhirnya jika Anda akan menjual produk ini di lingkungan yang terbuka saya hanya bisa menyarankan bahasa yang dapat menghasilkan kode kompilasi dan biner / perakitan, di lingkungan tertutup keputusan ini lebih mudah dilakukan karena alasan yang berbeda.
sumber