Benim aklımda bir oyun fikri var ve bunu gerçekleştirmek için java öğreniyorum, ama biraz tereddüt ediyorum, çünkü; piyasada java ile yazılan bilgisayar oyunu az. Benim bildiğim Notch'un yaptığı 2 büyük jaa oyunu Minecraft ve Wurm Online, başka varsa ben bilmiyorum. 2 side grafik anlamında biraz kötüler ama grafik ayrı bi konu olduğu için java ile bi bağlantısı olduğunu düşünmüyorum. 2 side oynayış bakımından çok güzel.Zaten hala Java öğrenmemin nedeni Notch.

Ama cidden merak ediyorum, niye büyük oyun şirketleri Java kullanmıyor.

soruldu: 23 Nis '14, 09:13

Gibrindy's gravatar image

Gibrindy
141101418
cevap kabul oranı: 0%

değiştirildi: 23 Nis '14, 12:37

Android'e oyun yzacaksan yine Java kullanıyosun. Bazı tarayıcı oyunları Java Appletler ile yazılıyor. Okey batak filan. Ama masaüstü oyunlarını diyosan bunlar donanımı tam anlamıyla kullanabilmek için C++ ile yazılır. Javada pointer bile yok. Javanın ortaya çıkış amacı farklı.

(23 Nis '14, 19:47) kodmanyagha kodmanyagha's gravatar image

Sorunun cevabı Java veya C++ 'ın mı daha elverişli olduğuyla değil, endüstrinin de facto durumuyla ilgili.

Hemen hemen tüm AAA oyun üreten şirketler, çok şükür Valve hariç, Windows'tan (ve öne çıkan 1-2 konsoldan) başka platformları hedef almıyorlar... Yatırımlarını ve geliştirme süreçlerini çok uzun zamandan beri devam ettirdikleri ve Windows oyun sektörü için güvenli bir liman olması dolayısıyla ne farklı bir geliştirme süreci geliştirmeye, ne Windows için yazdıkları oyunu mesela Linux'a port etmeye, ne de başka bir programlama diline yatırım yapmaya ihtiyaç duymuyorlar.

Durum böyle olunca Java'ya AAA oyun dünyasında pek ihtiyaç duyulmuyor. Bu de facto durum, bunun böyle gelmiş böyle gidiyor olmasının başka nedenleri de vardır muhakkak. Java ekosisteminde açık kaynak kütüphanelerin yoğun olarak kullanılması, mevcut grafik kütüphanelerinin endüstri standartını ne kadar yakalayıp yakalayamadığı daha önemlisi Java için mainstreamin dışında kalan bir konu olan oyun programcılığı konusunda profesyonel desteğin kısıtlı olması vs.

Notch ve benzeri tarzda oyun geliştirenler de ise durum biraz farklı. Onlar zaten AAA geliştiricilerden ayrı değerlendirilir; Indie developer deniyor onlara. 3-5 insanın emeğiyle, kısıtlı bir kadro ve bütçeyle (belki sıfır bütçeyle) ortaya çıkan oyunlar başbaşka bir mevzuu. Onlar görülebildiği gibi pekala Java kullanabiliyorlar. Demek ki Java ile oyun geliştirmek imkansız veya mantıksız değil. Minecraft'ın satış rakamlarından bunu görebilirsiniz.

Fakat hepsinden önemlisi, programlama dilleri olsun, geliştirme sürecince kullanılacak araçlar olsun, hepsi birer araçtır. Önemli olan, doğru yerde doğru aleti doğru iş için kullanabilmek. Pragmatist bir yaklaşım yolun başındaki birisi için çok faydalı olacaktır. Bir AAA geliştirici için mantıklı olmayan Notch için mantıklı olabilir.

permanent link

cevaplandı: 24 Nis '14, 04:29

Dkyc's gravatar image

Dkyc
1.6k1920
cevap kabul oranı: 29%

Neden - oy kullanıldığını öğrenmem mümkün mü?

(24 Nis '14, 04:53) Dkyc Dkyc's gravatar image

-1 olarak kalmasın diye.

(24 Nis '14, 08:54) Gibrindy Gibrindy's gravatar image

Minecraftin optimizasyon,güçlü sistemlerde bile kasmasi,oyunun anlamsız yerlerde rami şişirmesi Java dilinden kaynaklanıyor,aynı oyun c++ ile geliştirilen idi eminim çok daha stabil ve performanslı olurdu. Java piyasa dilidir amacı kısa zamanda çabuk programlar yazilmasidir,en basiti javada pointer yoktur,bu yüzden uzman programcıları sınırlar,işletim sistemi ile güçlü bağlantılar kurmanız izin vermez.

(07 Nis, 17:07) ShooterLens ShooterLens's gravatar image

Katılmıyorum, C,C++ taki pointer yapısı makineye yakınlık java da olmadığı için , aslda bu dillerde yazıldığı kadar performanslı oyunlar yazılamaz, gerek te yoktur bunu zorlamak boşuna bir uğraştır kendi fikrim

(08 Nis, 04:38) ibrahim472 ibrahim472's gravatar image

-Çok ağır grafiklerle Java ile nasıl başa çıkacaksınız?

-Oyunun kaynağını nasıl saklayacaksınız? Java ile yazılmış uygulamalar kolaylıkla kaynak kodlarına dönüştürülebiliyor diye biliyorum, asm ile uğraşmadan.

  • Hiçbir konsolun JVM desteği yok? Konsollara nasıl oyun yazacaksınız? Android de bile oyun yazarken NDK baya fazla kullanılıyor.

  • Donanıma direkt ulaşamadıktan sonra, Java, çok büyük projelerde kullanılmayacaktır. EA, Ubisoft, Valve ve diğerleri her zaman C++ kullanacaklar.

  • C++ ile karşılaştırınca Java nın performansı çok kötü.

  • Büyük oyun şirketlerinin ilanlarına bakarsak herşey netleşir aslında. Bu adamların işine Java gelse, bir an durmaz geçerler. Ama ilanlarda C++, Python, Lua ağırlıklı. Neden Java pek yok?

Not: Java yı severim. Amacım dil savaşı değil. Ama nasıl ki C++ ile web uygulamaları yazabilecekken C++ kullanmıyorsak, Java ile de hobi oyun yazılabilir ama C++ bu alanda kraldır.

permanent link

cevaplandı: 24 Nis '14, 04:54

kagan's gravatar image

kagan
1.2k61323
cevap kabul oranı: 7%

değiştirildi: 24 Nis '14, 05:05

Ağır grafikli bir planım yok. Neden saklıyım ki eğer birinin ihtiyacı varsa seve seve kodları veririm zaten. Eğer benim kodlarımı biraz değiştirip oyun yaparsa telif hakları denilen birşey var. Açıkçası konsol için yapmayı pek düşünmüyorum. Donanıma ulaşamaması benim gibi çaylaklar için o kadarda kötü değil. Javanın performansı c++ tan daha kötü olabilir ama c++ ta cöp toplayıcısı yok. Son olarakta benim sorduğum soru zaten bu.

(24 Nis '14, 06:27) Gibrindy Gibrindy's gravatar image
-5

Minecraft Java ile yazılmışta, keşke yazılmasaymış. Kendimden bir örnek vereyim: Benim bilgisayar en son oyunları hiç takılmadan açabiliyor. Ama Minecraft 'da "görüş alanı" diye bir seçenek var ayarlarda. Bu ayarı 16 ya getirdiğimde oyun takılmaya başlıyor. Ve her taraf masmavi oluyor. Nedeni nedir sence? Bir tarafta Battlefield 4 gibi oyunları takılmadan açan bilgisayar, diğer tarafta Battlefield ile kıyaslanamayacak derecede küçük oyunda takılıyor, kasmalar yaşanıyor.

Oyun sektöründe neden Java kullanılmıyor sorusuna onlarca cevap verilebilir. Yukarıda anlattığım benim durumum, olayı özetlemiştir belki.

permanent link

cevaplandı: 24 Nis '14, 03:26

kagan's gravatar image

kagan
1.2k61323
cevap kabul oranı: 7%

değiştirildi: 24 Nis '14, 03:27

Bu durum Minecraft'ın voxel tabanlı bir oyun olmasıyla alakalı, Java ile yazılmış olmasıyla değil.

(24 Nis '14, 04:04) Dkyc Dkyc's gravatar image

Javayla yapılmış hangi oyunu oynadıysam kastı.

(24 Nis '14, 04:24) kagan kagan's gravatar image
1

Minecraft ve java ile yazılmış diğer oyunları denedim, bende kasmadı. Bunun sebebi sistem farkı olabilir.ayrıca minecraftı hafife alma cidden büyük bi haritası var.

(24 Nis '14, 05:07) Gibrindy Gibrindy's gravatar image
1

Doğru söyleyeni 9 köyden eksilerlermiş :) Java fanboyluğuna gerek yok,Java oyunlar için hantal bir dildir. Hak bildiğim yolda yürürüm, gelin doğru söylediğim için benide eksileyin :)

(07 Nis, 17:24) ShooterLens ShooterLens's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1,076
×2

Soruldu: 23 Nis '14, 09:13

Görüntüleme: 1,884 kez

Son güncelleme: 08 Nis, 04:38

powered by BitNami OSQA