Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

Oyun yapmak


b1vRiP

Öne çıkan mesajlar

Sanirim riglous un dedigi baska bir seydi. Idealleri yolunda varolan hazir meslegini/isini birakabileceklerden bahsediyordu sanirim.

Yani baska bir bolum okuyup, baska isle ugrasanlar buna dahil degil. ( mi ? riglous ? )

nedanko'nun teorisine de cok katilmiyorum, evet bence bu da basariya gidebilecek yollardan bir tanesi. Ama hipotez henuz. Benim cook olayda "acep bu nasil yapilir ?" diyip de ardindan yaptigim olmustur ( buyuk projeler/isler de dahil olmak uzere )

Netekim, tek nokta var ki cok onemli, kisisel motivasyon. Bu olmadan olmaz hakkaten. Dolayisi ile, "Game developer" olmaktan "zevk" aliyorsan -ki tabii henuz isin icinde olmadan bu nasildir ne degildir orasi biraz sancili olacak-, olursun.
Link to comment
Sosyal ağlarda paylaş

@Bone, zaten bu orneklerin fazlaligindan dolayi bu konuda ornek gosterilebilecek bir yer degil. Bir deneyde senin sample'in, esas cogunlugu temsil etmiyorsa, o sample'dan yapacagin cikartmalar da yanlis olacaktir. Avrupa'da veya ABD'de veya Kanada'da veya Avusturalya'da, kisacasi sistemin az cok oturdugu yerlerde boyle bir sey gecerli degil. Turkiye'de bu anlattigin durum o kadar cok goruluyor ki, ornek olarak veremezsin.

@sharky, yok yukarida da dedigim gibi daha temel bir sebepten dolayi soyledim.

Yazdiklarim cok parcalandi bunun icin demek istediklerimi dogru ifade edemedigimi dusunuyorum. Epey bir karisti kisacasi.

Tartistigimiz sey kisinin hobi olarak oyun gelistirip gelistiremeyecegiyse, bence yanlis yerdeyiz, daha doorusu ben orada degilim. Bahsettiginiz sey "hobi" oldugu icin, kimseyi etkileyecegini sanmiyorum, isteyen istedigini yapar.
Yalniz hobi olarak dusunuldugunde, kisinin altyapisinin iyi olmasi gerekli cunku nedanko'nun da dedigi gibi is cok dalli budakli. Basiti var, karmasik olani var. Bu tur isleri birbirinden ayirabilmek lazim. Yani hobi icin bile belli bir birikim gerekli. Bu birikim tabii ki kazanilabilir, kullanilabilir. 50'nde de yaparsin bunu, 20'nde de yaparsin. Dedigim gibi ben buna zaten karisamam, karismam. Sonucta hobi dedigin bu gun vardir, yarin yoktur; yapmak isteyeni kovalayan olmaz.

Ancak bu konudan konusurken, bir arkadasin "hevesini kirmayin, zaten her hevesliyi aksine inandirdiginiz icin oyun sektoru TR'de gelismiyor" gibi bir laf etti ki bu farkli bir tartisma konusuydu. Ben de uzerime vazife olmamasina ragmen oturdum cevap yazdim; isin profesyonel kismiyla alakali oldugu icin tartisma bu tarafa kaydi.

Tum bu seylerin disinda verdigim tavsiyeyse, bir seyler ogrenmek isteniyorsa bunun guvenilir kaynaklardan arastirilmasi yonunde. Ozellikle forum gibi yerlerin bu konuda cok iyi olmadigini belirtmeye calistim; zira bilen var, bilmeyen var, herkes cevap yazar, yanlis yonlendirme olur.
Link to comment
Sosyal ağlarda paylaş

benim çok sevdiğim bir arkadaşım var üniversiteden tanıdığım. adam iktisat bitirdi, koç bank merkez şubede gayet gelecek vaat eden işi varken, tee commodor64 yıllarında hobisi olan grafikerliğe yöneldi. adamın koordinatlarını fazla belli etmek istemediğim için şu anda ne yapıyor vs değinmek istemiyorum; ama son görüşmemizde abd'den bir firma ile temasa geçtiğini ve büyük ihtimal abbas yolcu olduğunu söyledi.

ha bu adamın zaten ucundan kıyısından bir temeli vardı. geçmişte uğraşmış bu işlerle, güzel resim falan da çizerdi, o commodor yıllarından çevresi de vardı, kitaptı arkadaşlardı derken... al işte adam abd'ye gidecek inşallah, hem de öyle üfürükten bir firma değil.

