Önce nasıl düşüneceğimizi konuşacağız. Sonra tarayıcıda ilk tuvalimizi açacağız.
Algoritma nedir?Neden p5.js?Web Editorİlk sketch
Bir robota çay demlemeyi nasıl anlatırsınız?
Robot hiçbir şeyi kendiliğinden bilmiyor. Ne söylerseniz onu, söylediğiniz sırayla yapıyor.
İki dakika: yanınızdaki arkadaşınızla adımları yazın.
Adım adım, sırayla, eksiksiz
Suyu kaynat.
Demliğe çay koy.
Kaynar suyu ekle.
Demlenmesini bekle.
Servis et.
Bir adımı atlarsanız?Çay olmaz. Sırayı bozarsanız da olmaz.
Bilgisayar da böyleNe yazdıysanız onu yapar. Eksik bıraktığınız adımı kendisi tamamlamaz.
Programlama ve algoritma
ProgramlamaBilgisayara belirli bir görevi yaptırmak için verilen, adım adım yazılmış talimatlar bütünüdür.
AlgoritmaBir problemi çözmek ya da bir hedefe ulaşmak için izlenen sonlu, açık ve sıralı adımlar dizisidir.
SonluBir yerde biter.
AçıkYoruma yer bırakmaz.
SıralıSıra değişirse sonuç değişir.
Çay tarifi bir algoritmadır. Onu bir dilde yazdığınızda program olur.
“Algoritma” sözcüğü nereden geliyor?
Temsilî portre. Yaşadığı dönemden kalma bir resmi yok.
el-Harezmi
9. yüzyılda yaşamış matematikçi (Al-Khwarizmi).
“Algoritma” sözcüğü onun adından türedi.
Zamanla anlamı genişledi: belirli kurallara göre çözüm yöntemi.
“Basit bir oyun yap.” Bu bir talimat mı?
Bilgisayar bu cümleyle ne yapabilir? Hangi bilgi eksik?
Büyük işi küçük adımlara böl
Basit bir oyun yap
Ekranda bir daire çiz.
Daireyi sağa hareket ettir.
Daire kenara değince yönünü tersine çevir.
Algoritmik düşünceBüyük bir problemi daha küçük ve yönetilebilir alt problemlere ayırma becerisidir.
Oyun programlamanın temeli bu iki iş: parçalamak ve sıralamak.
Algoritmayı bilgisayara hangi dille anlatacağız?
JavaScriptProgramlama dilimiz. Web tarayıcısında çalışır, ek bir şey kurmak gerekmez. Günümüzün en yaygın dillerinden biri.
p5.jsJavaScript’in görsel kütüphanesi. Şekil çizmek, renk vermek, fareyi okumak ve animasyon yapmak için hazır komutlar sunar.
Programlama diliAlgoritmaları bilgisayara aktarmak için kullanılan biçimsel sistemdir.
Yaratıcı kodlama
Yaratıcı kodlama (creative coding)Yazılımın teknik disiplinini görsel sanatların ifade biçimleriyle birleştiren, estetik ve etkileşimli dijital eserler üretmeyi hedefleyen yaklaşımdır.
Klasik yolDeğişken, döngü, koşul… İlk haftalarda sonuç yalnızca konsolda bir satır yazı. Motivasyon düşebilir.
p5.js ileAynı kavramlar renkli şekillere, hareket eden nesnelere ve oyun mekaniklerine dönüşür.
p5.js nereden geldi?
2001ProcessingMIT’de Ben Fry ve Casey Reas geliştirdi. Amaç: programlamayı sanatçılar ve tasarımcılar için erişilebilir kılmak.
2014p5.jsLauren McCarthy önderliğinde doğdu. Processing’in felsefesini JavaScript ve HTML5 ile tarayıcıya taşıdı.
Neden p5.js ile öğreniyoruz?
🚀Kurulum yokWeb Editor tarayıcıda açılır; hemen yazıp çalıştırırsınız.
👀Anında görüntüdraw() sürekli yenilenir. Kodu değiştirince sonucu hemen görürsünüz.
✏️SketchProgram bir “taslak”tır. Programlama, üzerinde oynanan bir eskiz gibi düşünülür.
Unity ya da Godot gibi değilHazır fizik, sahne yönetimi ve varlık (asset) sistemi yok. Bu derste oyun mekaniklerini sıfırdan kodlayacağız. Böylece arkadaki mantığı adım adım göreceğiz.
Ek kütüphaneler var, ama…
p5.play: sprite, animasyon, basit çarpışma.
Matter.js: yerçekimi ve sert cisim çarpışması.
Prototipi hızlandırırlar ama “sihirli kutu” gibi davranırlar. Burada kullanmıyoruz.
Üretken sanat ve Genuary
Üretken sanat (generative art)Görüntü, kural ve rastgelelikle kodla üretilir. Her çalıştırmada sonuç biraz farklı olabilir.
GenuaryHer ocak ayında düzenlenir. Katılımcılar günlük istemlere (prompt) göre kod sanatı üretir; örneklerin çoğu p5.js ile yapılır.
Fikir toplamak için: OpenProcessing, p5.js Web Editor galerisi, The Coding Train, Patt Vira.
Bu ders oyun mekaniğine odaklanıyor. Üretken sanat zorunlu değil; merak edenler için açık bir kapı.
p5.js Web Editor
editor.p5js.org adresine girin. Hazır bir şablon açılır.
▶ Play ile çalıştırın, ■ ile durdurun.
Hesap açın. Projeleriniz bulutta saklanır.
Kaydet: File › Save ya da Ctrl+S (Mac: Cmd+S).
İlk bölümler için yeterliAyrı bir yazılım indirmiyoruz. Örneklerin hepsi Web Editor’da çalışacak şekilde anlatılıyor.
Editörü tanıyalım
Solda dosyalar ve kod · üstte Play / Stop · sağda önizleme (tuval) · altta konsol