-
coreCore nedir
- coreCore, Action-RPG oyun yapım aracı ve motoru ile özellik düzenleyicisi biçiminde video oyunları oluşturmak için deneysel bir yöntemdir
- Basit bir bileşen sistemi kullanır ve bileşenler
[keyword value] biçimindeki clojure vektörleridir
- Çeşitli varlıklar clojure map'lerinden oluşur
- Oyun içi yan etkiler
[:tx/foo param] gibi bileşenlerle işlenir; bu, datomic yapısına benzer
- Tüm oyun durumu
app/state adlı tek bir atom içinde saklanır ve varlıklar da ana atomun içindeki atomlar olarak bulunur
- Uygulamanın tüm içeriği
resources/properties.edn içinde saklanır, malli-schemas kullanılarak doğrulanır ve GUI ile düzenlenebilir
-
Ekran görüntüleri
-
Geliştirmeye nasıl başlanır
- Aşağıdaki komutu girin:
- Uygulama başlatılır ve aşağıdaki işlemler de yapılır:
- NREPL sunucusu başlatılır
- Uygulama kapanırken (ana menüde ESC), clojure.tools.namespace değişen dosyaları yeniler ve uygulamayı yeniden başlatır
- Hata oluştuğunda JVM'i yeniden başlatmaya gerek kalmadan hatayı düzeltip
dev-loop/restart! çağrılabilir
- VIM'de F5 tuşuna şu komut bağlanarak kullanılabilir:
nmap <F5> :Eval (do (in-ns 'dev-loop)(restart!))
-
Kod lisansı
- MIT lisansı altında sunulmaktadır
-
Varlık lisansı
- Kullanılan varlıklar mülkiyetlidir ve açık kaynak değildir
GN⁺ özeti
- coreCore, Action-RPG oyunlarını kolayca üretmeye yönelik, oyun durumunu basit bir bileşen sistemiyle yöneten bir araçtır
- Tüm oyun durumunu tek bir atomda saklaması ve özelliklerin GUI üzerinden düzenlenebilmesi, geliştiriciler için kullanışlıdır
- MIT lisansıyla sunulsa da kullanılan varlıklar mülkiyetlidir
- Benzer işlevlere sahip araçlar arasında RPG Maker ve Unity bulunur
1 yorum
Hacker News görüşleri
Oyun geliştirmeye yönelik çeşitli yaklaşımları görmek ilginç
Bu GitHub projesi oyun geliştiricilere komik geliyor
Oyunu geliştirmeyi basitleştirebileceğini iddia ediyor ama çok fazla terim kullanıyor
Bu proje başarısız olmuş gibi görünüyor
Neredeyse hiç dokümantasyonu olmayan bu depo çok fazla tartışma yarattı
"Oyun yapmak istiyorum" düşüncesinin oyun motoru yapmaya dönüşmesine sık rastlanıyor
Clojure seviliyor ama değişmez veri yapılarına sahip fonksiyonel bir dilin oyun geliştirmeye uygun olup olmadığı sorgulanıyor
Oyun durumu tek bir atomda tutuluyor ve varlıklar onun içinde yine atomlar olarak saklanıyor
"Oyun motoruna harcanan zaman/karmaşıklık" ile "üretilen oyunun karmaşıklığı/ilgi çekiciliği" verilerini analiz etmek ilginç olabilir
Unreal Engine 4 ile çalışan ticari oyun üretim platformu Core zaten mevcut