hızlı hızlı göz attım yazılanlara, sanırım nedenko söylemiş zaten. oyun yapmak diye birşey yok, grafik çizmek var, oyun motoruna fizik hesaplatmak var, yapay zeka programlamak var vs (lan anlamadığım belli oldu) yani kısaca spesifik bişe sorsan belki yardımcı olabilecekler olurdu. oyun yapan bir firmaya grafiker olmak istiyorum desen mesela ben arkadaşa yönlendirirdim seni hehe
Link to comment
Sosyal ağlarda paylaş

b1vRiP said:
aquila said:
dun kitapciya gittim, bi ton kitap var konuyla ilgili, her turlusu var, alin okuyun.


hangi kitapçı ve ne gibi kitaplar?
mesela bu kitap tam amacına uygun, ama sadece 1 saati kaldı satılıyor

http://urun.gittigidiyor.com/Borland-C-Builder-ALFA-YAYINLARI-YEPYENI_W0QQidZZ15805761
Link to comment
Sosyal ağlarda paylaş

Prosciutto said:
Milamber said:
c#'a geçtim pythondan sonra. xna isminde güzel bir bişisi var. araştır derim. ufak ufak c#'a kayar oyun sektörü diye düşünüyorum.


c#'la xna ile oyun yapılır o ayrı ama oyun sektörü gibi performansın önemli olduğu bir sektörün C#'a kayması mümkün değil .Net'in yapısı gereği.


performansı artacaktır diye düşünüyorum. zaman gösterecek tabi kimin haklı olduğunu^^
Link to comment
Sosyal ağlarda paylaş

evet .NET framework MSIL yani intermediate language yapisindan dolayi her zaman icin Oyun, simulasyon vs.. gibi aninda tepki gerektiren isler icin tavsiye edilmez. kullanilsa bile cok dusuk performans gosterir. Ayni oyunu 5 kat hizli yazarsin ama 10 kat yavas calisir. (Bir .NET ci olarak uzulerek soluyorum :)

ha direk unsafe code bloklari icerisinde direk bellege ulasarak yazarsin kodunu o zaman c++ performansina yaklasirsin.

ancak web yaziliminda, masaustu programcilikta .NET ile yazilan kodun hem kontrolu hemde gelistirimesi hem kolay hemde performans acisindan tatmin edicidir.
Link to comment
Sosyal ağlarda paylaş

Milamber said:
performansı artacaktır diye düşünüyorum. zaman gösterecek tabi kimin haklı olduğunu^^


.Net framework altındaki dillerin amacı o değil, programcıyı çeşitli soyutlamalarla bellek yönetimi vb. yüklerden kurtarmak ve yazılım geliştirme sürecini hızlandırmak. C# ile genel amaçlı yazılım üretebilirsin ama işletim sistemi yazamazsın, ciddi performans gerektiren oyunlar da yapamazsın, yapamıyo olman da normal zaten. her dil herşey için kullanılmaz. aynı şeyler java için de geçerli.

c++ 'ın tercih edilme sebebi bellek yönetiminin tamamen programcıya bırakılması doğal olarak da performans artışı. bu c++'ı javadan veya C#'tan üstün kılmaz tabiki, amaçlar farklı çünkü.

reyou said:

ha direk unsafe code bloklari icerisinde direk bellege ulasarak yazarsin kodunu o zaman c++ performansina yaklasirsin.


çok zorunlu olmadıkça pek anlamı olan birşey değil bence. o yüzden C#'ı tercih etmek için bir sebep değil oyun yapımında.
Link to comment
Sosyal ağlarda paylaş

Prosciutto said:


c#'la xna ile oyun yapılır o ayrı ama oyun sektörü gibi performansın önemli olduğu bir sektörün C#'a kayması mümkün değil .Net'in yapısı gereği.


niye ki? c#'ın da gayet performanslı olduğu söyleniyor.
gerçi hala c++'ın c'den daha hantal olduğunu söyleyenler de var, ama c#'ın performansı günümüz teknolojisine uygun hazırlanmış.
Link to comment
Sosyal ağlarda paylaş

Prosciutto said:
Milamber said:
performansı artacaktır diye düşünüyorum. zaman gösterecek tabi kimin haklı olduğunu^^


.Net framework altındaki dillerin amacı o değil, programcıyı çeşitli soyutlamalarla bellek yönetimi vb. yüklerden kurtarmak ve yazılım geliştirme sürecini hızlandırmak. C# ile genel amaçlı yazılım üretebilirsin ama işletim sistemi yazamazsın, ciddi performans gerektiren oyunlar da yapamazsın, yapamıyo olman da normal zaten. her dil herşey için kullanılmaz. aynı şeyler java için de geçerli.

c++ 'ın tercih edilme sebebi bellek yönetiminin tamamen programcıya bırakılması doğal olarak da performans artışı. bu c++'ı javadan veya C#'tan üstün kılmaz tabiki, amaçlar farklı çünkü.

reyou said:

ha direk unsafe code bloklari icerisinde direk bellege ulasarak yazarsin kodunu o zaman c++ performansina yaklasirsin.


çok zorunlu olmadıkça pek anlamı olan birşey değil bence. o yüzden C#'ı tercih etmek için bir sebep değil oyun yapımında.


c# işletim sistemleri. adamlar c#da işletim sistemi yazmak için fikirler geliştiriyorlar, (il2cpu)
biz hala burada c#dan işletim sistemi olmaz olmaması lazım gibi anlamsız yorumlarda bulunuyoruz.

kime göre olmaz neye göre olmamalı? varsa savunduğunuz fikir önce bir araştıralim ve linkleyelim belgelerini. belgesiz dayanaksız olmuyo bu işler.

c++ memory managment olayına gelince, c#da unmanaged memory dene bisi var.

XNA konusuna gelelim, xna directx alternatifi değil aksine directxin bir wrapperı. bugun c++da yazsan c#-xnada yazsan yine directxe yazıyorsun yıne directxe. ha gunumuz kosullarında sen oyunların arasındaki performans farkı yazıldıkları programlama dili/derleyici/kodun hafıza yonetımı diyosan zaten diyecek birsey yok. design pattern denen birşey var. napıyoruz büyük projeye yani bir oyun yazacaksak, kafamıza göre memory managment değil, kullanılmış test edilmiş patternleri tercih ediyoruz. GPU Programming denen bir olay son birkaç senede popüler olmaya başlamışken, bu gibi konularda söz sahibi olup kestirip atmak için ciddi bir oyun takımında çalışıyo olmak gerekirki yorumlar sağlıklık olsun. düz mantık c#dan oyun olmaz demekle olmaz bu işler. heke heleki bu topicigin amacı olan homebrew oyunlar için bal gibide yazılır.
Link to comment
Sosyal ağlarda paylaş

bilgiler için teşekkürler :) ben daha yeni öğreniyorum c#'ı pythonun üstüne o yüzden bu kadar açıklayıcı bir yazı yazamazdım. mayıs, belki haziran da bende platfrom oyunu yazmaya çalışacam. xna ile yazılmış örnekler var. platform 2d rpg shooter fln. 3d olayına daha girmediğim için bilmiyorum performansını ama 2d gayet iyi geldi gözüme. kullana kullana öğrenecez artık.
Link to comment
Sosyal ağlarda paylaş

emokhan said:

c# işletim sistemleri. adamlar c#da işletim sistemi yazmak için fikirler geliştiriyorlar, (il2cpu)
biz hala burada c#dan işletim sistemi olmaz olmaması lazım gibi anlamsız yorumlarda bulunuyoruz.

kime göre olmaz neye göre olmamalı? varsa savunduğunuz fikir önce bir araştıralim ve linkleyelim belgelerini. belgesiz dayanaksız olmuyo bu işler.

c++ memory managment olayına gelince, c#da unmanaged memory dene bisi var.

XNA konusuna gelelim, xna directx alternatifi değil aksine directxin bir wrapperı. bugun c++da yazsan c#-xnada yazsan yine directxe yazıyorsun yıne directxe. ha gunumuz kosullarında sen oyunların arasındaki performans farkı yazıldıkları programlama dili/derleyici/kodun hafıza yonetımı diyosan zaten diyecek birsey yok. design pattern denen birşey var. napıyoruz büyük projeye yani bir oyun yazacaksak, kafamıza göre memory managment değil, kullanılmış test edilmiş patternleri tercih ediyoruz. GPU Programming denen bir olay son birkaç senede popüler olmaya başlamışken, bu gibi konularda söz sahibi olup kestirip atmak için ciddi bir oyun takımında çalışıyo olmak gerekirki yorumlar sağlıklık olsun. düz mantık c#dan oyun olmaz demekle olmaz bu işler. heke heleki bu topicigin amacı olan homebrew oyunlar için bal gibide yazılır.


