- Velo Match Three, Velo Game Studios Staj Programı kapsamında yapılan 3. projedir. Bu oyun, Unity oyun motorunda geliştirilmiş ve GitHub üzerinde paylaşılmıştır.
🛠️Kurulum
-
Bu projeyi çalıştırmak için Unity 2D yazılımına ve bilgisayarınızda Unity 2D için geliştirme yapabilecek bir ortama ihtiyacınız vardır. Projeyi klonladıktan sonra Unity içinde açarak çalıştırabilir ve düzenleyebilirsiniz.
-
🚀 Projemi çalışırken görmek için: Google Drive
💡Temel Özellikler:
-
Tahta Kurulumu ve Boyutlandırma: Oyun tahtasının genişliği ve yüksekliği (
width
veheight
değişkenleri) belirlenerek esnek tahta boyutları sağlanır. Bu, farklı oyun deneyimleri için değişken tahta boyutlarının kullanımını mümkün kılar. -
Prefab'lar ve Nesne Yönetimi: Oyun tahtasına farklı tiplerdeki tile'lar (
tileNormalPrefab
,tileObstaclePrefab
) ve game piece'ler (gamePiecePrefabs
) yerleştirilebilir. Bu nesnelerin oluşturulması ve yönetimi, oyunun başlangıcında gerçekleşir. -
Bomba ve Toplama Nesneleri: Oyun içinde özel eylemler gerçekleştirmek için çeşitli bomba prefab'ları (
adjacentBombPrefab
,columnBombPrefab
,rowBombPrefab
,colorBombPrefab
) kullanılabilir. Ayrıca, rastgele ortaya çıkabilen toplama nesneleri (collectiblePrefabs
) de eklenerek oyunun çeşitliliği artırılır. -
Oyun Nesnelerinin Başlangıç İnşası: Oyun tahtasının başlangıç durumunu belirlemek için tile ve game piece'leri (
StartingObject[] startingTiles
,StartingObject[] startingGamePieces
) tanımlamak mümkündür. Bu, oyunun başlangıcında belirli nesnelerin yerleştirilmesini sağlar. -
Kamera Ayarları: Oyun tahtası boyutlarına bağlı olarak kamera pozisyonu ve ortografik boyut ayarlanarak, tahtanın tamamının görünür olması sağlanır.
-
Eşleşme Bulma ve Vurgulama: Oyun tahtasında en az üç bitişik oyun parçasının eşleşmesini (
FindMatchesAt
) tespit eder ve vurgular (HighlightMatchesAt
). Bu, oyuncuya oyun içi ilerleme ve görsel geri bildirim sağlar. -
Oyun Parçası Temizleme ve Doldurma: Eşleşen oyun parçalarının temizlenmesi ve ardışık olarak tahtanın doldurulması işlemleri (
ClearAndRefillBoard
) yönetilir. Bu, oyun içinde dinamik bir çökme ve doldurma mekanizması sağlar. -
Bomba Aktivasyonu ve İşleyişi: Eşleşme durumunda özel oyun parçaları olan bombaların (
Bomb
) aktive edilmesi ve belirli satır, sütun veya bitişik parçaları temizleme işlemleri yönetilir. -
Toplanabilir Nesne Yönetimi: Oyun tahtasında rastgele ortaya çıkan toplanabilir nesnelerin oluşturulması, tespiti ve kaldırılması (
FindCollectiblesAt
,RemoveCollectibles
) sağlanır. Bu, oyuncuya ekstra kazanç ve stratejik seçenekler sunar. -
Puanlama ve Oyun Akışı: Oyun içinde eşleşme boyutuna bağlı olarak oyuncunun puanının hesaplanması ve oyun akışının sürekli olarak devam ettirilmesi sağlanır. Bu, oyunun dinamiklerini ve oyuncu etkileşimini artırır.
🛠 Temel Mekanikler:
-
Tahta Boyutu ve Esneklik: Oyun tahtası genişliği ve yüksekliği belirlenebilir, böylece farklı boyutlarda tahtalar oluşturulabilir.
-
Farklı Tile ve Game Piece Türleri: Oyun tahtası üzerinde çeşitli tile'lar (normal, engel vb.) ve game piece'ler (farklı renklerdeki nesneler) yerleştirilebilir.
-
Özel Bomba Türleri ve Etkileri: Oyun içinde farklı bomba türleri kullanılabilir (bitişik, sütun, satır, renk), bu bombalar eşleşmelerde özel efektler yaratır.
-
Toplanabilir Nesneler: Rastgele ortaya çıkan toplanabilir nesneler oyuna ek bir katman sağlar.
-
Başlangıç Nesne Yerleşimi: Oyun başlangıcında tahtaya önceden belirlenmiş tile'lar ve game piece'ler yerleştirilebilir.
-
Kamera Ayarları: Oyun tahtasının boyutuna bağlı olarak kamera pozisyonu ayarlanarak, oyuncunun tahtanın tamamını görebilmesi sağlanır.
-
Eşleşme Algılama ve Vurgulama: Oyun tahtasında eşleşen game piece'ler algılanır ve oyuncuya vurgulanarak gösterilir.
-
Oyun Parçası Temizleme ve Doldurma: Eşleşen game piece'ler temizlenir ve ardışık olarak tahta doldurulur, böylece yeni eşleşmeler oluşturulur.
-
Bomba Aktivasyonu ve Kullanımı: Eşleşmelerde belirli koşullar sağlandığında bombalar aktive edilir ve tahtadaki game piece'leri temizler.
-
Puanlama ve Oyun Akışı: Oyun içinde yapılan hamlelere bağlı olarak oyuncunun puanı hesaplanır ve oyun akışı sürekli olarak devam eder.
💡 Görseller: