![]() ![]() Eventually, we consolidated all of these into a single system. At the same time, someone else built a credits screen that contacted the GitHub API at runtime to fetch credits. Someone edited our GitHub Actions build workflow so that it pulled contributor data from git and stored it in a text file, but didn’t hook that up in-engine. This was an early victim of the chaos of such a community-driven project. We added a badge to the README from that showed the number of contributors the project had at any given moment, and we sketched out a build step to our GitHub Actions workflow that would programmatically generate a text file containing every user in git commit history, to be shown as part of an in-game credits screen. Seeing how many people have contributed is a strong social signal that this is a fun, vibrant community that you should join, and seeing your name added to the game as soon as your changes get merged is a key part of feeling like you’re now part of that community. View the workflow file for this Credits and contributorsĮarly on, it was important to make sure we were crediting everyone as visibly as possible. Building the Godot project in the current directory just requires linking to the version of the Godot engine you want to use, and uploading to itch.io just requires a few config options and an API key. Both the build step and the upload step were easy to configure. Whenever new code hits the main branch, the workflow checks out the repository, builds the game, and uploads the game to itch.io. This workflow is now a bit more complicated, but the original version was fairly straight-forward. She used two different GitHub Actions for this: one to build the Godot game and one to upload to itch.io. The first piece of infrastructure that Izzy built was a GitHub Actions workflow that ensured the copy of the game on itch.io always matched the codebase on GitHub, fulfilling part of the core promise of the project. In this post, I’ll walk through some of the ways we use GitHub Actions to help make our project more accessible for newcomers to make contributions. This would lead to pull requests stacking up as people required technical assistance to get their changes merge-ready again. We knew early on that we would need to lean heavily on automating as much as possible to try to make contributions painless for newcomers, even more than most open-source projects. Since the people whose branches would now be in conflict were, again, likely not familiar enough with git to know how to fetch new changes and merge or rebase them. At the same time, a high volume of contributions also meant that every merged pull request would potentially lead to merge conflicts with people actively working on changes. We knew that “success” for this project would mean attracting a large number of contributions from people who weren’t familiar with git or GitHub, many of whom are non-coders (such as artists, designers, musicians and sound designers). Want to add a small little visual effect, add physics to Mario’s mustache, or change the game from a platformer into a Dance Dance Revolution-style rhythm game or a block-pushing puzzle game? All contributions are welcome!Īs I started to get involved, we quickly faced a hard problem. Intimidated by calling yourself a “game dev”? No worries! Make the smallest change you can think of, and you are now a published game dev on a large project. As soon as a pull request is merged, a new version of the game is built and uploaded to the indie game platform i tch.io. The concept was simple: she made a barebones 2D platformer using the open-source game engine Godot, released it as open source on GitHub, and announced publicly that any reasonable contributions would be accepted. izzy "notable trans" kestrel March 27, 2022 Game idea: open source collective hell game called "A Little Game Called Mario"Īnyone can commit changes to the repo (which auto-builds and releases each time) so any and all contributors are considered to have done "work" on the game
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |