Código-fonte de VVVVVV liberado
(github.com/TerryCavanagh)- O código-fonte do jogo indie VVVVVV, de 2010, foi liberado; o jogo foi criado por Terry Cavanagh, com música de Magnus Pålsson
- O código-fonte da versão para desktop está na pasta desktop_version do repositório
- VVVVVV ainda é vendido comercialmente, mas builds para uso pessoal podem ser compilados livremente
- Para distribuir uma versão compilada, é necessário verificar o LICENSE.md do repositório
- Discussões sobre atualizações de VVVVVV acontecem principalmente no canal
vvvvvv-codedo VVVVVV Discord não oficial
Código-fonte liberado
- Este repositório contém o código-fonte do jogo indie VVVVVV, de 2010, de Terry Cavanagh
- O anúncio da liberação do código-fonte pode ser conferido no aviso do blog de Terry: announcement
- O código-fonte da versão para desktop está na pasta desktop_version
Termos de uso e distribuição
- VVVVVV ainda pode ser comprado comercialmente em thelettervsixtim.es
- Para uso pessoal, é possível compilar o jogo por conta própria
- Para distribuir uma versão compilada do jogo, é necessário verificar o LICENSE.md
Canal de discussão sobre atualizações
- Discussões sobre atualizações de VVVVVV acontecem principalmente no VVVVVV Discord não oficial
- O canal relacionado é
vvvvvv-code
1 comentários
Opiniões no Hacker News
Perto do fim do ensino médio, quando fui a London com minha família, eu queria ser desenvolvedor de jogos e mandei um e-mail para Terry Cavanagh. Para minha surpresa, ele aceitou de bom grado almoçar comigo
Ele foi muito gentil e me deu vários conselhos de vida. Lembro que ele disse que a maioria das ideias não vinha de uma visão grandiosa, mas de ficar mexendo e experimentando com mecânicas de jogo. Enfim, ele é uma pessoa incrível, e fico feliz que tenha aberto o código do VVVVVV, que ele chamava de V
É preciso conhecer algumas pessoas realmente ruins para reconhecer de verdade quem é gente boa
Um jogo muito divertido. Não sou de jogar muita coisa, mas lembro que comprei o Humble Bundle para conseguir esse jogo
Foi um dos poucos jogos que joguei até o fim. Terry, obrigado pelo trabalho incrível e pelos bons momentos. Além disso, veni vidi vici era difícil para caramba e levei um tempão
https://www.youtube.com/watch?v=4CtiY5D6HCs
Meu namorado na época foi quem me deu VVVVVV, e estava tentando fazer uma run sem mortes e com todos os trinkets. Eu não entendia como alguém podia ser tão bom em um jogo. E ainda escuto bastante a trilha sonora de VVVVVV, PPPPPP. Gosto especialmente das faixas de stream relacionadas no osu!
Alguns posts relacionados. Fico curioso se há outros
Is opening up your source code worth it? Terry Cavanagh thinks it was for VVVVVV - https://news.ycombinator.com/item?id=25727963 - janeiro de 2021
Many games are held together by duct tape - https://news.ycombinator.com/item?id=22043156 - janeiro de 2020
VVVVVV Source Code Released - https://news.ycombinator.com/item?id=22011465 - janeiro de 2020
VVVVVV’s source code is now public, 10 year anniversary jam happening now - https://news.ycombinator.com/item?id=22011358 - janeiro de 2020
VVVVVV 60% Off On The Mac App Store This Weekend - https://news.ycombinator.com/item?id=2347676 - março de 2011
No comentário de
Graphics::print_level_creator(...), está escrito que eles exibem um rosto em vez de “by {author}”Os motivos eram que “by” poderia soar estranho por estar em um idioma diferente do do autor; em outros idiomas poderia ficar mais longo e quebrar o limite existente do nível; “by” e o nome do autor poderiam exigir fontes incompatíveis entre si; também evitaria problemas gramaticais como gênero e flexão de nomes; usar um rosto fazia sentido; e, se alguém ficasse triste com essa decisão, o rosto sorridente acabaria animando a pessoa de qualquer forma. Difícil rebater
No texto linkado no post, https://distractionware.com/blog/2020/01/vvvvvv-is-now-open-..., ele disse que há muitas partes estranhas na versão C++ que só fazem sentido ao lembrar que o jogo foi feito primeiro em Flash e depois portado manualmente, preservando até as falhas
Por exemplo, ele tinha o hábito de declarar variáveis temporárias como
i,jekcomo membros de cada classe, em vez de declará-las dentro das funções, porque no Flash era incômodo declarar dentro de funções por motivos tediosos. Como resultado, surgiram bugs difíceis de rastrear; em especial no tratamento de colisões de entidades, várias funções compartilhavam a mesma variáveli, o que podia até causar loops infinitos. Parece realmente ruim e confirma o preconceito de que código de jogos é uma bagunçaCódigo pode ser excelente, mas chato. Algo como um app de calculadora bem escrito, mas com uma implementação sem graça. Código pode ser bagunçado e chato. Como um produto B2B mal projetado, com centenas de exceções e muitos bugs parecidos, mas diferentes, em cada uma delas. Código pode ser excelente e interessante. Coisas como Doom
this.antes de todos os membros em JavaScript parece muito menos irritanteTambém quero mencionar Super Hexagon, do mesmo criador. É um jogo extremamente simples, mas muito divertido e viciante
Lembro de ter lido em algum lugar que o criador levou mais ou menos só um dia para fazê-lo. E PPPPPP, a trilha sonora de VVVVVV, também é ótima
Tem uns seis personagens únicos, vários desafios por personagem, e as regras mudam o tempo todo, fazendo você repensar o jogo. Também tem bastante humor, além de DLC gratuito e conteúdo de mods que ainda não experimentei
É sempre interessante ver um desenvolvedor indie mudar para um gênero totalmente novo depois de um sucesso inicial, e algumas joias incríveis surgiram assim. Por exemplo, a trajetória Fallen London -> Sunless Sea -> Cultist Simulator
No começo parece impossível, mas o cérebro se adapta. É como ver além da Matrix
Também compartilhei com várias pessoas e deixei todo mundo maluco. Acredito que ainda devo ter umas 5 ou 6 cópias no inventário do Steam. Vai que precisa. O mesmo vale para V, SMB, Braid e muitos outros jogos. Às vezes, basta uma pequena inspiração e gráficos toscos
Houve uma época em que eu tinha acabado de me mudar do Canadá para a Califórnia e estava desesperado por trabalho, e consegui um emprego de vendas porta a porta na Comcast
Eu odiava aquele trabalho, então muitas vezes ficava sentado no carro, fugindo das responsabilidades, jogando VVVVVV no celular. Graças ao Terry, eu conseguia respirar um pouco
Jogo incrível. Como era típico dos jogos indie daquela época, é ótimo ver que o código é realmente uma bagunça
Game::updatestate()de 3300 linhas e o gigantesco switchEmpacotei para Zig, e basta executar
zig buildpara jogar no Linux, macOS e Windowshttps://github.com/allyourcodebase/VVVVVV
Ele confessou que declarou
i,j,kem todas as classes porque não queria declará-las em cada lugar onde eram usadas dentro das funções, e que, como era de se esperar, isso gerou bugs sujos e difíceisÉ impressionante que ele tenha conseguido fazer um bom jogo com esse tipo de código