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

Çok mal ve lame bi başlık olduğunun farkındayım ama sadece merak ettim :)
Bir oyun yapmak için ne gibi temel şeylere ihtiyaç vardır? Mesela programming için genelde hangi programlama dili kullanılır.Ya da graphic engine nasıl yapılır falan..

aslında işin graphic engine kısmı nedense inanılmaz ilgimi çekiyor neyse biraz temel bilgi aliyim dedim.
Link to comment
Sosyal ağlarda paylaş

herkesin böyle bi başlığı oluyor galiba :)

grafik motoru için kolay kısım bence programlama dili. tabi ki temel bilgiye sahip olup üzerine directx, opengl vs ile gitmen lazım. ama asıl iş matematiksel hesaplamalar olacak. bana zevkli geldiği için derslerde izometrik bir oyun motoru nasıl yaparım diye çizip hesaplıyordum falan.
Link to comment
Sosyal ağlarda paylaş

Her şey sana programcıya kalmış aslında. 10 dakikada oyun yazayım diyosan, C# kullanıp .NET Framework ile bi Windows Forms Application yaratırsın, oyun olur. Mesela Sokoban yapabilirsin böyle. Grafik motoruydu, şuydu buydu kasmazsın, GDI var zaten.
Ha, daha ciddi kasayım diyosan C veya C++ ile yazarsın. İki boyutlu oyun yapacaksan hazır grafik/ses/IO motorlarını kullanırsın (ki çok güzel bi örnek var buna, www.allegro.cc ).
Ha, daha da ciddi kasayım diyosan, C++ ile sıfırdan yazarsın her şeyi. Oyunu iyice tasarlayıp, sınıfları oluşturur, bi kağıda dökersin. Sonra ciddi ciddi bu kağıtta oluşturduğun sınıfları koda dökersin. Ha bu sınıflar ne dersen, ne bileyim, en basitinden bi string sınıfı olur, bi girdi çıktı sınıfı olur, veya event-driven bi sistem oluşturmak olur, vs. Sonra işin grafik kısmına girersin. OpenGL veya Direct3D öğrenir bunları uygularsın. Ses kullanacaksan OpenAL öğrenirsin, vs. Sonra elinde mis gibi bi motor olur, basarsın oyunları bunun üstüne.

Ama emin ol, oyun yapımı konusundaki tek ve en önemli şey kararlılık. Programlama dili öğrenilir, bi kütüphane öğrenilir, oyun yapacak adam bulunur, grafikler, sesler bulunur da; kararlılık biraz zor :)
Link to comment
Sosyal ağlarda paylaş

aslında önce kendim kemik bir şey oluşturmak istiyorum hobi olarak..gerçi hobilerime abanma gibi kötü mü iyi mi bilmediğim bi huyum var..
tamamdır o zaman c++ cuk oturdu zaten öğrenmeye başlayacaktım.bi derdim de şeydi c++ öğrenirken hoşuma gidecek bir şeyle öğrenmek istiyordum sanırım bu oyun işi de bunun son noktalarından biri.
Link to comment
Sosyal ağlarda paylaş

Farketmezdi.
Oyun yapmak istiyosan, sunu ogreniyim bunu ogreniyimle olmaz bu isler. Programcilik yapmak istiyosan, duzgun programci olursun, daha sonra oyun yapan firmalara basvurup calismaya baslarsin... Yok grafik kismi ilgini cekiyorsa, ayni sekilde sanat diplomani alip oyun yapan firmalara is basvurusunda bulunursun.

"Hobi olarak yapmak istiyorum" kismina da epey bi hastayim. Ben hobi olarak imkb'yi inceleyip, hobi olarak borsaci olamam. Ha olurum, ama ya kazancim dusuk olur ya da batar batar dururum. Simdi havadan hadi hobi olarak oyun yapalim dersen, ya yaptigin oyunlar gercekten bir anlam ifade etmez ya da batip batip cikarsin. Heleki isi 3D engine'e baglamak zaten yaptigin en buyuk hata. 2D oyun yap hele bi. Yapabilecegin onca guzel oyun vardir eminim. Ki bunun icin cok fazla program bilgisine de gerek yok. Oturup flash'la yaparsin. Ilk adim olarak buna cabalarsan, en azindan 2D'nin zorluklarini gorup, geri adim atarsin. Yok hala hevesliysen, oturup 3D animasyon yap. Bunlar zaten senin tek basina 5 6 yilini alir...
Link to comment
Sosyal ağlarda paylaş

