Postagem do HN: Tramway SDK – A combinação improvável de Half-Life e Morrowind
(racenis.github.io)-
Apresentação do Tramway SDK
- O Tramway SDK é um pacote gráfico/framework/engine de jogos desenvolvido nos últimos 3 anos.
- Ele compara o Tramway SDK com engines mainstream e destaca suas vantagens.
-
Problema do Turbobloat
- Engines populares como Unity e Godot exigem hardware poderoso.
- O Tramway SDK consegue rodar até em hardware de 15 anos atrás e ainda pode usar rasterização por software sem placa gráfica.
-
Problemas com upgrade de hardware
- Muitas pessoas não têm recursos para comprar hardware novo.
- A produção de chips de computador é prejudicial ao meio ambiente.
- Não há necessidade de trocar de computador se o hardware atual ainda funciona bem.
-
Desvantagens de sistemas baseados em nós
- Em sistemas baseados em nós, um nó precisa fazer o papel de vários elementos ao mesmo tempo.
- O Tramway SDK permite subclasses de classes de entidade, codificando-as em seguida e criando níveis no level editor.
-
Problema do monolitismo
- Engines mainstream têm editores de jogo monolíticos.
- O Tramway SDK oferece editores opcionais, permitindo usar apenas o runtime em C++ ou usar somente o level editor.
-
Qualidade gráfica
- O Tramway SDK já entrega boa qualidade visual com apenas lightmapping e Gouraud shading.
-
Edição de níveis baseada em brush
- O Tramway SDK pode converter brushes para malhas triangulares por meio de um conversor de arquivos .map.
- É possível criar níveis com o Trenchbroom Map Editor e o Level Editor do Tramway SDK.
-
Framework de RPG
- O Tramway SDK oferece um framework de RPG semelhante ao RPG Maker e suporta a criação de jogos de RPG em mundo aberto.
-
Conclusão
- O Tramway SDK é uma game engine orientada a entidades no estilo Quake/Source que suporta streaming de mundo aberto e extensões opcionais, como um framework de RPG.
- Apesar de ainda estar em fase inicial, com API instável e muitos recursos ainda não implementados, está evoluindo rapidamente.
1 comentários
Comentários do Hacker News
Trabalho em uma equipe pequena que usa a engine Godot para criar jogos low-poly de baixa exigência, e achei esse projeto muito legal. Também concordo com a necessidade de alternar entre GUI baseada em nós e código. O uso de uma IDE integrada pode facilitar conflitos de merge entre desenvolvedores, então um editor de propósito específico pode ajudar.
Discordo da ideia de que a solução é comprar um computador melhor porque muita gente não pode comprar hardware novo por dificuldades econômicas, a produção de chips de computador é prejudicial ao meio ambiente e, se o computador que você já tem está bom, não há motivo para trocar por outro novo.
Acredito que há fatores externos fazendo a qualidade dos engines de jogos cair ao longo do tempo. Editores baseados em nós como Unity são adequados para educação, e muitas empresas contratam em função de isso porque a maioria dos devs amadores só conhece Unity/Unreal. A Unity precisa se adaptar às demandas dos clientes, o que gera um efeito de “turbobloat”.
A engine do Half-Life e do Morrowind foi feita por programadores apaixonados e oferece uma engine mínima com tecnologia excelente. Este projeto fica entre raylib e Unity; pode não ser tão atraente para programadores amadores, mas é muito bem otimizado e bem estruturado.
A frase “A thing should be a thing” foi muito marcante e me lembrou o estilo de Terry Pratchett. Dá para ter uma ideia de uso em projetos de IA.
Concordo totalmente com o problema de turbobloat: os PCs modernos são muito mais potentes, mas os programas parecem ficar ainda mais lentos. O projeto e o design do site estão excelentes.
A maioria dos jogos de Unity não fica boa mesmo usando shaders e recursos avançados. Algumas técnicas de mapeamento de texturas desapareceram, e jogos como Ikaruga têm ótimos cenários.
Joguei Half-Life 2 recentemente de novo, e ele continua com gráficos incríveis mesmo sem pacotes de texturas de alta resolução.
Sobre “Turbobloat” e engine “bloated”, seria bom explicar exatamente quais recursos foram removidos no projeto Tramway.
Agradeço o artigo sobre como usar o framework para iniciantes sem experiência em C++, achei o tutorial divertido e acessível.
Vinda da experiência de criar uma engine para gráficos 3D e projetos científicos, fiquei curioso sobre o que trava a implementação de alta resolução e iluminação dinâmica. Dá para fazer isso com um par mínimo de pixel shader/fragment shader usando Vulkan/DX/Metal/OpenGL.