Posted in MA Indie Game Development

GDD 710 – Week 7

Anticipating the second rapid ideation session (RI2) to be revealed tonight, I decided to set up a GitHub repository to work with Unity, and if possible to commit files from Playmaker’s projects. Throughout the last few years I have had a very distant relationship with this kind of programs which is something like burying your head in the sand…

 

What is more, I use my GitHub account quite often, but there was a certain childish and unfounded lack of trust on my part. In fact when working on my last important size project I found myself pulling my hair out when finding different copies of the same source code without being able to identify accurately the last version of the previous ones. Even though I was quite careful when working on the file naming and their creation dates, I must say that the gremlins do exist!
This is why I saw myself forced to have several copies in different hard drives. It was an extra task which led me to waste a lot of time to synchronize the information on them during every single work day (we are talking about hundreds of independent files) without mentioning the stress and inevitable mistakes due to my state of tiredness and carelessness.

 

Fig 1- Version non control

One of the main goals for my next project was to give up stubbornness (and ignorance) and to start over from the beginning by using a version control tool. Enthusiastically speaking, one of the proposed assignments for this week is to set up a system of this kind. In order to accomplish this task I’m going to need two things: a GitHub account and the GitHub desktop application.

As I have in mind to keep using Unity as much as possible during these six months, I will take advantage of doing a compatible repository to this product. Even though I am not sure that it makes sense to do it with a visual programming environment like Playmaker, if this is not the case, I’ll leave out this way of working for a while to rewrite the scripts in C sharp which is one of Unity’s native languages.

First step, a GitHub depository ready to be used:

Fig 2- GitHub repository setup for Rapid Ideation 2

 

 

And this is how it looks my GitHub client from desktop app:

Fig 3- Accessing the repository on GitHub from the local client application on the computer

 

To test if this is working I’ll create a new Unity project on my local hard drive (local) and then commit all the files from this project to the GitHub repository (online).  The basic process is quite simple although it can be optimized (more on this later)

First from the Unity Hub app you need to create a new 3D game on my computer (check out the path on the image down below)

Fig 4- Unity Hub setup for a 2D new project for the Rapid Ideation 2

 

From Unity’s project settings, its reccomended to set the options Version Control -> Visible meta files and Asset Serialization -> Force text
as shown here

Fig 5- Configuring the Unity editor from the Project Settings to safely work with GitHub

 

Finally to test if set up is working I uploaded an Unity + Playmaker elements to the repository (push it with the GitHub desk app on Mac OS) and then I pull it over another computer running Windows 10 with a brand new Unity installation.

So far, so good!

Fig 6 – Pulling files from the GitHub repository

 

As author Sam Davies (2021) wrote on the introduction to his Git Apprentice book, “There are usually two reasons a person picks up a book about Git: one, they are unusually curious about how the software works at a deeper level; or two, they’re frustrated and need something to solve their problems.” (Git Apprentice book: Davies 2021).

I can’t stress enough to read Davie’s book in order to understand how to set up your own Git repository under all kind of scenarios and to deal with remote scycing on detail. Section 3 of this publication was a life saver when trying to understand how to delete long temporary files on my local computer before commit.

Rapid Ideation Session Two

As for the Hackaton activity of the following two weeks, Debbie Norton and I decided to team up as we got complementary goals to achieve and we can learn a lot from each other with this exercise. From my side, firstly I’d love to get a better comprehension of what a hackaton is 😉  and secondly I really want to get a better understanding and more experience using Playmaker + Unity to build a real fast prototype, but this time in 2D. Because at the end of the day  the main reason for me to avoid coding is to start testing things as soon as possible.

I think I’m not wrong in saying that Debbie primary interest is to understand the principles of animation not only in theory but in the concrete practice of bringing animation frames to the real gameplay, not to mention that Unity is a brand new tool for her. We both also agreed that we must improve our time management and tasks planning, of course.

The GitHub implementation with Unity is going fine so far, but I need to check it out with Playmaker to be sure that everything works properly.

