Yeni kişiye yardım ??
Draugluin
Üye
Cevaplar için teşekkürler... C++ dan başladım yavaş yavaş operatorlerdeyim gerçi biliyorum bunları ama tekrardan zarar gelmez =)

Zamanında tüm dillerde anlayamadığım bir operator var... Modulus operatorü. Bu ne işe yarar ? Nasıl kullanılır ? ( Hatırlayamayanlar için Modulus un işareti %'dir )

Kitap bakımından ve pratik bakımından bir dolu şey buldum internette. Yavaş yavaş başladım C++ a variable lar, operatorler, looplar falan zaten biliyorum. Arrayler, Function Scope ları bir tekrar edip daha ileri konulara devam edicem =) Herkese teşekkürler, bu yolda yavaş yavaş başlıyorum. İlerideki çalışmalarımı burada paylaşırım, teşekkürler =)
Draugluin
Üye
Optln dedi:


C++'ı, oyun programlamayı temel alarak öğreten kitaplar da var. Belki normal kitaplar sıkıcı gelebilir. Şu kitap çok tavsiye ediliyor:
http://www.amazon.com/C-Game-Programmers-Development/dp/1584502274



Kitaba baktım fakat bayağı bilgi istiyor classtır falan o yüzden yine normal kitaptan devam sanırım. Çünkü normal kitapta classlar son konulardaydı burada ise öğrenilmesi gerektiği söyleniyor, yani o kitabı bitirmem gerek kesin =)
Phoenixlin
Üye
http://www.cs.bilkent.edu.tr/~saksoy/courses/cs201/

Oyun yapmadan önce dili bilmek gerekir tabi =)
Golden Eagle
Üye
Gençler oyun yapacaksanız c#, visual basic gibi dillerden uzak durun. c ile başlayın işaretçiler, veri yapıları vs. temelleri yutun sonra c++ ye geçin sınıflar, kalıtım, çok biçimliklik nedir adınız gibi bilin. Gerisi zamanla gelir.
sayi50
Üye
Benim bölüm Web Tasarım ve Programlama olduğundan bölümde PHP, Basic ve C# görüyoruz... Diyebilirimki keşke AS2.0 ile flash oyun yapacağıma direkt C# girseydim...

Bu arada buralarda bir yerde benim yazdığım bir başlık olacaktı... Hah buldum:

http://www.oyungezer.com.tr/option,com_smf/Itemid,26/topic,13965.0/

Buradan herhangi bir dilde oyun yazmanın temel mantığı hakkında birşeyler kapabilirsin... Çünkü bence özellikle oyun programlamaya çalışırken en önemli şey direkt dalmak... Önce mantığın güçlenmeli... Neyi düşünmen gerektiğini bilmelisin.. sonra onu nasıl anlatacağını bulursun zaten.. AS2.0 ile yazdım onu yakında C# ile OOP olarak yazıp yine buraya atmayı planlıyorum okulda classları falan bitirdik... Bir API bulunca tamamdır :D

Ben yazarken direkt başladım... önce bildiklerim ile yazdım sonra yeni şeyler öğrenince bunu değiştirdim daha iyi yaptım.. senin deyiminle "Mükemmelleştirme"ye çalıştım...
erengyerengy
Mod
Yazılım programlamaya on iki yaşındayken Visual Basic 6 ile başlayan bir insan olarak açıkçası ben de önermiyorum VB'yi. Öğrenmesi ve işe yarar bir şeyler yapması hem kolaydır, hem de çoğu dile göre daha az zaman alır. Biraz zorlarsanız klasik Windows uygulamalarının haricinde DirectX destekli bir oyun bile yapabilirsiniz. Ama ileri seviye programlamaya geçtiğinizde o kadar sık engel çıkartmaya başlar ki önünüze, her teknik sorunun çözümünü VB'de nasıl uygulayabileceğinizi düşünmek veya internette bir workaround aramaktan asıl yapacağınız şeye odaklanamazsınız. Özellikle de programlamaya oyun yapmak için başlıyorsanız, VB'den gerçekten uzak durun.

ragnor dedi:


bende bi ara dökümanlar yazmıştım ama link vermeyeceğim, arar bulursun merak ediyorsan. Zaten asıl mesele bu, arayıp bulmayı öğrenirsen devamı gelir.



Buna özellikle herkesin dikkatini çekmek, üzerini fosforlu kalemle çizmek ve hatta etrafını neon ışıklı tabelalarla çevirmek istiyorum. Arada bir diğer insanlardan yardım almaktan elbette çekinmeyin, ama kendiniz bir şeyler arayıp bulmaya, araştırmaya ve okumaya üşeniyorsanız zaten oyun yapamazsınız.
Draugluin
Üye
Evet arkadaşlar birkaç ay sonra, Öğrendiklerim ile birlikte birkaç program buldum tamamen tamamlanmamış da olsa koydum buraya =)

