C++ Ve 3d Oyun

thenemne0032

Öğrenci
Katılım
24 Kasım 2012
Mesajlar
2
Reaksiyon puanı
0
Puanları
1
Arkadaşlar ben yeni bir programlama dili öğrenmeye karar verdim internetten pek çok yerden araştırma yaptım tabiki amacım online oyun yapmak olduğu için genelde hep c++ önerdiler eğer para kazanmak istiyorsan genelde görsel olarak ilgileniceksen ve windows sistemlerde çalışcaksan c# kullan dediler ancak benim amacım oyun yapmak olduğu için c++ öğrenmeye karar verdim ancak daha birsürü sorularım var ve yola boş yere çıkmak istemiyorum.


Şimdi en az 4-5 yıl sürer diyorlar uzman olmak tabiki erken yaşta başlıyorumki ilerki yaşlarda öğrenmiş olayım.


Ancak tabiki c++ dilini bilmek yetmiyor bunun yanında online oyun yaparken modelleme programı gerekiyor eğerki yeni bir program çıkmazsa 3dmax ile yapmayı düşünüyorum.Tabiki bu dediklerimi tek başıma yapamam illaki ortak bir şekilde yapıcaz ancak yinede sorularıma cevap bulmam gerek


C++ bilen birinin assembly bilmesi gerekiyormuş bu doğrumu?


Oyun yapmak için oyun motoru gerekiyor size göre şuanki c++ kullanıldığı en iyi online oyun motoru hangisi ve eğer c++ öğrenirsem yeni ve gelişmiş bir oyun motoru çıkarsa bu c# ilemi olur c++ ilemi olur en az 4-5 yıl çalışmak zorundayım zaten c++'a 4-5 yıla oyun motorları gelişir.


Oyun dosyaları dll'leri : Arkadaşlar bildiğimz gibi oyunlarda dosyalar dller felan var bunları yaptığımız oyun motorumu uyguluyor mesela oyundaki satış bir itemin 3d modelini n , ses dosyasını hangi uzantıda ve hangi adda hangi klasörde olacağını oyun motorundanmı belirliyoruz ve bu dosyalar içinde farklı bir dil bilmek gerekiyormu mesela oyuna giriş yaptığımız kullanıcı adı yeri launcher vs yide oyun motorundanmı ayarlıyoruz


Mesela oyunun online olması oyunun Server filesini felan hangi programlar ile yapıyoruz internete bağlanmasını kullanıcını giriş yapmasını dll dosyalarını server files ve client arasındaki bağlantıyı sağlıyan programları hangi dil veya program ile yapıyoruz


arkadaşlar biliyorum çok soru sordum ancak bunları bilmeden başlamak istemiyorum çünkü sonu gelmiyebilir , bunları bilmeden kimsede bir oyuna başlyamaz zaten 3dmax c++ ve bir oyun motoruyla bitmiyor anlaşılan ancak basitte olsa grafikleri kötü olan bir oyunda olsa


3d bir online oyun yapmak istiyorum Mu online , knight vs gibi grafik önemli değil yeterki nasıl yapıldığını anlatabilecek biri olsun




Lütfen dalga geçecek , kötüleyecek kişiler yorum yapmasın birşeyler öğrenmeye birşeyler başarmaya çalışıyorum.




Bir Söz : insanlar, kendilerinin yapamadıkları şeyleri senin de yapamayacağını söylerler .
 
Katılım
31 Aralık 2007
Mesajlar
17,486
Reaksiyon puanı
189
Puanları
243
Dediğin gibi çok sağlam bir ekibe ihtiyacın var öncelikle. İşin programlaması ayrı, tasarımı ayrı, multimedya kısmı ayrı dert. Online oyun yapabileceğin bir çok ortam var açıkçası. İşin içine 3D girecekse eğer yine bir sürü seçeneğin var. C# kullanarak XNA kütüphanesi ile yapılabilir. Unity kullanılabilir. CryEngine ya da Unreal Engine kullanılabilir. Açıkçası kullanabileceğin bir çok oyun motoru mevcut. Her birinin de programlama kısmında kullandığı diller farklı. Unity ile JavaScript bile kullanılabiliyor mesela.

Öncelikli olarak programlama konusunda kendini çok iyi geliştir. Server-Client yapısını kullanan programları rahatlıkla yazabilecek kıvama geldikten sonra bunları oyuna aktarmak var sadece önünde. Bunu kendi kendine öğrenmen tahminlerinden de uzun sürecektir. O yüzden bu konu ile ilgili çalışmalar yürüten firmaların birinde stajyer olarak başlaman senin için avantaj olur. Çünkü iş zaten en güzel işte öğrenilir :)

