• 13-06-2018, 00:05:19
    #1
    Ben şimdi Java altında OpenGL kütüphanesini uğraş alanı edinip baya bi öğrensem (ki inşallah yaparım) güzel olur ama öğrenmeye başlamadan önce sizlere bir kaç sorum olacak,

    1) Bu adını çoğunlukla duyduğumuz opengl kütüphanesi geleceğe yönelik midir, yoksa java,c++,vs.. diller için gündemde daha çok kullanılan ve bu kütüphane ile yapamadığımız şeyleri yapabileceğimiz bir büyük grafik classı , kütüphanesi varmıdır?

    2) Bu kütüphaneyi gündemimizdeki hangi sistemlerde kullanabiliriz? Mesela oyun yapımında kullanılır fakat mario gibi basit oyunlar mı , mesela en gelişmiş neler yapılabilir? daha doğrusu hangi şirketler,oyunlarda grafik k. olarak kullanılmakta (minecraft,gta san andreas, counter strike, sanalika, vs. vs.) yoksa sadece basit flash oyunlarında mı işe yarar?

    3) Öğrendiğimizde yapamayacağımız , geleceğe yönelik olmayan bir şey var mıdır? 1.soruda üstünden geçtiğim gibi .. mesela bu kütüphane ile şu , bu yapılmaz. Oyunlardaki şu özelliği bu kütüphane ile yapamazsın, vs. diyebileceğiniz?

    ek olarak ek bilgisi olanlar bu konuda genel bilgi verirse sevinirim?
  • 13-06-2018, 00:37:39
    #2
    opengl ile grafik anlaminda ne gorduysen onlari hatta daha gelismisini yapabilirsin ama cok zor olur
  • 13-06-2018, 00:45:14
    #3
    Temelde, iki adet Grafik Kütüphanesi vardır. Birincisi D3D yani DirectX 3D, diğeri ise OpenGL'dir. Bu kütüphanelerden hangisini kullanacağınız size kalmış. Fakat oyun için ise, D3D daha kaliteli render sağlıyor, onu kullanmanız önerilir. Fakat GUI (Graphics User Interface) yapacaksanız basitlik açısından OpenGL tercih edilir. Fakat, GUI için halihazırda C++ ve Java kütüphaneleri var. Onların API'lerine aşina almanız yeterli olur. Eğer oyun içinse, böyle zahmetlere hiç girmeyin derim. Bir oyunu sadece Programlama Dili ve en temel grafik hammaddesi olan Grafik Kütüphanesi ile yazmaya kalkarsanız. Sizin, oyun motorlarının sağladığı birçok şeyi sıfırdan yazmanız gerekmektedir ki, oyun motorları üst düzey yazılımlardır ve içlerindeki kodların sayısı ve şeması düşünülemez bile. Her şeyden öte, çok iyi bir fizik bilgidine ihtiyacınız var. Çünkü oyunlar, fizik üzerine kuruludur. Yer çekimini veya vektörleri iyice bilmeden oyun motoru yapmanız çok çok zorluk çıkarır. Kaldı ki, kendi render motorunuzu kullanmanız veya entegre etmeniz gerekecektir. Üstüne, en zor kısımlarından olan ışıklandırma yanı ışıkların yansıması, frekansları vessire bunlar hepsi fizik biliminin içine giren şeyler. Bunları sıfırdan yapabilecek delikanlı yok kendi başına, olsa bile zahmete gerek yok oyun motorları var. Aynı işi yapıyorlar senin yerine. Oyun motorunun kullanımına, API'sine yani dokümantasyonuna ve oyun moturunun kullandığı dile hakim olsanız yeterli. Biraz da girerken, giriş seviyesinde ufak şekilde sizlere fizikten bahsederler, vektörler ve dimensions olarak yani boyutlardan. Belki, biraz da yansıma, frekans ve yer çekimi...
  • 13-06-2018, 00:51:56
    #4
    n3pix adlı üyeden alıntı
    Temelde, iki adet Grafik Kütüphanesi vardır. Birincisi D3D yani DirectX 3D, diğeri ise OpenGL'dir. Bu kütüphanelerden hangisini kullanacağınız size kalmış. Fakat oyun için ise, D3D daha kaliteli render sağlıyor, onu kullanmanız önerilir. Fakat GUI (Graphics User Interface) yapacaksanız basitlik açısından OpenGL tercih edilir. Fakat, GUI için halihazırda C++ ve Java kütüphaneleri var. Onların API'lerine aşina almanız yeterli olur. Eğer oyun içinse, böyle zahmetlere hiç girmeyin derim. Bir oyunu sadece Programlama Dili ve en temel grafik hammaddesi olan Grafik Kütüphanesi ile yazmaya kalkarsanız. Sizin, oyun motorlarının sağladığı birçok şeyi sıfırdan yazmanız gerekmektedir ki, oyun motorları üst düzey yazılımlardır ve içlerindeki kodların sayısı ve şeması düşünülemez bile. Her şeyden öte, çok iyi bir fizik bilgidine ihtiyacınız var. Çünkü oyunlar, fizik üzerine kuruludur. Yer çekimini veya vektörleri iyice bilmeden oyun motoru yapmanız çok çok zorluk çıkarır. Kaldı ki, kendi render motorunuzu kullanmanız veya entegre etmeniz gerekecektir. Üstüne, en zor kısımlarından olan ışıklandırma yanı ışıkların yansıması, frekansları vessire bunlar hepsi fizik biliminin içine giren şeyler. Bunları sıfırdan yapabilecek delikanlı yok kendi başına, olsa bile zahmete gerek yok oyun motorları var. Aynı işi yapıyorlar senin yerine. Oyun motorunun kullanımına, API'sine yani dokümantasyonuna ve oyun moturunun kullandığı dile hakim olsanız yeterli. Biraz da girerken, giriş seviyesinde ufak şekilde sizlere fizikten bahsederler, vektörler ve dimensions olarak yani boyutlardan. Belki, biraz da yansıma, frekans ve yer çekimi...
    teşekkürler açıklayıcı olmuş.
  • 13-06-2018, 00:54:34
    #5
    BatuhanKZ adlı üyeden alıntı
    teşekkürler açıklayıcı olmuş.
    Rica ederim
  • 13-06-2018, 01:55:09
    #6
    n3pix adlı üyeden alıntı
    Rica ederim
    yardımcı olabilirsen sevinirim , internete bir başlangıç için "netbeans" ın kütüphanesine eklemek için kütüphaneyi indireyim dedim ve 2 farklı OpenGL çeşitimi nedir artık , 2 farklı tür çıktı;
    Ekran resmi: http://prntscr.com/ju8o5z

    örnek olarak JOGL indirdim (java-open-graphic-library) olanı ve şöyle bir importlamasını gördüm;
    import com.jogamp.opengl.*;
    import com.jogamp.opengl.awt.GLCanvas;

    böyle gördüm ama birde diğer kütüphane türü olan LWJGL - Lightweight Java Game Library olanı gördüm, galiba kullanım kodları farklı? (doğrumudur?)

    ikisinin farkını çözemedim, herhangi bir kütüphane türünü indirsem ve googleden açtığım herhangi bir opengl dersinde kullanılan kodlarda farklılık olur mu?
    mesela JOGL kütüphanesini projeme ekledim, ama internetten açtığım bir derste adam projesine LWJGL kullanarak başlamış anlatmaya, bir fark olur mu?

    böyle bir farklılık olabileceğini düşündüm çünkü bir ders açtım ve import kodlarını adam şöyle yapmış;
    import javax.media.opengl.GL;
    import javax.media.opengl.GLAutoDrawable;
    import javax.media.opengl.GLCanvas;
    import javax.media.opengl.GLEventListener;
    import javax.media.opengl.glu.GLU;
    yani ben JOGL kütüphanesini ekleeyip başladım ama adam importları bu şekilde yapmış ..

    Yani importları farklı şekilde yapsak ta, veya farklı yerden indirirsek te kodlar aynı olur mu, kodlarımız farklı olur mu?



  • 13-06-2018, 02:08:05
    #7
    BatuhanKZ adlı üyeden alıntı
    yardımcı olabilirsen sevinirim , internete bir başlangıç için "netbeans" ın kütüphanesine eklemek için kütüphaneyi indireyim dedim ve 2 farklı OpenGL çeşitimi nedir artık , 2 farklı tür çıktı;
    Ekran resmi: http://prntscr.com/ju8o5z

    örnek olarak JOGL indirdim (java-open-graphic-library) olanı ve şöyle bir importlamasını gördüm;
    import com.jogamp.opengl.*;
    import com.jogamp.opengl.awt.GLCanvas;

    böyle gördüm ama birde diğer kütüphane türü olan LWJGL - Lightweight Java Game Library olanı gördüm, galiba kullanım kodları farklı? (doğrumudur?)

    ikisinin farkını çözemedim, herhangi bir kütüphane türünü indirsem ve googleden açtığım herhangi bir opengl dersinde kullanılan kodlarda farklılık olur mu?
    mesela JOGL kütüphanesini projeme ekledim, ama internetten açtığım bir derste adam projesine LWJGL kullanarak başlamış anlatmaya, bir fark olur mu?

    böyle bir farklılık olabileceğini düşündüm çünkü bir ders açtım ve import kodlarını adam şöyle yapmış;
    import javax.media.opengl.GL;
    import javax.media.opengl.GLAutoDrawable;
    import javax.media.opengl.GLCanvas;
    import javax.media.opengl.GLEventListener;
    import javax.media.opengl.glu.GLU;
    yani ben JOGL kütüphanesini ekleeyip başladım ama adam importları bu şekilde yapmış ..

    Yani importları farklı şekilde yapsak ta, veya farklı yerden indirirsek te kodlar aynı olur mu, kodlarımız farklı olur mu?

    Öncelikle hocam, emeğinize sağlık. Bu kadar değerli bir soruyu hakkını vererek cevaplamak isterdim ama bildiğim kadarı ile yanıtlayacağım. Kusura bakmayın, keske C++ deseydiniz belki biraz daha geniş anlatım yapabilirdim ama olsun sorun yok.

    Öncelikle, iki farklı kütüphane var diyorsunuz hocam. Emin değilim ama sizin de dediğiniz gibi içerikleri, kodlama stilleri veya kullanımları değişiktir. Veya kullanım amaçları değişik olabilir. Bu kodlama içeriğine veys stillerine, fonksiyonlarına o kütüphanenin kendi sitesi varsa orada dokümantasyon vardır muhakkak, oradan erişip güzelce öğrenebilirsiniz veya eksik yerlerde bakıp kendi eksiklerinizi giderebilirsiniz. Eğer bu dokümantasyonda tutorials varsa, bu tutorials veya getting started kısımları ile başlayın derim. Daha donra topluluk tutoriallari veya derslerine geçin, ön bilgi açısından.


    Daha sonra. Benim size önerim şu olabilir, topluluk tutoriallerine bakın mesela şöyle bir araştırma size yardımcı olabilir internette -eğer İngilizce konusunda iyiseniz yeterince- "How to create a empty window on Java with/using OpenGL/DirectX 3D?" bunun çıkan sonuçlarını inceleyin, büyük ihtiamlle karışık karışık kodlar ve farklı farklı kütüphaneler göreceksiniz doğal olarak her farklı örnekte. Ben de böyle bir arama ile başladım, örnekleri ve tutorialleri değerlendirmekte fayda var. Bir yerden başlayın, hangi kütüphane olduğu farketmez, ama yine de gidip kullanmak üzere olduğunuz kütüphanenin kendi sitesine girip, ne amaçla kullanıldığını yani oyun mu? istatistik grafikleri için mi? form pencelereli için mi? masaüstü programlar için mi? olduğuna dair ufak yazılara erişin, hangi amaçla kullandığını öğrenip "Bu bana uygun derseniz, onunla ilerleyin" pek fazla sorun çıkarmazlar. Ama en kaliteli ve önerilerini bulmaya çalışın. Biraz geniş çaplı araştırma yapmanız gerekebilir. "Using OpenGL with Java" araştırması da yardımcı olabilir. En basit araştıran bu olabilir hatta. Bunun dışında, önerebileceğim bir şey yok. Tutoriallari denemeye çalışın, eğer çalışmazsa biraz zorlayın olmadı başka kaynak bakın çünkü eski kodlar goreceksiniz fazlasıyla ve çoğu çalışıyor olmayabilecek.


    Son olarak, Udemy'de kurs edinebilirsiniz eğer bu işi öğrenmek istiyorsanız. Ama ben, bunu öğrendikten sonra o degecegini sanmıyorum maalesef, bunlar sonuçta hammadde. Kolay gelsin
  • 13-06-2018, 02:23:46
    #8
    n3pix adlı üyeden alıntı
    Öncelikle hocam, emeğinize sağlık. Bu kadar değerli bir soruyu hakkını vererek cevaplamak isterdim ama bildiğim kadarı ile yanıtlayacağım. Kusura bakmayın, keske C++ deseydiniz belki biraz daha geniş anlatım yapabilirdim ama olsun sorun yok.

    Öncelikle, iki farklı kütüphane var diyorsunuz hocam. Emin değilim ama sizin de dediğiniz gibi içerikleri, kodlama stilleri veya kullanımları değişiktir. Veya kullanım amaçları değişik olabilir. Bu kodlama içeriğine veys stillerine, fonksiyonlarına o kütüphanenin kendi sitesi varsa orada dokümantasyon vardır muhakkak, oradan erişip güzelce öğrenebilirsiniz veya eksik yerlerde bakıp kendi eksiklerinizi giderebilirsiniz. Eğer bu dokümantasyonda tutorials varsa, bu tutorials veya getting started kısımları ile başlayın derim. Daha donra topluluk tutoriallari veya derslerine geçin, ön bilgi açısından.


    Daha sonra. Benim size önerim şu olabilir, topluluk tutoriallerine bakın mesela şöyle bir araştırma size yardımcı olabilir internette -eğer İngilizce konusunda iyiseniz yeterince- "How to create a empty window on Java with/using OpenGL/DirectX 3D?" bunun çıkan sonuçlarını inceleyin, büyük ihtiamlle karışık karışık kodlar ve farklı farklı kütüphaneler göreceksiniz doğal olarak her farklı örnekte. Ben de böyle bir arama ile başladım, örnekleri ve tutorialleri değerlendirmekte fayda var. Bir yerden başlayın, hangi kütüphane olduğu farketmez, ama yine de gidip kullanmak üzere olduğunuz kütüphanenin kendi sitesine girip, ne amaçla kullanıldığını yani oyun mu? istatistik grafikleri için mi? form pencelereli için mi? masaüstü programlar için mi? olduğuna dair ufak yazılara erişin, hangi amaçla kullandığını öğrenip "Bu bana uygun derseniz, onunla ilerleyin" pek fazla sorun çıkarmazlar. Ama en kaliteli ve önerilerini bulmaya çalışın. Biraz geniş çaplı araştırma yapmanız gerekebilir. "Using OpenGL with Java" araştırması da yardımcı olabilir. En basit araştıran bu olabilir hatta. Bunun dışında, önerebileceğim bir şey yok. Tutoriallari denemeye çalışın, eğer çalışmazsa biraz zorlayın olmadı başka kaynak bakın çünkü eski kodlar goreceksiniz fazlasıyla ve çoğu çalışıyor olmayabilecek.


    Son olarak, Udemy'de kurs edinebilirsiniz eğer bu işi öğrenmek istiyorsanız. Ama ben, bunu öğrendikten sonra o degecegini sanmıyorum maalesef, bunlar sonuçta hammadde. Kolay gelsin
    Çok iyi bir şekilde demek istediğinizi anladım teşekkürler , gidip piyasayı gezeyim



    n3pix adlı üyeden alıntı
    Öncelikle hocam, emeğinize sağlık. Bu kadar değerli bir soruyu hakkını vererek cevaplamak isterdim ama bildiğim kadarı ile yanıtlayacağım. Kusura bakmayın, keske C++ deseydiniz belki biraz daha geniş anlatım yapabilirdim ama olsun sorun yok.

    Öncelikle, iki farklı kütüphane var diyorsunuz hocam. Emin değilim ama sizin de dediğiniz gibi içerikleri, kodlama stilleri veya kullanımları değişiktir. Veya kullanım amaçları değişik olabilir. Bu kodlama içeriğine veys stillerine, fonksiyonlarına o kütüphanenin kendi sitesi varsa orada dokümantasyon vardır muhakkak, oradan erişip güzelce öğrenebilirsiniz veya eksik yerlerde bakıp kendi eksiklerinizi giderebilirsiniz. Eğer bu dokümantasyonda tutorials varsa, bu tutorials veya getting started kısımları ile başlayın derim. Daha donra topluluk tutoriallari veya derslerine geçin, ön bilgi açısından.


    Daha sonra. Benim size önerim şu olabilir, topluluk tutoriallerine bakın mesela şöyle bir araştırma size yardımcı olabilir internette -eğer İngilizce konusunda iyiseniz yeterince- "How to create a empty window on Java with/using OpenGL/DirectX 3D?" bunun çıkan sonuçlarını inceleyin, büyük ihtiamlle karışık karışık kodlar ve farklı farklı kütüphaneler göreceksiniz doğal olarak her farklı örnekte. Ben de böyle bir arama ile başladım, örnekleri ve tutorialleri değerlendirmekte fayda var. Bir yerden başlayın, hangi kütüphane olduğu farketmez, ama yine de gidip kullanmak üzere olduğunuz kütüphanenin kendi sitesine girip, ne amaçla kullanıldığını yani oyun mu? istatistik grafikleri için mi? form pencelereli için mi? masaüstü programlar için mi? olduğuna dair ufak yazılara erişin, hangi amaçla kullandığını öğrenip "Bu bana uygun derseniz, onunla ilerleyin" pek fazla sorun çıkarmazlar. Ama en kaliteli ve önerilerini bulmaya çalışın. Biraz geniş çaplı araştırma yapmanız gerekebilir. "Using OpenGL with Java" araştırması da yardımcı olabilir. En basit araştıran bu olabilir hatta. Bunun dışında, önerebileceğim bir şey yok. Tutoriallari denemeye çalışın, eğer çalışmazsa biraz zorlayın olmadı başka kaynak bakın çünkü eski kodlar goreceksiniz fazlasıyla ve çoğu çalışıyor olmayabilecek.


    Son olarak, Udemy'de kurs edinebilirsiniz eğer bu işi öğrenmek istiyorsanız. Ama ben, bunu öğrendikten sonra o degecegini sanmıyorum maalesef, bunlar sonuçta hammadde. Kolay gelsin
    k.b yın çok fazla soru soruyorum ama araştırırken aklıma sizin " keske C++ deseydiniz belki biraz daha geniş anlatım yapabilirdim " demeniz geldi ve forumu hemen açıp sorayım dedim, bu C++'de de OpenGL var , Java'da da var, bunlar farklı kodlarla kodlanıyor filan ama aynı kapıya çıktığını biliyorum tabiki , şey soracaktım; java da opengl kodlamak ile c++ de opengl ile birşeyler kodlamak arasında fark varmıdır? mesela javada eğer opengl kodlarsanız bir pencereye şunu ekleme, veya bu opengl nin şu şu özelliklerini kullanamazsınız fakat c++ de kullanabilirsiniz veya yazması daha kolaydır denebilecek kadar fark varmıdır?

    Mesela java ile kodlama denilince aklıma direk .jar tipi dosyalar, flash tipi dosyalar geliyor ama c++ denilince direk .exe dosyasını düşünüyorum, ikisindede yeni pencere oluşturup bir buton koyduğumuzda ve yanyana getirdiğimizde gözle gözükebilir veya gözükmeyen arkaplandaki sistem işleyişiyle alakalı büyük farklar olduğunu düşünürmüsünüz? Mesela crysis gibi bir oyunun yapılmasında aklıma asla java gelmez direk C++ Derim, java denilince daha çok flash tipi butonlar,menüler,dosya tipleri gelir aklıma; daha çok mario gibi oyunlar filan, bu algım doğrumudur yoksa java benim sandığım gibi değil de crysis gibi grafiksel,işlevsel olarak basit değil de profesyonel alanlarda opengl kullanılabilecek bir platform olabilir mi?

    java ile yapılan oyun denilince aklıma ilk gelenler;





    c++ ile yapılmış oyun denilince aklıma gelen örnek oyun;


    kendim hakkında yazasım geldi .d
    * benim amacım basitce java ,vs. her neyse öğrenip basit ama kullanışlı güzel şeyler yapmak, oyun olarak sanalika mesela; adamlar java ile sade güzel oyun yapmış, program olarakta not hesaplama programları, siteye giriş yapma, sunucu bağlantısı gibi şeyleri öğrenmek ve asıl amacım aslında bunları yapabilecek kapasitede olmak, 3,4 yıl önce bu işlere html vs. diyip başlayıp sonra bi ara c++ sardıydım, sonra javaya ve python a baktım azar azar ama elimde yapabildiğimi görebilcek bir şey olmadığından c++ ve javayı bıraktıydım öğrenmeye çalışmaktan (kodladığımız konsolda kalıyor diye, bu pencere oluşturma vs. vs. haberim yoktu tabi), sonra visual c# duydum ve baktım ki tam istediğim şey, zamanında baya onunla uğraştım, sonra php öğrenip (orta derece) site alanında işler yapmaya başladım ki tüm dillerden azar azar görmüş oldum ve algoritmaların nasıl bir şey olduğunu artık tamamen biliyorum yapılar,değer atamalar,değer tanımlamalar,vs. vs. ve bugün elimde sadece algoritma bilgisi var ve sadece java yönelip (veya c++ a da kayabilirim) bir alanda bu dediğim en azından basit oyunlar yapma, socket mantıklarını öğrenme, masaüstü,android programları yapabilme potansiyeline sahip olup piyasaya bir şeyler sunmak isterim. Zamanında arkadaşla gaza gelip unity 3d ile gta tarzı oyun planlamıştık ki daha sonra programı açınca yapabildiğimiz tek şey küp oluşturmak olmuştu .d , bugün ise unity 3d tarzı şeylerden , hazır programlardan tiksinir gibiyim çünkü amacım oyun,vs. yapmak ama yazılım bilgimle yapmak, herkesin yapabileceği platformlarda tut sürükle benim ileride işime yarasa bile ne kadar yarayabilir ki, önemli olan benim için not defteri açıp kafadan class, void vs. ne varsa tanımlayıp derleyip çalıştırmak, yani bu yöntemle çok büyük şeyler yapamiyacağımı biliyorum fakat ama ufak şeyler bile yapsam, bir bilgim olsun yeter. Yani hazır programların sadece algoritma bilgisini güçlendirdiğine inanıyorum. elimizle class atayıp yapmak gerçekten bence bilgimiz olduğunu gösterir (bence)...

    bu işleri hobi olarak öğrenmeyi seviyorum ve yazdıklarım bu kadar
  • 13-06-2018, 11:31:10
    #9
    BatuhanKZ adlı üyeden alıntı
    Çok iyi bir şekilde demek istediğinizi anladım teşekkürler , gidip piyasayı gezeyim





    k.b yın çok fazla soru soruyorum ama araştırırken aklıma sizin " keske C++ deseydiniz belki biraz daha geniş anlatım yapabilirdim " demeniz geldi ve forumu hemen açıp sorayım dedim, bu C++'de de OpenGL var , Java'da da var, bunlar farklı kodlarla kodlanıyor filan ama aynı kapıya çıktığını biliyorum tabiki , şey soracaktım; java da opengl kodlamak ile c++ de opengl ile birşeyler kodlamak arasında fark varmıdır? mesela javada eğer opengl kodlarsanız bir pencereye şunu ekleme, veya bu opengl nin şu şu özelliklerini kullanamazsınız fakat c++ de kullanabilirsiniz veya yazması daha kolaydır denebilecek kadar fark varmıdır?

    Mesela java ile kodlama denilince aklıma direk .jar tipi dosyalar, flash tipi dosyalar geliyor ama c++ denilince direk .exe dosyasını düşünüyorum, ikisindede yeni pencere oluşturup bir buton koyduğumuzda ve yanyana getirdiğimizde gözle gözükebilir veya gözükmeyen arkaplandaki sistem işleyişiyle alakalı büyük farklar olduğunu düşünürmüsünüz? Mesela crysis gibi bir oyunun yapılmasında aklıma asla java gelmez direk C++ Derim, java denilince daha çok flash tipi butonlar,menüler,dosya tipleri gelir aklıma; daha çok mario gibi oyunlar filan, bu algım doğrumudur yoksa java benim sandığım gibi değil de crysis gibi grafiksel,işlevsel olarak basit değil de profesyonel alanlarda opengl kullanılabilecek bir platform olabilir mi?

    java ile yapılan oyun denilince aklıma ilk gelenler;





    c++ ile yapılmış oyun denilince aklıma gelen örnek oyun;


    kendim hakkında yazasım geldi .d
    * benim amacım basitce java ,vs. her neyse öğrenip basit ama kullanışlı güzel şeyler yapmak, oyun olarak sanalika mesela; adamlar java ile sade güzel oyun yapmış, program olarakta not hesaplama programları, siteye giriş yapma, sunucu bağlantısı gibi şeyleri öğrenmek ve asıl amacım aslında bunları yapabilecek kapasitede olmak, 3,4 yıl önce bu işlere html vs. diyip başlayıp sonra bi ara c++ sardıydım, sonra javaya ve python a baktım azar azar ama elimde yapabildiğimi görebilcek bir şey olmadığından c++ ve javayı bıraktıydım öğrenmeye çalışmaktan (kodladığımız konsolda kalıyor diye, bu pencere oluşturma vs. vs. haberim yoktu tabi), sonra visual c# duydum ve baktım ki tam istediğim şey, zamanında baya onunla uğraştım, sonra php öğrenip (orta derece) site alanında işler yapmaya başladım ki tüm dillerden azar azar görmüş oldum ve algoritmaların nasıl bir şey olduğunu artık tamamen biliyorum yapılar,değer atamalar,değer tanımlamalar,vs. vs. ve bugün elimde sadece algoritma bilgisi var ve sadece java yönelip (veya c++ a da kayabilirim) bir alanda bu dediğim en azından basit oyunlar yapma, socket mantıklarını öğrenme, masaüstü,android programları yapabilme potansiyeline sahip olup piyasaya bir şeyler sunmak isterim. Zamanında arkadaşla gaza gelip unity 3d ile gta tarzı oyun planlamıştık ki daha sonra programı açınca yapabildiğimiz tek şey küp oluşturmak olmuştu .d , bugün ise unity 3d tarzı şeylerden , hazır programlardan tiksinir gibiyim çünkü amacım oyun,vs. yapmak ama yazılım bilgimle yapmak, herkesin yapabileceği platformlarda tut sürükle benim ileride işime yarasa bile ne kadar yarayabilir ki, önemli olan benim için not defteri açıp kafadan class, void vs. ne varsa tanımlayıp derleyip çalıştırmak, yani bu yöntemle çok büyük şeyler yapamiyacağımı biliyorum fakat ama ufak şeyler bile yapsam, bir bilgim olsun yeter. Yani hazır programların sadece algoritma bilgisini güçlendirdiğine inanıyorum. elimizle class atayıp yapmak gerçekten bence bilgimiz olduğunu gösterir (bence)...

    bu işleri hobi olarak öğrenmeyi seviyorum ve yazdıklarım bu kadar
    Hocam ne yaptın sennn Bunlar ne böyle? Ben fazla master değilim bu arada onu söyliyim, yani en fazla giriş ile orta ya kadar yardımcı olabilirim. Ama eğer c++ ile başlarsanız. Gerçi orta konusunda da emin değilim ama deneriz, bilmiyorum demekten çekinmemişimdir.

    Şimdi, Java hakkında dediklerini katılıyorum. .exe paket çıkarabilmek için .NET Framework kullanan, temelinde, bu yatan bir program yapmanız gerekir. Java ya .NET İnclude edip, dediğim gibi .exe program yapabilirsiniz. Yapılmayacak değil. .jar da çıkarılabilir fakat kullanılacak bildisayarda haliyle java kurulu olması lazım. Java nin da kendi .NET'i bu.


    Onun dışında, benim önerim. Eğer muhakkak oyun yapacaksanız C++ öğrenin derim, verdiğiniz örnekler bile başlı başına kaynak. Sonuçta ufak bir araştırma ile "Neden?" sorusuna cevap bulabilirsiniz. Eğer oyun motorlarına bakarsanız, birçoğu yaklaşık %80-90 kısmı C++ tabanlıdır. Fakat Java ile olsa olsa 10 tane filan vardır 300-500 tanesinin arasından. Bu nedenle niçin başta bu adamlar oyun motoru yaparken Java değil de C++ seçmiş iyice anlarız. l


    Daha sonra, öğrenemenizin nedeni,.bir şeyleri nereden öğrenmeye başlamanız gerektiğini bilmiyor olmanızdan kaynaklı. Toplulukları sık sık kullanmanızı öneririm, eğer öğrenmek istediğiniz şeyin kendi forumları vesaire varsa bunlarda zaman harcayıp, sorularınızı sorun. Eğer getting started veya tutorial kısımları varsa, bunları deneyin. Daha sonra da tüm Dokümantasyonu avcunuzda tutmaya çalışın, dokümantasyonu ezberleyin demiyoruk, kodları deneyin yapabiliceklerinizi görün böylece o dokümantasyona aşina olursunuz. Yarın bir gün sıkıntı yaşamazsınız. Kaldı ki Unity 3D nin cok güzel bir kullanıcı dokümantasyonu, forumları ve tutoriallari var en az 50 tane.


    Ekstra olarak dediklerinize nispeten, benim size önerim. Her zamanki gibi, sıfırdan oyun yapmak demek sıfırdan oyun motoru yazmak demektir. Ciddi diyorum, çok canınız yanar. Kullandığınız dilin masteri değilseniz hele, hiç denemeyin derim. Ama o konuda bir şeyler yapabilip, bir yol katederseniz tabi ki bu güzel bir başarıdır. Ama bence, gidip güzel oyun motorlarına bakın onları öğrenin derim. Veya Udemy'de kurslar alın derim. Varsa sorularınız sorun hocam

    Edit: C++ veya Java gibi diller, low level programming dillerdir. Yani, çok alt seviye dillerdir. Eğer high level veya medium level programlama dillerini kullanırsanız onlar sızın yerimize penceler, animasyonlar vesaire oluşturur veya oluşturmak için low level programlama dillerinde olduğu gibi onlrca satir kod yazmanız gerekmez. Eğer low level bir Programlama dilini kullanıyorsanız, umun ki yapmak istediğiniz şeyin bir kütüphanesi olsun. OpenGL olmadan pencere oluşturmanız mesela zor olur C++ veya Javada, bunun gibi