|
Oyun Yapmaya Nasıl Başlarım Oyun programlamaya başlarken en sıkıntı çekilen konulardan bir tanesi oyun programlamaya nasıl başlanacağıdır iste bu yazının amacı oyun progrmalamaya ile ilgilenenler için bir klavuz oluşturmaktır. İlk adımlar İlk öncelikle karar vermeniz gereken hangi programlama dilini seçeceğiniz. Eğer bir programlama dilini zaten biliyorsanız en isabeti konulardan biri o dili kullanarak başlmak olabilir. Oyun programlama zaten başlı başına zor bir olay birde dil öğrenmekle başlarsanız kendininze sormanız gerken bazı sorular var. Örneğin. - dilli öğrenmek ne kadar kolay - bu dil oyun programlama için hızlı bir dilmi - Bu dill başka oyun geliştirme ortamlarıyla yada API larla beraber çalışabiliyormu.? - Hangi platformlarda bu dil geçerli windows, maç veya linux Aşağıda programla dilleri ile ilgili bilgileri bir araya topladim.
Seçerken dikkat etmeniz gereken konular. - 1. Güc
- 2. Taşınabilirlik
- 3. Hiz
- 4. Kullanabilirlik
- 5. Nesne oriyantasyonu (object oriented)
1. Güç = Programlama dillinde güç o programlama dillinin hangi gelişmiş matematik operasyonlarını sağladığı pointerları destekliyip desteklemediği, hatalarla nasıl başa çıktığı vb konulardır. 2. Taşınabilirlik= ismindende anlaşılabileceği gibi programlama dilinin başka systemlerde çalışıp çalışamayacağı, örneğin windowsta yazdığınınz kodu linuz tada çalıştırabilirmişiniz vb. 3. Hiz= programlama dillinindeki kodu ne kadar hızlı bir sürede işlemci tarafından yürütüldüğü. 4. Kullanabilirlik= öğrenmesi ve okunması kolaymi, 5. Object oriented (OOP) ile ilgili yazımı okuyun. Burada kısaca değinmesi zor. Oyun Programlama dilleri 1'den 5'e kadar puanlandirilmistir 1=cok kotu. 5= cok iyi
| Diller | GUC | Tasinabilirlik | Hiz | Kullanilabilirlik | ObjectOriented | Toplam | | Java | 3 | 5 | 3 | 4 | 5 | 20 | | C | 4 | 5 | 4 | 2 | 0 | 15 | | C++ | 5 | 4 | 4 | 3 | 5 | 21 | | .NETC#,VB | 4 | 3 | 3 | 4 | 5 | 20 | | Assembly | 1* | 0 | 5 | 1 | 1 | 8 | | Python | 3 | 3 | 2 | 4 | 4 | 16 | | Visual Basic | 2 | 0 | 2 | 5 | 3 | 12 | Bu verilen puanlar sizi bağlamaz, sizin yapmanız gereken bir programlama dillinden ne bekliyorsanız. Hız mı güç mü vs ? Benim kişisel tavsiyem Ç++ ama herhangi başka bir dilide seçebilirsiniz. Ç++ seçerseniz, sizi gerçekten bekleyen zor bir yol demektir. Canavarı terbiye etmesini öğreneceksiniz. Programlama dillerinin biraz inceleyin başka internet sayfalarına bakın forumlara katılın insanlar size hangi programlama dillini seçmenizi öneriyor, bir bakın Danışın sorun öğrenin öyle seçiminizi yapın. Kolay gelsin. C++ seçenlerle yolumuz devam edecek
2.bolum
Proramlama Dilli olarak C/C++ seçenler için Size yardımcı olması için bazı programlama geliştirme oratamlarını özetledim. Şimdi yapacağınız Bu programlama dillerinden birini seçip Onunla ilgili araştırma yapın.Sorularınız olursa nereye sorcağınızı biliyorsunuz
Ucretsiz IDE ( Integrated Development Environments)Cross Platforms (windows/Linux) Code::Blocks http://www.codeblocks.org/ Eclipse http://www.eclipse.org/ GCC http://gcc.gnu.org/ Qt Designer http://doc.trolltech.com/3.3/index.html Vim http://www.vim.org/ Windows Cygwin http://www.cygwin.com/ Dev-C++ http://www.bloodshed.net/devcpp.html LCC-Win32 http://www.cs.virginia.edu/~lcc-win32 MinGW Studio http://parinyasoft.com/ MSYS http://www.mingw.org/msys.shtml OpenWatcom http://www.openwatcom.org/ Visual-MinGW http://visual-mingw.sourceforge.net/ Visual C++ e.e http://lab.msdn.microsoft.com/express/ Linux Anjuta http://www.anjuta.org/ Emacs http://gpwiki.org/index.php/Emacs Kdevelop http://gpwiki.org/index.php/Tools:KDevelop Ucretli IDE'ler Borland C++ Builder http://www.borland.com/cbuilder/ Visual C++ http://gpwiki.org/index.php/VC Bunlardan birini sektikten sonra şimdi birde Kütüphaneler/API lara bakalım
3.bolum Kutuphaneler ve API lerden kastettigim ne? API = application program interface 1 AI (yapay zeka) 2 Audio 3 Compression 4 GUI 5 Cok amacli 6 Graphics 7 Image 8 Miscellaneous 9 Networking 10 Pathfinding 11 Physics 12 Text Rendering
Bu genelde oyunlarda kullanılan API lar. Bunları örneklerle ve nereden bullabileceğiniz konusunda bir küçük özet daha yapayım.(hepsini burada sıralamam imkansız o yüzden genel bilinenleri yazmaya çalıştım) 1.AI(yapay zeka) AI.implant AI Loom DirectAI GAlib Louder Than A Bomb LPA Memetic AI OpenAI OpenSkyNet Renderware AI SPADES 2.Audio Audiere Dumb FMod BASS OpenAL SDL SDL_mixer 3.Compression bzip2 unrarlib zlib 4.GUI Crazy Eddie's GUI System Guichan GUI wxWidgets Crossplatform GUI libary 5.General Multipurpose Allegro DirectX SDL (C/C++) 6.Graphics OpenGL DirectX SDL Allegro 7.Image corona CxImage DevIL FreeImage J2K-Codec ImageMagick libjpeg SDL_Image libpng paintlib 9.Networking HawkNL Quazal OpenTNL SDL_net Zoidcom RakNet DemonWare eNet 10.Pathfinding Name Language Platform Description MicroPather PATHEngine 11.Physics Havok ODE Newton Game Dynamics Tokamak Novodex True Axis OPAL 12.Text Rendering FTGL GLF glFont GLFT_Font GLTT SDL_TTF Glyph Keeper OGLFT Bunlar hakkında google'dan bilgi edinin. Başlangıçta bunları fazla incelemenize gerek yok. ilerde zaten buraya ister istemez döneceksininz. Sadece aklınızda bulunsun diye. Bir oyunnun yapımında neler kulanılıyor diye. Bunda sonraki bölüm Grafik ve ses konusunda hangi araçları kullanabileceğiz konusuna açıklık getiriyor.
4.bolum Simdi oyununuz için gerekli araçlari siralamaya devam edelim. Su ana kadar programlama dillinden , API ve kütüphanelerden bahsettik. Sira oyun için gerekli olan grafik ses vb. Parçalari olusturmak için gereken araçlar nelerdir? Su basliklar altinda toplayabiliriz.
1.1 Raster-based drawing 1.2 Vector-based drawing 1.3 3D Modelling 1.4 Ozellesmis grafik araclari
2.1 Ses efektleri 2.2 Musik • Grafikler
Pixel tabanli çizim programlari Adobe Photoshop ,Alias Sketchbook Pro,Corel Painter IX, Genetica, The GIMP (ucretsiz), KolourPaint (ucretsiz), Pixia (ucretsiz) Paint Shop Pro, PhotoSEAM, Tile Studio, Skencil (ucretsiz)
Sekiller ve onlarin özelliklerini kullanan çizim programlari.. Corel Draw, Acrylic, Inkscape, Skencil, Sodipod, Xara Xtreme
3D Studio MAX, AC3D, Anim8or(ucretsiz), Blender, Cheetah3D, Cinema 4D, ClayWorks, DeleD(3d level dizayn), Freeworld3D, Maya, OpenFX (ucretsiz) SketchUp, Wings 3D Birde özellesmis programlar var örnegin bitmaplari vector grafiklere çevirmek için AutoTrace
Ses Efektleri Ardour, Audacity(ucretsiz), ReZound, Sweep Musikler icin. Acid Music, Beast , Buzz Tracker, Garritan Personal Orchestra, KMidiTracker MusE, Psycle(ucretsiz), Rosegarden, Skale Tracker(ucretsiz) Oyun yapmak icin gerekli araclari hemen hemen hepsini bahsettim, Sira geldi oyun fikrinizi nasil hayata gecirirsiniz. ? 5.bolum
Oyun Yapmaya Nasıl Başlarım 5Oyunlarınız için nasıl ücretsiz grafikler, modeller ve musik bulabilirsiniz. ilk önce fontlarla başlayalım
dafont.com - http://www.dafont.com/. AEnigma Fonts - http://www.aenigmafonts.com/ Bitstream Vera Fonts http://www.gnome.org/fonts/ The UCS Free http://savannah.nongnu.org/projects/freefont/ Blambot Comic Fonts and Lettering - http://www.blambot.com/ DesignGraphics.org - http://designgraphics.org/modules.php?name=Downloads&d_op=viewdownload&cid=1
Icon Archive http://www.iconarchive.com/ vbAccelerator http://www.vbaccelerator.com/home/Resources/Graphics_Library/index.asp
3DLinks - http://www.3dlinks.com/links.cfm?categoryid=9&subcategoryid=91 3DTotal - . http://67.15.36.49//ffa/meshes/meshhuman_a.asp Gina's Galaxy -http://www.camelliasoftware.com/gina PlantIt 3D - http://www.planit3d.com/source/index.htm TurboSquid http://www.turbosquid.com/
Gaming World - http://www.gamingw.net/resource/
Absolute Cross - http://www.absolutecross.com/graphics/textures/ AutoFX Royalty free textures http://www.autofx.com/utc.asp David Gurrea's Handdrawn Textures http://www.davegh.com/blade/davegh.htm Ender Design - http://www.ender-design.com/rg/backidx.html Image After - . http://www.imageafter.com/ Lemog http://perso.club-internet.fr/lemog/lemog_textures/acc_textures01.html Mayang's Free Texture Library -http://www.mayang.com/textures/
ucrestsiz ses efektleri http://www.grsites.com/sounds/ muzik icin http://www.modarchive.com 6.bolum
Sanırım Başlangıç için bütün gerekenleri sıralamış olduk, Atladığım bazı noktlar olabilir, lütfen kuşuruma bakmayın. Birkaç küçük tavsiye ile yazımı bitirmek istiyorum. 1. Denemekten asla vazgeçmeyin. 2. Oyun oynamayı asla ihmal etmeyin. 3. Bir şeyin birden farkı şekilde yapılabileceğini asla unutmayın, yeni düşüncelere açık olun. 4. Bir gün iyi bir oyun programcısı olduğunuzda bugünlerinizi hiç unutmayın 5. Bir ise başlamak o işin yarışı.
Herhangi bir sorunuz olursa önce google, sonra forumlardan bana sorabilirisiniz.
Bu yazi ile ilgili yorumlarinizi bekliyorum.
|