Código-fonte de Descent 3 é disponibilizado
(github.com/kevinbentley)- O motor open source de Descent 3 foi disponibilizado sob a licença GPL-3.0, e para usá-lo é necessário providenciar separadamente os arquivos do jogo
- Esta versão disponibilizada inclui o patch “1.5” escrito no passado por Kevin Bentley e Jeff Slutter
- Esse patch foi levado a um estado estável pela comunidade Descent
- Os detalhes de instalação devem seguir o USAGE.md, e o procedimento de build deve seguir o BUILD.md
- Problemas de build ou execução devem ser reportados no GitHub tracker, e patches de contribuição devem ser enviados pelo GitHub
Motor disponibilizado e licença
- O motor open source de Descent 3 foi disponibilizado
- A licença é GPL-3.0
- Este motor inclui o patch “1.5” escrito há alguns anos por Kevin Bentley e Jeff Slutter
- Esse patch foi levado a um estado estável pela comunidade Descent
Uso e build
- Para usar o motor, o usuário deve fornecer seus próprios arquivos do jogo
- Os detalhes relacionados à instalação estão em USAGE.md
- O procedimento para build do jogo deve seguir as instruções de build em BUILD.md
Relato de problemas e contribuições
- Problemas que ocorram durante o build ou a execução devem ser reportados no GitHub tracker
- Qualquer pessoa pode contribuir
- A comunidade de desenvolvimento está no Descent Developer Network no Discord
- Patches devem ser enviados pelo GitHub
1 comentários
Opiniões no Hacker News
Eu realmente amava esse jogo. Nunca entendi por que esse conceito não se consolidou como um gênero próprio.
Não havia um “para cima” de verdade, havia movimento livre em 360 graus, e os inimigos eram inteligentes a ponto de até atirar de longe como snipers. Dediquei uma quantidade enorme de tempo a ele antigamente, e com certeza quero jogar de novo agora.
https://store.steampowered.com/app/753640/Outer_Wilds/
Mas, como sucessor direto desse subgênero, existe Overload.
https://store.steampowered.com/app/448850/Overload/
https://youtu.be/T2-IHgNYaKA
https://old.reddit.com/r/EliteDangerous/comments/16xi20a/dua...
https://youtu.be/9U0KNVQmlcM
Sinto falta desse jogo.
Quanto à observação de não saber por que esse conceito nunca virou um gênero, acho que é porque simuladores de voo espacial infelizmente sempre foram um gênero de nicho. Ainda mais de nicho do que simuladores de voo.
Um recurso interessante era poder desligar a energia do traje para entrar em modo furtivo; com isso, todos os elementos do HUD eram desligados, assim como a maior parte dos sons de gameplay, como explosões ou balas passando perto.
Dentro da lore, todos esses sons eram gerados pelo computador do traje, e o espaço era silencioso.
Hoje existe a versão moderna em Elite Dangerous, mas a dinâmica de voo é próxima demais da de aeronaves para ser comparada com Descent.
Joguei Descent 1 no PS1, e lembro que na caixa dizia que os inimigos se adaptavam ao estilo de jogo. Depois de ficar mais velho e estudar aprendizado de máquina e algumas técnicas de IA, sempre fiquei curioso sobre o que aquilo significava exatamente.
Meu PS1 certamente não estava rodando descida de gradiente, então que truque havia por trás da afirmação de que os inimigos aprendiam com o jogador e se adaptavam?
Minha esposa e eu nos conhecemos nos fóruns de Descent, e os nomes dos nossos três filhos vieram de amigos de Descent: KoolBear, Jediluke e Mark392. Fomos a casamentos de amigos de Descent e, infelizmente, também a funerais; que JinX descanse em paz.
Eu considerava D3 o título mais fraco da série Descent, mas esta notícia me deixa muito feliz. Obrigado, Kevin.
Já faz bem mais de 15 anos desde a última vez que participei da comunidade Descent. Quando o e-mail da PlanetDescent desapareceu, também perdi o acesso à minha conta do ICQ, e hoje nem uso mais o nome DCrazy online. Também há motivos para eu querer me distanciar de quem eu era no começo da adolescência.
Ainda assim, Descent, especialmente D3, teve um grande impacto em me levar para a engenharia de software, e sou sempre grato por essas lembranças.
Quando eu tinha 12 anos, descobri o IRC lendo a FAQ de Descent, e tentei configurar o IHHD com um modem de 14,4k para jogar. Também criei fases com o DEVIL.
Hoje sou engenheiro e desenvolvedor de jogos. Obrigado por colocar Descent no mundo. Teve um impacto enorme em mim pessoalmente.
Conseguir o jogo em si geralmente já era uma jornada.
Hoje as crianças têm jogos infinitos no celular. Quase não há contato com o sistema por baixo, nem é preciso fazer esforço. É só baixar e jogar a próxima coisa razoável.
Acho que essa geração está perdendo alguma coisa.
O esquema de controles de Descent foi o que cimentou para sempre, para mim, a inversão do eixo Y do mouse em jogos em primeira pessoa
Meu cérebro se encaixou perfeitamente no modo de pensar em 6 graus de liberdade e, desde então, todos os jogos FPS tiveram que se adaptar a isso, mesmo quando não eram baseados em voo
Só a gente fazia assim?
Descent também fez sua parte, junto com Flight Simulator 95, para bagunçar meu cérebro. Não consigo jogar sem inversão do eixo Y
Gostaria que a inversão do eixo Y fosse o padrão em todos os jogos. Não sei quando me acostumei, mas provavelmente foi jogando X-Wing ou Quake
Parece ter vindo do modo de pilotar aeronaves, em que puxar faz o nariz subir. É assim com manche, joystick e yoke. Counter-Strike estragou tudo :)
No fim, acabei achando que, na prática, nenhum dos dois esquemas de controle é igualmente intuitivo, e parece que vou ter que esperar até alguém fazer Zelda moderno funcionar direito com mouse
Alguns amigos meus jogavam Descent competitivamente, e fiquei surpreso ao descobrir o chamado tricording. Para maximizar a velocidade, é preciso pressionar várias teclas ao mesmo tempo e se mover nos três eixos simultaneamente. Por exemplo, uma combinação de frente/direita/para cima
Os melhores jogadores atravessam os mapas na diagonal como um raio
Sempre achei que isso fosse um caso de bug que virou feature, como o esqui em Tribes. Acabei de vasculhar o repositório em busca de pistas, mas não encontrei nenhum comentário relacionado perto das linhas de código onde isso acontece
https://github.com/kevinbentley/Descent3/blob/142052a67d4318...
Em Descent, somava-se ainda o eixo para cima/baixo, chegando a cerca de 1,7 vez a velocidade de apenas avançar
Descent 2 e 3 também tinham o afterburner, que aumentava a velocidade para a frente; a energia era limitada, mas recarregava bem rápido, e o efeito do boost era maior com 100% de energia, perdendo eficiência conforme a energia restante caía para 0%
Então as pessoas aprenderam a ligá-lo e desligá-lo em pulsos curtos várias vezes por segundo, permitindo que recarregasse entre usos muito breves e se mantivesse sempre por volta de 95%, em vez de despencar para valores baixos
Para ir realmente rápido, era preciso se mover na diagonal em 3D enquanto pulsava o afterburner várias vezes por segundo
Depois que foi descoberto, alguns designers viram de forma negativa e outros de forma positiva, e isso continuou sendo tema de debate anos depois que saíram de Descent, quando a equipe se reuniu novamente para fazer Overload
Minha esposa e eu modificamos D1 para testar algumas alternativas e fizemos uma demonstração para Mike/Matt/Luke/Dan e para quem mais estava no estúdio naquele dia. No fim, chegamos à conclusão de que “a independência vetorial simplesmente se sente bem”, e por isso Overload incluiu uma opção para alternar entre um modo de voo normalizado, com voo unidimensional mais rápido, e o modo tricording
Uma implementação ingênua que apenas soma os vetores x e y gera um vetor resultante e fica mais rápida pelo comprimento da diagonal, ou seja, 1,41 vez. Em 3D, fica ainda maior
Isso é um bug e uma feature muito comuns em muitos jogos antigos
Quake levou esse bug em conta ao caminhar, mas não ao pular, e o resultado foi uma técnica mais complexa para ganhar velocidade, o strafe jumping
var playerX_input = Input.GetHorizontal(); // float in range -1 to 1
var playerY_input = Input.GetVertical(); // float in range -1 to 1
var playerVelocity = new Vector2(playerX_input, playerY_input);
Agora o jogador pode se mover 1 unidade/frame em X e 1 unidade/frame em Y, e, ao se mover na diagonal, o comprimento do vetor de velocidade é o comprimento do vetor (1,1), isto é, sqrt(2), cerca de 1,41
Para corrigir isso, daria para fazer aproximadamente assim
if(playerVelocity.length > 1)
{
playerVelocity = playerVelocity.normalized();
}
Ficava realmente difícil acertá-los ao persegui-los por trás
Joguei contra alguns jogadores de ladder e fiquei impressionado, era um nível de habilidade completamente diferente
Um dos motivos pelos quais aqueles jogos originais eram tão atraentes para mim era que, na prática, não havia teto de habilidade
Teria sido incrível poder assistir a essas partidas em plataformas de streaming
Link de referência para a parte “alguém perguntou recentemente se o código-fonte de Descent 3 seria liberado”: https://news.ycombinator.com/item?id=40009248
Muito legal, obrigado
Sobre a parte “Algumas das bibliotecas proprietárias de som e vídeo da Interplay foram removidas. São os formatos ACM e MVE. Se alguém quiser ajudar a criar um conversor para que as cutscenes antigas funcionem, tenho esse código. Vai dar algum trabalho criar stubs desse código para ele compilar”, como referência, parece que o FFMPEG suporta esses formatos
Fiquei curioso sobre o que foi necessário para conseguir a aprovação nos bastidores. Você poderia explicar um pouco o processo de decisão? É uma coisa boa, mas hoje em dia é algo raro demais
Na época também se falava em abrir o código, mas eu queria primeiro lançar os patches e encontrar um substituto para o decodificador MVE
Alguns dias atrás, vi um comentário em outro post aqui e mandei um e-mail para o proprietário perguntando se eu podia remover o código que não podia ser divulgado e simplesmente seguir em frente; ele respondeu que “podia”
Encontrei esta pérola na página da Wikipedia[0]
“Um estudo publicado em 2002 usou Descent 3 para estudar a atividade de voo de mariposas-esfinge. Usando o módulo de edição do jogo, os pesquisadores criaram um ambiente virtual composto por um plano plano com colunas retangulares, pelo qual o animal navegou com sucesso”
[0] https://en.wikipedia.org/wiki/Descent_3#Other_uses
“Neste artigo, descrevemos o projeto de um novo simulador de voo de insetos que combina um ambiente visual realista e interativo com estímulos mecanossensoriais e olfativos, usado junto com técnicas modernas de registro neurofisiológico multicanal. Esse sistema aproveita a tecnologia computacional atualmente disponível e técnicas de fabricação MEMS, e é usado para investigar em paralelo a atividade de vários neurônios do sistema nervoso central durante um voo realista em malha fechada da mariposa-esfinge Manduca sexta”
https://www.sciencedirect.com/science/article/abs/pii/S01650...
Ouvi dizer que muita gente gosta de Descent, e ele também parecia excelente. Parecia até uma mistura de X-Wing com Quake
Mas eu não conseguia jogar por mais de alguns minutos, e talvez tenha sido o primeiro jogo, em toda a minha longa trajetória como jogador, que abandonei tão rápido. Tem algo nele que me deixa inquieto, como tentar lidar com ímãs usando luvas de boxe. Só de ver vídeos de gameplay já tenho a mesma sensação