ruby etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
ruby etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
1 Eylül 2009 Salı
Basit bir chat uygulaması
Eventmachine ile istemci/sunucu modelinde hazırladığım basit bir sohbet uygulamasına http://github.com/airy/EM-simpechat adresinden ulaşabilirsiniz.
16 Ağustos 2009 Pazar
13 Ağustos 2009 Perşembe
Başlarken
İnternet üzerinde oyun programlama dendiğinde özellikle C++ dilinin sağladığı avantajlar çok ön plana çıkıyor. C++ dilinin çok güçlü bir programlama dili olduğunu yadsıyamayız, tabi ki getirdiği bazı sıkıntıları da.
Bir takım kaptanı olarak benim değerlendirme kriterlerim oldukça farklı. Bunları sizinle paylaşmak ve fikirlerinizi almak istiyorum.
Genellikle oyun projelerinin uzun soluklu projeler olduğunu görüyoruz. Ortalama iki ila üç yıl süren projeler. Elle tutulur bir piyasa başarı sağlamanız halinde, ek paketler vs. ile bu süre daha da uzamakta.
Bu üç yıllık süre içinde nelerle karşılaşılabildiğini bir düşünelim:
firmalar; yönetim, ilgi alanı değiştirebilir, maddi sıkıntıya düşebilir, kapanabilir.
insanlar; evlenebilir, çocuk sahibi olabilir, iş değiştirebilir, taşınabilir, hastalanabilir, sakatlanabilir ve hatta hayatlarını kaybedebilir.
Tüm bu ve benzeri faktörleri, proje risklerini öngörmeye çalışırken göz önünde tutmanız gerekmektedir. Bu kadar uzun soluklu hiç bir proje, başladığı takımla bitmez; özellikle de yazılım sektöründe. Benim tecrübelerimde bu oran 4/10. Yani on kişilik bir takımda sadece 4 kişi işin başlangıcını ve bitişini görebiliyor. Bu oran, ilk bakışta yüksek bir sirkülasyon oranı gibi görünebilir, fakat üç yıl için düşündüğümüzde oldukça makul bir oran.
C++ gibi öğrenmesi ve okunması zor bir dilin, salt taşınabilirlik ve hız avantajı sağladığı için oyun projelerinin olmazsa olmazı gibi görünmesi göz yanıltıcıdır. Düşünün her altı ayda çekirdek kadronuzdan biri ayrılıyor ve yerine projeye tamamen yabancı biri geliyor. Halefinin bıraktığı yerden bayrağı devralması için bu kişinin, mevcut sistemi analiz etmesi, yapılan işleri ve kodları anlaması, hataları bulabilecek seviyede bilgiye sahip olması gerekiyor. Tüm bunları yapabilmek için de efor ve zaman harcamak zorunda. Tabii ki bu zamanın finansmanı da proje bütçesine ve planlamasına yansımakta.
Üç yıl sonra kullanacağımız oyun ekipmanlarının (bilgisayar, konsol, mobil cihazlar vs), şu an kullandıklarımıza göre ciddi kaynak avantajlarının olacağını yadsıyamayız. Yani üç yıl sonra 10-50 GHz frekans aralığında çalışan terabyte ile ölçülen hafızalara sahip cihazlarımızın olması varsayımı oldukça gerçekçi.
Şu anda bize büyük bir avantaj gibi görünen HIZ, projeye yansıyan vakit ve nakit maliyetleri açısından oldukça ciddi bir dezavantaja sahip. Bu noktada, farklı diller problemin çözümünü kolaylaştırabilir.
Pek çok büyük oyun üreticisi firmanın da, probleme bulduğu çözüm bu yönde. Pek çok firma ürünlerinde C++ gibi dillerin yanı sıra Lua gibi öğrenmesi ve okuması kolay betik (script) dillerini de kullanıyorlar.
Daha önce kullandığım tüm dillerin yerine geçen ruby'nin bu alanda da kısa süreler içinde büyük işler çıkarmaya imkan sağlayacağını düşünüyorum. Bu yüzden yeni başlayan projede Ruby dilini mümkün olan her yerde kullanmayı amaçlıyorum.
Tecrübelerimi buradan paylaşmaya devam edeceğim.
Vaktinizi ayırdığınız için teşekkür ederim.
Bir takım kaptanı olarak benim değerlendirme kriterlerim oldukça farklı. Bunları sizinle paylaşmak ve fikirlerinizi almak istiyorum.
Genellikle oyun projelerinin uzun soluklu projeler olduğunu görüyoruz. Ortalama iki ila üç yıl süren projeler. Elle tutulur bir piyasa başarı sağlamanız halinde, ek paketler vs. ile bu süre daha da uzamakta.
Bu üç yıllık süre içinde nelerle karşılaşılabildiğini bir düşünelim:
firmalar; yönetim, ilgi alanı değiştirebilir, maddi sıkıntıya düşebilir, kapanabilir.
insanlar; evlenebilir, çocuk sahibi olabilir, iş değiştirebilir, taşınabilir, hastalanabilir, sakatlanabilir ve hatta hayatlarını kaybedebilir.
Tüm bu ve benzeri faktörleri, proje risklerini öngörmeye çalışırken göz önünde tutmanız gerekmektedir. Bu kadar uzun soluklu hiç bir proje, başladığı takımla bitmez; özellikle de yazılım sektöründe. Benim tecrübelerimde bu oran 4/10. Yani on kişilik bir takımda sadece 4 kişi işin başlangıcını ve bitişini görebiliyor. Bu oran, ilk bakışta yüksek bir sirkülasyon oranı gibi görünebilir, fakat üç yıl için düşündüğümüzde oldukça makul bir oran.
C++ gibi öğrenmesi ve okunması zor bir dilin, salt taşınabilirlik ve hız avantajı sağladığı için oyun projelerinin olmazsa olmazı gibi görünmesi göz yanıltıcıdır. Düşünün her altı ayda çekirdek kadronuzdan biri ayrılıyor ve yerine projeye tamamen yabancı biri geliyor. Halefinin bıraktığı yerden bayrağı devralması için bu kişinin, mevcut sistemi analiz etmesi, yapılan işleri ve kodları anlaması, hataları bulabilecek seviyede bilgiye sahip olması gerekiyor. Tüm bunları yapabilmek için de efor ve zaman harcamak zorunda. Tabii ki bu zamanın finansmanı da proje bütçesine ve planlamasına yansımakta.
Üç yıl sonra kullanacağımız oyun ekipmanlarının (bilgisayar, konsol, mobil cihazlar vs), şu an kullandıklarımıza göre ciddi kaynak avantajlarının olacağını yadsıyamayız. Yani üç yıl sonra 10-50 GHz frekans aralığında çalışan terabyte ile ölçülen hafızalara sahip cihazlarımızın olması varsayımı oldukça gerçekçi.
Şu anda bize büyük bir avantaj gibi görünen HIZ, projeye yansıyan vakit ve nakit maliyetleri açısından oldukça ciddi bir dezavantaja sahip. Bu noktada, farklı diller problemin çözümünü kolaylaştırabilir.
Pek çok büyük oyun üreticisi firmanın da, probleme bulduğu çözüm bu yönde. Pek çok firma ürünlerinde C++ gibi dillerin yanı sıra Lua gibi öğrenmesi ve okuması kolay betik (script) dillerini de kullanıyorlar.
Daha önce kullandığım tüm dillerin yerine geçen ruby'nin bu alanda da kısa süreler içinde büyük işler çıkarmaya imkan sağlayacağını düşünüyorum. Bu yüzden yeni başlayan projede Ruby dilini mümkün olan her yerde kullanmayı amaçlıyorum.
Tecrübelerimi buradan paylaşmaya devam edeceğim.
Vaktinizi ayırdığınız için teşekkür ederim.
Kaydol:
Kayıtlar (Atom)
