En Çok Gerekli Açık Kaynak Projesi [kapalı]


15

Sitedeki birkaç soru daha açık kaynaklı projelere duyulan ihtiyaçtan bahsetti. Hangi çerçevelerin geliştirilmesi gerektiğine katılıyorum ve merak ediyorum.

Listeyi başlatacağım.

  • OpenGL / DirectX için uyarlanmış serileştirmeyi (JSON, ikili, sıkıştırılmış ikili) içeren bir geometri çekirdeği
  • Mimik tanıma

5
Gerçek bir soru değil.
Petrus Theron

2
@FreshCode: Dolayısıyla "Topluluk Wiki" bayrağı. Bu site henüz topluluk wiki'leri için kesin yönergelere sahip olmasa da, bu diğer SE sitelerinde örneğin MathOverflow ( mathoverflow.net/faq#communitywiki ) gibi bayrak sınırları içinde kalmaktadır .

9
Bir liste sorusuna başlıyorsanız, cevaplarınızın soru yerine bir cevapta olması daha iyi olur, böylece ayrı olarak oylanabilirler.
Tetrad

Yanıtlar:


43

Bunu başka bir soruda zaten şikayet ettim, ancak açık dijital dağıtım sistemlerine sahip olmak muhteşem olurdu. Bu, hem yama sistemlerini hem de son kullanıcı pazar tipi türlerini kapsar. Steam bunun çoğunu halleder, ancak açık bir platformdan çok uzaktır. Steam gibi tek bir paylaşılan pazar olmasa bile (veya telefon pazarları nasıl gidiyor), kolayca yeniden markalayabileceğiniz ve kendiniz için konuşlayabileceğiniz bir çözüme sahip olmak ileriye doğru büyük bir adım olacaktır (insanların aslında yukarı doğru yamalar göndermek gibi şeyler yaptığını varsayarak ve tüm bu FOSS iyiliği).


Son iki yılı burada kurum içi sistemimizde çalışarak geçirdim, bu yüzden muhtemelen biraz önyargılıyım.
coderanger

Adil olmak gerekirse, bu oyun alanının dışında bile olağanüstü değerli olacaktır!
Stewart

@Coderanger Hangi amaçla açılır? Web sitem için böyle araçlar üzerinde çalışıyorum ve beyninizi seçmek isterim.
Jesse Dorsey

@Noctrine E-postam noah @ <web sitem>, bana bir satır bırakmaktan çekinmeyin :-)
coderanger

Launchpad + APT'nin böyle olması gerekmiyordu ve sadece barok bir kabusa dönüştü mü?

4

Bir yazılım projesi değil, bir dokümantasyon projesi:

Bir oyun teknik kalite kontrol listesi (trcs veya tcrs gibi)

Çoğu zaman bir prodüksiyon oyununun tasarımı bu oldukça önemli belgelerden etkilenmiştir. Bağımsız oyunların onlara profesyonel oyun geliştiricileri kadar ihtiyacı var, en azından makul bir iş yaptığınızın basit bir güvencesi.

belgeleme

Belgeleyen bir organ olamazdı, ama başlangıçta kendini belgeleyen bir şey olabilir.

Kontrol listesi kısa ve öz olsaydı, genellikle üzerinde anlaşmaya varılmış bir kontrol listesi haline gelebilirdi. Anlaşmaya varıldıktan sonra, distribütörler için hakem incelemesinin iddiaları onaylamasına veya reddetmesine izin vermek makul olabilir, bunun üzerine bilgi, distribütördeki öğeler hakkında temel bilgi paketinin bir parçası haline gelir.

yer

Neden oyun geliştirmeye başlamıyorsunuz ... http://wiki.gamedev.net/index.php/Main_Page ?


Açıkçası, gerçekten onaylayıcı bir organ olamaz veya büyük platform sahiplerinden gelen TCR'lerin bazıları ilgili değildir, ancak bu gerçekten ilginç bir fikirdir. Kimsenin böyle bir şey üzerinde çalışıp çalışmadığını biliyor musunuz?

2
Orada kötü kontrol listesi XBLIG oyunlar için (ve karşılık gelen o kadar kötü kontrol listesi).
coderanger

Çok kötü olmayan kontrol listesi ( creators.xna.com/en-us/help/peerreview_notsoevilchecklist ) XBLIG dünyasının dışında çok daha kullanışlı görünüyor.

4

Grafik sürücüsü geliştiricileri. Çalışan grafik sürücüleri olmadan, oyunla ilgili diğer projeler önemsizdir.

AMD ve NVIDIA aslında kullanılabilir sürücüler yapıyor, ancak açık kaynaklı sürücülerden bahsediyorum. Mesa yalnızca OpenGL 2.1'i destekler.

edit: Bu cevap sadece GNU / Linux için geçerlidir.