Son geçtiğimizden beri;
- Arrayler, Vectorler nedir,
- Fonksiyonlar, Fonksiyon Aşırı Yükleme ( Overload ) nedir,
- Classlar, Namespaceler nedir,
- Bir classın birçok kez eklenmemesi için gereken ifndef gibi komutları,
- Constructor, Destructor kavramlarını,
- Operator Overloading kavramını,
- Inheritance'ın ne olduğunu öğrendim. Ayrıca Function Overriding'i,
- External header ve cpp dosyaları ile class yaratma gibi konseptleri,
- OOP programlamanın yararlarını, Abstraction vb özelliklerin ne anlama geldiğini,
- I/O Streamlerinin ne olduğunu ve nasıl çalıştığını,
- IF/OF Streamleri ile text dosyasına ve binary olarak veri kaydetmeyi,
- C++ Console Application ile, ASCII karakterleri ile oyun yapılabileceğini,
- Console Application'ların renklendirilebileeceğini,
- 30 FPS hızını koruyan bir GameLoop yazmayı,
- Programcı olmak için neler gerektiğini,
- Ayrıca, düzgün bir oyun programcısı olmak için bilgi bulmak ve aramak gerektiğini, kendimizi zorlamak ve çok sayıda kitap bitirilmesi gerektiğini,

Öğrendim...

Evet kısa bir zamanda birçok şey öğrendim fakat hala yeterli değil, Bu tür dilleri kavramak için çok uzun zaman harcanılacağının farkındayım...

NOT !! PROGRAMLAR SAYI GİRİLCEKSE SAYI DIŞINDA DEĞER GİRDİĞİNİZDE KAFAYI YER !!
Önceden söylemesi :D

Termometre Değer Çevirici -
http://www.sendspace.com/file/vrsvr5
Bunda küçük bir sorun var. Evet Hayır kısmına 1-2 yapmışım. 1 evet 0 hayır olacaktı. Gerçi 1 dışında ne girerseniz girin, yine de çıkacaktır =)

Bubble Sorting -
http://www.sendspace.com/file/cr8eg3
Verilen birkaç sayı ile Bubble Sorting çalışması, şu anda Selection'ı da biliyorum =) Fakat adı gerçekten Selection mı bilmiyorum orası ayrı :D

TicTacToe -
http://www.sendspace.com/file/lruljf
İlk gerçek tamamlanmış oyun projesi. Süper oldu bence. Zaten kitapta da anlatılıyordu fakat konuyu 1 kez okuyup geçtikten sonra kitabı kapayıp, herşeyi kendim yazdım ki anlayabileyim. Sorun çıkmadan bitirdim. Sonra hep aynı hareketleri yapmasın diye 1 olasılıktan 24 farklı hareket olasılığına çıkardım, çok daha zor oldu =)