eheh heyecanlanıp saldırmak yerine anlamaya çalışsaydın keşke yazılanları. fikir geliştirilir, bu tarz denemeler yapılır. ama .Net'in şu anki yapısıyla ciddi anlamda performans kaygılı bir işletim sistemi yazmak mümkün değil. yolladığın linklerdeki projelerin de öyle bi derdi yok zaten.

C#'ı yeteri kadar biliyorum, doğal olarak unsafe code denen şeyden de haberim var, merak etme. bununla ilgili yazmıştım önceki mesajlarımda zaten. C#'ta kod optimize edemessin demedim ki ben.

Design pattern dediğin şey, sık karşılaşılan sorunlar için oluşturulan çözüm kalıplarıdır, dilden bağımsızdır. C++'ın memory management avantajını nası oraya bağladın, enteresan. Yeni öğrendiğin terimleri cümle içinde kullanmak istiyo gibisin. Demekki neymiş, wikipedia'dan linkleri listeleyip saldırcak yer aramamak lazımmış.

son olarak, zaten oyun yapılabileceğini söyledim, ama oyundan oyuna değişir bu. topic de gayet geniş bi çerçevede ilerliyor sadece homebrew oyunlar üzerine değil yani, fikrimi söyledim. ne microsoft'a çamur attım ne de C# kötü bir dil dedim. aksine, sık sık kullanıyorum C# zaten. ama amaçlar farklı, basit bi stok programını C ile yazmazsın dimi?
Link to comment
Sosyal ağlarda paylaş

Prosciutto'nun söylediklerine genel olarak katılıyorum.

emokhan said:

kime göre olmaz neye göre olmamalı? varsa savunduğunuz fikir önce bir araştıralim ve linkleyelim belgelerini. belgesiz dayanaksız olmuyo bu işler.


Yazılım geliştirme methodları ya da programlama dilleri genelde analitik olarak değil, deneysel ve istatistiksel olarak karşılaştırılabiliyor zaten. İlk önce karşılaştırma için ölçütler belirleniyor (performans, güvenilirlik vs), daha sonra da x tane proje alıp bunlar üstünde uygulanıyor ve sonuçlara göre paper yazılıyor.

Karşılaştırmalar sadece belli varsayımlara ve projelere dayandığı için genelleme yapmak da pek mümkün değil. O yüzden "şu şundan iyidir, bu böyle olmaz" dendiği zaman dayanağın tecrübe ve kişisel fikir olması gayet doğal bir şey. (ya da akamedik eğitim alanlar için, profosörlerin yutturmaları :D)

Mesela herkes yıllardır OOP OOP diye bağırıp çağırıyor, ama OOP'nin diğer yazılım geliştirme yöntemlerinden üstün olduğuna dair adam gibi kaynak yok. Kime sorsan "reuse reuse" diye başlıyor anlatmaya. "Tamam, kaynak ver" dediğinde ise "Yıllardır kullanıldığına göre daha iyi olmalı" gibi argümanlar veriyorlar. Ha OOP gerçekten daha iyi değil mi? Orası apayrı bir konu.

Ayrıca illa kaynak vermek istiyorsan, doğru olan kitap ya da paper'dan vermen. Google ya da Wikipedia linkleri ciddi bir kaynak değil.
Link to comment
Sosyal ağlarda paylaş

Prosciutto said:
c++ 'ın tercih edilme sebebi bellek yönetiminin tamamen programcıya bırakılması doğal olarak da performans artışı


emokhan said:

ha gunumuz kosullarında sen oyunların arasındaki performans farkı yazıldıkları programlama dili/derleyici/kodun hafıza yonetımı diyosan zaten diyecek birsey yok. design pattern denen birşey var. napıyoruz büyük projeye yani bir oyun yazacaksak, kafamıza göre memory managment değil, kullanılmış test edilmiş patternleri tercih ediyoruz.


Prosciutto said:
C++'ın memory management avantajını nası oraya bağladın, enteresan.


saka gibisin lol, design patterni bize anlattıgın icin tesekur ederiz. baglantı konusuna gelince, kendı yazdıgın ılk mesajı okursan ki ben senın ıcın alıntıladım, baglantıyı normal sartlar altında kurabılmen lazım.

Eaglewingg said:

her hangi bir nesneye yönelik dil ile design patternleri uygulayabilirsin. Bu C++ olur java olur C# olur.


kimsenin design pattern = c# dedigi filan yok.