3
Tescilli sürücüler kullanılabiliyorsa, Linux'un açık kaynak sürücülerine sahip olması neden bu kadar önemlidir? İdeolojiyi bir kenara bırakırsak, oyunlarla ne alakası var?
Kylotan

@Kylotan: Tüm GPU'ların tescilli sürücüleri yoktur. Intel bunlardan biri ve donanımları çok hızlı olmasa da birçok oyun oynayacak kadar hızlı. Oyuncular daha hızlı / daha az buggy sürücülerinin tadını çıkaracaklardı. Hataları bildirmek yeterli değildir, Mesa / Intel'in daha fazla geliştiriciye ihtiyacı vardır. Onları almak için daha iyi belgelere ihtiyaçları var.
SurvivalMachine

2
@Kylotan Tescilli sürücüler en iyi ihtimalle büyük bir şaka. Performans ve OpenGL desteği, özellikle ATI sürücülerinde korkunç ve sivilceli. Linux sürücüleri sadece birileri kollarını büktüğü için yaratılmış gibi görünüyor.
Bob Somers

@Kylotan: Linux toplumu karşısında ATI / NVidia'nın ebb ve akış duygularının insafına olmak yerine sürücüleri iyileştiren anlayışlı bir topluluğunuz olabilir. Odaklanmaları, iyi bir sebeple, Windows platformunu desteklemektir. Linux en iyi ihtimalle ikincildir.
alphadogg

Asla olmayacak. Kurumsal çizgi, açık kaynak topluluğunun sürücüler oluşturmasına izin vermenin rakiplere çok fazla sır açığa çıkardığına inanmalarıdır.
alphadogg

4

Herhangi bir oyun motoru için oyun içeriğini (2D ve 3D) düzenlemenizi sağlayan genel, platformlar arası bir oyun düzenleme aracı. Belirli bir oyun motoru veya belirli bir oyun türünün düzenleme ihtiyaçları için eklentileri düzenleme ve dışa aktarma ile desteklenebilir (örn. 3D platform oyun editörü, 2D kullanıcı arayüzü editörü, 3D tilemap editörü, vb.).

Gerekçe: çoğu açık kaynaklı oyun motoru düzenleme araçları sağlamamaktadır. Mevcut oyun düzenleme araçlarının çoğu tescillidir ve yalnızca satıcının oyun motoruyla (Torque, Unity, Shiva vb.) Çalışır veya sınırlı bir kullanıma sahiptir (2D Tilemap düzenleme). Motorları veya platformları değiştirirseniz, genellikle birlikte çalıştığınız araçları geride bırakmanız ve yeni bir araç öğrenmeniz, hatta yazmanız veya hiçbir araç kullanmadan çalışmanız gerekir.

Bu fikir hakkında ne düşünüyorsun? Sence arzu edilebilir mi? Ve bu mümkün olur mu?


3
Mümkün. Ve var. Buna 3ds Max (veya XSI veya Blender veya ...) denir.
Neverender

Bunlar 3D içerik oluşturucular, oyun içeriği editörleri değil. Diyelim mi, bazı oyunları düzenlemek için istismar edildi, ancak bir şeyi gerçek hızlı bir şekilde bir araya getirmek dışında, gerçek oyun seviyeleri / dünyaları yapmak için bir acıdırlar.
LearnCocos2D

Tamam, Syntensity, Tiled vb. Spore veya ModNation'da editör kadar kolay bir şey arıyorsanız, o zaman çok tek oyuna özgü bir şeye bakıyorsunuz.
alphadogg

3

Geometri çekirdeği, karıştırma dahil bir Animasyon Çekirdeği için de yalvarır.


2

İyi bir Flash oynatıcısı, Adobe'nin Windows olmayan işletim sistemlerinde gerçekten onların üzerinde çalışmakla ilgilenmediği / ilgisiz göründüğü ve mevcut uygulamalar eksik olduğu için (örneğin, ScaleForm'un tasarımcıların / sanatçıların beklediği gibi "uygun Flash" olarak önemli sorunları var).



1

Özel avatar spriteları için açık hizmetin özellikle çevrimiçi ve mobil HTML5 tabanlı oyunların büyümesinde yararlı olacağını düşünüyorum. Buradaki fikri anlattım .


1

EA STL (veya eşdeğeri).


2
Sadece merak ediyorum, neden? EASTL'nin temel yaklaşımı, ihtiyacınız olan parçaları kopyalamak için makalede fazlasıyla detaylandırılmıştır; EASTL'nin özel uygulama ayrıntıları şimdi birkaç yıldır ve muhtemelen daha yeni C ++ derleyicileri üzerinde yapmanın daha iyi yolları vardır; ve bahsettikleri uzantıların çoğu Boost (ör. boost :: intrusive :: list) veya tr1 (örneğin standart unordered_map) dizininde mevcuttur. İçinde birkaç yararlı şey kaldı, ancak bunun en çok ihtiyaç duyulan açık kaynak projesi olduğunu söyleyemem .