For the RI activity we based our focus on the Environmental issues topic, from ocean pollution / healthcare to recycling (the gameplay of our artefact is based upon the adventures of a sea creature fighting human contamination) and the second one just because  I decided to re-use some old hand made animations I got from an  game project level that never used as it was intended.

 

Fig 6 – Concept sketch for The Rapid Ideation Season 2

Personal goals

Though being different, they were essential to develop our common project. You can read all about Debbie’s objectives here, while I’m going to list mine below expressed as SMART goals:

SpecificLearn to using Unity 2D and Playmaker add-on to know more about their scope and limitations
MeasurableThe demo has to be made only using visual scripting nodes provided by Playmaker
AttainableI'll work through Game Dumb Dev and Fauzi video tutorials and consulting the Hutong Games Playmaker manual
RelevantThis is a test field to decide if I'm going to continue using visual scripting to develop short games in Unity
Timebound Over the course of this two-week rapid ideation project
SpecificLeave solo development and start working within a team mindset
MeasurableUse a Trello board and Agile approach to assign tasks and determine production times as efficiently as possible
AttainableShare progress twice a day by email, chat or video conference in order to keep track of each other work's and provide assistant or ask for help when necessary.
RelevantThis is the perfect framework to accept to delegate responsibilities, trust on other team members and communicate more efficiently.
Timebound Over the course of this two-week rapid ideation project

 

Fig 7 – We’re using this Trello board to help keep track of the development

 

Fig 8 – Unity project for the prototype

 

Fig 9 – Video footage of current gameplay

After a few trials and errors I got a WebGL version of this first demo working on most browsers, you can play it here! (move the fish with
the A and D keys on your keyboard).

Fig 10- Playable demo version of this first iteration on a browser (it can take a little while to download and start on your navigator)

All about the conclusion of this second iteration will be posted on the Week 8 entry.


List of figures

Fig 1 – Personal system for backup files before using GitHub – Photo by the author.
Fig 2 – GitHub repository setup for Rapid Ideation 2. Screenshot by the author.
Fig 3 – Screenshot from the GitHub repository from the local client application on the computer. Screen capture by the author.
Fig 4 – Screenshot from Unity’s Hub setup for a new 2D project. Screenshot by the author.
Fig 5 – Unity project preferences setup updated to work in conjunction with GitHub. Capture screen by the author.
Fig 6 – Sketch for The Rapid Ideation Season 2 made by the author.
Fig 7 – Trello board related to the RI2 development. Screenshot by the author.
Fig 8 – Unity project using Playmaker add-on screen from the RI2 project. Screenshot by the author.
Fig 9 – Current gameplay video for RI2 project during early development. Recorded by the author.
Fig 10 – Unity WebGL build to test the game artifact on a browser. Created by the author.

References

Rubino, G. 2021. ‘Week 7: Git Version Control’ Falmouth University. [online] Available at: <https://flex.falmouth.ac.uk/courses/911/pages/week-7-introducing-version-control?module_item_id=49186> [Accessed 8 March 2021].

Brackeys Youtube channel. ‘How to use GitHub and Unity‘. [online] Available at:  <https://www.youtube.com/watch?v=qpXxcvS-g3g&t=301s> [Accessed 9 March 2021].

Belanger, C. and Davies, S. 2021. ‘Git Apprentice: getting starting with Git commands and concepts‘. First edition. Published by Raywwenderlich Tutorial Team / 2021 Razeware LLC. Available at:  <https://www.raywenderlich.com/books/git-apprentice/v1.1> [Accessed 9 March 2021].

Hutong Games- ‘Playmaker Manual’. [online] Available at:  <https://www.youtube.com/channel/UCll8FyIFgevUyLfd-jhhskA> [Accessed 10 March 2021].

Fauzi, R. Youtube channel. ‘ 2D Platformers using Unity and Playmaker 2020 update‘. [online] Available at: <https://www.youtube.com/channel/UCbjQvNpDaHBrlBhpk65OQgA> [Accessed 11 March 2021].

Imphenzia. Youtube channel ‘Why you should do a Ludum Dare – make a game in a weekend‘. [online] Available at: <https://www.youtube.com/watch?v=EyJ3fhNrn9g> [Accessed 10 March 2021].

 

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.