VVVVVV kaynak kodu yayımlandı
(github.com/TerryCavanagh)- 2010 yapımı bağımsız oyun VVVVVV'nin kaynak kodu yayımlandı; oyunu Terry Cavanagh geliştirdi, müziklerini Magnus Pålsson yaptı
- Masaüstü sürümünün kaynak kodu, deponun desktop_version klasöründe bulunuyor
- VVVVVV hâlâ ticari olarak satılıyor, ancak kişisel kullanım amacıyla derlemeler serbestçe oluşturulabilir
- Derlenmiş sürümü dağıtmak için depodaki LICENSE.md dosyasını kontrol etmek gerekiyor
- VVVVVV güncellemelerine ilişkin tartışmalar çoğunlukla gayriresmî VVVVVV Discord sunucusundaki
vvvvvv-codekanalında yapılıyor
Yayımlanan kaynak kodu
- Bu depo, Terry Cavanagh'ın 2010 yapımı bağımsız oyunu VVVVVV'nin kaynak kodunu içeriyor
- Kaynak kodunun yayımlandığına dair duyuru Terry'nin blog duyurusunda görülebilir: announcement
- Masaüstü sürümünün kaynak kodu desktop_version klasöründe bulunuyor
Kullanım ve dağıtım koşulları
- VVVVVV, thelettervsixtim.es üzerinden hâlâ ticari olarak satın alınabiliyor
- Kişisel kullanım amacıyla oyunu kendiniz derleyebilirsiniz
- Derlenmiş oyun sürümünü dağıtmak için LICENSE.md dosyasını kontrol etmeniz gerekiyor
Güncelleme tartışma kanalı
- VVVVVV güncellemelerine ilişkin tartışmalar çoğunlukla gayriresmî VVVVVV discord sunucusunda yürütülüyor
- İlgili kanal
vvvvvv-code
1 yorum
Hacker News yorumları
Lisenin sonlarına doğru ailemle London'a gittiğimde oyun geliştiricisi olmak istediğim için Terry Cavanagh'a e-posta göndermiştim; şaşırtıcı şekilde öğle yemeği yemeyi memnuniyetle kabul etti.
Gerçekten çok nazikti ve hayata dair çeşitli tavsiyeler verdi. Fikirlerin çoğunun büyük vizyonlardan değil, oyun mekanikleriyle oynayıp denemeler yaparken ortaya çıktığını söylediğini hatırlıyorum. Her hâlükârda harika biri; V diye adlandırdığı VVVVVV'yi açık kaynak olarak yayımlamasına sevindim.
Gerçekten berbat birkaç insanla tanışmak gerekiyor ki gerçekten düzgün insanları doğru dürüst ayırt edebilesin.
Gerçekten eğlenceli bir oyun. Çok fazla oyun oynayan biri değilim ama bunu almak için Humble Bundle satın aldığımı hatırlıyorum.
Sonuna kadar oynadığım az sayıdaki oyundan biriydi. Terry, harika işin ve güzel zamanlar için teşekkürler. Bu arada veni vidi vici gerçekten küfür ettirecek kadar zordu ve çok zamanımı aldı.
https://www.youtube.com/watch?v=4CtiY5D6HCs
O zamanki erkek arkadaşım VVVVVV'yi bana alan kişiydi ve ölmeden tüm trinket'leri toplama koşusu deniyordu. Oyunlarda nasıl bu kadar iyi olduğunu hiç anlayamamıştım. Ayrıca VVVVVV'nin soundtrack'i PPPPPP'yi hâlâ sık sık dinliyorum. Özellikle ilgili osu! stream parçalarını seviyorum.
İlgili yazılar bunlar. Başkaları da var mı merak ediyorum.
Is opening up your source code worth it? Terry Cavanagh thinks it was for VVVVVV - https://news.ycombinator.com/item?id=25727963 - Ocak 2021
Many games are held together by duct tape - https://news.ycombinator.com/item?id=22043156 - Ocak 2020
VVVVVV Source Code Released - https://news.ycombinator.com/item?id=22011465 - Ocak 2020
VVVVVV’s source code is now public, 10 year anniversary jam happening now - https://news.ycombinator.com/item?id=22011358 - Ocak 2020
VVVVVV 60% Off On The Mac App Store This Weekend - https://news.ycombinator.com/item?id=2347676 - Mart 2011
Graphics::print_level_creator(...)içindeki yorumda, “by {author}” yerine bir yüz gösterildiği yazıyor.Gerekçeler şunlarmış: “by” yazarın diliyle farklı olunca tuhaf durabilir; başka dillerde uzayıp mevcut seviye sınırını bozabilir; “by” ile yazar adı birbirine uymayan yazı tipleri gerektirebilir; cinsiyet ve isim çekimi gibi dilbilgisi sorunlarından kaçınılabilir; yüzle göstermek mantıklı; ayrıca bu karardan dolayı üzülen biri olursa gülen yüz zaten moralini yükseltir. Karşı çıkması zor.
Yazıda bağlantısı verilen https://distractionware.com/blog/2020/01/vvvvvv-is-now-open-... adresinde, C++ sürümünde Flash'ta önce yapılmış olmasını ve kusurlarıyla birlikte doğrudan port edilmesini hatırlayınca anlaşılabilecek pek çok tuhaf kısım olduğu söylenmiş.
Örneğin
i,j,kgibi geçici değişkenleri fonksiyon içinde tanımlamamak için her sınıfın üyesi olarak tanımlama alışkanlığı varmış; çünkü Flash'ta sıkıcı nedenlerle fonksiyon içinde tanımlamak zahmetliymiş. Bunun sonucunda izlemesi zor hatalar ortaya çıkmış; özellikle entity çarpışma işlemede birden fazla fonksiyon aynıideğişkenini paylaştığı için sonsuz döngü bile mümkünmüş. Gerçekten kötü görünüyor ve oyun kodunun karmakarışık olduğuna dair önyargıyı doğruluyor.Kod mükemmel ama sıkıcı da olabilir. İyi yazılmış ama uygulaması sönük bir hesap makinesi uygulaması gibi. Kod hem dağınık hem sıkıcı olabilir. Yüzlerce istisna koşulu olan ve her birinde birbirine benzeyen ama farklı bug'lar barındıran, tasarımı zayıf bir B2B ürün gibi. Kod hem mükemmel hem ilginç olabilir. Doom gibi şeyler.
this.koymak birden çok daha az sinir bozucu geldi.Aynı yaratıcının Super Hexagon'ından da söz etmek isterim. Son derece basit ama gerçekten eğlenceli ve çok bağımlılık yapan bir oyun.
Bir yerde, yapımcısının bunu sadece yaklaşık bir günde yaptığını okuduğumu hatırlıyorum. Ayrıca VVVVVV'nin soundtrack'i PPPPPP de harika.
Yaklaşık altı özgün karakter var, her karaktere özel birden çok meydan okuma bulunuyor ve kurallar sürekli değişerek oyunu yeniden düşünmenize neden oluyor. Mizahı da bol; henüz denemediğim ücretsiz DLC ve mod içerikleri de var.
Bağımsız bir geliştiricinin ilk başarısından sonra tamamen yeni bir türe yönelmesi her zaman ilginç; bu şekilde harika cevherler çıktı. Örneğin Fallen London -> Sunless Sea -> Cultist Simulator çizgisi gibi.
Başta imkânsız gibi görünüyor ama beyin uyum sağlıyor. Sanki Matrix'in ötesini görmek gibi.
Birçok kişiye de paylaşıp hepsini çıldırttım. Hâlâ Steam envanterimde 5-6 kadar kaldığına inanıyorum. Ne olur ne olmaz. V, SMB, Braid ve pek çok başka oyun için de aynısı geçerli. Bazen küçük bir ilham ve derme çatma grafikler yeterli oluyor.
Kanada'dan California'ya yeni taşındığım ve işe umutsuzca ihtiyaç duyduğum bir dönem vardı; Comcast'te kapı kapı satış işi buldum.
O işten nefret ediyordum, bu yüzden sık sık arabada oturup sorumluluktan kaçıyor ve telefonda VVVVVV oynuyordum. Terry sayesinde kısa bir nefes alabiliyordum.
Harika oyun. O dönemin indie oyunlarına yakışır şekilde kodun gerçekten karmakarışık olması hoşuma gidiyor.
Game::updatestate()fonksiyonu ve devasa switch ifadesi.Zig için paketledim; sadece
zig buildçalıştırınca oyunu Linux, macOS ve Windows'ta oynayabiliyorsunuz.https://github.com/allyourcodebase/VVVVVV
Fonksiyon içinde kullandığı her yerde tanımlamak istemediği için her sınıfta
i,j,ktanımladığını ve beklendiği gibi dağınık, zor bug'lara yol açtığını itiraf etmiş.Böyle bir kodla düzgün bir oyun çıkarmış olması şaşırtıcı.