Neden çabayı kopyalayalım? Akran değerlendirmesinden neden faydalanmıyorsunuz? Boost ve TR1, biri için beyin hasarlı allocator tasarımını iyileştirmek için hiçbir şey yapmaz. Önerilen değişikliklerin çoğu STL tarafından kabul edilebilir ve STL bunun için daha iyi olacaktır. Ama bu asla olmayacak.
Neverender

1
Hayaliniz gerçek oldu gibi görünüyor! github.com/paulhodge/EASTL

1

Oyunlarda sıklıkla kullanılan tempolu veri yapıları koleksiyonu:

  • [hiyerarşik] durum makineleri
  • dördül-/ octrees
  • bsp ağaçları
  • küre ağaçları
  • kd ağaçları
  • [listelenmeyen diğer faydalı mekansal veri yapıları]
  • kaynak yöneticileri
  • doğrusal / havuz / diğer ayırıcılar
  • zamanlayıcılar
  • Karar ağaçları

İyi test edilmiş ve kararlı olduğu bilinen, kullanımı kolay bir formda mevcut olması gerçekten güzel olurdu.

Listelenen veri yapılarının bazılarının açık kaynak uygulamaları mevcut olsa da, genellikle herhangi bir veri türünü (örneğin, genellikle başka bir matris / vektör yapısını kullanmak zorunda kalırsınız) kullanılabilir, kullanılabilir durumda değil, ölü veya eksik akran değerlendirmesi ve testi.


0

Ağ.

Yeni başlayanlar için, NAT (Ağ Adres Geçişi) ve yönlendirme için, herhangi bir sıkıntıyı güvenlik duvarları ve proxy'lerle mücadele etmek için iyi bir sistem. PC oyuncuları hiçbir zaman yönlendirme portları veya benzeri herhangi bir şeyle uğraşmak zorunda kalmamalıdır.

Daha da iyisi: Açık kaynaklı, dağıtılmış çok oyunculu bir oyun ağı (ör. Battle.net, Xbox Live, PSN ...). Bu aslında herkesin uygulayabileceği bir protokol olabilir ve herkes bir sunucu çalıştırabilir - kimin nerede bulunabileceği hakkında bilgi vermek için birbirleriyle iletişim kurarlar. Dağıtılmış sosyal ağlara (ör. Diaspora) benzer şekilde, bu herhangi bir tarafın kontrol sahibi olmasını engellerken, herhangi bir bağımsız oyunun sorunsuz bir şekilde entegre olmasını sağlar.

Sadece arkadaşlarınızı 'arkadaş' olarak ekleyebileceğinizi ve sonra oynadığınız herhangi bir oyunu hemen davet edebileceğinizi düşünün, ip adresleri yok, kimlik aramaları yok, sadece yanınıza alın. Temel olarak B.net/XBL/PSN zaten ne yapıyor, ama herkes için açık ve ücretsiz!


1
İkinci öneriniz XMPP üzerinde oldukça önemsiz bir katman, sorun ortaya çıkmıyor, herkesi destekliyor.

-2

Gerçek bir MMO platformu yani. motorunuzu takabileceğiniz ara katman yazılımı, lobi fonksiyonları vb.


-1, burada önerilen hemen hemen her projenin bir ön koşulu olması nedeniyle, bunun en çok ihtiyaç duyulan proje olması mümkün değildir.

Her? Çok sayıda iyi açık ağ kütüphanesi var (dağıtılmış bir sürüme ihtiyacınız yok), açık modeller zaten var (Blender), EA STL, oyun motorları var, vb. İhtiyacını görmüyorum. serin olacak dijital dağıtımdır. Oy vermeyi değil, oylamayı anlayabilir miyim? Oyunların çoğu çevrimiçi oluyor, ancak bir MMO çevresindeki ekosistem için geçerli, açık bir platforma yakın bir şey bile yok.
alphadogg

Evet, neredeyse her. Bir yamaya, içerik düzenleyiciye, geometri ve animasyon çekirdeklerine ihtiyacınız olacak. Ağınız için bir çeşit sosyal özelliğe ihtiyacınız olacaktır. Ayrıca oyunlar için çalışan standart bir kütüphaneye ihtiyacınız olacaktır; EA STL böyle bir canavardır, ancak başka bir tane bulabilir veya kendi yazabilirsiniz.

İçerik düzenleyici: Blender, Döşenmiş, Syntensity. Çekirdekler: Burada ne demek istediğinizden tam olarak emin değilim. Çekirdek aşırı yüklenmiş bir terimdir. Game dev "standart kütüphane": Birçok farklı dil ve farklı oyun türleri. Hepsini işlemek için bir kütüphane mi? Gerçekten mi? Son olarak, "sosyal özellikler" tam da online oyun platformunun bir parçası olarak önerdiğim şey.
alphadogg
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.