| Kodu | Dersin Adı | Yarıyıl | Süresi(T+U) | Kredisi | AKTS Kredisi |
|---|---|---|---|---|---|
| OGP106 | 2B OYUN GELİŞTİRME | 2 | 4 | 2 | 7 |
DERS BİLGİLERİ |
|
|---|---|
| Dersin Öğretim Dili : | Türkçe |
| Dersin Düzeyi | ÖNLİSANS, TYY: + 5.Düzey, EQF-LLL: 5.Düzey, QF-EHEA: Kısa Düzey |
| Dersin Türü | Zorunlu |
| Dersin Veriliş Şekli | - |
| Dersin Koordinatörü | Öğr.Gör. NAZMİYE İNAM KÖSE |
| Dersi Veren Öğretim Üyesi/Öğretim Görevlisi | Öğr.Gör. FURKAN GÖZELCE |
| Ders Ön Koşulu | Yok |
AMAÇ VE İÇERİK |
|
|---|---|
| Amaç: | Unity oyun motoru ve C# programlama diline temel düzeyde giriş yaparak; öğrencilerin algoritma mantığını kavramalarını, 2 boyutlu (2D) mobil oyun geliştirme süreçlerini, temel oyun mimarilerini ve mobil platformlar için ürün çıktısı (APK Build) alma aşamalarını uygulamalı projeler üzerinden öğrenmelerini sağlamaktır. |
| İçerik: | Unity arayüzü ve 2B oyun bileşenleri. C# programlama diline giriş: Değişkenler, veri tipleri, metotlar ve sınıf (class) yapıları. Unity API temelleri (Transform, Instantiate, Destroy, Input). Oyun motorlarında durum yönetimi (State Machine) kavramı ve oyun döngüsü kurgulama. 2B fizik motoru, çarpışma algılama (Collider/Trigger). İleri seviye veri yönetimi ve mimari temelleri: Scriptable Object (SO) kullanımı ve Interface yapılarına giriş. Mobil platformlar için kullanıcı arayüzü (UI) tasarımı ve dokunmatik (Touch) kontroller. Dönem boyunca "AA" ve "Ball Blast" mobil oyunlarının temel mekaniklerinin kodlanması ve APK olarak derlenmesi. |
DERSİN ÖĞRENME ÇIKTILARI (Öğrenciler, bu dersi başarı ile tamamladıklarında aşağıda belirtilen bilgi, beceri ve/veya yetkinlikleri gösterirler.) |
|---|
| C# programlama dilinin temel yapılarını (değişken, metot, sınıf) kavrar ve oyun mekanikleri yazmak için kullanır. |
| Unity oyun motorunun 2B araçlarını, bileşenlerini ve temel API komutlarını projelerinde etkin şekilde uygular. |
| State Machine (Durum Makinesi) mantığı ile menü, oyun içi ve skor ekranları arasındaki geçişleri ve oyun döngüsünü kurgular. |
| Geliştirdiği 2B oyun projelerini optimize ederek mobil cihazlar için çalıştırılabilir dosya (APK) formatında derler. |
HAFTALIK DERS KONULARI VE ÖNGÖRÜLEN HAZIRLIK ÇALIŞMALARI |
|||
|---|---|---|---|
| Hafta | Ön Hazırlık | Konular | Yöntem |
| 1 | Unity Hub ve Unity kurulumlarının tamamlanması | Unity Arayüzü, 2D Oyun Mantığı, C# Programlamaya Giriş: Değişkenler ve Veri Tipleri | Uygulamalı anlatım |
| 2 | Temel algoritma örnekleri inceleme | C# Temelleri: Metotlar, Sınıf (Class) Yapıları, Karar (If/Else) ve Döngü yapıları | Uygulamalı anlatım |
| 3 | Oyun menü hiyerarşisi araştırması | Oyun Döngüsü ve State Machine: GameManager kurgusu. Console ve UI Text üzerinden durum kontrolü (Home, Store, Leaderboard, Run) 1. Ödev Teslimi: GameManager UI/Console Durum Çıktıları | Uygulamalı anlatım |
| 4 | "AA" oyunu mekanik analizi | Unity API Temelleri (Transform, Input). AA oyunu mekaniklerine giriş: Merkez objenin döndürülmesi ve hız kontrolü | Uygulamalı anlatım |
| 5 | Prefab mantığı araştırması | Obje Üretimi ve Çarpışma: Instantiate komutu ile iğne fırlatma, Collider ve Trigger ile çarpışma tespiti | Uygulamalı anlatım |
| 6 | Mobil oyun arayüzü referansları | AA Oyunu Oyun Döngüsü: Kazanma/Kaybetme (Win/Fail) durumları ve skor artışı 2. Ödev Teslimi: AA Oyunu Temel Fırlatma Kodları | Uygulamalı anlatım |
| 7 | Android Build ayarları dökümantasyonu okuma | AA Oyunu Cilalama ve Mobil Çıktı: Projenin mobil cihaz testleri ve APK Build alma süreçleri | Uygulamalı anlatım |
| 8 | "Ball Blast" oyunu mekanik analizi | Yeni Projeye Geçiş (Ball Blast): Unity 2D Fizik Motoru, Rigidbody2D ve zıplama (Bouncing) materyalleri | Uygulamalı anlatım |
| 9 | Mermi/Ateş etme mekaniği araştırması | Obje Yönetimi: Prefab kullanarak sürekli mermi atışı (Instantiate) ve silme (Destroy) | Uygulamalı anlatım |
| 10 | - | ARA SINAV | - |
| 11 | C# Interface kavramı araştırması | Nesne Etkileşimi: Interface kavramına giriş (örn: IDamageable) ile hasar alma sistemleri 3. Ödev Teslimi: Ball Blast Hareket ve Ateş Etme | Uygulamalı anlatım |
| 12 | Scriptable Object dökümantasyonu okuma | Veri Yönetimi: Scriptable Object (SO) kullanarak düşman (top) canlarını ve dalga ayarlarını tutma | Uygulamalı anlatım |
| 13 | Objelerin parçalanma referansları | Ball Blast Çekirdek Mekaniği: Büyük topların vuruldukça küçük toplara bölünmesi mekaniği | Uygulamalı anlatım |
| 14 | Mobil dokunmatik kontrol videoları izleme | Mobil Kontroller (Touch/Drag): Ekranın dokunmatik alanından okuma yapma. 4. Ödev Teslimi: SO Veri Yapısı ve Parçalanma | Uygulamalı anlatım |
| 15 | APK derleme hataları araştırma | Proje Finalizasyonu: UI güncellemeleri, performans kontrolleri ve projenin APK olarak derlenmesi | Uygulamalı anlatım |
| 16 | - | FİNAL | - |
| 17 | - | FİNAL | - |
KAYNAKLAR |
|---|
ÖLÇME VE DEĞERLENDİRME |
||||
|---|---|---|---|---|
| Yarıyıl İçi Yapılan Çalışmaların Ölçme ve Değerlendirmesi | Etkinlik Sayısı | Katkı Yüzdesi | Açıklama | Sınav Yapılma Şekli |
| DÖNEM SONU- Sınavı (Final) | 1 | 100 | Proje Teslim Edilmesi (Sınav Yapılmaz) | |
| TOPLAM | 1 | 100 | ||
| (0) Etkisiz | (1) En Düşük | (2) Düşük | (3) Orta | (4) İyi | (5) Çok İyi |
|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 |
DERSİN İŞ YÜKÜ VE AKTS KREDİSİ |
|||
|---|---|---|---|
| Öğrenme-Öğretme Etkinlikleri İş Yükü | |||
| Öğrenme-Öğretme Etkinlikleri | Etkinlik(hafta sayısı) | Süresi(saat sayısı) | Toplam İş Yükü |
| Ders | 0 | 0 | 0 |
| Derse Ön Hazırlık ve Ders Sonrası Pekiştirme | 0 | 0 | 0 |
| Arazi Çalışması | 0 | 0 | 0 |
| Grup Çalışması / Ödevi | 0 | 0 | 0 |
| Laboratuvar | 0 | 0 | 0 |
| Okuma | 0 | 0 | 0 |
| Ödev | 0 | 0 | 0 |
| Proje Hazırlama | 0 | 0 | 0 |
| Seminer | 0 | 0 | 0 |
| Staj | 0 | 0 | 0 |
| Teknik Gezi | 0 | 0 | 0 |
| Web Tab. Öğrenme | 0 | 0 | 0 |
| Uygulama | 0 | 0 | 0 |
| Yerinde Uygulama | 0 | 0 | 0 |
| Mesleki Faaliyet | 0 | 0 | 0 |
| Sosyal Faaliyet | 0 | 0 | 0 |
| Tez Hazırlama | 0 | 0 | 0 |
| Alan Çalışması | 0 | 0 | 0 |
| Rapor Yazma | 0 | 0 | 0 |
| Final Sınavı | 0 | 0 | 0 |
| Final Sınavı Hazırlığı | 0 | 0 | 0 |
| Ara Sınav | 0 | 0 | 0 |
| Ara Sınav Hazırlığı | 0 | 0 | 0 |
| Kısa Sınav | 0 | 0 | 0 |
| Kısa Sınav Hazırlığı | 0 | 0 | 0 |
| TOPLAM | 0 | 0 | 0 |
| Genel Toplam | 0 | ||
| Toplam İş Yükü / 25.5 | 0 | ||
| Dersin AKTS(ECTS) Kredisi | 0,0 |