Anodyne 2 Goes Open Source!
Learn how we put together this cult classic, award-nominated 2D and 3D game in the Unity game engine
Yesterday I open sourced and released the project files for Anodyne 2: Return to Dust. What does this mean? You can visit the Github page today and download the project, opening it up with Unity 2017.4! Feel free to explore any of the game’s levels and see how everything was put together.
Get it here: https://github.com/analgesicproductions/Anodyne-2-Open-Source
Everything is free to use in your own projects, under very generous conditions (see the license). Relative to past games (Anodyne 1/Even the Ocean), a lot of the ‘game data’ exists in Unity’s ‘scene files’. From an educational standpoint, to get the most out of this project I would suggest a method of study like:
Pick a particular moment in the game, then try to find all the scripts and Unity Game Objects involved in causing that thing to happen, by exploring the corresponding Unity Scene. Can you trace the path of the code that causes Nova to shoot a spark and cause the spark bar UI element to appear on the screen?
And so on. To tell the truth, open-sourcing a game project doesn’t fully reveal how it was made - there’s hundreds of pages of back and forth, to-do list, e-mails and chats between Marina and I, discussing how to progress on development. To balance for that, I skimmed all of our commit logs*, to create a brief Development History. You can roughly trace how our process of Ideation, Prototyping, Pre-Production and Production flowed from one to another and overlapped, and how that coincided with playtesting and marketing beats.
*(Note: commits are incremental backups of the game assets/code, using Version Control software like Git).
Why Open Source Anodyne 2?
I eventually want to open source all of my games, it just takes some time to do it. Usually it takes an anniversary to give me the push to do it, and in this case, Anodyne 2’s 5th anniversary lined up perfectly.
I believe one of the biggest issues to games getting better is a lack of community-led education. Of its many failures, the most massive (and continued) failure of the traditional console/PC/Arcade games market of the 1980s onward is their overall incompetence at community-led education. There was not enough focus on game design leads talking about their practices and how they work with each other, and too much focus on game studios being these competitive business entities who hide secrets from each other and try to make the most money.
New console generations caused periodic annihilation-events of existing design and art skills as people struggle to keep up. Team sizes increasing meant people increasingly lost sight of the bigger picture as their roles became more cog-like, and people who’ve built their directorial or leaderships skills end up having to play more diluted managerial roles, rather than being able to focus on passing down skills or fostering new talent.
Even when a game company has good internal training, rather than viewing games as a community and collective art form in which we all win, the more we all know, the console/arcade game industry treats it as an arms race in which we should be paranoid of competitors, and “keep it all in the family”.
Companies who are particularly conservative about community-led design education, like Nintendo or FromSoftware, despite their success, show no sign or desire of ever engaging with the wider game development community in terms of discussing their practice. Instead, their ideal reality is one of a isolated, rich nuclear family living in the suburbs: concerned only on their family’s success and reputation, paranoid of some likely-impossible downfall, preferring to exist as a mythologized and idealized entity. There is no future to be found in this way of making games. It is a failed path.
Even though releasing a project like Anodyne 2 can’t teach people how to make Anodyne 2 - as great games are the product of great creative relationships (want to make games? You should try to make friends!)
I still think it plays an important role in showing how flexible modern game development tools can be. Where, exactly, does the charm of riding on a highway in Anodyne 2 lay? It’s not in the code alone, it’s not in the design discussion around how Anodyne 2’s car can work. It’s an emergent effect created by this interaction of code, art, sound, music, game design, and of course, the player. Part of how game designers can more deeply understand their medium is to realize that when you’re making a game, you can pursue this ‘emergent effect’ as a kind of guiding star.
By looking at Anodyne 2’s project, you’ll find that even its most shocking moments are composed of, well, a few triggers and models placed off in the corner of some map. With that knowledge in hand - that amazing experiences are created by the ‘everyday realities’ of a few pieces of code and art - I think that can help grow people’s confidence in creating games by knowing just how flexible and broad our canvases really are.