Sorulara sevap verecek olursak da, assembly çok alt seviye programlamalar için lazım olacaktır sadece. Oyun dediğimiz yapı üst seviye dillerle yazılan bir yapı olduğu için asssembly bilmek şart değildir, ama bilmek sana bir şey kaybettirmez.

En iyi oyun motoru şu ya da bu demek doğru olmaz. Neyle başlarsan onunla gider açıkçası. Kimi C++ kullanır, kimi C#, kimi Java kimi ise JavaScript...

Oyun motoru bir çok hazır yapıyı üzerinde getirir. Multimedya kısmı da genellikle bununla gelir. Her oyun motoru codecleri gereği belirli dosya türleri ile çalışır. Klasörlemesi ve paketlemesi de oyun motoruna göre yapılır. Launcher'da yine ayrı bir programdır. Hangi dil ile yapıldığının pek önemi yoktur zira aracıdır sadece. Oyunun versiyon kontrollerini ve güncelleme dosyalarını indirip oyunu çalıştırmaktan başka bir işe yaramazlar. Hangi dil ile yapılırsa yapılsın fark etmez açıkçası.

Oyunun sunucusu her şeyle yazılabilir. Sunucu sadece protokollerle iletişim kuracağı için sunucunun yazıldığı dil önemsizdir. Önemli olan iletişim protokolleridir. Ama sunucunun hızlı çalışıp hızlı tepki vermesi oyuncu için iyi olur. Bu yüzden alt seviye dilleri tercih etmek her zaman iyi olacaktır...
 

thenemne0032

Öğrenci
Katılım
24 Kasım 2012
Mesajlar
2
Reaksiyon puanı
0
Puanları
1
Dediğin gibi çok sağlam bir ekibe ihtiyacın var öncelikle. İşin programlaması ayrı, tasarımı ayrı, multimedya kısmı ayrı dert. Online oyun yapabileceğin bir çok ortam var açıkçası. İşin içine 3D girecekse eğer yine bir sürü seçeneğin var. C# kullanarak XNA kütüphanesi ile yapılabilir. Unity kullanılabilir. CryEngine ya da Unreal Engine kullanılabilir. Açıkçası kullanabileceğin bir çok oyun motoru mevcut. Her birinin de programlama kısmında kullandığı diller farklı. Unity ile JavaScript bile kullanılabiliyor mesela.

Öncelikli olarak programlama konusunda kendini çok iyi geliştir. Server-Client yapısını kullanan programları rahatlıkla yazabilecek kıvama geldikten sonra bunları oyuna aktarmak var sadece önünde. Bunu kendi kendine öğrenmen tahminlerinden de uzun sürecektir. O yüzden bu konu ile ilgili çalışmalar yürüten firmaların birinde stajyer olarak başlaman senin için avantaj olur. Çünkü iş zaten en güzel işte öğrenilir :)

Sorulara sevap verecek olursak da, assembly çok alt seviye programlamalar için lazım olacaktır sadece. Oyun dediğimiz yapı üst seviye dillerle yazılan bir yapı olduğu için asssembly bilmek şart değildir, ama bilmek sana bir şey kaybettirmez.

En iyi oyun motoru şu ya da bu demek doğru olmaz. Neyle başlarsan onunla gider açıkçası. Kimi C++ kullanır, kimi C#, kimi Java kimi ise JavaScript...

Oyun motoru bir çok hazır yapıyı üzerinde getirir. Multimedya kısmı da genellikle bununla gelir. Her oyun motoru codecleri gereği belirli dosya türleri ile çalışır. Klasörlemesi ve paketlemesi de oyun motoruna göre yapılır. Launcher'da yine ayrı bir programdır. Hangi dil ile yapıldığının pek önemi yoktur zira aracıdır sadece. Oyunun versiyon kontrollerini ve güncelleme dosyalarını indirip oyunu çalıştırmaktan başka bir işe yaramazlar. Hangi dil ile yapılırsa yapılsın fark etmez açıkçası.

Oyunun sunucusu her şeyle yazılabilir. Sunucu sadece protokollerle iletişim kuracağı için sunucunun yazıldığı dil önemsizdir. Önemli olan iletişim protokolleridir. Ama sunucunun hızlı çalışıp hızlı tepki vermesi oyuncu için iyi olur. Bu yüzden alt seviye dilleri tercih etmek her zaman iyi olacaktır...


Cevabın için teşekkürler başka bir forumda okudum mesela biz oyun ile ilgili bütün modelleri haritaları vs hazırladık bunları oyun motorunda düzenledik köyleri bölgeleri yarattık benm için daha sonra olan sorun şu bu oyuna online olarak giriş nasıl yapılacak her girene nasıl farklı bir karakter verilecek giriş sistemini vs nasıl ekleyeceğiz daha sonra tabiki c++ ile oyunu geliştirebiliriz c++ , 3dmax, ve herhangi bir oyun motorunu profesyonel şekilde bilirsem yine bu dediğim sorunlar çıkıyor aslında türkler bu noktada kaybediyor şuan tektürk online oyun ikv oda fazla iyi değil bize yardım edicek bize şunları bunları yap diyecek elimizden tutacak kimse yok :(
 
Katılım
31 Aralık 2007
Mesajlar
17,486
Reaksiyon puanı
189
Puanları
243
Cevabın için teşekkürler başka bir forumda okudum mesela biz oyun ile ilgili bütün modelleri haritaları vs hazırladık bunları oyun motorunda düzenledik köyleri bölgeleri yarattık benm için daha sonra olan sorun şu bu oyuna online olarak giriş nasıl yapılacak her girene nasıl farklı bir karakter verilecek giriş sistemini vs nasıl ekleyeceğiz daha sonra tabiki c++ ile oyunu geliştirebiliriz c++ , 3dmax, ve herhangi bir oyun motorunu profesyonel şekilde bilirsem yine bu dediğim sorunlar çıkıyor aslında türkler bu noktada kaybediyor şuan tektürk online oyun ikv oda fazla iyi değil bize yardım edicek bize şunları bunları yap diyecek elimizden tutacak kimse yok :(

Her kişinin karakteri ve inventorysi belli bir veri bütünü olacak sonuçta. Bu veri bütünü dediğimiz veriyi çeşitli formatlarda serialize edip sunucu ve istemci arasında ileteceksiniz. Daha sonra da gelen veriye göre istemci tarafında karakter oluşturulacak. Şu an bu soruları sorman için açıkçası çok erken. Öncelikle programlama metodolojileri üzerine çalışıp üzerine iyi bir programlama dilini detaylı bir şekilde öğrendikten sonra zaten bir çok soruyu kendin cevaplar hale geleceksin :)

O yüzden şimdiden bu tip soruları kafana takma ve programlama çalışmaya odaklan bence :)
 

LeaveNhA

Doçent
Katılım
4 Aralık 2011
Mesajlar
597
Reaksiyon puanı
5
Puanları
18
bende senin gibiydim, 16 yaşımda kaktırdılar c++'ı oyun yapmak istiyosan öğren diye, şu an web tabanlı erişim aşım sistemleri yazıyorum. :D
"oyun yapmak" senin yaşında ve senin şartlarında birine çekici gelebilir, senin kafandakileri bilgisayara yansıtmak, ekrandaki herşeyin efendisi olmak güzel gelebilir fakat ortada bir sorun var, hiç birşey sandığın gibi gitmez, çünki gerçekten ne kadar geniş düşünürsen düşün elbet biyerleri atlıyorsun ve o atladığın yerde hayal kırıklığı karşılıyor senide.

Sana tavsiyem C++ öğren hiç önüne arkana bakma, emin ol, daha ortasına gelmeden ordaki soruların yüz kat büyüklerine cevap bulucaksın eğer detaycı bi insansan...

Ben 3ds max'e sanırım ilk okul 4 de kendi başıma başlamıştım, tr3d.com diye bir site de var bu işin ustalarının boy gösterdiği, hevesin kırılır ama bakma yani, sonra gördüm ki benim arzuladığım olay programcılık bana ne bi modelin sağı solu olmamışsa ben o modeli şekle sokarım programcılıkla dedim ve c++ öğrenmeye karar verdim 16 yaşımda. :D

Hayal et, ve asla vazgeçme.
 

kkoray

Profesör
Katılım
28 Ekim 2006
Mesajlar
1,680
Reaksiyon puanı
36
Puanları
228
herşey bir hayalle başlar daha sonra programlama aşığı olursun :D benimde öyle başlamıştı lise de bilgisayar donanım okurken yazılımla tanıştım ve tanıştığım ilk dil pascal daha sonra vb , c++ ,c# geldi eğer programlamayı seversen kopamazsın ama yok severek zevk alarak yapmazsan nefret edersin hayattan soğursun yapamazsın. severek yaparsan yukardaki soruların hepsine kendin cevabı bulucaksın belkide daha fazlasına sana tavsiyem tek bir dilde uzmanlaşman diğer dillerden az da olsa bilmen çünkü çok geniş bir yelpaze bizim piyasa o şirkete gidersin c++ yazar diğerine gidersin vb hepsinden az da olsa bildinmi bide programlama mantığını oturttunmu gerisi çorap söküğü gibi gelir oyunda yaparsın program da
 

kosasker

