/VeloMatchThree

The third project developed during the internship at Velo Game Studios.

Primary LanguageShaderLab

Velo Match Three

  • 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:

  1. Tahta Kurulumu ve Boyutlandırma: Oyun tahtasının genişliği ve yüksekliği (width ve height 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. 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.

  9. 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.

  10. 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:

image

image

image

image

image

image

image

image