iyi ya 5-6 yıl geçiriyim güzelmiş valla daha da heves ettim :)
üslüp biraz ağır olsa da önerin için sağol..
flash nedense sevmiyorum. aslında gayet masumane bir çaba öyle "ulan ea yenicem seni" gibi bi derdim yok ki olamaz da zaten..
ve dediğim gibi c++ öğrenicem ve bunu en zevkli yoldan geliştirmek isterim..he c++ neden öğrencen dersen bilmem ilgimi çekti hoşuma gitti.eğer yetersiz kalırsam bırakırım ve başka bir şeye yönelirim..
hobilerin hepsine bakınca zaten korkunç işler değil mi;
hobi olarak gitar çalınıyor, resim yapılıyor da bu neden olmasın di mi :D
Link to comment
Sosyal ağlarda paylaş

Ben pati genelindeki "bunu yapabilmek icin 500 firin ekmek yemelisin" tutumuna biraz karsiyim. Gunumuzde pek cok uzerine kurulabilecegin sistem var. Misal mmorpg olayina egilmek istiyorsan runuo ile baslayip mmo dinamiklerini ogrenebilir, oradan multiverse e gecip cok basarili bir cikti uretebilirsin.

Boyle hazir sistemlere egilirsen (hazir sistem de cok cirkin bir terim oldu) ogrenirken sikilmazsin
Link to comment
Sosyal ağlarda paylaş

hatta mmorpg creator gibi bir şey vardı (yok rpg creator değil), izometrik oyun vs yaratıyordun, fikir edinmiş olursun

ama hobi olarak kısmına katılmak zorundayım, tictactoe benzeri oyunlar veya yukarıdaki gibi aletlerle yapılmış "mini" oyunlar dışında, ciddi oyun yapmak hobilikten biraz çıkıyor malesef.
Link to comment
Sosyal ağlarda paylaş

GERGE said:
aquila said:
baslangic olarak calculus, kolay gelsin.


Korkutmayın adamı. Her oyun yapan calculus bilmek zorunda değil, hele başlangıç için hiç gerekli değil. Genelde gerekli olan sadece temel matematik bilgisi ve biraz mantıklı düşünebilme yeteneği, ama o da zamanla kazanılabilir.

Onun üstünde gereken matematik bilgisini yeri geldikçe kendi keşfedecektir zaten. Sallıyorum grafik programlamaya daldıkça algoritmik geometri ve vektör işlemleri öğrenmesi gerektiğini anlar ya da yapay zeka işine girince logic gereksinimini görür.

Zaten bu tür konuları öğreten kaynaklar doğrudan asıl konulara dalmak yerine öngereksinimleri tanıtırlar, hatta bazen basitçe özetlerler.

Programlama dili konusuna gelirsek, bahsedildiği gibi hala en sık kullanılan dil C++. Sebebi ise performans. Kötü tarafı ise C++ aşırı serbest bir dil ve C++ uzmanı olmayan için işkence çünkü her şeyi kendiniz kontrol etmek zorundasınız.

Benim tavsiyem C++'a dalmadan önce Java ve C# gibi biraz daha basitleştirilmiş dillerle başlaman ve programlama temeli ve nesne yönelimli programlama öğrenmen. Basitleştirilmiş derken, Java'yı C++'dan zayıf bir dil sanma, aksine çok daha gelişmiş bir dil. Kullanması da anlaması da daha kolay. Sadece programı yazan kişinin üstüne bindirdiği yük daha az. Yani Java ya da C# öğrenirken ilk planda öğrenmen gereken şeyler daha az. Dolayısıyla ilk önce belli şeylere konsantre olman daha kolay.

C++'a doğrudan daldığında dikkat etmen gereken çok şey olduğundan çok zor gelebiliyor ve motivasyon kırabiliyor. Java ve C#'dan sonra C++ öğrenmeye başlayınca daha rahat anlaşılıyor. Ayrıca Java ve C# 'da basit oyunlar yapmaya başlaman daha kısa zaman alacağı için motivasyon verirler.

Hatta tavsiyem Java kullanarak Applet oyunlarıyla başlaman. Yaptığın oyunları bir web sitesinde (blog mesela) topla. Kendi gelişmeni basitçe takip etmek sana da motivasyon verecektir. :)

