Oyun Programlamaya Giriş
(1197 kelime) (1721 okuma) ![Yazdırılabilir Sayfa](images/print.gif)
Oyun Programlamaya Giriş
Selam, oyun programlama hakkındaki yazı dizimize geçmeden önce bazı konulara
açıklık getirmek gerektiğini düşünüyorum. Neden oyun programlama konusunda
kendinizi geliştirmek istiyorsunuz ? Bu bir hobi mi ? Yoksa ileride gerçekten büyük
bir oyun firmasına mı girmek istiyorsunuz ? Belki de kendi başınıza oyun çıkarmak,
hatta kendi oyun şirketinizi kurmak istiyorsunuz.
Aslına bakarsanız yukarıda bahsedilen sorular bir oyun programcısının
adımlarıdır. İlk başta hobi olarak başlayan bu serüven az buçuk öğrendiği
programlama diliyle ve onun sağlamış olduğu grafik kütüphanesi ile oyun yazmaya
çalışırak başlar ve basamakları teker teker çıkarak yoluna devam eder. Şu anda
üzerinde duracağım konunun ne hobi, ne de oyun firması kurmak ile ilgisi yok. Bu yazı
dizisindeki yazılar daha çok bir oyun firmasında çalışmak isteyen oyun
programcısının kendisini geliştirebilmesi için yazılmıştır.
İlkin gelin piyasadaki oyun firmalarının işe alacakları programcıların hangi
niteliklere sahip kişiler olması gerektiğini inceleyelim.
PROGRAMMERS, THIEF 3 & DEUS EX 2
JOB DESCRIPTION: |
- Must have demonstrable experience in some or all of the following:
- A degree in Computer Science or Software Engineering or equivalent industry experience
- The ability to meet or exceed established milestones
- Game UI
- Gameplay mechanics
- Game AI or Physics
- Console programming experience is a plus
|
Programmer/Senior Programmer |
We have several exciting positions open for programmers with at least 2
years of professional game coding experience. You must be an expert in designing and
writing optimized C/C++ game code, and must have the coding talent and experience to
produce fun gameplay with that extra polish that makes a game great. We're especially
interested in people who have experience in:
- Character implementation
- Next-gen special effects
- Split-screen multiplayer gameplay
- Physics
- Gameplay for assorted mini-games and bosses
|
GAME PROGRAMMER |
We're looking for candidates who are passionate about developing
high-quality games, and who have a strong desire to work in a team environment. If you
have the requirements listed above and are longing to be part of an extremely talented and
synergistic game development team, send us your resume and code samples today!
Individuals will be responsible for a variety of programming tasks on the project
including AI, engine, tools, visual special effects, character and camera control, and
Python scripting. The ideal candidate will have at least 3-4 years of game industry
experience and be proficient in C++. Prior PS 1 or 2, Gamecube, or Xbox experience
helpful, but PC programming is acceptable. Strong math background a plus, along with
someone who can blend the visual creative aspects with the programming. Prior experience
in any of the following is also helpful: Physics, AI, Collisions system, engine
programming, PS2 Microcode, Maya plugins, miscellaneous tools, special effects, character
and camera control, Python scripting language, and real time cut scene generation. |
Programmers/Senior Programmers |
We have a number of exciting opportunities for experienced programmers.
We're especially interested in people with complex/advanced animation experience,
(rendering/processing/sequencing).
The ideal candidate will have:
- 2+ years of game programming experience, or a distinguished college course list in
relevant fields.
- A minimum of 1 completed game, (or graphical/interactive related), project.
- Proficient in C/C++.
- Good oral communication.
- Able to work with a bare minimum of supervision or management.
- Must be able to work in a team atmosphere with schedules and reliable milestone
delivery.
Bonus Skills:
- Experience with cross-platform development.
- Low level assembly experience, (80x86, MIPs or VU code).
- DirectX 8.0 experience.
- Advanced animation, processing, rendering or sequencing.
- Proven technical expertise on either Xbox or PS2.
|
Yukarıda incelediğimiz iş ilanları, şirketten şirkete ve yapılacak oyuna göre
değişsede ortak olan çekirdek konuları çıkartabiliriz. Bunları aşağıda
listeledim.
- Oyunları ve oyun oynamayı sevmek
- C/C++ Programlama Dili (İleri düzeyde)
- İyi derecede Matematik bilmesi
- Oyun Mekanizması, Bilgisayar Grafikleri, Yapay Zeka ve Müzik Programlama
- OpenGL veya DirectX gibi Apileri kullanabilme
- Yazılım Mühendisliği ve Proje Yönetimi hakkında bilgi sahibi olma.
Bunlardan ilk üçü ile hiç ilgilenmiyeceğiz. Çünkü oyun oynamayı sevmek, zaten
kişinin doğuşundan gelen bir özellik, ikinci ve üçüncü konular ise lise,
üniversite eğitimi veya özel ilgi ile elde edilebilecek özelliklerin olması. Bu
açıklamalarıda yaptıktan sonra artık yazı dizimizin hangi başlıklar altında ve
hangi formatta verileceği hakkında bilgi verebiliriz.
Oyun Programlama -1 (2D Oyun Programlama)
Oyun Mekanizması: Bu yazı bölümümüzde basit bir oyun programı
yazarak oyun mekanizmasını ve alt parçalarının nasıl çalıştığını yakından
izleyebilme imkanı bulacağız. Geliştireceğimiz oyun Tetris.
Input ve Windowing İşlemleri: Bu kısımda ne kadar win32 Apisi
kullanım gereksinimi gözüksede başlangıç için ben bu apinin ağır olduğunu
düşünüyorum. Bu kısımda kısaca Glut (OpenGL Library Utility Toolkit) Api'sinin
kullanımını aktaracağım. Pencere oluşturumu, keyboard ve mouse girişlerini dinleme,
oyun döngüsü oluşturma hakkında ayrıntılı örnekler sunacağım.
Bilgisayar Grafikleri-1: Bu yazımızda bilgisayar grafikleri nedir?
OpenGL nedir ? OpenGL terimler sözlüğü, OpenGL'de 2D Çizim Yapabilmek için kamera ve
projeksiyon ortamının hazırlanması, 2D Primitiflerin çizimi, 2D Kaplamaların
çizimi, 2D Dönüşümler, 2D Animasyon(Sprite), 2D Oyunlarda Arkaplan Programlama, 2D
Font gibi konular örnekler ile açıklanacaktır.
Bilgisayar Müzikleri-1: Bu yazımızda Fmod müzik apisinin nasıl
kullanıldığı ve oyun içerisinde nasıl kullanılacağı üzerinde duracağız.
Yapay Zeka: Pacman veya Bomberman gibi basit oyunlarda kullanılan yapay
zeka programlarının mantığı ve oyun içerisinde nasıl kullanımı anlatılacaktır.
Kaynakların Oluşturulması: Bu yazımızda oyun için gerekli olan
resim, animasyon, ses ve müzik dosyalarının nasıl oluşturulacağı üzerinde
duracağız. Alt düzeyde Lightwave, Photoshop kullanımı aktarılacaktır.
Örnek Oyunların Programlanması: Snake, Breakout, Pacman, Bomberman, ve
SpaceCombat oyunları programlanacaktır.
Daha sonraki bölümlerde real-time strateji, 3D oyunlar ve 3D oyun motoru hakkında
bilgiler verilecek ama şimdiden bu bölümlerin ayrıntılandırmasını yapmadım. Zaten
basamakları teker teker çıkmalıyız değil mi?
Onur Dayıbaşı :: 2002 ::
|