C++ ile oyun yapma

U

Umutb

Ziyaretçi
Arkdaşlar C++ ile üst düzey PC oyunu yapabilir miyim ? Mesela Call of Duty gibi :)
 

tolpp

Kilopat
Katılım
10 Mayıs 2013
Mesajlar
11
En iyi cevaplar
0
Beğeniler
27
Yapılabilir. Ancak tüm oyunu bir kod parçası olarak görmemek lazım. Böyle bir oyun en kaba haliyle şunları gerektirir :

- Grafik kütüphanesi (OpenGL, DirectX) --> C++ tabanlı API kullanırlar.
- Oyun Motoru (Pek çok dilde yazılmış olabilir. C++'da buna dahildir.) [ Bilgi içini: Oyun motoru - Vikipedi ]
- 3D tasarımlar, doku tasarımları, senaryo...
-----
Peki olay nasıl gerçekleşiyor?
Açıkça söylemek gerekirse, o seviye oyun yapanlar çilgin gibi kodlama bilen adamlar değiller. Oyunu yapmak için oyun motorunu kullanıyorlar. Kodlama gerektiren yerlerde de "Lua" ve benzeri scripting dilleri kullanıyorlar.

"E oyun motoru nasıl yapılıyor?" derseniz, orada çılgın gibi kodlar dönüyor işte. Örneğin görüntünün oluşturulması(rendering) işlemi oyun motorunun "rendering engine" kısmı tarafından gerçekleştiriliyor. Bunu yapabilmesi için de OpenGL ya da DirectX gibi grafik kütüphanelerinin iyi bilinmesi, üzerine kod yazılması gerekiyor. Bunun dışında yerçekimi hesaplamaları, çarpışma hesaplamaları... da oyun motoru içerisine giriyor. Bunu yapan kısma da "physics engine" deniyor.

Yani; evet C++ kullanarak CoD gibi bir oyun yapabilirsin. Ancak önce bir oyun motoru yazman(C++ ile olabilir :) ) Ardından ekip arkadaşları bulup tasarım, ses.. işlerini halletmen gerek :) Yani gerçekten zor ve uzun bir iş olur.

Kolay yolu ne?
1- Eğer hemen oyununu yapmak istiyorsan, bence hiç uğraşma C++ ile falan. CoD benzeri FPS oyun için, Unreal Engine biçilmiş kaftan. Bir hafta içerisinde(öğrenmesi dahil) güzel bir oyun çıkartabilirsin ortaya. Hatta oyununun ilk kısmını ortaya çıkarmak mutemelen birkaç saatini alacaktır.

Unreal Engine'i kullanmak için UDK(Unreal Geliştirici Kiti)'yı indirmen gerekiyor : Free Game Engine for Indie Game Development | UDK Unreal Developer’s Kit

2- Unity3D Game Engine'de çok kolay öğrenebileceğin bir oyun motoru. Aynı şekilde FPS oyunları burada da kolaylıkla geliştirilebiliyor.
Unity3D : Unity - Game Engine

Yukarıdaki iki oyun motorunu da oyunlarında ücretsiz olarak kullanabilirsin. Sıkıntın olursa sormaktan çekinme ;)
-
Ekeleme : Oyun motorları listesi : List of game engines - Wikipedia, the free encyclopedia
 
KS
U

Umutb

Ziyaretçi
1 senem yandı :) Hoca C++ da oyun yapın dedi kimse yapmadı FF ile kaldık sınıfça :D
 

tolpp

Kilopat
Katılım
10 Mayıs 2013
Mesajlar
11
En iyi cevaplar
0
Beğeniler
27
Ne seviye bir oyun istenmişti? Sanmam ki Call of Duty gibi bir şey yapacaksınız desinler :D
 
KS
U

Umutb

Ziyaretçi
Daha 1 de bize C++ da 3 boyutlu güzel bir oyun yapın dedi daha yeni öğretmeye başlattı adam oyun yapın diyor :D
 

tolpp

Kilopat
Katılım
10 Mayıs 2013
Mesajlar
11
En iyi cevaplar
0
Beğeniler
27
Daha 1 de bize C++ da 3 boyutlu güzel biro yun yapın dedi daha yeni öğretmeye başlattı adam oyun yapın diyor :D
Adam çılgımış ne diyeyim :) C++ ile başlangıç seviyesi yapılabilecek en iyi şey ancak OpenGL üzerine 3D snake oyunu yapmak falan olur :) Daha ötesi çok zor :)
 

Burak Alkan

Gigapat
Yönetici
Katılım
12 Haziran 2011
Mesajlar
14.712
En iyi cevaplar
0
Beğeniler
6.426
Yer
Nebuchadnezzar
Adam çılgın falan değil. Adam gayet normal ödevler veriyor ama öğrenci hiçbir zaman dersine çalışmadığı ve kendi araştırmaya üşendiği için ödev zor geliyor. Tek kişinin Call of Duty yapabileceğini düşünen bir öğrenci nasıl C++ öğrensin? Bu öğrenci hayatında hiç mi oyun geliştirici görmedi, hiç mi bi kere bile oyunda kurşun sıkmayı bırakıp "aga bu oyunu kim yapmış" bir bakayım demedi.

Ya da en azından bi kere bile mi Credits okumadı?

E tabi. Hayatında oirijnal oyun almamış adam, oyunlara harcanan emeği nasıl anlasın? Ondan sonra "emeğe saygı". Ne zaman bi yerde "emeğe saygı" denilse ahan diyorum, yine birinin emeğini çalıyorlar.
 

kadir Demiray

Decapat
Katılım
29 Haziran 2015
Mesajlar
1
En iyi cevaplar
0
Beğeniler
0
Sırf bu gönderiye cevap vermek,teşekkür etmek için üye oldum teşekkür ederim bu konu hakkında bilgi veren arkadaşlara ve site yöneticilerine.
 



Yukarı