Oyun Geliştirmek için Pyhton vs C#

Doğukan Ürker

Kilopat
Katılım
6 Aralık 2016
Mesajlar
518
Çözümler
3
Yer
Albuquerque
Daha fazla  
Cinsiyet
Erkek
Meslek
Öğrenci
Merhaba 9. sınıfa gidiyorum, hali hazırda Mustafa Murat Çoşkun'un Python kursundan Python öğreniyorum. "Dosya İşlemleri"ne kadar geldim. İçimde hep basit 2D/3D oyunlar geliştirme isteği olmuştur. Oyun geliştirmek için C#'ın Python'a göre daha iyi bir programlama dili olduğunu biliyorum. Sorum şu; başlangıçta basit 2D/3D; ileride daha karmaşık seviyede oyunlar geliştirmek için Python kursunu tamamladıktan sonra Unity için C# öğrenmeme gerek var mı yoksa Pygame, pyglet gibi Python kütüphanelerini kullanarak da oyun geliştirebilir miyim? Sizce gelecekte Unity/Unreal Engine tarzında büyük oyun motorları dahili bir şekilde Python desteği sunarlar mı?
 
Son düzenleyen: Moderatör:
Merhaba 9. sınıfa gidiyorum, halihazırda Mustafa Murat çoşkun'un Python kursundan Python öğreniyorum. "Dosya işlemleri"ne kadar geldim. İçimde hep basit 2D/3D oyunlar geliştirme isteği olmuştur. Oyun geliştirmek için C#'ın Python'a göre daha iyi bir programlama dili olduğunu biliyorum. Sorum şu; başlangıçta basit 2D/3D; ileride daha karmaşık seviyede oyunlar geliştirmek için Python kursunu tamamladıktan sonra Unity için C# öğrenmeme gerek var mı yoksa pygame, pyglet gibi Python kütüphanelerini kullanarak da oyun geliştirebilir miyim? Sizce gelecekte Unity/Unreal Engine tarzında büyük oyun motorları dahili bir şekilde Python desteği sunarlar mı?

C# öğrenmen en mantıklısı, Unity ile birkaç oyun yap mantığı kavra Unreal'e geç. Tabi eğer görsel olarak çok iyi oyunlar yapmacaksan Unity ile devam edebilirsin, cross platform desteği var sonuçta.
 
Merhaba 9. sınıfa gidiyorum, hali hazırda Mustafa Murat Çoşkun'un Python kursundan Python öğreniyorum. "Dosya İşlemleri"ne kadar geldim. İçimde hep basit 2D/3D oyunlar geliştirme isteği olmuştur. Oyun geliştirmek için C#'ın Python'a göre daha iyi bir programlama dili olduğunu biliyorum. Sorum şu; başlangıçta basit 2D/3D; ileride daha karmaşık seviyede oyunlar geliştirmek için Python kursunu tamamladıktan sonra Unity için C# öğrenmeme gerek var mı yoksa Pygame, pyglet gibi Python kütüphanelerini kullanarak da oyun geliştirebilir miyim? Sizce gelecekte Unity/Unreal Engine tarzında büyük oyun motorları dahili bir şekilde Python desteği sunarlar mı?
Bu soruların cevabı ne geliştirmek istediğine bağlı. Henüz erken aşamada olduğun için öğreneceğin kütüphaneler zaman kaybına sebep olmaktan ziyade senin ufkunu genişletecek varyasyonlardan oluşacak. C#, C++ genel olarak yaygın olan oyun kodlama dilleri fakat dediğim gibi Python ve nice dillerle de kodlanabilir. Kodlamak istediğin oyun için en uygunu ne ise o dili kullanman akıl karı. Kendi önerim C# öğrenmeye başlayıp, unity destekli basit projeler ile bu işe girişmen. Ya da hali hazırda Python bildiğin için Pygame ile oyun kodlama ve OOP mantığı öğrenip diğer dillere geçebilirsin. Hali hazırda C dili biliyorsan tüm bu dilleri öğrenmen tahminen birkaç saat sürecektir. Ama sadece Python biliyorsan kendi önerim C# ve C++ için baştan dil figurasyonlarını öğrenip sonradan oyun kodlama kısımlarına girmen.

Öğrendiğin dil için antremanlar: project euler (buradaki soruları kullandığın dil ile çözmeye çalış).

C# için türkçe youtube listesi: C# dersleri (herhangi bir ücretsiz kurs ile de başlayabilirsin, ücretli kursları ileri seviyeler için al).

Temel unity bazlı oyun kodlama youtube listesi: başlangıç seviyesi oyun projeleri (Öncesinde C# ve İngilizce bilmen gerekecektir. İngilizce biliyorsan buna benzer binlerce liste bulabilirsin).

Pygame ile oyun kodlama youtube listesi: başlangıç seviyesi pygame projeleri (Pygame ile başlayıp en azından oyun kodlarken dikkat edilmesi gerek yerleri ve oyun dizaynlarını öğrenmeye başlayabilirsin).

Ve her şeyden önce kodlarken zevk almayı ve sorun olduğunda insanlara ilgili yerlere sorularını sormayı unutma👍.
En bilindik yazılım soru sorma platformu: Stack Overflow.
 
Son düzenleme:
3D grafiklerin algoritmalarını daha düşük seviyeden, yani donanıma yakın izlemek için OpenGL gibi bir API ile programlama yapmanızı öneririm.

Oyunlarda hız ön planda olacağı için C#'tan başlayıp C++'a geçmenizi tavsiye ederim.
 
Pygame ile büyük çaplı bir oyun geliştirmek akıl karı değil. C# öğrenmek en iyisi. Bu arada kursa para vermene gerek yok, dokümantasyonlar her zaman en iyisidir. Python'u da başlıkta doğru yazsaydık iyiydi. :D
Hocam yorumunuz için teşekkürler. Moderatör arkadaşlar süreli ban atmalarına rağmen onu düzeltmemişler. 😀
C# öğrenmen en mantıklısı, Unity ile birkaç oyun yap mantığı kavra Unreal'e geç. Tabi eğer görsel olarak çok iyi oyunlar yapmacaksan Unity ile devam edebilirsin, cross platform desteği var sonuçta.
Eskiden Unreal'a ilgim vardı birgün oyun programlamaya başlarsam Unreal ile başlayacağımı düşünüyordum ama C++ öğrenmem gerektiği (Blueprint desteği olduğunu biliyorum.) ve aklımdaki fikirleri Unity ile de yapabileceğimden Unity'yi seçmek daha mantıklı, en başta C#,C++'a göre daha kolay bir dil.
Bu soruların cevabı ne geliştirmek istediğine bağlı. Henüz erken aşamada olduğun için öğreneceğin kütüphaneler zaman kaybına sebep olmaktan ziyade senin ufkunu genişletecek varyasyonlardan oluşacak. C#, C++ genel olarak yaygın olan oyun kodlama dilleri fakat dediğim gibi Python ve nice dillerle de kodlanabilir. Kodlamak istediğin oyun için en uygunu ne ise o dili kullanman akıl karı. Kendi önerim C# öğrenmeye başlayıp, unity destekli basit projeler ile bu işe girişmen. Ya da hali hazırda Python bildiğin için Pygame ile oyun kodlama ve OOP mantığı öğrenip diğer dillere geçebilirsin. Hali hazırda C dili biliyorsan tüm bu dilleri öğrenmen tahminen birkaç saat sürecektir. Ama sadece Python biliyorsan kendi önerim C# ve C++ için baştan dil figurasyonlarını öğrenip sonradan oyun kodlama kısımlarına girmen.

Öğrendiğin dil için antremanlar: project euler (buradaki soruları kullandığın dil ile çözmeye çalış).

C# için türkçe youtube listesi: C# dersleri (herhangi bir ücretsiz kurs ile de başlayabilirsin, ücretli kursları ileri seviyeler için al).

Temel unity bazlı oyun kodlama youtube listesi: başlangıç seviyesi oyun projeleri (Öncesinde C# ve İngilizce bilmen gerekecektir. İngilizce biliyorsan buna benzer binlerce liste bulabilirsin).

Pygame ile oyun kodlama youtube listesi: başlangıç seviyesi pygame projeleri (Pygame ile başlayıp en azından oyun kodlarken dikkat edilmesi gerek yerleri ve oyun dizaynlarını öğrenmeye başlayabilirsin).

Ve her şeyden önce kodlarken zevk almayı ve sorun olduğunda insanlara ilgili yerlere sorularını sormayı unutma👍.
En bilindik yazılım soru sorma platformu: Stack Overflow.
Hocam yorumunuz için çok teşekkür ederim. Sadece Python biliyorum daha doğrusu öğreniyorum. Yaptığınız öneriyi uygulamayı düşünüyorum. Hali hazırda Stack Overlow kulllanıyorum ve nadiren olsada project euler deki problemleri çözmeye çalışıyorum. Önerdiğiniz eğtimler dışında ücretli veya ücretsiz önerebileceğiniz daha iyi alternatifleri var mı? (Türkçe olursa daha iyi olur.)
3D grafiklerin algoritmalarını daha düşük seviyeden, yani donanıma yakın izlemek için OpenGL gibi bir API ile programlama yapmanızı öneririm.

Oyunlarda hız ön planda olacağı için C#'tan başlayıp C++'a geçmenizi tavsiye ederim.
Yorumuzun için teşekkür ederim. Uzun bir süre C# üzerinden gitmeyi düşünüyorum ama Unreal için C++ öğrenmek benim için gelecekte mantıklı olabilir,Unity ile devam edeceğim için C++ öğrenmeyi pek düşünmüyorum.
 
Hocam yorumunuz için teşekkürler. Moderatör arkadaşlar süreli ban atmalarına rağmen onu düzeltmemişler. 😀

Eskiden Unreal'a ilgim vardı birgün oyun programlamaya başlarsam Unreal ile başlayacağımı düşünüyordum ama C++ öğrenmem gerektiği (Blueprint desteği olduğunu biliyorum.) ve aklımdaki fikirleri Unity ile de yapabileceğimden Unity'yi seçmek daha mantıklı, en başta C#,C++'a göre daha kolay bir dil.

Hocam yorumunuz için çok teşekkür ederim. Sadece Python biliyorum daha doğrusu öğreniyorum. Yaptığınız öneriyi uygulamayı düşünüyorum. Hali hazırda Stack Overlow kulllanıyorum ve nadiren olsada project euler deki problemleri çözmeye çalışıyorum. Önerdiğiniz eğtimler dışında ücretli veya ücretsiz önerebileceğiniz daha iyi alternatifleri var mı? (Türkçe olursa daha iyi olur.)

Yorumuzun için teşekkür ederim. Uzun bir süre C# üzerinden gitmeyi düşünüyorum ama Unreal için C++ öğrenmek benim için gelecekte mantıklı olabilir,Unity ile devam edeceğim için C++ öğrenmeyi pek düşünmüyorum.
Önereceğim eğitim dökümentasyonları okumak olacaktır. Her dilin kendi içerisinde sınırsız kaynağı var. Maalesef İngilizce bilmen gerekiyor. GitHub üzerinden insanların neler yaptığına bakarak kendini geliştirebilirsin. Onun dışında ücretli izleyeceğin videolar ile ücretsizler arasında kalite yok denecek kadar az. Ben Youtube üzerindeki ya da GitHub üzerindeki projeleri genellikle daha sağlıklı buluyorum. Çağımızda herhangi bir bilginin sınırsız kaynağına ulaşmak sadece İngilizce ve internet istiyor. Temelleri hallettikten sonra kendin bir şeyler denemelisin. Kafandan bir oyun uydur, o oyuna nasıl can sistemi ekleyeceğini Github'tan oku, nasıl labirent kurabileceğini oku, böyle böyle kendi oyunlarını yaz. Bir süre sonra bu işlemin video izlemekten daha iyi bir yöntem olduğunu göreceksin.
 
Merhaba 9. sınıfa gidiyorum, hali hazırda Mustafa Murat Çoşkun'un Python kursundan Python öğreniyorum. "Dosya İşlemleri"ne kadar geldim. İçimde hep basit 2D/3D oyunlar geliştirme isteği olmuştur. Oyun geliştirmek için C#'ın Python'a göre daha iyi bir programlama dili olduğunu biliyorum. Sorum şu; başlangıçta basit 2D/3D; ileride daha karmaşık seviyede oyunlar geliştirmek için Python kursunu tamamladıktan sonra Unity için C# öğrenmeme gerek var mı yoksa Pygame, pyglet gibi Python kütüphanelerini kullanarak da oyun geliştirebilir miyim? Sizce gelecekte Unity/Unreal Engine tarzında büyük oyun motorları dahili bir şekilde Python desteği sunarlar mı?
Phyton daha kolay ama C# Unity destekliyor ve bugları çözme açısından C#daha iyi ama daha hızlı ve çok kolay yapmak istiyorsan Ursina veya Pygame derslerine başla 3D oyun yapcaksan Ursina 2D yapcaksan Pygame ye başla işine yarar mesela ben oyun yapıyorum pygame ile ve sadece sanki animasyon yapıyosun gibi hissediyorsun Ursinada bir de sadece tarasrım yapıyor gibi hissediyorsun yaptığımdan biliyorum mesela ben Pygame de karakteri yürütürken diyorum ki

EkranBoyutu = (750,450)

Ekran = pygame.display.set_mode(EkranBoyutu)

Xeksen = 200
Yeksen = 400

yürüme_ileri1 = pygame.image.load("yürüme1.png")
yürüme_ileri2 = pygame.image.load("yürüme2.png")
yürüme_ileri3 = pygame.image.load("yürüme3.png")

while True:
pygame.display.update()
for olaylar in pygame.event.get():
if olaylar.type == pygame.KEYDOWN:
if olaylar.key == K_w:
pygame.time.delay(50)
Ekran.blit(yürüme_ileri1,(Xeksen,Yeksen)
Ekran.fill((255,200,10)
Ekran.blit(yürüme_ileri1,(Xeksen,Yeksen)
Yeksen -= 1
pygame.time.delay(50)
Ekran.blit(yürüme_ileri2,(Xeksen,Yeksen)
Ekran.fill((255,200,10))
Ekran.blit(yürüme_ileri2,(Xeksen,Yeksen)
Yeksen -= 1
pygame.time.delay(50)
Ekran.blit(yürüme_ileri3,(Xeksen,Yeksen)
Ekran.fill((255,200,10))
Ekran.blit(yürüme_ileri3,(Xeksen,Yeksen)
Yeksen -= 1

Yazdığımda her w ye bastığımda png leri ekrana koyuyor arka planı koyuyor ve sonsuza dek açık kaldırtıyor 50 msn bekliyor ve hareket ediyor pygame ve ursina kullanırken sanki animasyon yaptığını ya da bir kübü eline alıp havaya fırlatmak gibi kolay oluyor ama bunu yazıyorsun. sadece Phytonda bunu yazılara döküyorsun ben burda ne dedim dedim ki klavyede w tuşuna tıkladığında 50 msn bekle yürüme1 png yi ekrana koy ekranı rgb olarak şu renkle doldur phyton baya kolay ama eğer C# ile başlarsan Unity nin kolaylığından yararlanmış olabilirsin ama Pyhtonda sadece aklından düşünmen gerek Java ya gelirsek sonuçta Minecraft gibi çok satan bir oyun yapılmış ve bir sürü kullanım çeşitliliği var Java da fazla çeşitlilikten bolca yararlanıyorsun Pyhtonda sanki animasyon yapıyorsun C# dede Unity gibi bir programı kullanıp obje tabanlı olan şeyi görüyor ve 1 tıkla oluşturuyorsun objeyi ama java ve pyhtonda 1 obje için benim yaptığım gibi
yürüme_ileri1 = pygame.image.load("yürüme1.png")
yürüme_ileri2 = pygame.image.load("yürüme2.png")
yürüme_ileri3 = pygame.image.load("yürüme3.png")
yazıp 1 obje için bile yazıyor Java da farklı şekillerle obje yaratabiliyorsun ona göre düşün yyap derim C# veya phyton öneririm başlangıç için sonra java yı kullanıp rahat olabilirsin . Şey yap PyCharm a gir sağ altta terminal yazıyor oraya tıkla ve pip install pygame yaz enterla sonra windows tuşuna tıkla klavyede cmd yaz komut istemini aç pip install pyinstaller yaz oraya sonra internetten araştır ve rahatça oyun yapabilrsin abi biliyor musun senden küçüğüm 5. sınıf ama baya ilerideyim abi yakında ilk oyunumu bitirip 2. ye başlicam abi sanada başarılar oyunlarında istersen bana burdan yazabilirsin abi bir kaç örnek verebilirim pyhtonda

Bu arada abi Ursina gibi büyük bir oyun yapma motoru var phytonda oradan 3D yaparsın PyGame dende 2D yaparsın C# de Unity desteği ile baya fazla destek sunuyor dediğim gibi abi
 

Yeni konular

Geri
Yukarı