| DİJİTAL OYUN TASARIMI | |||||
| Lisans | TYYÇ: 6. Düzey | QF-EHEA: 1. Düzey | EQF-LLL: 6. Düzey | ||
| Ders Kodu | Ders Adı | Yarıyıl | Teorik | Pratik | Kredi | AKTS |
| GAD2006 | Gelişmiş Oyun Programlama | Bahar Güz |
2 | 2 | 3 | 5 |
| Bu dersin açılması ilgili bölüm tarafından yarıyıl başında belirlenir |
| Öğretim Dili: | En |
| Dersin Türü: | Departmental Elective |
| Dersin Seviyesi: | LİSANS |
| Dersin Veriliş Şekli: | Yüz yüze |
| Dersin Koordinatörü: | Doç. Dr. GÜVEN ÇATAK |
| Dersin Amacı: | Bu dersin temel amacı, öğrencilerin etkileşimli deneyimler ve/veya gerçek zamanlı eğitim simülasyonu, görselleştirme ve medya/eğlence gibi kurumsal alanlar yaratmak için endüstri lideri bir profesyonel geliştirme aracı/editörü olan Unreal Engine 4'ü kullanarak oyun programlama/geliştirme kavramlarını daha derinlemesine anlamalarını sağlamaktır. |
|
Bu dersi başarıyla tamamlayabilen öğrenciler; 1.Nesne yönelimli yaklaşım, karmaşık veri yapıları ve yaygın olarak kullanılan algoritmalar gibi oyun programlama kavramları hakkında kapsamlı bir anlayışa sahip olacak, 2.Motorun ve bileşenlerinin kullanımını daha iyi anlayacak, 3. Editör ile daha iyi bir yetkinlik elde edecek, 4. Motorun nasıl çalıştığını ve kişinin projesinin verimli bir şekilde çalışmasına yardımcı olmak için nasıl çalıştığını daha fazla öğrenecek, 5. Sorunları çözmek ve hataları ayıklamak için araçlar ve stratejiler hakkında bilgi edineceklerdir. |
| Bu ders oyun geliştirme üzerine hem teorik hem de pratik uygulamalar içermektedir. Öğrencilerin dersler sırasında öğretilen noktalarla kendi oyunlarını inşa etmeleri gereken bir final projesi olacaktır. Daha önceki Oyun Geliştirme I/II derslerinde anlatılan Unreal Engine 4'ün temel yönleri her derste daha da açıklanacak ve detaylandırılacaktır. Öğrencilerin planlar ve destekli C++ ile becerilerini göstermek ve geliştirmek için atanmış projeleri tamamlamaları beklenecektir. Öğrenme Metodları: Ders, Uygulama, Bireysel Çalışma, Proje, Problem Çözme |
| Hafta | Konu | Ön Hazırlık | |
| 1) | Giriş ve Komut Dosyası Özeti | ||
| 2) | Yerel Programlamaya Giriş | Laboratuvar Çalışması #1 | |
| 3) | Destekli C++ ile Aktör Kodlamanın Temelleri | Laboratuvar Çalışması #2 | |
| 4) | İçerik İş Akış Planları ve Animasyon Planları | Laboratuvar Çalışması #3 | |
| 5) | Bir Oyun Prototipinin Dökümü | Ödev #1 Tanıtımı - Laboratuvar Çalışması #4 | |
| 6) | UE'de Yapay Zeka Geliştirme Bölüm #1 | Laboratuvar Çalışması #5 | |
| 7) | UE'de Yapay Zeka Geliştirme Bölüm #2 | Ödev #2 Tanıtımı - Laboratuvar Çalışması #6 | |
| 8) | Fiziğe Giriş | Laboratuvar çalışması #7 | |
| 9) | Çoklu Oyuncu Bölüm #1 | Laboratuvar çalışması #8 | |
| 10) | Çoklu Oyuncu Bölüm #2 | SVN kurulumu - Laboratuvar Çalışması #9 | |
| 11) | UMG | Final Projesi Mülakatı #1 | |
| 12) | Optimizasyon ve Hata Ayıklama | Final Projesi Mülakatı #2 | |
| 13) | Hazırlama ve Yayınlama | Final Projesi Mülakatı #3 | |
| 14) | Final Projesi Değerlendirmesi | ||
| Ders Notları: | Unreal Engine Instructor Guide - https://www.unrealengine.com/en-US/educators/resources |
| Diğer Kaynaklar: | Akenine-Möller, T., Haines, E., & Hoffman, N. (2018). Real-time rendering (4th ed.). A K Peters/CRC Press. Lengyel, E. (2020). Mathematics for 3D game programming and computer graphics (4th ed.). Cengage Learning. |
| Yarıyıl İçi Çalışmaları | Aktivite Sayısı | Katkı Payı |
| Devam | % 0 | |
| Laboratuar | 9 | % 30 |
| Uygulama | % 0 | |
| Arazi Çalışması | % 0 | |
| Derse Özgü Staj | % 0 | |
| Küçük Sınavlar | % 0 | |
| Ödev | % 0 | |
| Sunum | % 0 | |
| Projeler | % 0 | |
| Seminer | % 0 | |
| Ara Sınavlar | 2 | % 30 |
| Ara Juri | % 0 | |
| Final | 1 | % 40 |
| Rapor Teslimi | % 0 | |
| Juri | % 0 | |
| Bütünleme | % 0 | |
| Toplam | % 100 | |
| YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI | % 60 | |
| YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI | % 40 | |
| Toplam | % 100 | |
| Aktiviteler | Aktivite Sayısı | Süre (Saat) | İş Yükü |
| Ders Saati | 14 | 4 | 56 |
| Laboratuvar | 9 | 4 | 36 |
| Uygulama | 0 | 0 | 0 |
| Derse Özgü Staj | 0 | 0 | 0 |
| Arazi Çalışması | 0 | 0 | 0 |
| Sınıf Dışı Ders Çalışması | 5 | 5 | 25 |
| Sunum / Seminer | 0 | 0 | 0 |
| Proje | 0 | 0 | 0 |
| Ödevler | 0 | 0 | 0 |
| Küçük Sınavlar | 0 | 0 | 0 |
| Ara Juri | 0 | 0 | 0 |
| Ara Sınavlar | 1 | 3 | 3 |
| Rapor Teslimi | 0 | 0 | 0 |
| Juri | 3 | 3 | 9 |
| Final | 1 | 4 | 4 |
| Toplam İş Yükü | 133 | ||
| Etkisi Yok | 1 En Düşük | 2 Düşük | 3 Orta | 4 Yüksek | 5 En Yüksek |
| Dersin Program Kazanımlarına Etkisi | Katkı Payı | |
| 1) | İletişim alanında oyunun kavramsal olarak önemini anlayıp, oyuncuyu merkeze alan tasarım odaklı uygulama yapabilme yeteneği kazandırmak. | |
| 2) | Çeşitli perspektiflerden bilgi ve fikirleri analiz ederek, sentezlemek ve değerlendirebilmek. | |
| 3) | Oyun türlerini, etkileşim ve anlatım biçimlerini oluşturan temel öğeleri analiz edebilme ve başarılı bir oyun oluşturmak için nasıl kullanıldığını anlamak. | |
| 4) | Oyun tasarımı teorilerini ve metodolojilerini anlamak ve oyun geliştirirken kullanmak; hedef kitleye göre eğlenceli, çekici, içine alan ve öğretici oyunlar yapmak. | |
| 5) | Oyun geliştirmede kullanılan teknolojileri ve bilişim temellerini anlamak; oyun motorlarının kullanımına hakim olmak. | |
| 6) | Oyunlarda 2B ve 3B karakterler ile animasyonlarının yaratılması sürecine hakim olmak. | |
| 7) | Oyuncu deneyimini anlama, ölçme teorileri ile metodolojilerini kavramak ve oyun üretimi sürecinde bu bilgilerden faydalanmak. | |
| 8) | Oyunların tasarım yoluyla nasıl bir fikri, bir mesajı ve bir duyguyu ilettiğini kavramak oyun üretimi sürecinde bu bilgilerden faydalanmak. | |
| 9) | Oyun tasarımı ve geliştirme sürecini, gerekli dokümantasyonu yaparak yönetebilmek; bu dokümantasyon ile oyun üretim bandını takip edebilmek. | |
| 10) | Oyun geliştirme takımlarının yapısını ve çalışma biçimlerini; takım üyelerinin sorumluluklarını ve işbirliği yöntemlerini kavramak ve pratikte uygulayabilmek. | |
| 11) | Geliştirme dışında bir oyunun yayın sürecini endüstri standartlarında kavrayabilmek ve pratiğe dökebilmek. | |
| 12) | Bir video oyununu oyunculara, yatırımcılara ve yayıncılara tanıtabilmek; ortaya çıkan oyun fikrinin veya oyunun özelliklerini ve potansiyel ticari kazanımlarını etkin bir şekilde iletebilmek adına pazarlama konusuna hakim olmak. |