Edit: Mayın tarlası, Tic-tac-toe, Pong, Tetris, Pacman gibi basit oyunlarla başlamaktan çekinme. İlk oyunlarına 'Ben adventure yapcam, fps yapcam!' diye girişenler çok kısa sürede bırakıyorlar. Tabii ki hayalinizde süper oyunlar vardır, ama koşmadan önce yürümek zorundasınız.
Link to comment
Sosyal ağlarda paylaş

aslında c# çok az biliyorum önce c# eğitimimi tamamlayım ben.sonra c++ a giricem gözümü korkuttunuz :)
c#'ı da runuo ile biraz öğrendim ama temelim çok zayıf.
bu işi gerçekten hobi olarak yapmak istiyorum.programcılığı hobi olarak değil ama oyun işi hobi olcak.sonuçta çıkabileceğim maks. noktalardan biri bu ve bu amaç beni öğrenmek için kamçılıyo.

peki ogre3d gibi programlar kullanmalı mıyım? ya da bana amacımda yardımcı olacak programlar nelerdir?
Link to comment
Sosyal ağlarda paylaş

Üslubum ağır geldiyse özür dilerim.
500 fırın ekmek yemek muhabbeti de insanların isteklerine bağlı. Oyun motoruyla hobiyi bir araya koyan birisinin sadece temel C# bilgisi varsa, 500 fırın da yetmeyebilir. Dahası "oyun" kavramını sadece Doom ve sonrası olarak gören insanların bu işi hobi olarak yapması oldukça zor; çünkü her ne kadar yıllar öncesinin oyunu olsa da hedef çok yüksek.
Bir dil öğrenmenin en hızlı yolu kullanmaktır. Madem buna meraklısın, şu an şu gün başla oyun yapmaya. Ne yapman gerekli bunun için? En basitinden bir programlama diliyle görsel bir şeyler üretmen gerekiyor. Ama bu aşamada bile... Turn based bilmem neyle başla sonra tetris yaparsın edersin diye tavsiye vermeye kalktım, sonra tüm yazdıklarımı sildim. Java'da en basitinden bir tetris bile yazmaya kalksanız threading kullanmanız gerekli. Ya programlama bilgisi olmayan bir insana threading'den mi bahsedelim allah aşkına? Ha sadece bunu kullanmakla bitse yine iyi...

Arkadaşım, kanın ısınması diye bir şey söz konusu değildir. İş vardır, uygulanacak alan vardır, en mantıklı çözüm yolu vardır, bu çözüm yolunu uygulayacağın sistem vardır. Eğer bu sistem senin Flash kullanmanı gerektiriyorsa, "kanım ısınmadı" laf hakkaten saçma. Bütün bu işlere girmeden önce CS101'ı alman gerekli. Altyapın olduğu zaman zaten nereye gideceğini görürsün. Hobi bile olsa hobi olarak yapılacak şeyler vardır. Gitar çalmaktan örnek vermişsin çok güzel bir örnek. Gitar çalmak vardır çalmak vardır. Tellere tın tın vurursan sonra buna "müzik" dersen "hobi olarak gitar çalıyorum"u eklersen garip kaçar di mi? "Daha dün annemizin..." şarkısını çalarsın ilk önce, ki bunu çalmadan önce tempo kavramını oturtursun, notaları öğrenirsin, perdelere düzgün basmayı öğrenirsin, el alışkanlığın olur... Epey bir iş yapman gerekli yani. Ha bütün bunlardan sonra daha hala yapamama gibi bir ihtimalin var ve eğer yeteneğin yoksa (ki ben yeteneğe inanmam) bunu gitarda anlama ihtimalin daha fazla, anlama süren daha kısa. Çünkü az çok yapmak istediğin şeyi biliyorsun. Eğer 2 ay uğraşıp hala tellere düzgün basamıyorsan, çalarken abuk subuk sesler çıkıyorsa, dersin ki daha çalışmam lazım. Bunu daha uzun süreye ve birikime yay, al sana hobi olarak oyun...

Tavsiyeyse istediğin, ilk yapılmış oyunlara bak. 1900'lerde daha bilgisayar yokken insanlar nasıl oyun oynuyorlarmış. Daha sonra 1970'lerde nasıl oyunlar yapmışlar. İlk dos oyunu nasılmış vs. Bunları okurken, sen bunları nasıl yapabilirsin bunu bir düşün. Eğer programlama bilgin bunları yapmaya yetmiyorsa, daha yiyecek ekmeğin vardır... Yok yapabiliyorsan, bir sonraki aşamaya geç, daha zor oyunları nasıl yapmışlar ona bak, onları yapmaya çalış. Bu söylediklerimden ilkini bilgisayar müh. öğrencileri 1. senenin sonunda yapabiliyor oluyo genelde. Ama kimseye 1. sene threading öğretildiğini görmedim. Yani tetrisi hala yapacak düzeyde olmuyorsun. Kendin çaba sarfetmen gerekli...

