LÖVE – Oyun geliştirme için bir “lua” framework’ü
Oyun geliştirme yapmak kimi zaman Unity, Unreal Engine gibi büyük araçlarla, kimi zaman Java, C++ gibi dillerle kompleks yapılarla, kimi zaman ise sadece minimalist dillerle yazılmış framework’lerle çok zevkli bir iştir. Bu yazıda bahsedeceğim LÖVE framework’ü ise 3. kısma dahil, yani minimalist bir yapısı var. Önce bu framework’ün yazıldığı dilden, lua’dan biraz bahsedeyim.
lua; hızlı, basit ve minimalist yapısıyla öne çıkan bir programlama dili. Bu dilde yazılmış script’ler Don’t Starve ve Garry’s Mod isimli oyunlarda da kullanılmıştır. Dili lua.org adresinden de indirebilirsiniz.
Zaman zaman Java ile oyun geliştirmiş olanlar da katılacaktır, koddan grafik aşamasına geçmek biraz sıkıntılı olabiliyor. Java class’lar, inheritance, gc ve kod organizasyonu anlamında çok profesyonel bir yapı sunsa da bir an önce sonuç almak isteyen geliştiriciler bazen sıkılabiliyor. love2d framework ile çalışırken dikkatimi çeken nokta da bu oldu; size direkt bir yapı veriliyor ve sadece işinize odaklanabiliyorsunuz. Bir an önce görsellerinizi yüklüyor, animasyonlarınızı ve oyununuzun arkaplanını oluşturduktan sonra geriye sadece aklınızdakileri yazmak kalıyor, izinlerle veya kod kalabalığıyla çok fazla uğraşmamış oluyorsunuz. Basit bir LÖVE oyun yapısını aşağıda göstereceğim:
1
2
3
4
5
6
7
8
9
|
function love.load()
end
function love.update(dt)
end
function love.draw()
end
|
Tahmin ettiğiniz üzere, bunlar love2d framework ile hazır gelen fonksiyonlar. main.lua dosyanızda bu fonksiyonlar ile (bunlar gibi birkaç tanesi daha) oyununuzu geliştirmeye başlıyorsunuz. Program ilk açıldığında love.load() fonksiyonu bir kez çağırılıyor, ve ardından love.update(dt) ve love.draw() fonksiyonları ard arda milisaniyede bir çağırılıyorlar. LÖVE framework’ü şu adresten indirebilir, ayrıca güzel dökümantasyonunu kullanabilirsiniz: LÖVE Framework
Yazının sonuna gelirken, lua’yı zaten sevmeme rağmen LÖVE ile birkez daha sevdim; oyun geliştirmek bambaşka bir dünya ve bu framework ile bu dünyaya güzel bir şekilde girebilirsiniz. İyi kodlamalar 🙂
Leave a reply