Text-Based RPG Çalışması -
http://www.sendspace.com/file/hfk1dn
Bu da yeni başladığım bir proje, son olarak neler yapabildiğimi görmeniz açısından koydum. Şu anda kodlamadan çok console application da düzenleme nasıl yapılır vb. şeylerde çalışıyorum =) Şu anda bu projede çok sorun var işte bir sayfada, yeni bir fonksiyonumun denemesini yaptım, sol üst siyah ve yazının arkası siyah oldu. Ayrıca oyun neredeyse hiç hazır değil. Fakat anlamaya çalıştığımdan dolayı böyle birşey yaptım. Renklendirme ve ASCII karakterleri ile tablo hazırlama, ayrıca sayfada istediğim yerden yazı yazdırabilme gibi şeyleri denedim. Bu projede arkaplan önceden, yazılar sonradan hazırlanmaktadır her sayfada...
Ace9006
Üye
Text-Based RPG ne baktım da gayet guzel olmus. Kapısma bile var :D Aah ah su aptal okul olmasa da ben de baslasam su islere :D Yazına kaldı artık benim çalışmalar :(

binonsekiz
Üye
Dostum gerçekten azmetmişsin, genelde birisi böyle bir foruma "ben de istiyom oyun yapmak yardım PLS" yazıp ortalardan kaybolur, ama sen işin o kısmını çoktan geçmişsin, eğer okulda da bilgisayarla ilgili birşey okumuyorsan gerçekten helal olsun.

Sana tavsiyem artık konsol uygulamalarını bırakıp masaüstü uygulama geliştirmeye başlaman. Visual C++'a dalabilirsin, veya çok sevdiğim 2D bir oyun motoru olan HGE ile oyun yapımına gerçekten başlayabilirsin.

http://hge.relishgames.com/

Oyun motoru dediğime bakma, bulabileceğin en basit seviyeli motor, sadece "ekrana şunu çiz, şu sesi çıkar" demeye yarayan birkaç class'ı, ve bunun üstüne kurulmuş bir particle motoru var. Yani içinde ses editöründen harita yapımına kadar her türlü şeyi barındıran bir oyun yapım kiti değil, sadece DirectX'in bir seviye üstüne kurulmuş basit bir motor, ve oyun yapımına giriş yapmak açısından mükemmel derecede faydalı.

Bence hemen indirip tutorial'lerin içindeki kodlara bakmaya başla, bu seviyedeki bilginle çok kolay anlaşılabilecek kısa şeyler. Ondan sonra yapılabilecek en ideal oyunlardan olan Pong'u yapmaya çalış (ki bu benim izlediğim yoldur). Zaten şu anda bir pong oyununu konsolda yapabilecek durumdasın anladığım kadarıyla, üstüne eklemen gereken tek şey şuraya şu quad'ı çiz demek.
Draugluin
Üye
Aslına bakarsanız Pong'u konsolda yapmak o kadar da basit değil. Çünkü normal DirectX ile yapılan applicationlarda, x ve y koordinatları zaten belirlidir ekrandaki. Buna göre X ve Y koordinatlarını birbirine değiştirip halledebilirsiniz.

Ayrıca şu ana kadar öğrendiklerimin hepsi C++ bilgileri. Konsolda bir oyun yapabilmek için ise Win32 kodlama da gerekiyor ki fazla bilgim yok o konuda. Yani Keyboard taki tuş basımlarını kontrol etmek için, define komutu ile bir fonksiyon yazıyorsunuz. Böyle birşeyi yapmak için input_handle ve output_handle kullanmalısınız ki handle lar win32 konseptidir. Ayrıca da konsoldaki _ işaretini kapamak için de win32 kodlamanız gerek. Kendi X ve Y değişkenlerinizi belirlemelisiniz. Yapılamaz mı, yapamaz mıyım ? Yaparım fakat kendi bilgilerimden aklımdan yazamam, yararlandığım tutorialler ile yapabilirim.


Şimdi asıl fikrime gelirsek hala bazı konular ile ilgili fazla bir bilgiye sahip değilim;

- Extern
- Queues
- Stacks
- Linked List
- Templates
- Pointers to Pointers *
- Function Pointers *
- Array of Function Pointers *
- Singletons
- Multiple Inheritance
- Abstract Base Class
- Pointers to Class Members *
- Threads
- DLL's

Evet fazla gelebilir fakat * işaretlileri biliyorum fakat tekrar gerekiyor. Diğerleri içinde ise Queue, Linked List gibi konular önemliyken. Bence en önemlisi Thread konusu çünkü çoğu oyundaki oyuncuların " ..ya işte sen orda koşarken şehirdeki adam evine gidiyo gece olunca sabah olunca dükkanını açıyo... " olarak bahsettikleri konu Multi-Threading ile yazılan kodlar olduğunu duymuştum. Bu yüzden bu konuları da tekrar edip Text-Based RPG yi biraz daha düzelttikten sonra geçicem masaüstü uygulamalarına. Fakat Pong tipi şeyler yazmak için değil, öğrendiklerimi kesinleştirmek için çalışıcam konsolda...

Okulda böyle birşey görmüyorsan demişsin. Belirtmek isterim ki ben 16 yaşında bir Lise öğrencisiyim. Çok küçükken oynadığım MMORPGlere ve beni MMORPG kavramı ile tanıştıran Okan abime çok teşekkür ediyorum. Çünkü bu sayede İngilizce bilgim yaşımdaki çoğu kişiden öte. Bütün bu kodlama ile ilgili bilgileri İngilizce kitaplardan öğreniyorum. Derslerden boş kalan zamanlarda çalışıyorum. Çok da severek yaptığım bir iş herhangi bir kodlama dilini çalışmak.

Grafik motoru için ise teşekkür ederim. Düzgün bir motor arıyordum ve LlamaWorks2D yi bulmuştum. Fakat HGE nin daha iyi olduğunu düşündüğümden bunu deneyeceğim. Çok teşekkür ederim.

Zamanla buraya yaptığım şeyleri yazacağım, eğer yardım isteyen olursa Ö.M ile bana ulaşabilir.
discussioncontroller