Gönderen Konu: Oyun Programlama  (Okunma sayısı 7093 defa)

Çevrimdışı adanalian

  • Yeni Üye
  • *
  • İleti: 18
    • Profili Görüntüle
Oyun Programlama
« : 28 Ocak 2009, 22:15:36 »
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.


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 Grafikler

1.1 Raster-based drawing
1.2 Vector-based drawing
1.3 3D Modelling
1.4 Ozellesmis grafik araclari

    * • 2 Audio

2.1 Ses efektleri
2.2 Musik


• Grafikler

    * Raster-Based 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)

    * Vector-based drawing

Sekiller ve onlarin özelliklerini kullanan çizim programlari..
Corel Draw, Acrylic, Inkscape, Skencil, Sodipod, Xara Xtreme

    * 3D Modelling

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

    * • Audio

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

    * Fonts

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

    * Icons

Icon Archive http://www.iconarchive.com/
vbAccelerator http://www.vbaccelerator.com/home/Resources/Graphics_Library/index.asp

    * 3D

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/

    * Arka planlar icin

Gaming World - http://www.gamingw.net/resource/

    * Textures

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/

    * Music ve sesler icin

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ýþý
Alýntýdýr

Mühendis Forum

Oyun Programlama
« : 28 Ocak 2009, 22:15:36 »

Çevrimdışı yusufbuz

  • Yeni Üye
  • *
  • İleti: 20
    • Profili Görüntüle
Ynt: Oyun Programlama
« Yanıtla #1 : 06 Nisan 2010, 21:02:10 »
Eywallah Hocam yazýn 10numara ollmuþ....!

Mühendis Forum

Ynt: Oyun Programlama
« Yanıtla #1 : 06 Nisan 2010, 21:02:10 »