Progetto open source più necessario [chiuso]


15

Alcune domande sul sito hanno menzionato la necessità di ulteriori progetti open source. Sono d'accordo e mi chiedo quali quadri dovrebbero essere sviluppati.

Inizierò l'elenco.

  • Un kernel di geometria, inclusa la serializzazione (JSON, binario, binario compresso), su misura per OpenGL / DirectX
  • Riconoscimento dei gesti

5
Non è una vera domanda.
Petrus Theron,

2
@FreshCode: Da qui la bandiera "Community Wiki". Sebbene questo sito non abbia ancora linee guida esatte per i wiki della comunità, questo rientra bene nei limiti della bandiera su altri siti SE, ad esempio MathOverflow ( mathoverflow.net/faq#communitywiki ).

9
Se stai iniziando una domanda della lista, sarebbe meglio se le tue risposte sono in una risposta invece della domanda in modo che possano essere votate separatamente.
Tetrad,

Risposte:


43

Mi sono già lamentato di questo in un'altra domanda, ma avere sistemi di distribuzione digitale aperti sarebbe glorioso. Ciò comprende sia i sistemi di patching sia le cose di tipo marketplace dell'utente finale. Steam gestisce molto di questo, ma è tutt'altro che una piattaforma aperta. Anche se non fosse un unico mercato condiviso come Steam (o come stanno andando i mercati telefonici), avere una soluzione che potresti facilmente rebranding e distribuire per te sarebbe un enorme passo avanti (supponendo che le persone abbiano effettivamente fatto cose come inviare patch a monte e tutta quella bontà FOSS).


Ho trascorso gli ultimi due anni qui a lavorare sul nostro sistema interno, quindi probabilmente sono un po 'di parte.
coderanger

Ad essere onesti, questo sarebbe di eccezionale valore anche al di fuori del dominio di gioco!
Stewart,

@Coderanger Aperto a quale fine? Sto lavorando ad alcuni strumenti come questo per il mio sito Web e mi piacerebbe scegliere il tuo cervello.
Jesse Dorsey

@Noctrine La mia e-mail è noah @ <il mio sito Web>, sentitevi liberi di farmi una
battuta

Non era quello che avrebbe dovuto essere Launchpad + APT, e si è appena trasformato in un incubo barocco?

4

Non un progetto software, ma uno di documentazione:

Una lista di controllo della qualità tecnica del gioco (come trcs o tcrs)

Molte volte la progettazione di un gioco di produzione è stata influenzata da questi documenti piuttosto importanti. I giochi indie ne hanno bisogno tanto quanto gli sviluppatori di giochi professionali, in quanto è almeno una semplice garanzia che hai fatto un lavoro ragionevole.

Certificazione

Non potrebbe esserci un organismo di certificazione, ma potrebbe essere una cosa autocertificante per cominciare.

Se la checklist fosse concisa, potrebbe facilmente diventare una checklist generalmente concordata. Una volta concordato, potrebbe quindi essere ragionevole per i distributori consentire la revisione tra pari per confermare o rifiutare i reclami in base ai quali le informazioni diventano parte del pacchetto di informazioni di base dei distributori sugli articoli nel suo negozio.

Posizione

Perché non avviarne uno sul gioco dev wiki ... http://wiki.gamedev.net/index.php/Main_Page ?


Ovviamente non può esserci un organismo di certificazione, né alcuni dei TCR dei principali detentori di piattaforme sono rilevanti, ma questa è un'idea davvero interessante. Sai se qualcuno ha lavorato su qualcosa del genere?

2
C'è la lista di controllo malefica per i giochi XBLIG (e una lista di controllo corrispondente non malefica).
coderanger,

La checklist non così malvagia ( creators.xna.com/en-us/help/peerreview_notsoevilchecklist ) sembra molto più utile al di fuori del mondo di XBLIG.

4

Sviluppatori di driver grafici. Senza driver grafici funzionanti, altri progetti relativi al gioco sono irrilevanti.

AMD e NVIDIA in realtà rendono i driver utilizzabili, ma sto parlando di driver open source. Mesa supporta solo OpenGL 2.1.

modifica: questa risposta è applicabile solo a GNU / Linux.


3
Perché è così importante che Linux disponga di driver open source, se i driver proprietari sono utilizzabili? Mettendo da parte l'ideologia, che rilevanza ha nei giochi?
Kylotan,

@Kylotan: non tutte le GPU hanno driver proprietari disponibili. Intel è una di queste e il loro hardware, sebbene non molto veloce, è abbastanza veloce per giocare a molti giochi. I giocatori apprezzerebbero i driver più veloci / meno con errori. La segnalazione di bug non è sufficiente, Mesa / Intel hanno bisogno di più sviluppatori. Per ottenerli, hanno bisogno di una migliore documentazione.
SurvivalMachine,

2
@Kylotan I driver proprietari sono al massimo uno scherzo. Le prestazioni e il supporto OpenGL sono terribili e imprevedibili, specialmente nei driver di ATI. Sembra che i loro driver Linux siano stati creati solo perché qualcuno ha distorto il braccio.
Bob Somers,

@Kylotan: Perché potresti avere una comunità esperta che migliora i driver, invece di essere in balia dei sentimenti di flusso e riflusso di ATI / NVidia nei confronti della comunità Linux. Il loro obiettivo, con buone ragioni, è supportare la piattaforma Windows. Linux è, nella migliore delle ipotesi, secondario.
alphadogg,

Non succederà mai. La linea aziendale è che credono che consentire alla comunità open source di costruire driver sveli troppi segreti ai concorrenti.
alphadogg

4

Uno strumento generico di modifica del gioco multipiattaforma che consente di modificare il contenuto del gioco (2D e 3D) per qualsiasi motore di gioco. Può essere integrato modificando ed esportando plugin per un motore di gioco specifico o per le esigenze di modifica di un genere di gioco specifico (ad es. Editor di giochi per piattaforme 3D, editor di interfacce utente 2D, editor di tessere 3D, ecc.).

Motivazione: la maggior parte dei motori di gioco open source non fornisce strumenti di modifica. La maggior parte degli strumenti di modifica dei giochi esistenti sono proprietari e funzionano solo con il motore di gioco del fornitore (Coppia, Unità, Shiva, ecc.), Oppure hanno un uso limitato (modifica 2D Tilemap). Se cambi motori o piattaforme, di solito devi lasciare indietro qualsiasi strumento con cui stavi lavorando e imparare o persino scrivere un nuovo strumento o lavorare senza alcuno strumento.

Cosa ne pensi di quest idea? Pensi che sia desiderabile? E sarebbe fattibile?


3
È fattibile. Ed esiste. Si chiama 3ds Max (o XSI, o Blender, o ...).
Neverender,

Quelli sono modellatori 3D, non editor di contenuti di giochi. Sono stato, devo dire, abusato per aver modificato alcuni giochi, ma a parte quello di mettere insieme qualcosa molto velocemente, sono una sofferenza per creare livelli / mondi di gioco reali.
LearnCocos2D,

Ok, prova Syntensity, Tiled, ecc. Ci sono altri editor più specializzati. Se stai cercando qualcosa di facile come l'editor in Spore o ModNation, allora stai cercando qualcosa che tende ad essere troppo specifico per un gioco.
alphadogg

3

Un kernel Geometry richiede anche un kernel animazione, inclusa la fusione.



1

Immagino che il servizio aperto per gli sprite di avatar personalizzati sarebbe utile soprattutto con la crescita di giochi online e mobili basati su HTML5. Ho descritto l'idea qui .


1

EA STL (o equivalente).


2
Mi chiedo solo, perché? L'approccio di base di EASTL è dettagliato più che sufficiente nel documento per copiare le parti necessarie; i particolari dettagli di implementazione di EASTL hanno ormai diversi anni e probabilmente ci sono modi migliori per farlo sui compilatori C ++ più recenti; e molte delle estensioni di cui parlano sono disponibili in Boost (es. boost :: intrusive :: list) o tr1 (es. standard unordered_map). Rimangono alcune cose utili, ma non direi mai che è il progetto open source più necessario.

Perché duplicare lo sforzo? Perché non beneficiare della revisione tra pari? Boost e TR1 non fanno nulla per migliorare il design degli allocatori danneggiati al cervello, per esempio. Molte delle modifiche proposte potrebbero essere adottate dall'STL e l'STL sarebbe migliore per questo. Ma ciò non accadrà mai.
Neverender,

1
Bene, sembra che il tuo sogno sia diventato realtà! github.com/paulhodge/EASTL

1

Una raccolta in stile stl di strutture dati basate su modelli spesso utilizzate nei giochi:

  • macchine a stati [gerarchici]
  • quad-/ octrees
  • alberi bsp
  • alberi a sfera
  • alberi kd
  • [qualsiasi altra utile struttura di dati spaziali non elencata]
  • gestori delle risorse
  • allocatori lineari / pool / altri
  • temporizzatori
  • alberi decisionali

Sarebbe davvero bello avere questi disponibili in una forma facile da usare che è ben testata e stabile.

Sebbene esistano implementazioni open source di alcune delle strutture di dati elencate, spesso non sono tentate di utilizzare alcun tipo di dati (ad esempio, sei spesso costretto a usare ancora un'altra struttura matrice / vettoriale), non in uno stato utilizzabile, morto o mancante peer review e test.


0

Networking.

Per cominciare, un buon sistema per NAT (Network Address Traversal) e routing, per combattere eventuali guai con firewall e proxy. I giocatori PC non dovrebbero mai avere a che fare con porte di inoltro o simili.

Ancora meglio: una rete di giochi multiplayer distribuita open source (ad es. Battle.net, Xbox Live, PSN ...). Questo sarebbe essenzialmente un protocollo che chiunque può implementare e chiunque può eseguire un server: comunicano semplicemente tra loro per scambiare informazioni su chi può essere trovato dove. Simile ai social network distribuiti (ad es. Diaspora), questo impedisce a qualsiasi parte di avere il controllo, consentendo a qualsiasi gioco indipendente di integrarsi perfettamente in esso.

Immagina se potessi semplicemente aggiungere i tuoi amici come "amici", e quindi in qualsiasi gioco a cui tu abbia mai giocato, potresti semplicemente invitarli immediatamente, senza indirizzi IP, senza ricerche di id, semplicemente portali con te. Fondamentalmente cosa già fanno B.net/XBL/PSN, ma aperto e gratuito per tutti!


1
Il tuo secondo suggerimento è un livello piuttosto banale rispetto a XMPP, il problema non è stato realizzato, è convincere tutti a supportarlo.

-2

Una vera piattaforma MMO, vale a dire. uno che fornisce il middleware, le funzioni della lobby, ecc., a cui è possibile collegare il motore.


-1, non è possibile che questo sia il progetto più necessario, dato che quasi tutti gli altri progetti suggeriti qui ne sono un prerequisito.

Ogni? Ci sono molte librerie di reti aperte decenti (non hai bisogno di una versione distribuita), esistono già modellatori aperti (Blender), non vedo la necessità di EA STL, esistono motori di gioco, ecc. L'unico progetto concorrente IMO disponibile è la distribuzione digitale che sarebbe interessante. Posso capire non votare per questo, ma un voto negativo? Gran parte dei giochi avviene online, ma non c'è nemmeno nulla vicino a una piattaforma praticabile e aperta per l'ecosistema attorno a un MMO.
alphadogg,

Sì, quasi tutti. Avresti bisogno di un patcher, un editor di contenuti e kernel di geometria e animazione. Avresti bisogno di una sorta di funzionalità social per la tua rete. Avresti anche bisogno di una libreria standard che funzioni per i giochi; EA STL è una di queste bestie, anche se potresti trovarne un'altra o scriverne una tua.

Editor di contenuti: Blender, Tiled, Syntensity. Gherigli: non so esattamente cosa intendi qui. Kernel è un termine sovraccarico. "Libreria standard" per gli sviluppatori di giochi: molte lingue e tipi di giochi diversi. Una libreria per gestirli tutti? Veramente? Infine, "funzionalità social" è esattamente ciò che sto proponendo come parte di una piattaforma per i giochi online.
alphadogg,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.