tiny_survival_game_JS
Public
Created
Oct 27, 2025
1
Stars
0
Forks
1
Watchers
0
Issues
Repository Details
Primary Language
JavaScript
Repository Size
0 MB
Default Branch
main
Created
October 27, 2025
Last Update
October 27, 2025
README.md
# 🏝️ Tiny Survival
**2D multiplayer survival oyunu** — Phaser.js ile geliştirilmiş açık dünya hayatta kalma macerası!
## 🎮 Oyun Hakkında
Ada üzerinde dolaşan karakterinizle kaynakları toplayın, eşya yapın ve gece gelen yaratıklardan korunun. 4 farklı bölgede keşif yapın ve hayatta kalmaya çalışın!
### ✨ Özellikler
- **🗺️ Açık Dünya**: 4 farklı biome (Sahil, Orman, Göl, Mağara)
- **📦 Kaynak Toplama**: Odun, taş ve yemek toplayın
- **⚒️ Crafting Sistemi**: Kamp ateşi ve barınak yapın
- **🌙 Gece Sistemi**: Karanlıkta yaratıklar belirir
- **🔥 Koruma Mekanizması**: Kamp ateşiyle kendinizi koruyun
- **📊 Oyuncu İstatistikleri**: Can, açlık ve enerji yönetimi
- **🌐 Multiplayer Hazır**: Socket.io ile gerçek zamanlı çok oyunculu
## 🛠️ Teknoloji Stack'i
- **Frontend**: Phaser.js 3.70+
- **Backend**: Node.js + Express
- **Real-time**: Socket.io
- **Build Tool**: Vite
- **Physics**: Arcade Physics
## 📦 Kurulum
### Gereksinimler
- Node.js 16+
- npm veya yarn
### Adımlar
1. **Bağımlılıkları yükleyin:**
```bash
npm install
```
2. **Oyunu başlatın:**
```bash
npm run dev
```
Bu komut hem client (port 3000) hem de server'ı (port 3001) aynı anda başlatır.
3. **Tarayıcınızda açın:**
```
http://localhost:3000
```
## 🎯 Nasıl Oynanır?
### Kontroller
- **WASD veya Ok Tuşları** → Hareket
- **E** → Kaynak toplama (yakındaki kaynaklardan)
- **C** → Crafting menüsünü aç/kapat
- **ESC** → Menü
### Oynanış
1. **Keşfet**: Adayı dolaşın ve farklı bölgeleri keşfedin
2. **Topla**: Ağaçlardan odun, kayalardan taş, bitkilerden yemek toplayın
3. **Craft**: Toplanan materyallerle eşyalar yapın
4. **Hayatta Kal**: Açlığınızı giderin ve gece yaratıklardan kaçının
### Crafting Tarifleri
| Eşya | Malzemeler | Açıklama |
|------|-----------|----------|
| 🔥 Kamp Ateşi | 2 Odun + 1 Taş | Gece yaratıklardan korur |
| 🏠 Barınak | 10 Odun + 4 Taş | Güvenli uyku yeri |
## 🗂️ Proje Yapısı
```
tiny-survival/
├── client/ # Frontend (Phaser.js)
│ ├── index.html
│ ├── main.js # Oyun yapılandırması
│ ├── scenes/ # Oyun sahneleri
│ │ ├── BootScene.js # Yükleme sahnesi
│ │ ├── MenuScene.js # Ana menü
│ │ └── GameScene.js # Ana oyun sahnesi
│ ├── entities/ # Oyun varlıkları
│ │ └── Player.js # Oyuncu sınıfı
│ ├── managers/ # Sistem yöneticileri
│ │ ├── ResourceManager.js
│ │ ├── InventoryManager.js
│ │ ├── CraftingManager.js
│ │ └── UIManager.js
│ └── systems/ # Oyun sistemleri
│ └── DayNightCycle.js
├── server/ # Backend (Node.js)
│ └── index.js # Socket.io sunucusu
├── package.json
├── vite.config.js
└── README.md
```
## 🔧 Geliştirme
### Sadece Client'ı Çalıştırma
```bash
npm run dev:client
```
### Sadece Server'ı Çalıştırma
```bash
npm run dev:server
```
### Production Build
```bash
npm run build
npm run preview
```
## 🎨 Özelleştirme
### Yeni Kaynak Ekleme
`client/managers/ResourceManager.js` dosyasında:
```javascript
this.resourceTypes = {
wood: { name: 'Odun', sprite: 'tree', amount: 150 },
// Yeni kaynak ekle
iron: { name: 'Demir', sprite: 'iron', amount: 50 }
};
```
### Yeni Crafting Tarifi
`client/managers/CraftingManager.js` dosyasında:
```javascript
this.recipes = {
campfire: { /* ... */ },
// Yeni tarif ekle
sword: {
name: '⚔️ Kılıç',
description: 'Yaratıklarla savaş',
requires: { wood: 1, stone: 2, iron: 1 },
onCraft: () => this.craftSword()
}
};
```
## 🗺️ Roadmap
- [x] Temel oyuncu kontrolü
- [x] Kaynak toplama sistemi
- [x] Crafting mekanizması
- [x] Gece/gündüz döngüsü
- [x] Yaratık sistemi
- [x] UI ve HUD
- [ ] Multiplayer senkronizasyonu
- [ ] Veri kaydetme (MongoDB)
- [ ] Daha fazla crafting tarifi
- [ ] NPC sistemi
- [ ] Quest sistemi
- [ ] Ses efektleri ve müzik
- [ ] Gelişmiş animasyonlar
## 🐛 Bilinen Sorunlar
- Multiplayer henüz tam entegre değil (backend hazır)
- Grafik placeholder (geliştirilmesi gerekiyor)
- Ses sistemi eklenmedi
## 📝 Lisans
MIT License - İstediğiniz gibi kullanabilirsiniz!
## 🤝 Katkıda Bulunma
1. Fork edin
2. Feature branch oluşturun (`git checkout -b feature/amazing-feature`)
3. Değişikliklerinizi commit edin (`git commit -m 'Add amazing feature'`)
4. Branch'inizi push edin (`git push origin feature/amazing-feature`)
5. Pull Request açın
## 📧 İletişim
Sorularınız için issue açabilirsiniz!
---
**Hayatta kalmak için bol şans! 🏝️🔥**
# 🏝️ Tiny Survival
**2D multiplayer survival oyunu** — Phaser.js ile geliştirilmiş açık dünya hayatta kalma macerası!
## 🎮 Oyun Hakkında
Ada üzerinde dolaşan karakterinizle kaynakları toplayın, eşya yapın ve gece gelen yaratıklardan korunun. 4 farklı bölgede keşif yapın ve hayatta kalmaya çalışın!
### ✨ Özellikler
- **🗺️ Açık Dünya**: 4 farklı biome (Sahil, Orman, Göl, Mağara)
- **📦 Kaynak Toplama**: Odun, taş ve yemek toplayın
- **⚒️ Crafting Sistemi**: Kamp ateşi ve barınak yapın
- **🌙 Gece Sistemi**: Karanlıkta yaratıklar belirir
- **🔥 Koruma Mekanizması**: Kamp ateşiyle kendinizi koruyun
- **📊 Oyuncu İstatistikleri**: Can, açlık ve enerji yönetimi
- **🌐 Multiplayer Hazır**: Socket.io ile gerçek zamanlı çok oyunculu
## 🛠️ Teknoloji Stack'i
- **Frontend**: Phaser.js 3.70+
- **Backend**: Node.js + Express
- **Real-time**: Socket.io
- **Build Tool**: Vite
- **Physics**: Arcade Physics
## 📦 Kurulum
### Gereksinimler
- Node.js 16+
- npm veya yarn
### Adımlar
1. **Bağımlılıkları yükleyin:**
```bash
npm install
```
2. **Oyunu başlatın:**
```bash
npm run dev
```
Bu komut hem client (port 3000) hem de server'ı (port 3001) aynı anda başlatır.
3. **Tarayıcınızda açın:**
```
http://localhost:3000
```
## 🎯 Nasıl Oynanır?
### Kontroller
- **WASD veya Ok Tuşları** → Hareket
- **E** → Kaynak toplama (yakındaki kaynaklardan)
- **C** → Crafting menüsünü aç/kapat
- **ESC** → Menü
### Oynanış
1. **Keşfet**: Adayı dolaşın ve farklı bölgeleri keşfedin
2. **Topla**: Ağaçlardan odun, kayalardan taş, bitkilerden yemek toplayın
3. **Craft**: Toplanan materyallerle eşyalar yapın
4. **Hayatta Kal**: Açlığınızı giderin ve gece yaratıklardan kaçının
### Crafting Tarifleri
| Eşya | Malzemeler | Açıklama |
|------|-----------|----------|
| 🔥 Kamp Ateşi | 2 Odun + 1 Taş | Gece yaratıklardan korur |
| 🏠 Barınak | 10 Odun + 4 Taş | Güvenli uyku yeri |
## 🗂️ Proje Yapısı
```
tiny-survival/
├── client/ # Frontend (Phaser.js)
│ ├── index.html
│ ├── main.js # Oyun yapılandırması
│ ├── scenes/ # Oyun sahneleri
│ │ ├── BootScene.js # Yükleme sahnesi
│ │ ├── MenuScene.js # Ana menü
│ │ └── GameScene.js # Ana oyun sahnesi
│ ├── entities/ # Oyun varlıkları
│ │ └── Player.js # Oyuncu sınıfı
│ ├── managers/ # Sistem yöneticileri
│ │ ├── ResourceManager.js
│ │ ├── InventoryManager.js
│ │ ├── CraftingManager.js
│ │ └── UIManager.js
│ └── systems/ # Oyun sistemleri
│ └── DayNightCycle.js
├── server/ # Backend (Node.js)
│ └── index.js # Socket.io sunucusu
├── package.json
├── vite.config.js
└── README.md
```
## 🔧 Geliştirme
### Sadece Client'ı Çalıştırma
```bash
npm run dev:client
```
### Sadece Server'ı Çalıştırma
```bash
npm run dev:server
```
### Production Build
```bash
npm run build
npm run preview
```
## 🎨 Özelleştirme
### Yeni Kaynak Ekleme
`client/managers/ResourceManager.js` dosyasında:
```javascript
this.resourceTypes = {
wood: { name: 'Odun', sprite: 'tree', amount: 150 },
// Yeni kaynak ekle
iron: { name: 'Demir', sprite: 'iron', amount: 50 }
};
```
### Yeni Crafting Tarifi
`client/managers/CraftingManager.js` dosyasında:
```javascript
this.recipes = {
campfire: { /* ... */ },
// Yeni tarif ekle
sword: {
name: '⚔️ Kılıç',
description: 'Yaratıklarla savaş',
requires: { wood: 1, stone: 2, iron: 1 },
onCraft: () => this.craftSword()
}
};
```
## 🗺️ Roadmap
- [x] Temel oyuncu kontrolü
- [x] Kaynak toplama sistemi
- [x] Crafting mekanizması
- [x] Gece/gündüz döngüsü
- [x] Yaratık sistemi
- [x] UI ve HUD
- [ ] Multiplayer senkronizasyonu
- [ ] Veri kaydetme (MongoDB)
- [ ] Daha fazla crafting tarifi
- [ ] NPC sistemi
- [ ] Quest sistemi
- [ ] Ses efektleri ve müzik
- [ ] Gelişmiş animasyonlar
## 🐛 Bilinen Sorunlar
- Multiplayer henüz tam entegre değil (backend hazır)
- Grafik placeholder (geliştirilmesi gerekiyor)
- Ses sistemi eklenmedi
## 📝 Lisans
MIT License - İstediğiniz gibi kullanabilirsiniz!
## 🤝 Katkıda Bulunma
1. Fork edin
2. Feature branch oluşturun (`git checkout -b feature/amazing-feature`)
3. Değişikliklerinizi commit edin (`git commit -m 'Add amazing feature'`)
4. Branch'inizi push edin (`git push origin feature/amazing-feature`)
5. Pull Request açın
## 📧 İletişim
Sorularınız için issue açabilirsiniz!
---
**Hayatta kalmak için bol şans! 🏝️🔥**
Quick Setup & Commands
Clone Repository
HTTPS
git clone https://github.com/canuzlas/tiny_survival_game_JS.git
SSH
git clone git@github.com:canuzlas/tiny_survival_game_JS.git
Essential Commands
Navigate to project
cd tiny_survival_game_JS
Install dependencies
npm install
Start development
npm run dev