anlamak isteyende ordaki baglantıyı bal gibi anlar.

dedigin gib saldıraya gecmeden once okuman lazım. de ben sana saldırmadım, genel-gecer fikirlerinin aksini iddaa ettim. birazda olsa karsı fikirleri alabilmek lazım, hemen aha saldırdı bana dur sunu karalayayım moduna gecmemek lazım
Link to comment
Sosyal ağlarda paylaş

mirage said:

Ayrıca illa kaynak vermek istiyorsan, doğru olan kitap ya da paper'dan vermen. Google ya da Wikipedia linkleri ciddi bir kaynak değil.


off ne kadar anti davranyorsunuz boyle, C for Graphics linkiydi o ha tamam bida sizin için herhangi bir seyi linkledigimde, initial announcement paperını verecem link olarak.

ben zaten sayısal değerler içeren ve sunla su,bunla bu yapılamaz denen kesin yorumlar yapmadım. bu gibi yorumlarda paper, belge ihtiyacı oldugunu ben de soyluorum zaten. benim verdigim linkler, bu gibi yorumlarda soylenen seylerin aksinin varlıgını gosteren projeler.

mirage said:

Karşılaştırmalar sadece belli varsayımlara ve projelere dayandığı için genelleme yapmak da pek mümkün değil. O yüzden "şu şundan iyidir, bu böyle olmaz" dendiği zaman dayanağın tecrübe ve kişisel fikir olması gayet doğal bir şey.


artık bu bilgi bu kadar çok yayılmışken, kişisel tecrübenin somut olarak ortada olmadıgı durumlarda, kimsenin umrunda olduğunu sanmıyorum.
Link to comment
Sosyal ağlarda paylaş

Son dediğini anlamadım.

Asıl iddia şu: Genelde aynı yazılım aynı kalitede (her ne demekse) C++ gibi bir dille yazılırsa performans açısından .NET/Java'ya göre daha iyi sonuç verir. Dolayısıyla da performansın önemli olduğu alanlar için (işletim sistemi, modern oyunlar vs) C# ve Java tercih edilmiyor.

Senin söylediklerinden anladığım ise (yanlış anlamışsam düzelt) memory management için design pattern kullanırsan dilin performansa ciddi bir etkisi olmayacağı. Kaynak konusunda ise google'a "memory management design pattern" yazıp beş milyon sonuç çıktı diye göstermek pek bir şey ifade etmiyor demek istiyorum.

Tasarımı ve kodu istediğin kadar kaliteli tut, yazılım ile donanım arasındaki katman sayısı arttıkça performans da haliyle azalıyor. Design pattern ile .NET katmanlarını yok edemeyeceğine göre, şu aşağıda söylediğini nasıl savunuyorsun? Performans farkı tek başına dil ve hafıza yönetiminden kaynaklanmıyor tabi, ama bunların ihmal edilmeyecek bir etkisi var.

emokhan said:
gunumuz kosullarında sen oyunların arasındaki performans farkı yazıldıkları programlama dili/derleyici/kodun hafıza yonetımı diyosan zaten diyecek birsey yok. design pattern denen birşey var


Ayrıca kendi içinde çelişiyor bu yazdığın. Hem hafıza yönetiminin oyunlar arasındaki performans farkında etkili olmadığını söylüyorsun, hem de memory management design pattern tercih etmeli diyorsun.

Yazdıklarından bu konularda bilgili olduğunu görebiliyorum. Lütfen benim ya da başkalarının yazdıklarını sana karşı saldırı olarak algılama. Yanlış anlaşılma olabilir ya da aynı görüşte değilizdir. Sonuçta tartışarak gelişiyor insan.
Link to comment
Sosyal ağlarda paylaş

hafıza yönetiminin etkisiz olduğunu söylemiyorum. hayır "c#da yapamazsın" yorumundan yola çıkarak doğru bulmadığımı anlatmaya çalışıyorum.

benım savundugum konu su,

c++ memory managmentı programcıya bırakıyor.

c#da memory managment normal sartlar altında, managed olsada yani VM tarafından yapılsada, unmanaged kod sayesinde bu isi kendimiz üstlenebiliriz.

bu durumda, c++ın programcıya bıraktıgı memory managment kısmını uygun bir pattern ile implement etmekle, c# da unmanaged kodda yıne uygun pattern ile implement etmek arasında "homebrew" oyunlar için, "çok ciddi performans farkı olacagını" soyleyen yorumu, yanlış buluyorum.
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...