Profesör
Katılım
24 Aralık 2008
Mesajlar
3,195
Reaksiyon puanı
49
Puanları
228
Güzel kardeşim. Sen bu işe başla, ingilizceyi de ihmal etme. Büyükşehirlerden birinde oturuyorsan, git bir oyun şirketinin kapısına dayan. Tanış onlarla, git çaylarını iç, işi öğren. Yapamadığın şeyleri buraya yaz, elimizden geldiğince yardımcı oluruz.
 
S

SDN Okuru

SDN Okuru
c# ile bi yol olmaz, cryengine kullan c++ öğren da bişey bilmiyorsan pek mümkün gözükmüyor )=
 

Kenpachi

Müdavim
Müdavim
Katılım
23 Haziran 2012
Mesajlar
1,587
Reaksiyon puanı
26
Puanları
228
İş modeli lisanslanmadığı için hiç kimseye bahsedemiyoruz, çok sınırlı kişi biliyor. O yüzden şu anlık açıklama yapamam :)

Çok zor bir iş olduğunu anladım söylediklerinden.Allah kolaylık versin.
 

sukru15

Öğrenci
Katılım
7 Haziran 2012
Mesajlar
25
Reaksiyon puanı
0
Puanları
0
kardeşim yaşın kaç öğrenebilirmiyim :) ve bencede bi dile yoğunlaş . eğer bi kere mantığını kaparsan bu dilin c++ ' ın c# falanda aynı mantıkya ya onlarıda rahatça öğrenirsin . neredeyse tüm diller aynı temel üzerine dikilmiş . eğer sende ben gibi 15 yaşları civarındaysan gel bearber başlayalım . ben 3-4 kez başladım sıkıldım bıraktım ama hevesliyim bu işlere . ama bi başınada olmuyor tabi .

sonra gelelim online oyuna . bencede geniş bi kadron olmak zorunda çünkü bi taraf modellerle , bi taraf haritayla , bi taraf kodlarla , bi taraf oyunu birleştirecek , senaryo , sonra o oyunu test edeceksin . Aslında çok zor değil ama adam istiyor bu işler . bence sen de ben gibisin . oyun yapmaya heveslisin . gel beraber başlayalım bu işe .


Bu arada motor olarak Unity ile başlarsan fena olmaz . Gayet basit bişey onda rahat 3d oyunlar yaparsın . sonra zamanla bunu online yaparsın falan fiskos . :)
 

MentorAuditore

Öğrenci
Katılım
8 Aralık 2012
Mesajlar
52
Reaksiyon puanı
0
Puanları
0
C++ ve C# başlangıç seviyesindeyim. PHP kitabım ve programlarım var ona daha başlayamadım. SQL ile aram oldukça iyi ve PS konusunda pek kötü değilim. Seneye üniversite sınavım var , bu yaz ne üzerinde yoğunlaşır isem ona göre bir seçim yapacağım. Bende senin gibi yola çıktım , bir çok online oyun üzerinde çalıştım , sunucular kurdum. Burada en önemli nokta , umudunun kırılmaması , çünkü senden iyileri hep olacaktır. Şimdiden kendine arkadaşlar edin ki sonra bir projeye başladığında yanlız kalma.
 

kamildoan

Öğrenci
Katılım
5 Mart 2011
Mesajlar
46
Reaksiyon puanı
1
Puanları
0
oyun yapmak istiyorsan işe c++ ile oyun yapacağım diye başlama cry engine, unreal engine gibi oyun motorlarıyla oyun yapmak sağlam ekip ister yüksek bütçeler ister. Oyun programlama işine girmek istiyorsan mobil platformları düşünmelisin. Sana önerebileceğim en iyi dil flash ile birlikte action script hem ios hem de android için oyun yazabiliyorsun yakında windows 8 ve windows phone 8 desteğide gelecek. Ayrıca bu işi yapmaya daha çabuk başlayabilirsin. Unity de diğer tavsiyem o da bir çok platformu destekliyor ve öğrenmesi kolay ama benim favorim html5. html5 tam bir cross platform dil olma yolunda hızlar ilerliyor. html5 ile tüm platfomlar için uygulama geliştirebiliyorsun. Mesela yeni çıkacak tizen os tamamen html5 tabanlı açık kaynak bir işletim sistemi ayrıca akıllı tvler için windows 8 için artık biçok platform html5 i native bir dil olarak sistemlerine entegre ediyorlar. Bence sen bu işe daha basit oyunlarla girmeye çalış zamanla zaten istediğin gibi 3d oyunlar geliştirecek hale geleceksin. Son olarak artık oyun sektörün de grafiklerin mükemmel olması çok da önemli değil önemli olan değişik fikirler. Mesela angry birds, osmos, plague gibi oyunlara üç boyutlu mükemmel grafikler yok ama çok yüksek hasılatlar elde ettiler.
 
Üst