Projeto de código aberto mais necessário [fechado]


15

Algumas perguntas no site mencionaram a necessidade de mais projetos de código aberto. Eu concordo e me pergunto que estruturas devem ser desenvolvidas.

Eu vou começar a lista.

  • Um kernel de geometria, incluindo serialização (JSON, binário, binário compactado), adaptado para OpenGL / DirectX
  • Reconhecimento de gestos

5
Não é uma pergunta real.
Petrus Theron

2
@FreshCode: Daí a bandeira "Community Wiki". Embora este site ainda não tenha diretrizes exatas para os wikis da comunidade, ele está dentro dos limites da bandeira em outros sites do SE, por exemplo, MathOverflow ( mathoverflow.net/faq#communitywiki ).

9
Se você estiver iniciando uma pergunta da lista, seria melhor que suas respostas estivessem em uma resposta do que na pergunta para que possam ser votadas separadamente.
Tétrada

Respostas:


43

Já reclamei sobre isso em outra pergunta, mas ter sistemas de distribuição digital abertos seria glorioso. Isso abrange tanto os sistemas de correção quanto os itens do tipo de mercado do usuário final. O Steam lida com muito disso, mas está longe de ser uma plataforma aberta. Mesmo que não fosse um único mercado compartilhado como o Steam (ou como estão os mercados de telefones), ter uma solução que você pudesse facilmente mudar de marca e implantar seria um grande passo à frente (supondo que as pessoas realmente fizessem coisas como enviar patches a montante e toda essa bondade de software livre).


Passei os últimos dois anos aqui trabalhando em nosso sistema interno, então provavelmente sou um pouco tendenciosa.
Codigo2

Para ser justo, isso seria excepcional valioso mesmo fora do domínio dos jogos!
Stewart

@Coderanger Aberto para que fim? Estou trabalhando em algumas ferramentas como esta para o meu site e adoraria escolher seu cérebro.
Jesse Dorsey

@Noctrine Meu email é Noé @ <meu site>, sinta-se livre para soltar-me uma linha :-)
coderanger

Não era o que deveria ser o Launchpad + APT, e acabou se transformando em um pesadelo barroco?

4

Não é um projeto de software, mas sim um de documentação:

Uma lista de verificação de qualidade técnica do jogo (como trcs ou tcrs)

Muitas vezes, o design de um jogo de produção foi afetado por esses documentos bastante importantes. Os jogos independentes precisam deles tanto quanto os desenvolvedores profissionais, pois é pelo menos uma garantia simples de que você fez um trabalho razoável.

Certificação

Não poderia haver um organismo de certificação, mas poderia ser uma coisa de autocertificação para começar.

Se a lista de verificação fosse concisa, poderia se tornar mais facilmente uma lista de verificação geralmente acordada. Uma vez acordado, pode ser razoável que os distribuidores permitam que a revisão por pares confirme ou negue as reivindicações quando as informações se tornarem parte do pacote de informações básicas dos distribuidores sobre itens em sua loja.

Localização

Por que não iniciar um no wiki de desenvolvimento do jogo ... http://wiki.gamedev.net/index.php/Main_Page ?


Obviamente, não pode haver realmente um organismo de certificação, nem alguns TCRs dos principais detentores de plataforma são relevantes, mas essa é uma ideia realmente interessante. Você sabe se alguém já trabalhou em algo assim?

2
Existe a lista de verificação do mal para jogos XBLIG (e uma lista de verificação não tão ruim).
Coderanger 9/09/10

A lista de verificação não tão ruim ( creators.xna.com/en-us/help/peerreview_notsoevilchecklist ) parece muito mais útil fora do mundo do XBLIG.

4

Desenvolvedores de drivers gráficos. Sem drivers gráficos funcionais, outros projetos relacionados ao jogo são irrelevantes.

AMD e NVIDIA realmente fazem drivers utilizáveis, mas estou falando de drivers de código aberto. O Mesa suporta apenas OpenGL 2.1.

edit: Esta resposta é aplicável apenas ao GNU / Linux.


3
Por que é tão importante para o Linux ter drivers de código aberto, se os drivers proprietários são utilizáveis? Pondo de lado a ideologia, que relevância tem para os jogos?
Kylotan

@Kylotan: nem todas as GPUs têm drivers proprietários disponíveis. A Intel é uma delas, e seu hardware, embora não seja muito rápido, é rápido o suficiente para jogar muitos jogos. Os jogadores desfrutariam de drivers mais rápidos / com menos bugs. Relatar bugs não é suficiente, o Mesa / Intel precisa de mais desenvolvedores. Para obtê-los, eles precisam de uma documentação melhor.
SurvivalMachine

2
@Kylotan Os drivers proprietários são uma piada enorme, na melhor das hipóteses. O desempenho e o suporte ao OpenGL são terríveis e irregulares, principalmente nos drivers da ATI. Parece que os drivers do Linux foram criados apenas porque alguém torceu o braço.
Bob Somers

@Kylotan: Porque você pode ter uma comunidade experiente melhorando os drivers, em vez de ficar à mercê dos sentimentos de fluxo e refluxo da ATI / NVidia em relação à comunidade Linux. Seu foco, por um bom motivo, é oferecer suporte à plataforma Windows. Linux é, na melhor das hipóteses, secundário.
alphadogg

Isso nunca vai acontecer. A linha corporativa é que eles acreditam que permitir que a comunidade de código aberto construa drivers expõe muitos segredos aos concorrentes.
alphadogg

4

Uma ferramenta genérica de edição de jogos de plataforma cruzada que permite editar o conteúdo do jogo (2D e 3D) para qualquer mecanismo de jogo. Pode ser complementado com a edição e exportação de plug-ins para um mecanismo de jogo específico ou para as necessidades de edição de um gênero de jogo específico (por exemplo, editor de jogos em plataforma 3D, editor de interface de usuário 2D, editor de mapas 3D, etc.).

Justificativa: a maioria dos mecanismos de jogos de código aberto não fornece ferramentas de edição. A maioria das ferramentas de edição de jogos existentes é proprietária e funciona apenas com o mecanismo de jogos do fornecedor (Torque, Unity, Shiva etc.) ou tem um uso limitado (edição em 2D do Tilemap). Se você trocar de mecanismo ou plataforma, geralmente precisará deixar para trás as ferramentas com as quais estava trabalhando e aprender ou mesmo escrever uma nova ferramenta, ou trabalhar sem nenhuma ferramenta.

O que você pensa dessa ideia? Você acha desejável? E isso seria viável?


3
É viável. E existe. Chama-se 3ds Max (ou XSI, ou Blender, ou ...).
Neverender

Esses são modeladores 3D, não editores de conteúdo de jogos. Eles foram, digamos, abusados ​​por editar alguns jogos, mas, além de juntar algo rapidamente, eles são uma dor para criar níveis / mundos de jogo reais.
LearnCocos2D

Ok, tente Syntensity, Tiled, etc. Existem outros editores mais especializados. Se você está procurando algo tão fácil quanto o editor no Spore ou no ModNation, está procurando algo que tende a ser específico demais para um jogo.
Alphadogg 26/11/2010

3

Um núcleo de geometria também pede um núcleo de animação, incluindo a mistura.


2

Um bom reprodutor de Flash, já que a Adobe parece desinteressada / subfinanciada em trabalhar realmente com sistemas operacionais que não sejam Windows, e as implementações existentes estão faltando (mesmo que o ScaleForm tenha problemas significativos em ser "Flash adequado", como projetistas / artistas esperam).



1

Acho que o serviço aberto para sprites de avatar personalizados seria útil especialmente com o crescimento de jogos online e móveis baseados em HTML5. Eu descrevi a ideia aqui .


1

EA STL (ou equivalente).


2
Apenas me perguntando, por quê? A abordagem básica do EASTL é detalhada mais do que suficiente no documento para copiar as partes necessárias; os detalhes de implementação específicos do EASTL agora têm vários anos e provavelmente existem maneiras melhores de fazê-lo em compiladores C ++ mais novos; e muitas das extensões de que eles falam estão disponíveis no Boost (por exemplo, boost :: intrusive :: list) ou tr1 (por exemplo, unordered_map padrão). Ainda existem algumas coisas úteis, mas eu nunca diria que é o projeto de código aberto mais necessário.

Por que duplicar o esforço? Por que não se beneficiar da revisão por pares? O Boost e o TR1 não fazem nada para melhorar o design do alocador danificado pelo cérebro. Muitas das mudanças propostas poderiam ser adotadas pelo STL e o STL seria melhor para isso. Mas isso nunca vai acontecer.
Neverender

11
Bem, parece que seu sonho se tornou realidade! github.com/paulhodge/EASTL

1

Uma coleção semelhante a stl de estruturas de dados de modelo frequentemente usadas em jogos:

  • máquinas de estado [hierárquicas]
  • quad- / octrees
  • árvores bsp
  • árvores de esfera
  • árvores kd
  • [qualquer outra estrutura de dados espacial útil não listada]
  • gerenciadores de recursos
  • alocadores lineares / de pool / outros
  • temporizadores
  • Árvores de decisão

Seria muito bom tê-los disponíveis em um formato fácil de usar, conhecido por ser bem testado e estável.

While open source implementations of some of the data structures listed exist, they're often not templated to use any data type (e.g. you're often forced to use yet another matrix/vector structure), not in a usable state, dead or lack peer review and testing.


0

Networking.

For starters, a good system for NAT (Network Address Traversal) and routing, to combat any woes with firewalls and proxies. PC gamers should never have to deal with forwarding ports or anything similar.

Even better: An open-source, distributed multiplayer game network (eg. Battle.net, Xbox Live, PSN...). This would essentially be a protocol that anyone can implement, and anyone can run a server - they just communicate with each other to pass around information about who can be found where. Similar to distributed social networks (eg. Diaspora), this keeps any one party from having control, whilst allowing any indie game to seamlessly integrate into it.

Imagine if you could just add your friends as 'friends', and then any game you ever played you could just invite them straight away, no ip addresses, no id lookups, you just take them with you. Basically what B.net/XBL/PSN do already, but open and free for all!


1
Your second suggestion is a pretty trivial layer over XMPP, the problem isn't getting it made, it's getting everyone to support it.

-2

A real MMO platform, ie. one that supplies the middleware, lobby functions, etc, into which you can plug in your engine.


-1, there is no way this is the most needed project, given that nearly every other project suggested here is a prerequisite of it.

Every? There are lots of decent open networking libraries (you don't need a distributed version), open modellers exist already (Blender), I don't see the need for EA STL, game engines exist, etc. The only viable competitor project IMO is the digital distribution which would be cool. I can understand not voting for it, but downvote? Much of gaming is happening online, yet there is not even anything close to a viable, open platform for the ecosystem around an MMO.
alphadogg

Yes, nearly every. You'd need a patcher, a content editor, and geometry and animation kernels. You'd need some kind of social features for your network. You'd also need a standard library that works for games; EA STL is one such beast, though you could find another or write your own.

Content editor: Blender, Tiled, Syntensity. Kernels: not sure exactly what you mean here. Kernel is an overloaded term. Game dev "standard library": Lots of different languages and different game types. One library to handle them all? Really? Lastly, "social features" is exactly what I am proposing as part of a platform for online gaming.
alphadogg
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.