Oyun Programlama

Bu konuyu okuyanlar

emresandikci

Asistan
Merhaba Arkadaşlar Biraz önce yeni bir forum buldum bilgisayar programcılığı okuduğum için işime yarayacak birçok bilgi barındırıyor forumu gezerken sizlerin işine yarayabilecek bazı bilgiler buldum ve paylaşmak istedim...
_________________________________________________________
Burdan Aşağısı alıntıdır Bilgilerinize!
_________________________________________________________
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ışı
 

SDN Son Haberler

Üst