Week 7 Version control

Week 7’s focus is on Version Control. While practising HTML5 and CSS for short courses on website design and development, I have submitted my work in GitHub (version control) for feedback. I also use GitHub to backup website projects I am working on sometimes.

My Rapid Ideation 1 project Alchemy’s End made in Unity was saved and backed up in GitHub. Unity has a habit of crashing. During Rapid Ideation 1, my work was saved by the powers of GitHub and version control a few times. I ran into GitHub problems when my image files were too large, but I should have been importing my images one by one in PNG format. Now I have run through a few version control and Unity teething problems, my next project in Rapid Ideation 2 should run smoothly.

Week 7 Challenge: Getting familiar with GitHub

I followed the test repository following lecturer Giovanni Rubino’s (2020) design for a delightfully tacky website to remind myself of the GitHub basics:

https://github.com/Impalpably

https://github.com/Impalpably/week7

Get your game on with GitHub with Danish Khan from GitHub

As part of my practice for Week 7’s Version Control, I searched for informative GitHub guides. Get your game on with GitHub is s 30-minute practical and informative guide on using GitHub presented by Danish Khan from GitHub. Khan walks through workflows, practical demonstrations, branching and merging and how to show your work. He talks us through GitHub with animated gifs, emojis, and tv show quotes.

The main focus for Get your game on with GitHub is the beauty of the collaborative nature of GitHub and the importance of contributing back to projects. Khan explains that he hopes that his presentation will “help you grow as a games developer, help you learn from other game developers, help you learn how to contribute to a project” (2015). On a personal note, I think this statement encapsulates the giving and positive community that bubbles in GitHub. Khan’s 30-minute lecture is a practical and informative guide on using GitHub.

Week 7 Spark Forum

The Spark Forum for Week 7 Version Control saw a heated discussion on the best alternatives to GitHub and everyone has an opinion. The conversation is akin to the world’s best biscuit or Windows, Mac or Linux. “There is much debate about the changing nature of work in response to rapid technological advances, evolving human values, and increasing cross-national collaboration” (Capra and Luisi 2014). 

Since most people are now working in remote teams, version control is more important. I have seen arguments on informal forums that GitHub is too complicated for artists on forums, or games development teams don’t need version control because they are always in the office together. Planning for contingency is part of the Agile process and Agile methodologies. If you aren’t using GitHub or another version control, you aren’t agile.

“There are more techniques and tools that games studios can use to help manage Git, and these apply to version control in general, not just Git. For example, it’s good practice to work on small intervals: the chance of merge conflicts or invalidations increases on long-lived work on a separate branch when developers modify shared files” (MVC Staff 2017).

Alternatives to GitHub

Rive and The Open Design Movement

Pixelapse was built to be ‘GitHub for Designers’. Unfortunately, Pixelapse was acquired by Dropbox in 2015, and the open community that surrounded Pixelapse was lost (Lo 2017). Rive was inspired by The Open Design Movement, Pixelapse and the message “Design is fundamentally collaborative” (Lo 2017).

Artists, animators and designers are still using version control and building the beginnings of an open community. Rive “Is Free to Use as Part of the Open Design Movement” (Rive 2020). “Enabling “Allow Fork” gives artists the ability to riff, remix, and build upon each other’s work. We’ll ask you to select a license from the Creative Commons before this can be enabled, so your work is always protected” (Rosso 2018). Rive is an easy to use version control that encourages open collaboration in the art, animation and design world. Creating an open community for designer’s is not as simple as recreating and rebranding GitHub. There are different rules for artists and designers when reproducing and re-imagining work. Choosing a license, that allows an artist control over how their work is open for collaboration is, in my opinion (and Rive creators) essential. I hope artists and animators continue to build our own version control tools and community. “One of the things that always resonated with us is the Open Source model and how Github enabled engineers around the world, often complete strangers, to work together and build upon one another’s ideas” (Rosso 2018).

Perforce

Some game studio’s use Perforce as an alternative to Github. One of the main benefits of Perforce is the problem I’ve already run into with large files. In Perforce, you don’t have the need to git.ignore large files or to download pro-tools like GitKraken.

Perforce have written their own blog comparison between Perforce and Git, which covers some informative points. For example, Perforce “was designed for large teams with large codebases and complex development environments” (Perforce 2019). All the benefits of Perforce are designed around the idea you have large, complex needs.

GitHub is open source (free), developers are familiar with the terminology, and use, it’s fast and you can work collaboratively.

SMART Goal

  • Specific – Develop a game as part of a team using GitHub
  • Measurable – To become familiar with GitHub Project Management tools and working collaboratively on the same project in GitHub
  • Attainable – I have some familiarity with GitHub already
  • Relevant – GitHub is a standard tool for games development but there are transferable skills gained for other methods of version control
  • Time-bound – By the end of Rapid Ideation 2

References

CAPRA, Fritjof and Pier Luigi LUISI. 2014. The Systems View of Life: A Unifying Vision. Cambridge University Press.

GitHub. Available at: https://github.com/ [accessed 8 November 2020].

KHAN, Danish. 2015. ‘Get Your Game On with GitHub (Presented by GitHub)’. [online lecture]. Available at: https://www.gdcvault.com/play/1021938/Get-Your-Game-On-with [accessed 8 November 2020].

LO, Min Ming. 2017. ‘Great Design Is Open’. Medium [online]. Available at: https://medium.com/lominming/great-design-is-open-235e6df468e7 [accessed 8 November 2020].

MVC Staff. 2017. ‘Everything You Need to Know about Git in Games Development’. MCV/DEVELOP [online]. Available at: https://www.mcvuk.com/development-news/everything-you-need-to-know-about-git-in-games-development/ [accessed 8 November 2020].

Perforce. 2019. ‘Git vs. Perforce: How to Choose (and When to Use Both)’. Perforce Software [online]. Available at: https://www.perforce.com/blog/vcs/git-vs-perforce-how-choose-and-when-use-both [accessed 8 November 2020].

Perforce. 2020. ‘Perforce vs. the Competition | Perforce’. [online]. Available at: https://www.perforce.com/resources/vcs/perforce-vs-competition [accessed 8 November 2020].

Perforce. 2020. ‘Papers & Videos | Perforce’. [online]. Available at: https://www.perforce.com/resources/papers-and-videos [accessed 8 November 2020].

RIVE. Available at: https://rive.app/ [accessed 8 November 2020].

ROSSO, Guido. 2018. ‘Open Design’. Medium [online]. Available at: https://medium.com/rive/open-design-157750a77cf4 [accessed 8 November 2020].