Código fuente de VVVVVV publicado
(github.com/TerryCavanagh)- Se publicó el código fuente del juego indie de 2010 VVVVVV; el juego fue creado por Terry Cavanagh y la música estuvo a cargo de Magnus Pålsson
- El código fuente de la versión de escritorio está en la carpeta desktop_version del repositorio
- VVVVVV todavía se vende comercialmente, pero se pueden compilar builds libremente para uso personal
- Para distribuir una versión compilada, se debe consultar el LICENSE.md del repositorio
- Las discusiones sobre actualizaciones de VVVVVV se dan principalmente en el canal
vvvvvv-codedel VVVVVV Discord no oficial
Código fuente publicado
- Este repositorio contiene el código fuente de VVVVVV, el juego indie de 2010 de Terry Cavanagh
- El anuncio de la publicación del código fuente puede verse en el aviso del blog de Terry: announcement
- El código fuente de la versión de escritorio está en la carpeta desktop_version
Condiciones de uso y distribución
- VVVVVV todavía puede comprarse comercialmente en thelettervsixtim.es
- Para uso personal, se puede compilar el juego directamente
- Para distribuir una versión compilada del juego, se debe consultar LICENSE.md
Canal de discusión sobre actualizaciones
- Las discusiones sobre actualizaciones de VVVVVV se realizan principalmente en el VVVVVV discord no oficial
- El canal relacionado es
vvvvvv-code
1 comentarios
Opiniones de Hacker News
Cuando fui con mi familia a London hacia el final de la secundaria, le escribí un correo a Terry Cavanagh porque quería ser desarrollador de juegos y, para mi sorpresa, aceptó de muy buena gana que almorzáramos juntos.
Fue muy amable y me dio varios consejos de vida. Recuerdo que dijo que la mayoría de las ideas no surgen de una gran visión, sino de trastear y experimentar con mecánicas de juego. En fin, es una gran persona, y me alegra que haya liberado como open source VVVVVV, al que él llamaba V.
Hay que conocer a unas cuantas personas realmente desagradables para poder reconocer bien a las que de verdad valen la pena.
Un juego realmente divertido. No soy de jugar muchísimo, pero recuerdo haber comprado el Humble Bundle para conseguirlo.
Fue uno de los pocos juegos que terminé. Terry, gracias por el gran trabajo y por los buenos momentos. Y, de paso, veni vidi vici fue endemoniadamente difícil y me tomó un buen rato.
https://www.youtube.com/watch?v=4CtiY5D6HCs
Mi novio de ese entonces fue quien me regaló VVVVVV, y estaba intentando una corrida sin muertes con todos los trinkets. No entendía cómo podía ser tan bueno en los juegos. Y todavía escucho seguido PPPPPP, la banda sonora de VVVVVV. En especial me gustan las pistas de stream de osu! relacionadas.
Son artículos relacionados. Me pregunto si habrá otros.
Is opening up your source code worth it? Terry Cavanagh thinks it was for VVVVVV - https://news.ycombinator.com/item?id=25727963 - enero de 2021
Many games are held together by duct tape - https://news.ycombinator.com/item?id=22043156 - enero de 2020
VVVVVV Source Code Released - https://news.ycombinator.com/item?id=22011465 - enero de 2020
VVVVVV’s source code is now public, 10 year anniversary jam happening now - https://news.ycombinator.com/item?id=22011358 - enero de 2020
VVVVVV 60% Off On The Mac App Store This Weekend - https://news.ycombinator.com/item?id=2347676 - marzo de 2011
En el comentario de
Graphics::print_level_creator(...)se dice que muestra una cara en vez de “by {author}”.Las razones eran que “by” podría verse raro si no coincide con el idioma del autor; en otros idiomas podría volverse más largo y romper el límite existente del nivel; “by” y el nombre del autor podrían requerir fuentes que no combinen; también se evitan problemas gramaticales como género o declinaciones del nombre; tiene sentido representarlo con una cara; y, si a alguien le entristece esa decisión, una cara sonriente de todos modos le levantará el ánimo. Difícil refutarlo.
En el enlace del artículo, https://distractionware.com/blog/2020/01/vvvvvv-is-now-open-..., se decía que la versión en C++ tiene muchas partes extrañas que solo se entienden recordando que primero se hizo en Flash y luego se portó a mano tal cual, con defectos incluidos.
Por ejemplo, tenía la costumbre de declarar variables temporales como
i,jykcomo miembros de cada clase para no declararlas dentro de las funciones, porque en Flash declararlas dentro de una función era molesto por razones tediosas. Como resultado surgían bugs difíciles de rastrear y, en especial en el manejo de colisiones de entidades, varias funciones compartían la misma variablei, lo que incluso podía causar un bucle infinito. Suena realmente mal y confirma el prejuicio de que el código de juegos es un desastre.El código puede ser excelente pero aburrido. Como una app de calculadora bien escrita pero con una implementación insulsa. El código también puede ser un desastre y aburrido. Como un producto B2B con poco diseño, cientos de casos excepcionales y muchos bugs parecidos pero distintos en cada uno. El código puede ser excelente e interesante. Cosas como Doom.
this.delante de todos los miembros en JavaScript me molesta muchísimo menos.También quiero mencionar Super Hexagon, del mismo creador. Un juego extremadamente simple, pero de verdad divertido y muy adictivo.
Recuerdo haber leído en algún lado que el creador lo hizo dedicándole apenas como un día. Y PPPPPP, el soundtrack de VVVVVV, también es genial.
Tiene como seis personajes únicos, varios desafíos por personaje, y las reglas van cambiando todo el tiempo, lo que te obliga a replantearte el juego. También tiene mucho humor, además de DLC gratuito y contenido de mods que todavía no he probado.
Siempre es interesante cuando un desarrollador indie, después de un éxito inicial, cambia de rumbo hacia un género completamente nuevo, y de ahí han salido joyitas geniales. Por ejemplo, una trayectoria como Fallen London -> Sunless Sea -> Cultist Simulator.
Al principio parece imposible, pero el cerebro se adapta. Es como sentir que ves más allá de la Matrix.
También se lo compartí a varias personas y las volví locas a todas. Creo que todavía debo tener unas 5 o 6 copias en mi inventario de Steam, por si acaso. Lo mismo con V, SMB, Braid y muchos otros juegos. A veces basta con una pequeña inspiración y gráficos toscos.
Hubo una época en la que acababa de mudarme de Canadá a California y necesitaba desesperadamente un trabajo, así que conseguí uno de ventas puerta a puerta en Comcast.
Odiaba ese trabajo, así que a menudo me quedaba sentado en el auto evadiendo mis responsabilidades y jugando VVVVVV en el teléfono. Terry me dio un respiro por un rato.
Gran juego. Como corresponde a un indie de esa época, el código es un verdadero desastre, y eso está bueno de ver.
Game::updatestate()de 3300 líneas y el enorme switch.Lo empaqueté para Zig, y con solo ejecutar
zig buildse puede jugar en Linux, macOS y Windows.https://github.com/allyourcodebase/VVVVVV
Confesó que, para no tener que declarar
i,j,kcada vez que las usaba dentro de una función, las declaró en todas las clases, y que, como era de esperarse, eso provocó bugs sucios y difíciles.Es sorprendente que haya logrado crear un buen juego con código así.