Introduction 👋
Hi, I’m Taryn!
I’m a Unity dev who created a small project for Hacktoberfest 2023.
In this devlog, I’ll introduce you to the project and talk about my goals for Hacktoberfest as a game developer.
Tiny Troves of Dev Wisdom
First, let’s talk about the project itself. 🌟
Tiny Troves of Dev Wisdom is a simple point-and-click 2D game.
The goal of the game is to select one of four chests. When you click or tap on a chest, the Player will automatically move to that chest. The chest opens, revealing a piece of advice about the developer journey and the author of that advice.
I wanted to keep things really simple since this is my first time serving as a maintainer of a repo. The game will continue spawning chests and revealing advice when the chests are tapped.
I made the game with Unity, which you may or may not be familiar with given the recent controversy over changes to its pricing model. Before we continue, let’s take a quick look at how Unity works.
What is Unity?
Unity is a game engine that has been used to create popular games such as Hollow Knight and Cuphead.
It uses C# for scripting and contains a host of other built-in visual tools and components. As a standalone program, it is downloaded from the official Unity website and usually used alongside Visual Studio.
Solo game developers typically wear many different hats at once. These different roles and responsibilities can include game designer, programmer, artist, composer, QA tester, project manager, and more. So suffice to say, no matter which game engine they use, game devs often have a lot on their plates. 😄
For Hacktoberfest, I wanted to cut through all the noise and make a game that’s more accessible to any and all contributors, whether or not they have direct experience with Unity.
And so, let’s take a look at the initial planning and prototyping of the game.
The Birth of the Project 🧠
How the idea came about
I had three main goals in mind when creating this project:
I wanted to create something small in scope that non-Unity devs could contribute to.
I wanted to make the project beginner-friendly so that everyone, no matter their experience level with open source, could make a contribution.
I didn’t want contributors to have to download and install Unity locally on their machines.
After chatting with other developers, I decided to restrict the variety of contributions allowed for the game to just one text file. This opened the door for non-code contributions while also bypassing the issue of requiring a Unity install.
It did mean my project would be more “on the rails” than I had initially hoped, but I thought this would be the best way of making the project truly accessible to everyone.
Initial goals and scope of the project
My aim was to avoid scope creep at all cost, but of course that’s easier said than done! 😅
I knew I wanted the game to be advice-themed. All developers, no matter where they are in their journey, have something to offer when it comes to wisdom for other developers.
Initially, I envisioned a simpler game. In the initial prototype, there was no player at all. I was planning on relying on UI elements such as buttons to have the user open chests. However, I thought this might not be engaging enough so I ended up adding in a third-person controller.
Using the keyboard, I could make the player run and jump. The game was much more interactive at this point, but not if you played it on mobile. I had been looking for an opportunity to practice my mobile development skills, so I ended up adding in some touchscreen controls.
I had originally prototyped the game using Unity’s old input system. Adding touchscreen controls is more streamlined with the new input system. At this point, I ended up taking the time to update the game to the new input system and change how the game handles player input.
In the end, the game is still small in scope, but I think it’s more visually appealing and easier to play than if I had just stuck with UI-based gameplay.
Preparing for Hacktoberfest 📋
Setting up the GitHub repo
While I’m no stranger to setting up repos, most of my previous repos have been private. So preparing the Tiny Troves repo for public access required a fresh perspective and approach.
I’m fortunate to be a member of the Virtual Coffee community and their repo checklist was a life-saver when it came to knowing what to include to make the repo ready for Hacktoberfest.
As a solo developer, I typically add a basic README
to my repos. The notion of creating a contributors’ guide, license, and code of conduct was new to me and a bit intimidating at first. I found it helpful to look at examples of these files in other open source projects to help me see how they should be structured.
Finding the right assets for the project was another big hurdle to overcome. Before I made the repo public, I had to make sure that all the assets in the game had licenses that were compatible with open-source distribution.
As an extra precaution, I decided to limit my use of external assets and include anything I did use in the .gitignore
file. I ended up creating most of the major game assets, such as the player and chest sprites, myself.
Defining clear contribution guidelines
Officially, I’m asking contributors to only make changes to the Advice.txt
file that’s contained in the repo. Unofficially, any contributions related to documentation, bug fixes, or adding new features to the game are welcome.
To encourage open-source beginners, I’ve structured the CONTRIBUTING.md file so that it focuses on no-code contributions.
In this file, you’ll learn how to:
Locate and open the
Advice.txt
file in the repoAdd your name and piece of developer advice to the
Advice.txt
fileCommit your changes and start a pull request
View the current build of the game online
Creating a welcoming environment for all contributors
Tiny Troves of Dev Wisdom is for everyone, no matter your experience level with open source. Maintaining the repo is going to be a learning exercise for me and I hope contributing to the repo can be a learning exercise for you too! ❤️
I ask that all contributors respect the project’s Code of Conduct and that we all support and lift each other up as we embark on this Hacktoberfest journey together.
The Continuing Adventure 💎
That wraps up this devlog on my Hacktoberfest project. I'm excited to see how the process of maintaining goes this month and I'll be back in a few weeks' time to reflect more on this journey.
In the meantime, if you're looking for a repo to contribute to this Hacktoberfest, feel free to give Tiny Troves of Dev Wisdom a go! 😄