Oyun yazarlığı için ne yapmam gerekiyor diyen arkadaş... Yazar olman gerekli.
Link to comment
Sosyal ağlarda paylaş

genel programlama bilgin ne düzeyde bilmiyorum ama arkadaşların da dediği gibi oyun yapmak geniş bir kavram. eğer programlama konusunda yeterli düzeyde değilsen önce onu halletmen lazım. hatta bu aşamada C / C++ ağır gelebilir. daha önceki topiclerde de söylemiştim, pointer aritmetiğini anlayamayacak bir insanı C ile uğraştırmanın bir anlamı yok. önce genel kavramları anlayabileceğin bir dille başlarsın, veri yapıları vs. kafanda oturur biraz, daha sonra C / C++ öğrenmeye başlarsın. bu sırada denildiği gibi basit oyunlar yapmaya başlayabilirsin tabi, bu kısım paralel ilerleyebilir. mesela 1. sınıfın ilk döneminde multi dimensional array vs. öğrendikten sonra snake yazdırmışlardı bize, daha sonra x86 assembly öğrenip sudoku yazdık vs.

ama oyun yapmaktan kastın gelişmiş oyunlarsa iş bambaşka bir hal alır. yukarıda da söylenmiş herşeyden önce ciddi matematik bilgisi, threading vs. işletim sistemi bilgisi, hatta bilgisayar mimarisi, grafik motoru vs. için opengl directx vs., yapay zeka bla bla. uzar gider. o yüzden yıllarını alır deniyo :) yoksa temel düzeyde bilgin varsa yarım saatte de oyun yaparsın.
Link to comment
Sosyal ağlarda paylaş

oyun yapmayı yani kendi başına yapmayı şuan için unutman gerekli bana göre.Daha çok oyun yapan bi gruba nasıl faydalı olabilirim olayına gir.valvesoftware.com gir ordan jobs kısmındaki yan dallardan birini seç.seçtiğin dalın üstüne git.göreceksin ki programlama gerekmeyen bölümlerde var.c öğrenmek oyun yapımında bi amaç deil araçtır.Her oyun yapmak istiyorum diye çıkan arkadaşa c +++++ öğren demek saçmalıktır.
Link to comment
Sosyal ağlarda paylaş

Bu kadar kesin yargılarla konuşup pat diye milleti "saçmalamakla" suçlamak yerine, neden öyle düşündüğünü detaylı anlatsan ya? Neden oyun yapmak için C/C++ öğrenmek saçmalıkmış? Herkes de söylemiş zaten Java, C# gibi dillerle, hazır araçlarla da yapılabilir ama en gelişmiş, en detaylı kodlamayı, oyunu C++ ile yaparsın diye. Bunun neresi saçmalık?
Link to comment
Sosyal ağlarda paylaş

3d0 said:
Her oyun yapmak istiyorum diye çıkan arkadaşa c +++++ öğren demek saçmalıktır.


Oyun yapmak ne demek? b1vRiP ilk mesajında açık açık işin programlama kısmıyla ilgilendiğini belirtmiş. Kalkıp "senaryo yazmayı öğren" ya da "3d modelleme" öğren demek de pek yerli olmazdı. Tabii ki hangi dillerle ve nasıl başlanabileceğini anlatmaya çalıştık haliyle.
Link to comment
Sosyal ağlarda paylaş

Öncelikli tavsiyem motor kullanmandır. Motor derken engine'dan bahsediyorum tabi ki. Sıfırdan herhangi bir dille oyun yazmak gerçekten amelelik olur şu aşamada ve soğursun. İnternette tonlarca motor var, incele araştır bak bul kafana uyanı. Onun kullandığı dili öğren ondan sonra -ki genelde çoğu motor c++ veyahut phyton kullanıyorlar son dönemlerde- motor üzerinden bir oyun yaparsın kiiii yine başa dönecek olursak en önemli tavsiyem 3d değil 2d yap olacaktır. 3dnin kodlamasını geçtim, 3d modellerin importasyonuna kadar herşey işkence.
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...