🎮 EK BÖLÜM

Pixel Art Temelleri

Oyun Geliştirme İçin Sprite Oluşturma — Kapsamlı Ders Notları

Tamamlanmış orc sprite
📖 Derek Yu Tutorial
🎨 Pixel Grimoire
🛠️ LibreSprite / Aseprite / GIMP
📌 Kaynak

Bu ders notları Derek Yu'nun Pixel Art Tutorial'ı, Pedro Medeiros'un Pixel Grimoire serisi, Lospec kaynakları, 2D Will Never Die ve Unity Learn temel alınarak hazırlanmıştır.

📹 Video Ders Notları

🖼️ Kare Notları — 157 anahtar kare ile İngilizce/Türkçe transkript, önemli noktalar ve Aseprite ipuçları.
🎬 Video Klipleri — 12 konuya bölünmüş kısa videolar, her birinin altında çift dilli açıklama ve araç rehberi.
📱 1BitStudio Shorts — @1BitStudio kanalından 95 kısa video: Türkçe/İngilizce altyazılar, ek açıklamalar ve Aseprite ipuçları.

1. Pixel Art Nedir?

Metal Slug 3

Metal Slug 3 (Arcade). SNK, 2000.

Pixel art (Japonya'da "dot art"), düzenlemenin piksel seviyesinde yapıldığı bir dijital sanat formudur. Öncelikle 80'ler ve 90'lar video oyunlarının grafikleriyle ilişkilendirilir; bu dönemde ticari sanatçılar sınırlı bellek ve düşük çözünürlüklere rağmen giderek daha göz alıcı görseller yaratmak için mücadele ediyorlardı.

Günümüzde, gerçekçi 3D grafiklerin mümkün olmasına rağmen, oyunlarda ve kendi başına bir sanat formu olarak hâlâ popülerdir. Nostalji bir yana, bu kadar sıkı kısıtlamalar içinde canlı sanat eserleri yaratmak eğlenceli ve ödüllendirici bir mücadele olmaya devam ediyor.

Neden hâlâ pixel art?

Eğitilmiş bir elin birkaç fırça darbesinin bir formu temsil edip duygu uyandırmasına nasıl hayranlık duyuyorsak, birkaç pikselin aynısını yapmasına da öyle hayranlık duyuyoruz.

Giriş bariyeri, boyama veya 3D grafiklere kıyasla nispeten düşüktür, bu da onu indie oyun geliştiricileri için güzel bir seçenek yapar. Ama yanılmayın — bu hiçbir şekilde bir oyunu bitirmenin kolay olduğu anlamına gelmez.

⚠️ Uyarı

Yüksek seviye pixel art, her karede özenli piksel yerleşimi gerektirir. 3D modelde döndürebilir, deforme edebilir, uzuvları hareket ettirebilirsiniz; ancak pixel art'ta neredeyse her frame elle çizilir. Birçok indie geliştirici pixel art Metroidvania'larını 1 yılda bitireceklerini düşünerek başlar, gerçekte 6 yıl sürer!

Derek Yu'nun stili hakkında: Öncelikle video oyunları için pixel art kullanır ve ilhamını video oyunlarından alır. Famicom/NES, 16-bit konsollar ve 90'lar arcade oyunları favori kaynaklarıdır. Bu dönemin pixel art'ı "renkli, cesur ve temiz… ama sert veya minimalist olmayacak kadar temiz" olarak tanımlanabilir.

1b. Pixel Art Tarihçesi

Pixel art'ın tarihi, bilgisayar grafiklerinin tarihiyle iç içedir. 2D Will Never Die'ın ifadesiyle: "Piksel, ekranın gösterebildiği en küçük yapı taşıdır" — pixel art bu yapı taşlarının bilinçli kontrollü olarak yerleştirilmesidir.

Atari 2600
Atari 2600 (1977)
NES
NES (1985)
SNES
SNES (1991)

Donanım Kısıtları Dönemi

DönemDonanımÖzelliklerÖnemli Oyunlar
1977–1982Atari 2600, Arcade1-bit sprite'lar, çok sınırlı renk, 128 renk ama aynı anda çok az kullanılabilirSpace Invaders (1978), Pac-Man (1980)
1983–1990NES / Famicom (8-bit)Sadece 54 renk, ekranda aynı anda 25 renk (1 arka plan + 4×3 tile rengi + 4×3 sprite rengi), sprite boyutu 8×8 veya 8×16, 256×240Super Mario Bros, Mega Man, Zelda, Castlevania
1983Commodore 64Dikdörtgen pikseller! 320×200 hi-res (tek renk) veya 160×200 multicolor mod, 16 renkInternational Karate, Impossible Mission
1989–1998Genesis / SNES (16-bit)256–512 renk aynı anda, daha büyük sprite'lar, Genesis'te hızlı işlemci, SNES'te Mode 7 efektleriSonic, Street Fighter II, Metal Slug, Chrono Trigger
1989–2003Game Boy / GBA4 yeşil ton → 32K renk (GBA), taşınabilir pixel artPokémon, Advance Wars, Castlevania: SOTN

🎮 Donanım Palet Kısıtlamaları — Yaratıcı Çözümler

Donanım sınırlamaları pixel art sanatçılarını inanılmaz yaratıcı çözümler bulmaya zorladı:

💡 Ders

Kısıtlama yaratıcılığın düşmanı değil, ateşleyicisidir. NES'in 25 renk sınırı içinde Super Mario Bros, Mega Man ve Castlevania gibi başyapıtlar doğdu. Bugün bilinçli olarak kısıtlamalar koymak (16 renk paleti gibi) aynı yaratıcılığı tetikler.

Sprite Sheet Evrimi

Sprite sheet'ler, bir karakterin tüm animasyon karelerini ve yönlerini tek bir görüntü dosyasında toplama yöntemidir. Bu uygulama 1980'lerin 8-bit konsollarından başlayarak gelişmiştir:

3D Devrimi ve Düşüş (1996–2005)

3D Devrimi
N64 ve 3D Geçişi (1996)

PlayStation, N64 ve gelişen PC donanımıyla 3D grafiklerin yükselişi, pixel art'ı "geçmişte kalmış" bir teknik haline getirdi. Oyun stüdyoları 3D'ye geçiş yaparken, piksel düzeyinde çalışma neredeyse tamamen terk edildi. Bu dönemde pixel art ağırlıklı olarak GBA, DS gibi taşınabilir konsollar ile cep telefonu oyunlarında yaşamaya devam etti. Castlevania: Symphony of the Night (1997) gibi başyapıtlar 2D pixel art'ın hâlâ neler yapabildiğini gösterdi.

İndie Rönesans (2008–Günümüz)

Dijital dağıtım platformlarının (Steam, itch.io, App Store) yaygınlaşmasıyla bağımsız geliştiriciler pixel art'ı bilinçli bir estetik tercih olarak yeniden keşfetti:

📌 Önemli

Pixel art bugün artık teknik bir kısıtlama değildir — bilinçli bir sanat tercihidir. Kısıtlama yaratıcılığı besler ve her piksel bir karar gerektirir.

2. Yazılımlar & Araçlar

Pixel art için gereken temel araçlar: zoom ve piksel yerleşimi için Pencil (kalem). Ayrıca çizgi/şekil araçları, seçim/taşıma araçları ve hızlı doldurma için Paint Bucket yardımcı olur.

YazılımPlatformFiyatÖzellikler & Notlar
LibreSpriteWin/Mac/LinuxÜcretsizAseprite'ın açık kaynak fork'u, GPL lisanslı. Animasyon, katmanlar, palet desteği. Önerilen başlangıç aracı!
AsepriteWin/Mac/Linux$15 / kaynak koddan ücretsizŞu anda en popüler editör. Kaynak kodu açık — derleyerek ücretsiz kullanılabilir.
PiskelWeb (tarayıcı)ÜcretsizTarayıcıda çalışan şaşırtıcı derecede sağlam bir editör. PNG, animated GIF export'u.
GIMPWin/Mac/LinuxÜcretsizZaten biliyorsunuz! Genel amaçlı ama pixel art için yapılandırılabilir.
GraphicsGaleWindowsÜcretsizPixel art için tasarlanmış erken editörlerden. Animasyon araçları güçlü (onion skinning). 2017'den beri ücretsiz.
KritaWin/Mac/LinuxÜcretsizDijital boyama için tasarlanmış ama pixel art için yapılandırılabilir.
PixiEditorWindowsÜcretsizHafif editör. Lospec Palette List entegrasyonu.
MS PaintWindowsÜcretsizEn basit araçlarla bile pixel art yapılabilir. Sadece Windows XP sürümü ideal.
💡 Öneri

Hızlı denemeler için Piskel (tarayıcıda), ciddi çalışma için LibreSprite veya Aseprite kullanın. GIMP'i zaten bildiğiniz için onu da pixel art modunda yapılandırabilirsiniz — ama özel araçlar çok daha verimli.

Ek Donanım

Pixel art setup

Derek Yu'nun pixel art kurulumu

3. Lospec — Palet & Kaynak Merkezi

Lospec, 2017'de skeddles tarafından kurulmuş, dijital kısıtlı sanat için bağımsız bir platformdur. Pixel art dünyasının en kapsamlı kaynak merkezi olarak kabul edilir.

Lospec Araçları

🎨 Color Theory bağlantısı

Lospec'te palet ararken, renk teorisi bilginizi kullanarak bilinçli seçimler yapabilirsiniz. Complementary, analogous, triadic palet yapıları burada da geçerli. "hardware" etiketiyle gerçek konsol kısıtlamalarını keşfedebilirsiniz.

4. Palet Seçimi & Renk Teorisi

Pixel art kısıtlamalarla tanımlanır. Bir piksel, pixel art'ta diğer dijital ortamlardan çok daha fazla anlam taşır ve renkler için de aynısı geçerlidir — sonuçta renkleri de kısıtlamak istersiniz.

UFO 50 Palette

UFO 50 için oluşturulan 32 renklik palet

Palet Temelleri

Renk Seçiminin Önemi

Naive (Saf) Renklendirme ❌

Naive coloring

Çizmeye başladığımızda, bir şeyin "ne renk olması gerektiğini" düşünme eğilimindeyiz: yapraklar parlak yeşil, gökyüzü parlak mavi, kayalar saf gri… Gerçekte, renk nadiren saftır ve yansıyan ışık yakındaki nesnelerden gelen renklerin birbirine karışmasına neden olarak karmaşıklık ekler.

Çok Fazla Benzer Renk ❌

Çok fazla benzer renk

Her rengin kendi kimliği olmalıdır, böylece mümkün olduğunca çok iş görebilir. Her noktanın verimliliği pixel art'ı dijital sanat formu olarak benzersiz kılar. Renkler çok benzerse pikseller birbirine karışır ve kaybolur.

💡 Color Theory bilginizi burada kullanın
  • Hue Shifting: Gölgeler için sadece değer (value) düşürmek yerine, tonu (hue) da kaydırın. Açık tonlar sıcak → koyu tonlar soğuk (veya tersi)
  • Saturation kontrastı: Gölgelerde saturation artırma veya azaltma ile derinlik katın
  • Complementary kontrast: Karakter ve arka plan için tamamlayıcı renkler okunabilirliğe katkı sağlar
  • Value kontrastı: Pixel art'ta en kritik kontrast — doygunluğu sıfırlayıp gölgelemenin hâlâ okunup okunmadığını test edin

5. Kaba Çizim (Crude Outline)

Final Fight scale
Final Fight (Arcade). Capcom, 1989. 96x96 ölçek referansı.
Kaba eskiz
Kalem aracıyla kaba eskiz

96x96 piksel bir karakter sprite'ı ile başlayalım. Büyük sprite ile başlamak teknikleri göstermeyi kolaylaştırır ve geleneksel sanat formlarına (çizim, boyama) daha yakın hissettirir.

Sprite'ımıza Pencil aracını sürükleyerek, kağıda çizer gibi bir eskiz çizerek başlıyoruz. Pixel art ve geleneksel sanat arasında kesinlikle örtüşme var, özellikle bu büyüklükteki sprite'larda. Güçlü pixel sanatçıları genellikle en azından iyi çizim yapabilir (ve tersi). Çizim becerilerinizi geliştirmek her zaman faydalıdır.

6. Jaggies — Çizgi Temizliği

Temizlenmiş outline

Temizlenmiş outline — her çizgi tek piksel kalınlığında

Şimdi başıboş pikselleri kaldırarak ve her çizgiyi tek piksel kalınlığına indirgeyerek outline'ı temizleyeceğiz.

Jaggies Nedir?

Pixel art'ta yapılması gereken iki temel çizgi var: düz ve eğri. Jaggies: Bir çizginin tutarlılığını bozan tekil pikseller veya küçük piksel segmentleridir. Pixel art'ta tek bir pikselin genel görüntü üzerinde büyük etkisi olduğundan, jaggies göze batar.

Düz Çizgiler

Düz çizgi jaggies

Düz çizgilerde segment uzunluklarının tutarlı olması gerekir. Tutarsız segment uzunlukları jaggies yaratır.

Eğri Çizgiler

Eğri çizgi jaggies

Eğri çizgilerde, çizgi segmentlerinin uzunluğu tutarlı bir şekilde büyümeli veya küçülmelidir. Segment uzunluklarının tutarsız değişimi jaggies yaratır.

📌 Not

Jaggies'ten tamamen kaçınmak, pixel art'ınız yalnızca en basit şekillerden oluşmadıkça imkansızdır. Favori retro oyunlarınızın herhangi birinde jaggies var. Amaç basitçe ifade etmek istediğinizi ifade ederken bunları minimize etmektir.

💡 Inkscape bağlantısı

Inkscape'te Bezier eğrilerinin nasıl çalıştığını biliyorsunuz — piksel dünyasında eğriler segment uzunluklarının tutarlı artış ve azalışıyla oluşturulur. Aynı mantık!

6b. Alternatif Teknik: Cluster Sketching (Pixel Grimoire)

Pedro Medeiros'un Pixel Grimoire serisinden: Outline çizmekle başlamak yerine, doğrudan büyük renk kütleleriyle (cluster) başlayıp kademeli olarak rafine etme tekniği.

Cluster Nedir?

Bir cluster (veya "color cluster", "pixel cluster"), aynı renkteki sürekli piksel grubudur. Pixel art yaparken odak noktanız mümkün olduğunca az sayıda cluster kullanmak ve orphan pixel'leri (yalnız pikselleri) önlemek olmalıdır.

⚠️ Orphan Pixels

Aynı renkteki daha büyük grubun parçası olmayan ve anti-alias'ın parçası olmayan tek pikseller. Bu pikseller genellikle görüntüyü gürültülü ve kafa karıştırıcı yapar. Bazen orphan piksel'i komşu cluster'a katarak çözebilirsiniz, bazen küçük bir şekil haline getirebilirsiniz. Ama her zaman kötü değillerdir — dokular ve güçlü detaylar (parıldayan gözler gibi) için kullanılabilirler.

Cluster Sketching Adımları

  1. Adım 1 — Büyük Kütleler: 2-3 piksel boyutunda fırçayla veya Paint Bucket ile çok kaba bir versiyon çizin. Renklere ve genel atmosfere odaklanın, detay eklemeyin. Arka plandan ön plana doğru çalışın.
  2. Adım 2 — Rafine Etme: Cluster'ları detaylandırın, kontrastı artırın, katmanlar kullanın. Fırça boyutunu 1 piksele düşürün ve kenar düzeltmeleri yapın.
  3. Adım 3 — Jaggies Düzeltme & Detay: Piksel piksel kırıkları düzeltin, anti-alias ekleyin, orphan pikselleri temizleyin.
💡 İpucu

Bu teknik özellikle manzaralar, doğa ve organik formlar için mükemmeldir. Arka plan pixel art'ı yapıyorsanız, outline'la başlamak yerine cluster sketching'i deneyin. Çizim tableti (Wacom vb.) bu teknik için özellikle faydalıdır.

7. İlk Renklendirme

İlk renklendirme

Paint Bucket ile renklendirme ve palet kullanımı

Paint Bucket veya başka bir dolgu aracıyla karakterinizi renklendirin! Palet bu kısmı basitleştirir. Paint yazılımınız paletleri desteklemiyorsa, paletinizi her zaman resmin içine yapıştırabilir ve Eye Dropper aracını kullanarak renkler seçebilirsiniz.

💡 GIMP ipucu

GIMP'te palet oluşturmayı biliyorsunuz — Windows > Dockable Dialogs > Palettes. Lospec'ten indirdiğiniz .gpl paletleri doğrudan import edebilirsiniz! GIMP'in "Indexed Color" modu da renk sayısını sınırlamak için kullanışlıdır.

8. Gölgeleme (Shading) & Form

Gölgeleme uygulanmış
Gölgeleme uygulanmış
Form ve hacim
Form ve hacim düşüncesi

Gölgeleme zamanı! Temel fikir: sprite'a daha koyu renkler (shades) ekleyerek gölge simüle edeceğiz, böylece sprite düz yerine 3D görünecek.

Bu tutorial için varsayalım ki orkun üstünde ve biraz önünde tek bir ışık kaynağı var — üstte ve/veya önde olan her şey parlak, alt ve arkaya daha koyu renkler ekliyoruz.

Form ve Hacim (Form and Volume)

Bu kısımda zorluk yaşıyorsanız, çizimleri basitçe çizgiler ve renk olarak değil, hacmi olan formlar olarak düşünme pratiği yapmanız gerekebilir.

📌 Not

Karakterinizi tüm detayları olmadan, kilden yapılmış gibi düşünmeyi deneyin. Gölgeleme yaptığınızda sadece renk eklemiyorsunuz — bir form şekillendiriyorsunuz. İyi tanımlanmış bir karakter, temel formları gizlemeyen detaylara sahiptir — gözünüzü kıssanız, birkaç büyük açık ve koyu küme hâlâ belirmelidir.

9. Anti-Aliasing (AA)

Anti-aliasing temelleri
AA temelleri — "ara" renkler
Anti-aliasing uygulaması
Orc'un üst kolunda AA uygulaması

Her yeni renk tonu eklediğimde biraz anti-aliasing (AA) yapıyorum. AA, iki çizgi segmentinin buluştuğu köşelere "ara" renkler koyarak bloklu pikselleri yumuşatma yöntemidir.

Gri pikseller çizgimizdeki "kırılmaları" yumuşatır. Çizgi segmenti uzadıkça, onu yumuşatmak için kullandığımız AA segmenti de uzar.

⚠️ Dikkat

Oyun için kullanılacak bir sprite'ın dışını veya arka plan rengini bilmediğiniz herhangi bir yeri anti-aliase etmeyin! Örneğin, açık bir arka planda AA yaparsanız, o AA koyu bir arka planda göze batacaktır.

10. Seçici Dış Çizgi (Selective Outlining / Selout)

Selective outlining

Selout uygulanmış — daha doğal ve yumuşak görünüm

Şimdiye kadar outline'ımız saf siyahtı, bu sprite'a genel olarak karikatürsü bir görünüm veriyor. Ayrıca çok sert segmentasyon yaratıyor.

Sprite'a daha doğalcı bir görünüm vermek ve segmentasyonu yumuşatmak için selective outlining (selout) tekniğini kullanabiliriz. Selout, siyah outline'ın çoğunu daha açık renklerle değiştirmek demektir:

11. Dithering

Dithering örneği

Üst: Yüzlerce ton ile gradient | Orta: 9 renk → banding | Alt: Dithering → 2 renk!

Şimdiye kadar çoğunlukla büyük, kesintisiz koyu renk kümeleriyle gölgeleme yaptık. Ancak, dithering adlı başka bir teknik var — yeni bir ton eklemeden iki farklı renk tonu arasında köprü kurmanızı sağlar.

Fikir: Renk geçişini simüle etmek için değişen yoğunluklarda gürültü yaratmak. Baskıda kullanılan "halftone" tekniğine çok benzer.

📌 Ne zaman kullanmalı?

Dithering büyük tek renkli alanlarda (Metal Slug 3'teki gökyüzüne yakından bakın!) veya pürüzlü/pütürlü görünmesini istediğimiz yerlerde (toprak gibi) en iyi sonucu verir.

Kakyusei PC-98

Kakyusei (PC-98). Elf, 1996. Bu görselde sadece 16 renk var!

Dithering'in kapsamlı ve iyi yapıldığını görmek istiyorsanız, 80'lerin İngiliz oyun stüdyosu Bitmap Brothers'ın oyunlarını veya PC-98'deki oyunları inceleyin.

11b. Işık Yapısı & İleri Gölgeleme (Pixel Grimoire)

Pedro Medeiros'un Pixel Grimoire #4 makalesinden: Gölgeleme, ışığın nesnelerle nasıl etkileştiğini simüle etmektir. Her piksel ışık davranışını yansıtmalıdır.

Gölgeleme Terimleri

TerimAçıklamaPixel Art İpucu
Volume ShadowNesnenin kendi hacminin oluşturduğu yumuşak gölgeEn yaygın gölge tipi
TerminatorAydınlık/karanlık arasındaki geçiş bölgesiPixel art'ta keskin tutun — banding'den kaçının
Projected ShadowBir nesnenin diğerine düşürdüğü sert gölgeGenellikle oldukça sert ve keskin
Specular HighlightEn parlak yansıma noktasıParlak nesnelerde küçük ve odaklı
Rim LightArkadan gelen ışığın yarattığı parlak konturİkincil, daha soluk bir ışık kaynağından
Bounce LightYerden yansıyan ışık — gölge içinde hafif aydınlıkSubtle ama gerçekçilik katar

Düz vs Eğri Yüzeyler

Düz yüzeyler genellikle tüm yüzey boyunca tek bir renge sahip olmalıdır, eğri yüzeyler ise renk rampası (gradient) gösterebilir. Düz yüzeylerde ramp kullanmak "soft faces" hatasına yol açar.

Gölgeleme Adımları

  1. Temel renkler ve şekillerle başlayın — koyu renklerden açığa doğru çalışın
  2. Nesne içinde temel ışık/gölge bölgelerini boyayın — renk sayısını düşük tutun
  3. Projected shadow'ları çizin
  4. Detayları, oyma desenleri ve küçük parçaları ekleyin
  5. Şekilleri düzeltin, gölgeleri ve highlight'ları güçlendirin
  6. Ekstra anti-alias ve outline'larla bitirin

Foto Referans Kullanımı

Foto referans kullanmak her zaman iyi bir pratiktir. Fotoğrafı birebir kopyalamanıza gerek yok, ancak ışığın o durumda nasıl davrandığını anlamak için kullanabilirsiniz.

⚠️ Yaygın Gölgeleme Hataları
  • Soft faces: Düz alanları yanlış yönde yumuşatmak — düz yüzey = tek renk!
  • Pillow Shading: Net ışık kaynağı olmadan kenarları karartmak
  • Flat Light: Gerçek 3D formunu göz ardı etmek — nesneniz 3B obje, 2B şekil değil

11c. Pixel Art Animasyon Temelleri (Pixel Grimoire)

Pedro Medeiros'un Pixel Grimoire #3 makalesinden: Animasyon, belirli bir sırada oynatılan görüntü dizisinin yarattığı hareket illüzyonudur.

Animasyon Yaklaşımları

Straight-ahead Animasyon

Kareleri sırayla, birinden sonrakine çizme yöntemi. Basit animasyonlar için ideal — zıplayan top, sallanma gibi.

Pose-to-pose Animasyon

Önce anahtar pozları (key frames) çizin, sonra aradaki kareleri doldurun. Karmaşık karakter animasyonları için daha kontrollü.

Timing (Zamanlama)

Her karenin ne kadar süre gösterildiği, animasyonun hissini belirler. Aseprite/LibreSprite'da kare numarasına sağ tıklayarak süreyi (milisaniye) ayarlayabilirsiniz.

Squash & Stretch (Sıkıştır & Uzat)

Hareket yönünde nesneyi uzatma, çarpma anında sıkıştırma. Hacmi koruyun: Dikey uzatırken yatay daralma, yatay sıkıştırırken dikey genişleme olmalı.

Animasyon Kaydetme

💡 İlk animasyon egzersizi

Zıplayan top! Basit bir 32x32 canvas'ta 4 renkli paletle çalışın. Squash & stretch ekleyin. Sonra klasik en boy çevirme egzersizi olan "animasyonlu un çuvalı"nı deneyin.

11d. Banding & Anti-Alias İleri Düzey (Pixel Grimoire)

Pedro Medeiros'un Pixel Grimoire #5 makalesinden: Anti-alias ve banding, pixel art topluluğunda en çok tartışılan konulardandır.

Anti-Alias Yapma Yöntemi

  1. İki piksel veya daha uzun merdiven desenleri arayın
  2. Adım bittiğinde halftone (ara renk) ekleyin
  3. Halftone uzunluğu, adım uzunluğuyla orantılı olmalı
  4. Gerekirse orijinal şekilden 1 piksel "yiyin" — genişlemeyi telafi etmek için
📌 Halftone renk seçimi

Renk tonu (hue) ve doygunluk değişse bile, value (parlaklık) doğru şekilde iki renk arasında köprü olmalıdır. Sınırlı paletle çalışırken çok farklı hue'lerle bile doğru halftone'lar oluşturabilirsiniz.

Yaygın Anti-Alias Hataları

HataAçıklamaÇözüm
Aşırı AAHer şey bulanıklaşırDaha az halftone kullanın, 45° ve düz çizgilerde AA yapMAYIN
Yetersiz AAAdım uzunluğuna kıyasla çok kısa halftoneUzun adım = orantılı uzun halftone
Yanlış değerHalftone çok açık/koyu — köprü olmamışValue'nun iki renk arasında olduğundan emin olun

Banding Sorunu

Banding: Birden çok renk bandının belirgin şekilde birbirinden ayrışması. Nesneyi düz ve bazen bulanık gösterir.

12. Son Dokunuşlar

Son dokunuşlar
Detaylar ve highlights ekleniyor
Tamamlanmış sprite
Tamamlanmış orc sprite

Son olarak highlights (sprite'ımızdaki en parlak noktalar), detaylar (küpeler, perçinler, yaralar) ekleyebilir ve mutlu olana kadar ayarlamalar yapmaya devam edebiliriz.

Kontrol Teknikleri

⚠️ Mükemmeliyetçilik tuzağı

Pixel art'ın kısıtlı, grid benzeri doğası yüzünden her şeyi "tam doğru" yapabileceğinizi hissettirmesi kolaydır. Bu bir bulmaca çözme hissi yaratır ve çok bağımlılık yapıcı olabilir. Tek bir sprite üzerinde çok uzun oyalanmamaya dikkat edin! "Yeterince iyi!" demeyi ve devam etmeyi öğrenin.

13. Küçük Sprite: 32x32

Mario sprite
Super Mario Bros — 2 piksellik göz!
Chibi parti
Chibi/super-deformed parti

96x96 büyük sprite'ta pixel art hâlâ çizim ve boyama gibi hissettiriyordu. Sprite küçüldükçe, temsil etmesi gereken şeye daha az benzer ve her pikselin sorumluluğu artar.

Mario Dersi

Super Mario Bros.'da Mario'nun gözü sadece iki piksel birbiri üstüne konmuş. Ve yaratıcısı Shigeru Miyamoto, bıyığının burnunu yüzünün geri kalanından ayırt etmek için gerekli olduğunu açıkladı. Yani Mario'nun en ikonik özelliklerinden biri sadece karakter tasarımı değil, pragmatik bir karardı!

32x32 Adımları

Ödün Verme Sanatı

Küçük sprite yapmak ödün vermektir. Outline eklerseniz gölgeleme alanı daralır. Kol ve bacaklar iyi tanımlanmışsa, yer açmak için kafa küçülmek zorunda kalır.

📌 Chibi / Super-Deformed

Küçük sprite'lar için karakterlerin sevimli olduğu, büyük kafa ve gözlere sahip chibi tasarımlar tercih edilebilir. Sınırlı alanda ifadeli karakterler yaratmanın harika bir yolu.

14. Yaygın Hatalar

Sanatın en zor kısımlarından biri öz eleştiridir — çoğu zaman sanatımıza objektif bakamayacak kadar yakınız. Başka sanatçılardan düzenleme şeklinde geri bildirim istemek, göremediğiniz sorunları aydınlatmanın harika bir yoludur.

Öncesi
Naive pixel art — düz, sert, okunaksız
Sonrası
Rework — dinamik, hacimli, okunabilir

Hata 1: Çok Fazla Benzer Renk

Çok fazla benzer renk

Her rengin mümkün olduğunca fazla iş görebilmesi için kendi kimliğine sahip olmasını istiyoruz. Çözüm: Renk sayısını azaltın, kontrastı artırın.

Hata 2: Pillow Shading

Pillow shading

Pillow shading: Dıştan içe doğru gölgeleme — "yastık" etkisi yaratır. Bu tür gölgeleme gerçek hayatta neredeyse hiç oluşmaz. Çözüm: Tek ışık kaynağı belirleyin, formları basit geometrik şekillere indirgeyin.

Hata 3: Karton Tasarımlar

Karton tasarımlar

Grid üzerinde çalışmak bizi düz çizgiler boyunca tasarlamaya zorlar. "Chunky Pixels Rule": Tek piksel kalınlığında çıkıntılar yapmaktan kaçının — gölgelemesi ve 3B form hissi vermesi zor olur. Çözüm: Nesnelerin kişiliklerini çıkarın, hareket ediyorlarmış gibi düşünün, kalın formlar kullanın.

15. Dosya Formatları

JPG olarak kaydedilmiş pixel art

Herhangi bir pixel sanatçısının belini ürpertecek görüntü — JPG olarak kaydedilmiş pixel art!

Sanat eserinizi JPG olarak kaydettiğinizde olan şey: JPG kayıplı (lossy) bir dosya formatıdır — kaydettiğinizde dosya boyutunu küçültmek için sıkıştırma yapılır ve veri kaybedilir. Güzel, keskin pixel art'ınız bulanık görünür.

✅ PNG (Önerilen)

  • Kayıpsız (lossless) sıkıştırma
  • Piksel piksel korunur
  • Transparency (alfa kanalı) desteği
  • Statik pixel art için standart format

✅ GIF (Animasyon için)

  • Animasyonlu pixel art için en popüler format
  • 256 renk sınırı var (pixel art için genellikle yeterli)

❌ JPG (Asla!)

  • Kayıplı sıkıştırma — blurlu sonuç
  • Orijinal palet kaybolur
  • Pixel art için kesinlikle uygun değil

16. Unity'de Sprite Kullanımı

📌 C# ve Unity öğreniyorsunuz

Oluşturduğunuz sprite'ları doğrudan oyun projelerinizde kullanabilirsiniz!

Sprite Import Ayarları

Kaynak: Unity Learn — Importing 2D Assets

  1. PNG sprite'ı Assets klasörüne sürükleyin
  2. Inspector'da Texture Type = "Sprite (2D and UI)" seçin
  3. Filter Mode = "Point (no filter)" — piksel keskinliğini korur!
  4. Compression = "None" — kalite kaybı olmasın
  5. Pixels Per Unit (PPU): 32x32 sprite için PPU=32 iyi bir başlangıç
  6. Pivot: Yerde duran karakterler için Bottom, genel amaç için Center

Pixel Perfect Camera — Kritik Ayar!

⚠️ En yaygın sorun

Pixel art oyunlarda pikseller farklı boyutlarda render edilir → "kırık" görünüm oluşur. Pixel Perfect Camera bunu çözer!

  1. Package Manager → Unity Registry → "2D Pixel Perfect" paketini kurun
  2. Main Camera'ya Pixel Perfect Camera component'i ekleyin
  3. Assets PPU: Sprite'larınızın PPU değeriyle aynı olmalı
  4. Reference Resolution: Oyununuzun mantıksal çözünürlüğü (ör: 320×180 piksel)
  5. Upscale Render Texture: İşaretleyin — temiz upscale
// Pixel Perfect Camera ayarı (C#)
using UnityEngine.U2D;
var ppc = Camera.main.GetComponent<PixelPerfectCamera>();
ppc.assetsPPU = 16;
ppc.refResolutionX = 320;
ppc.refResolutionY = 180;

Sprite Sheet & Animasyon

  1. Tüm animasyon frame'lerini tek bir PNG dosyasına yan yana dizin
  2. Unity'de Sprite Mode = "Multiple" seçin
  3. Sprite Editor → "Slice" ile frame'lere bölün (Automatic, Grid By Cell Size, Grid By Cell Count)
  4. Animator Controller ile state machine animasyonu oluşturun
  5. Sprite Atlas: Birden fazla sprite'ı tek texture'a paketleyerek draw call azaltma

Tilemap Sistemi — Level Tasarımı

C# ile Sprite Kontrolü

// Sprite'ı runtime'da değiştirme
SpriteRenderer sr = GetComponent<SpriteRenderer>();
sr.sprite = newSprite;  // Sprite swap
sr.flipX = true;        // Yatay çevirme
sr.color = new Color(1f, 0.5f, 0.5f); // Kırmızımsı tint
sr.sortingOrder = 10;

// Animator ile animasyon state geçişi
Animator anim = GetComponent<Animator>();
anim.SetBool("isRunning", true);
anim.SetTrigger("attack");

2D Light (Universal Render Pipeline)

17. Çizim Yeteneği Olmayanlar İçin

Herkesin sanatsal yönü kuvvetli olmayabilir — ama oyun projeniz için pixel art elde etmenin birçok yolu var!

Yol 1: Hazır Asset Kullanma

SiteLisansAçıklama
itch.io Game AssetsDeğişkenBinlerce pixel art sprite paketi
OpenGameArt.orgCC0, CC-BY, GPLAçık lisanslı oyun grafikleri arşivi
Kenney.nlCC0 (Public Domain)Yüksek kalite, tutarlı stil. Hiçbir atıf gerektirmez
CraftPix.netÜcretsiz & PremiumOyun için hazır 2D asset'ler

Yol 2: Mevcut Görselden Pixel Art'a Çevirme

GIMP'i zaten biliyorsunuz — fotoğrafları pixel art'a dönüştürmek için:

  1. Image → Scale Image: küçültün (ör: 64x64 veya 32x32)
  2. Image → Mode → Indexed Color: renk sayısını sınırlayın (16 veya 32)
  3. Filters → Blur → Pixelize ile piksel efekti
  4. Elle düzenleme yaparak kaliteyi artırın

Yol 3: Basit Şekillerden Başlama

Basit geometrik şekillerden (dikdörtgen, daire) başlayarak sprite oluşturabilirsiniz. Mario'nun bile bıyığı pragmatik bir tasarım kararıyla doğduğunu unutmayın!

18. AI & Modern Araçlarla Pixel Art

AI Görsel Üretimi

⚠️ AI Pixel Art'ın Sınırlamaları
  • AI çıktıları genellikle piksel grid'ine tam uymaz
  • Renk paleti kontrolü zayıf — yüzlerce gereksiz renk üretebilir
  • Anti-aliasing aşırı ve kontrolsüz uygulanır
  • Her pikselin bilinçli yerleştirilmesi pixel art'ın özüdür — AI bunu gerçek anlamda yapamaz

Hibrit Workflow — En İyi Yaklaşım

  1. AI ile hızlı konsept/referans oluşturun
  2. Çıktıyı LibreSprite/Aseprite/GIMP'e aktarın
  3. Piksel grid'ine oturtun, gereksiz renkleri temizleyin
  4. Elle AA, selout, dithering uygulayın
  5. Palet sınırlaması yapın (Indexed Color)

19. p5.js ile Pixel Art

📌 Not

p5.js bilginiz pixel art dünyasında değerli bir avantaj! Programatik yaklaşımlar artist olmayanlar için de kapı açar.

Sprite Yükleme & Pixel-Perfect Görüntüleme

// p5.js ile sprite yükleme
let sprite, spriteSheet;
let frameW = 32, frameH = 32, currentFrame = 0;

function preload() {
  sprite = loadImage('hero.png');
  spriteSheet = loadImage('hero_walk.png');
}

function setup() {
  createCanvas(512, 512);
  noSmooth();  // KRİTİK: Pixel-perfect rendering!
}

function draw() {
  background(30);
  image(sprite, 50, 50, 256, 256);

  // Sprite sheet'ten frame okuma
  let sx = currentFrame * frameW;
  let frame = spriteSheet.get(sx, 0, frameW, frameH);
  image(frame, 320, 50, 128, 128);

  if (frameCount % 8 === 0) currentFrame = (currentFrame + 1) % 6;
}
⚠️ Önemli

noSmooth() pixel art için olmazsa olmazdır! Bu olmadan p5.js sprite'ları büyütürken bilinear filtreleme uygular ve pikseller bulanıklaşır. CSS'de de image-rendering: pixelated; ekleyin.

Piksel Düzeyinde Manipülasyon

// Nearest-color palette mapping
function applyPalette(img, palette) {
  img.loadPixels();
  for (let i = 0; i < img.pixels.length; i += 4) {
    let r = img.pixels[i], g = img.pixels[i+1], b = img.pixels[i+2];
    let closest = findClosestColor(r, g, b, palette);
    img.pixels[i] = closest[0];
    img.pixels[i+1] = closest[1];
    img.pixels[i+2] = closest[2];
  }
  img.updatePixels();
}

function findClosestColor(r, g, b, palette) {
  let minDist = Infinity, best = palette[0];
  for (let c of palette) {
    let d = (r-c[0])**2 + (g-c[1])**2 + (b-c[2])**2;
    if (d < minDist) { minDist = d; best = c; }
  }
  return best;
}

p5.js ile Yapabileceğiniz Şeyler

20. Paylaşım & Topluluk

Pixel art'ınızı sosyal medyada paylaşmak geri bildirim almanın ve diğer pixel sanatçılarıyla tanışmanın harika bir yolu. #pixelart hashtag'ini kullanmayı unutmayın!

⚠️ Dikkat

Sosyal medya siteleri sormadan PNG'leri JPG'ye dönüştürme eğilimindedir — eserinizi herkese açarken lekelenir!

Paylaşım İpuçları

Platformİpucu
Twitter/XPNG kalması için: <256 renk VEYA en uzun kenar <900px. En az 512x512'ye upscale edin. Nearest Neighbor ile temiz katlarla büyütün.
Instagram512x512+ upscale görüntüyü iyileştirir.
GIF AnimasyonTwitter için <15MB. En az 800x800px, döngü 3 kere tekrar.

Topluluklar

21. Önerilen İş Akışı

#AdımAraç / Detay
1Referans toplamaLospec, Pinterest, oyun screenshot'ları — stil belirle
2Palet seçimiLospec Palette List → GIMP/LibreSprite'a import
3Kaba eskizLibreSprite / Piskel / GIMP — Pencil tool
4Outline temizlemeJaggies minimize et — tutarlı segment uzunlukları
5RenklendirmePaint Bucket + seçilen palet
6GölgelemeTek ışık kaynağı, hue shifting, hacimli formlar
7AA & SeloutYumuşatma, dış çizgi renklendirme
8Dithering & detaylarGerekirse dithering, highlights, detaylar
9KontrolYatay çevir, doygunluk sıfırla → kontrol et
10ExportPNG olarak kaydet (asla JPG değil!)
11Unity ImportPoint filter, No compression, doğru PPU

22. Kaynaklar & Bağlantılar

Tutorial & Öğrenme

Tarihçe & Referans

Yazılımlar

Palet & Asset Kaynakları

Topluluklar

Pixel Grimoire Serisi

Unity ile Pixel Art

📝 Dönem Projesi: 2D Pixel Art Oyun

📌 Amaç

Bir oyun fikri belirleyip, o oyun için orijinal 2D pixel art sprite'lar tasarlamak ve çalışan bir prototip oluşturmak.

Proje Gereksinimleri

GereksinimAçıklama
Orijinal Sprite'larEn az 3 orijinal pixel art sprite (karakter, düşman, nesne, NPC vb.)
AnimasyonEn az 1 animasyonlu sprite (yürüme döngüsü, saldırı, patlama vb.)
Tilemap / Arka PlanOyun dünyası için tile set veya arka plan tasarımı
Çalışan PrototipSprite'ları kullanan oynanabilir bir demo
PlatformUnity, p5.js veya Godot — birini seçin

AI Kullanımı

💡 Kodlama mantığını AI'ya yazdırabilirsiniz!

Oyun mekaniği, hareket kodu, çarpışma algılama gibi kodlama kısımlarını Copilot, ChatGPT veya Cursor gibi AI asistanları kullanarak oluşturabilirsiniz. Ama sprite art'ı kendiniz tasarlamalısınız.

Değerlendirme Kriterleri

KriterAğırlıkAçıklama
Sprite Kalitesi%30Teknik yeterlilik: jaggies, gölgeleme, renk kullanımı, tutarlılık
Süreç Dokümantasyonu%25Aşamaların gösterilmesi, sorunların açıklanması
Çalışan Prototip%20Sprite'ların oyun içinde kullanılması, temel mekanik çalışıyor olmalı
Yaratıcılık%15Özgün oyun fikri, ilginç karakter tasarımı
Sunum%10Net, organize ve anlaşılır sunum

Örnek Proje Fikirleri

🎮 Basit Platformer

32×32 karakter, 3 animasyon (idle, run, jump), 16×16 tile set ile level. Unity veya Godot ile.

🗡️ Top-down RPG

4 yönlü karakter sprite'ı, 2-3 düşman, NPC, iç mekan tile set. Unity Tilemap veya p5.js grid ile.

🚀 Space Shooter

16×16 uzay gemisi, düşman çeşitleri, mermi sprite'ları, patlama animasyonu. p5.js ile.

🧩 Puzzle Oyun

Thematik sprite set (taşlar, kutular, anahtarlar), özel mekanik, arka plan tasarımı.