How I Inducted my Brother into Game Development and His First Ever Game Jam

Estimated Reading Time: 15 minutes

Before we start, here are shortcut links if you want to skip to a specific topic:

I am the youngest of four dudes, and my closest accomplice among them is the third one who is just one year older than me. Suffice to say, he has been my partner-in-crime ever since we were kids. We are both gamers at heart, with him being “way more of a gamer” than me. He plays a lot of games across multiple platforms. I, on the other hand, only play a couple that I actually like (and test some games for like an hour just to see what’s up).

Career-wise, we chose very different paths – I pursued game development; and, he got jobs from working in the government as a facilitator for recovering drug addicts, to working as a technical support for a Fortune 500 company. His last job was stable compared to the indie life I’ve been doing for almost a decade now. But, unfortunately, it’s also the most stressed he’d been in the recent years. That said, he wanted nothing else but to get out of there.

I’ve been trying to convince him to try out game development for years now, because I believe his talents and vast knowledge of video games, are great assets that’ll help him in the industry. During one of our family dinners just this last holiday 2022, I opened the idea again – the idea of him trying out game design, and this time, he agreed.

To be honest, I was probably more excited than him. I gifted him two Udemy courses last December 27, 2022 – The Psychology of Games – Secrets of Good Game Design; and, Code Monkey’s Make Games Without Code? Master Visual Scripting in Unity!

As you can see in the courses above, there are no programming involved. He tried almost two years of Computer Science in college, and it just didn’t work out for him. I didn’t want to bring him back to those dark days, so I bought courses about game design and visual scripting instead.

He started right away with the game design course until the New Years, when we rested for the holidays and spent time with our family. But, after the that, he went to work.

January 1, 2023 – he started Code Monkey’s visual scripting course in Unity. I’ve been watching Code Monkey‘s YouTube videos ever since Brackeys retired. So, I was confident that his course will help my brother get started with game development using Unity. But, we quickly realized that the course was slightly out-of-date.

Don’t get me wrong, the concepts discussed in the course are still usable today, but the buttons and the interface are different already. In Unity’s language, even the packages and versions are different. This might not be difficult for intermediate to experienced Unity developers, but the different interface and terminologies are very confusing for a first-timer.

That said, I searched around Udemy again for a more up-to-date visual scripting course that uses at least Unity 2021 LTS (Long-term Support) and the built-in visual scripting package. Luckily I found GameDev.tv Team and Taryn McMillan’s Unity Visual Scripting: Learn Game Coding The Easy Way.

Taryn McMillan’s course is exactly what works for my brother – concise explanation that shows which button to click and where it is in the interface; and, based on my brother, the exercises after each lesson helps a lot in putting what he learned into practice.

I agree with this kind of learning (exercises after each lesson) as it prevents the trivial way of learning game engines – which is to just follow along a tutorial without understanding what you’re doing. Here are good videos by Andrzej Gieralt Creative and Game Maker’s Toolkit discussing this way of learning game development.

In any case, my brother played around Unity and finished Taryn’s visual scripting course. At this point, my brother created a simple game where you control a bacteria-like character with collision around a map; and a simple 3D archery game, complete with scoring and restarting the stage. He is doing well so far; but for me, there is still one thing he needs to experience to fully indoctrinate him to game development – game jams.

Luckily, Ludum Dare 52 was just a couple of days away and it was a good opportunity to throw him in the lava pit right after learning the basics of visual scripting in Unity. **evil laughter**

Kidding aside, here were my goals going into the game jam with my brother:

  • Teach him how to write a Game Design Document (GDD)
  • Teach him how to use version control software (we used GitHub and Fork)
  • Teach him game design and balancing concepts
  • Make him experience game development, from brainstorming to releasing a game
  • Make him experience crunch so he’ll never want to experience it again in game studios (half joke)

January 7, 2023, 3:40 PM – we did not start off on the right foot – WE WERE ALMOST 12 HOURS LATE!

Because I forgot how time zones work. I thought the timer in the Ludum Dare website was Pacific Standard Time (PST), that makes the 8AM start time would be around 8PM here in the Philippines. But, apparently, the website synchronizes to the device’s time zone. Meaning, the “PST” on the website was actually Philippine Standard Time. Oh. My. God.

In any case, we wasted no time, gathered our devices, prepared a table for our junk foods, and started brainstorming game ideas for the jam’s theme, “Harvest”.

We gave ourselves one hour to go wild with ideas – just right them down, drain our brains of mechanics and features no matter how crazy they were; then after an hour, we deliberate and remove ideas that seem impossible in the 60 hours that we have. Here are some of the ideas we had during the brainstorming phase:

  • A game similar to Stacklands where you manage a farm using cards
  • A village management game similar to Breath of Fire 3‘s faery village, where you manage faeries and even turn some of them into faery dust if their stats are too low
  • Poop (because poop is always funny) harvester where the player harvests different types of animal poops, each with different prices
  • A game where you play as a Valkyrie harvesting souls for the upcoming Ragnarok
  • and many more…

We ranked these ideas using Google Sheets where we had columns for Pros, Cons, and a 0-10 rating on how much we are willing to die for the idea. I got this from Ryan Sumo of Squeaky Wheel, it’s something we used to do when thinking of features for Academia: School Simulator.

During the process, most of these ideas were scrapped either because we didn’t feel that strong about the idea, or because we thought it’ll take the whole month to finish the game. During the discussion, we introduced the idea of having a dice for randomization since we both love Dungeons & Dragons; and to mix that dice mechanic with the village management from Breath of Fire 3. To further simplify the gameplay, there’s only one control – drag and drop (which later turned into just button clicking).

At the time, we didn’t know we’re making a management game but in hindsight, it worked well because we played to our strength – I mostly made management/simulation games in the past, and he also played a vast amount of games in those genres.

After brainstorming, we went to work – I started making a quick prototype on Unity, and he started working on Game Design Documents for each feature. We guided each other throughout our process to make sure I’m implementing his vision of the game properly, and I’m making sure he won’t go crazy on the GDDs and start feature creeping.

During the development, I also worked on different editors (with the help of Odin Inspector) for him to edit game variables for balancing and adding content, such as events, to the game. My brother also volunteered to work on the different UI panels for the game, as I got stuck in the events system during the second day. Plus, my computer decided to act up. Thank you, Murphy’s Law.

Here’s my brother working on different UI interfaces.

Still working on the game’s UI with a sneak peek on the initial title of the game.

January 10, 2023, 2:38 AM – less than 2 hours into the end of the jam, we finished and submitted “Dice Wheat Me” to Ludum Dare’s website and to my brother’s Itch.io. Here’s my brother looking at his page after setting it up. We are heavily sleep-deprived at this point.

Then, we both went to sleep.

The next day came and we both felt somewhat rested, we checked the feedback on his first ever game on his first ever game jam, and – boy oh boy – the comments and reception were very positive!

Now, I can’t stop myself from comparing my brother’s first experience with my first game in Newgrounds last 2008, where a person used all of the available characters in the comments to fill up the box with “F*ck You!”…and did it twice.

In any case, I’m glad my brother’s first game was received this well. A Twitch streamer called jitspoe even played the game on stream and gave my brother some advice on what to expect as a new guy in the industry.

Here are some of the comments on his Ludum Dare page:

A player even reached Year 9 in the game!

There are still a couple more days before the voting ends. If you want to try the game, here are the links – Ludum Dare and Itch.io.

[EDIT March 7, 2023]

Here’s my brother’s overall results, out of 1649 entries. Honestly, not bad for a first game jam! If you’re interested he made a LinkedIn post expressing his excitement for the next Ludum Dare.

More Comments:

[/EDIT]

This whole venture has been a success not only for my brother turning his idea into his first game, but also for me seeing if I can teach game development to someone who has zero experience with the discipline. That said, there’s one lesson I keep going back to and I think would change this whole experience if I approached it differently – hand-holding, or whether I did too much of it.

Let me explain. Throughout my brother’s learning process, I always emphasized making simple games such as a Flappy Bird clone, or an endless runner. I believed that would further enhance his familiarity with Unity and with visual scripting. But, at the same time, I also wanted him to make a game that he wants to play.

I’m afraid that, given the time constraint, I took up most of the programming and left all the design decisions to him. Now, the good thing about that was, he was able to flex his game design muscles making Game Design Documents, and even using tools such as Google Sheets to list and balance events in the game. But, I felt like I took away his opportunity to learn Unity and/or apply his visual scripting knowledge during the jam. Yes, he worked on UI canvases, panels, and sprites in Unity, but he didn’t use any of the visual scripting knowledge he learned in the Udemy courses. That said, in our next jam, I’m letting go of some of the mechanics implementation, to give him an opportunity to use visual scripting on an actual project.

That’s it! This whole experience was fun from the get-go, and I would like to hear what you think – how would you introduce someone to game development? would you use online courses? do you think I did a lot of hand-holding during the process?

Let me know in the comments below or you can reach me out on Twitter.

Have a good one, and stay safe!

Farewell Blog for 2022

Estimated Reading Time: 12 minutes

Happy New Year! My last farewell blog was 2 years ago, and I called 2020 a b*tch. 2022 is not that different from a world or international point of view; but despite all the negative news of yesteryear, I tried my best to grow personally. I won’t be listing each points by month but by category instead. Enjoy and I hope you can also learn from my mistakes.

As usual, here are quick links to skip ahead:

Let’s start!

Think Simulator

With the disbanding of Squeaky Wheel last May 2021 and the acquisition of Academia: School Simulator by Paradox Interactive, Marnel (one of the cofounders of Squeaky Wheel) and I set out to start our own studio – Think Simulator – and work on a simulation game called City Hall Simulator.

A quick side note – if you’re interested in the lessons during the 5-year development of Academia: School Simulator, Marnel and I wrote our own lists. Marnel’s 20 Lessons, and my “more lessons“.

I gave myself one month of break to cool down from the crazy and very eventful experience that was working with Squeaky Wheel. But, I was very excited to start in this new venture with Marnel, that I actually started diving deeper into Unity’s DOTS during that break.

After the break, Marnel and I hit the ground running. About 2 or 3 months in, we already have a game with time controls, AI, and basic building mechanics. At first, we wanted to make a space game called Stellar Transit Enterprise, where the player manages cruise ships that has different amenities, taking passengers from one planet to another. But, there’s A LOT of space games already this year. So, during one of our calls, Marnel shared his realization that our city hall kind of looks like a mini city already, suitable to be a game. Thus, we pivoted our effort from the space game to City Hall Simulator.

We immediately started working on the design, the features, and started preparing materials for marketing. I even started being more active on Twitch to make people aware of our game early on. More on my streaming experience later in this blog. We also started our social media – Twitter, Discord, YouTube, and even our own website (now deactivated).

Development-wise, it’s important to note that from the very start we decided to implement systems using “pure ECS”, which if you’re familiar with Unity, was still in development at the time. Here’s a tech blog from Marnel on how he converted our agents’ actions to Entities. Now, this is great for our game which we expected to have thousands of agents. But, in hindsight, the tech debt was quick to accumulate. Here are some of the complexities we encountered:

  • Lots of boilerplate classes to create GOAP actions. This has to do with the fact that, at the time, it was not easy and it involves a lot of workaround to make custom editors for Unity’s ECS.
  • Debugging was also tricky. It’s not impossible but tricky, and it took more time to debug entities compared to MonoBehaviours that you can just select in the hierarchy.

That said, after more than a year of development, we decided to no longer continue. Marnel got a job from KING Art Games in Germany, and I went on a job hunt.

Job Searching

With all honesty, I didn’t know how to search for jobs anymore. If you’ve read how I got into the industry, you might remember that my experience with looking for jobs involve submitting proposals in a platform like Upwork, or referrals. Both of which are different from submitting CVs or resumes to studios.

I didn’t know where to start, I didn’t know what to look for, and I didn’t even know what I wanted in a studio at the time. But, I was sure I want to work overseas somehow, and if possible, expand to a different game genre. An opportunity to be mentored about marketing and managing a studio was also a huge plus.

Luckily, my mentors – Marnel Estrada, Ryan Sumo, Tristan Angeles, my brother Ben, and others – were kind enough to have a quick chat, and/or have blogs and guides about job searching and interviews that were very helpful.

Since I was lost and didn’t know where to start, my brother Ben (a senior in the “common/usual” tech industry) shared what he looks for from an employer, in no specific order:

  • Healthcare benefits (for him and his family)
  • Dental care
  • Number of vacation leaves (important to him now that he has a family)
  • Paid Sick Leaves
  • Salary
  • Work-life balance
  • Company culture (is it toxic? family oriented?)
  • Day-to-day tasks (is there a crunch culture?)

Marnel also motivated me by telling me my experience already looks good, having worked with Squeaky Wheel for Academia: School Simulator. He shared these with me to help with preparing for my job search and the interviews, in no particular order:

  • Leetcode for practicing exams
  • Think long term if the games are going to be prestigious
  • Don’t be afraid of “job requirements”, most of the time they are just “wishlists”

With these in mind I looked for job openings in LinkedIn, Indeed, WorkWithIndies, and in career pages of different game studios. After about 2 weeks of searching, I ended up with 2 choices – General Interactive (via LinkedIn) or BoomZap (via their career page). Both have similar offers and benefits. Both also work on genres and games that I’m interested in. But, there’s one difference, a chance to work overseas. It took me 3 days, and a detailed Google Sheet, to compare the offers and to imagine myself working with either companies.

Chris Natsuume of BoomZap gave a really great advice that still echo in my head to this day – if I plan on starting a studio in the future, it’s best to stay here in the Philippines and not go abroad (potentially to a more expensive country) to save. Because going overseas will also kind of double my expenses, given that I am still paying our house’s mortgage here in the Philippines. BoomZap is also one of the longest living studios here in Southeast Asia, and it would be wise for someone who wishes to start a studio to learn from them.

Ryan Sumo, on the other hand, pointed out that I am still young and still have the opportunity to take risks that won’t break me. He also shared that moving abroad is going to be an experience that will broaden my horizons. Once more, Ryan reiterated his faith in my skills, adaptability, and ambition. Being a person with “mababaw na luha” (shallow tears), these words made me cry a little. Dang it, Ryan sure is a person who’ll make you think deep about your choices in life – and I am forever grateful.

In the end, I accepted General Interactive’s offer. Mark Fillion‘s offer as a mentor for advertising and marketing sounded really good, given that it is also his day job. Plus, the opportunity to relocate (yes, I’ll take the leap).

General Interactive Co Logo

General Interactive

I started in General Interactive around July 2022 as a Senior Game Developer. That said, this is a step up to what I’ve been doing in the last 7 years. Back then, I would just work on top of or improve upon existing systems, usually written by Marnel from scratch during my time with them. I did work on independent systems before, but it’s not a recurring task as most of the core systems were already been made by Marnel, the CTO and cofounder of Squeaky Wheel. Now, as the senior game developer for General Interactive, the role of designing and implementing core systems now lie on my shoulders. Thus, my long-time companion in this industry – imposter syndrome – says hi.

I am aware of my skills, and I do think I can perform my duties well. But, every now and then, there’s that voice at the back of my head saying, “someone out there can do this better than me – like a hundred times better.”

Luckily, watching a lot of developers work in the past has prepared me for this responsibility, despite that bugging voice. I can’t share much of what we’re working on right now, but it’s going to be fantastic. Also, Ricardo Juchem, the artist for Chinatown Detective Agency, shared this link about dealing with impostor syndrome. Also by someone with a familiar name – Neil Gaiman.

That said, if you haven’t yet, check out Chinatown Detective Agency.

Aside from meeting the incredible cast of international talents in General Interactive, one fantastic experience this year with the studio was my first convention in a very long time – Gamescom Asia 2022. I say “long time” but hey, 3 years stuck at home felt like forever.

Gamescom Asia was a fantastic experience – it was my first time in Singapore, met old and new gamedev friends, also had the honor to introduce our junior producer, Francis, to the people in the industry. He’s a new bud, and I believe letting him have a conversation with these industry veterans would motivate, inspire, and hopefully challenge him to be an ace developer.

Oh, and we also met Mr. Shuhei Yoshida! I have no words for how awesome this opportunity was.

With Shuhei Yoshida of PlayStation Indie

Another convention that I missed due to the pandemic was the convention that helped me land my first job in the local game industry – the Electronic Sports and Gaming Summit (ESGS).

This was a continuation of my goal to introduce our junior producer to different game developers, this time to the local scene. It’s also a great way to make him feel the difference between Gamescom’s B2B atmosphere to ESGS’s B2C environment. Personally, it’s a great time to say hi to gamedev friends.

That is just less than a year of experience with this new studio. I do believe there are more grand things to happen this 2023 and the years to come – and I am excited.

Personal Health

Mental Health

This year was probably the best my mental health had ever been. Ryan Sumo gave me books to read before he moved to Sweden, and they’ve been a great help to understand my thoughts.

I also bought “The Art of Thinking Clearly” by Rolf Dobelli. It’s a book about the myriad of cognitive biases and fallacies that we all fall victim to, at one point in our lives, if not everyday. I still catch myself whenever I say something that doesn’t make sense. But, now I can hear the difference between a sound reasoning and a feeble one.

Another thing that helped me mentally this year was being open. I am now more honest on what and how I feel. Before I would shrug off being angry or sad, and just let it pass without processing it. Now, I acknowledge the emotion, identify what made me feel that way, and act appropriately without harming other people, or myself. It took a while, but it’s definitely worth practicing and getting used to asking myself, “am I angry? why?”. If you’re wondering where and with whom to practice, try your relatives. They always make us feel something.

Physical Health

This year has also been my most physically active in the last couple of years. Every week, my friends and I play badminton for at least an hour, with 3 hours being our longest. Yes, we were exhausted like crazy.

Aside from badminton, I also started incorporating Muay Thai in my workout schedule. My dad was a boxer in his teens to early 20s, which is a great help to train my punches and agility, he’s a quick-on-your-toes-than-strength-in-your-punches kind of guy. My eldest brother has a 2nd degree black belt in karate, and also trained Muay Thai. They both help me with my form and in conditioning my body. I have to say, stretching and conditioning – especially shin conditioning – can make a grown man cry.

I still continue weight lifting, but I think I need to buy heavier equipment to proceed. And, I still don’t want to go to the gym – err, more like pay for the gym.

I also started tracking my calories using MyNetDiary, but I stopped after 5 months of daily tracking. What I eat don’t change that much, so I can gauge *roughly* how much calories is in my plate.

Finance

I can gladly say that I finished the year 2022…DEBT FREE! Yey!

Ok, there’s our house mortgage – but, no credit card debts, and my cash flow has been on the green for the past 5 months. Although, I don’t yet know how far I can continue this, given the current inflation rate.

I also pulled all my investments from the PH Market to the New York Stock Exchange via GoTrade (referral code). GoTrade is a mobile brokerage that allows users to trade in partial stocks or in fractions of US stocks. It’s riskier than the PH Market (bigger loss because my expenses are still in Philippine Peso), but investing in NYSE blue chips, ETFs, and REITs, return far more than their counterparts in the PH Market. At least, in my experience.

Another thing I started doing religiously is tracking the flow of my money using Bluecoins every start of the month. I try to track everything, except for some of my cash transactions that don’t have receipts. I catch the cash transactions based on the gaps in my bank statements. This is why I tend to use services that issue receipts instead; or use my credit card or my debit card, so that the transaction will either be sent to my email or be recorded in my bank statement. I also use mobile or virtual wallets, like GCash here in PH.

Tracking my finances via Bluecoins was a great way to check if I can still spend, to avoid going red in the current month.

Other stuff going on

Gags N Geeks

The entertainment studio my friends and I started was disbanded last July of 2021. We still meet every now and then, play badminton, talk around cups of coffee in local coffee shops, and play board or video games. After Gags N Geeks, everyone went on to pursue their professional careers, and everyone’s doing a great job!

Twitch

I continued streaming after Gags N Geeks, but this time I streamed the development of City Hall Simulator, and lots of Chess streams. It was fantastic! I met a lot of other game devs on Twitch, exchanged notes, they even helped me solve design and programming problems I encountered on stream (thank you Zaysha for the camera fix!). But, I had to go on a hiatus to focus more on getting my health back on track, as I started getting sick. I want to continue streaming game dev and chess again, maybe sometime in 2023.

Art

I still draw every now and then. Ryan Sumo provided me with books on finding and improving my own style – and I resorted to using charcoal and graphite pencils, with emphasis on subject’s accessories, eyes, and hair.

I also started making timelapses on YouTube about the drawing process and my thoughts on the techniques I did.

Mentorship

Around October of 2022, my former professor reached out to me if I can speak to some of his game dev students to motivate and inspire them. I made myself available to them via Discord and shared with them the best practices and tricks I learned in my years of experience. I’m still not as hands-on or as involved in their development but I’ve always wanted to do to new developers what my mentors did to me when I was just starting – help, guide, and nurture them personally and professionally. This surely is in my plans for 2023. Maybe help GameDev PH organize a game jam? We’ll see.

In closing, here are some photos from our trip to Singapore. Have a great day ahead, and have a fantastic 2023!

More Lessons after Developing Academia: School Simulator

It’s been a couple of weeks since the release of Academia: School Simulator. A game that has been in development for 5 years – 4 of which was in Steam’s Early Access – and, as Marnel listed in his blog, there are a lot of lessons from those years of development.

The context of this blog is from my experience of having had part-time, freelance jobs in the game dev industry before joining Squeaky Wheel, my first permanent and regular job in the industry – and on programming a strategy game that has multiple systems running simultaneously and with hundreds of agents.

Below are shortcuts if you want to jump to a specific topic and as usual there are references at the end of the blog for further reading:

No-Garbage Programming

Well, not always but as much as possible. This is probably what I always oversee during my first years in the team (I still do every now and then) and you’ve probably seen these codes before. Garbage-generating code can look something like this:

public class GarbageExample : MonoBehaviour {

    public List<int> intList;

    public void Update(){
        if (Input.GetMouseButtonDown(0)){
            // Oops, garbage here every time the button is clicked
            this.intList = new List<int>();
        }
    }
}

Or a more common example with delegates:

public class DelegateExample : MonoBehaviour {

     // Applies different kind of damages to an entity
     private delegate void DamageEffect (int damage);

     public void Update() {
          // This generates garbage every frame
          ApplyDamage(PoisonDamage);
     }

     private void ApplyDamage (DamageEffect damageEffect){
          // Apply the damage here
     }

     private void PoisonDamage (int damageOverTime) {
          // Apply poison damage over time
     }
}

These blocks of code look harmless at first but; in the first one, a new object of type List is always being created every frame while the previous List is being released to be collected later by the Garbage Collector (GC); in the second example, what happens under the hood is a new delegate PoisonDamage is being created every frame and being passed to ApplyDamage(). Likewise with the first example, the previous delegate instance is being released to be collected later by the GC.

This is an issue because garbage collection is being done in the main thread and may look to the player as if the game was lagging if there are a lot of garbage to be collected in the current frame.

One of the ways of dealing with this is enabling Unity’s Incremental Garbage Collection. Another way is to improve your code. Here are a couple of guidelines that we follow to prevent garbage-generating codes:

  • Avoid these every frame or inside your Update method: GetComponent(), Find(), AddComponent(), Camera.main, transform, Debug.Log, and other built-in Unity methods
    • Reason being is that they are expensive and involves boxing. Solution here is to cache the return values of these methods
    • In the case of Debug.Log, these are still being called in the production build which may not be your intention. In our case, we remove these altogether after unit testing, or enclose these inside “#if UNITY_EDITOR” blocks
  • Pool your instances/objects and don’t instantiate/destroy objects every single frame. Cache the instances that you know you will reference multiple times in its lifetime
  • Move repeated computations that returns the same value outside of loops

These are just some of the examples and our ways of dealing with garbage-generating code and I’m sure there are a couple more. If you’re interested, Academia uses a signaling system to decouple different mechanics, and here’s one that Marnel made that doesn’t generate garbage.

Comment, Comment, Comment

This one I’ve realized midway into development when I was given bigger tasks that involve making systems from scratch. When I had to turn my attention to more urgent tasks such as bugs for hotfixes, then return to the system, I already forgot how half of the system works. Another benefit of adding comprehensive comments and summaries to your code, is this allows other programmers to understand your code without having to DM you about how a certain piece of code works. Sounds simple and will be beneficial in the long run.

Write your code as if it’s for the Asset Store

This is one of the first things that Marnel told me during our on-boarding period. This is related to the previous point of adding comments to your code. But not only that, your systems should work without a lot of dependencies with other systems. This is where design patterns come in. More specifically, the Component pattern or other decoupling patterns.

Writing your code in a way that they can be attached as components for Unity objects (or ECS entities) is a great way to decouple your codes and prevent spaghetti code and the infamous Gordian knot. This way of writing also allows programmers to work independently without worrying about breaking other programmer’s work.

Another way to separate systems from one another is creating a querying system and a signaling system for your game.

Read the code of existing systems

This one is crucial especially if you join the team in the middle of development – spend some time reading the backend codes of existing systems. I do this when I have extra time in-between tasks and when I’m curious on how a mechanic was implemented. This way, you will learn a lot about how your application works and thus, how best to implement and integrate new systems with existing ones.

In terms of communication, this also saves time when a question needs to be answered and your tech lead is not available.

Read and study new technologies

This might be daunting at first especially if you’ve been making the game for quite a while but, you don’t need to learn each and every new technology out there (you can if you want, though). You can skim over some of them, and study only those you are sure will help you improve your game. In our case, Unity’s new Data-Oriented Technology Stack or DOTS is definitely a need to speed up Academia’s simulations (Needs and Satisfaction, rendering, A* pathfinding, etc.).

Ask Questions – lots and lots of questions

So, you’ve been reading the backend of existing systems and reading about new technologies. That is all good and well. But, it’s sometimes better to start a discussion with your colleagues. Not only fellow programmers if you’re one, but, also with your designers and artists. This will open your mind to different disciplines in the industry and help you understand them a lot more.

By asking questions, I learned a lot from our designers which help me in designing code and tools that will help them create better content for Academia. Learning from our designers also helped me understand and visualize the mechanics in the game.

Be Clear and Specific in Communicating

Our CEO and artist, Ryan Sumo, wrote an article that pretty much sums up our daily communications. Basically, we avoid a lot of ambiguous and/or confusing definitions and terms that doesn’t translate well across different disciplines. When trying to explain programming pitfalls when we’re discussing new mechanics, I try not to use jargons that only programmers understand and explain implications in terms of actual in-game scenarios and examples. That’s just one way of making our conversations more streamlined, and there are more examples and tips in Ryan’s article.

Ask to be criticized every once in a while

This one is probably personal preference but, in order to further grow as a programmer and as a person in general, I ask my colleagues every once in a while how I’m doing in the company. Tangental to this, I take notes on common code review comments from our tech lead, usual terms and things that confuse our designers, and life advices I receive and observe from my colleagues.

This is not an exhaustive list of the lessons I learned from being part of Squeaky Wheel, developing Academia: School Simulator. But, I hope you picked up a thing or two from this list that may help you in your game dev journey.

That said, thank you and feel free to share this with your friends. Starting next week, I’ll start writing more programming-related blogs – See you in the next one!


References:

Farewell Blog for 2020

Happy New Year! Oh, 2020. You’re one tough b*tch. Despite the challenges of last year, I still made sure that I don’t become stagnant and still learn a thing or two. This blog is going to be a compilation of all my ventures for last year, mistakes and failures, and the lessons I learned along the way. I won’t be listing them by month but by category instead. Enjoy and I hope you can also learn from my mistakes.

I realized after writing this blog that it’s crazy long. So, here are the links to jump to certain parts:

Gags N Geeks

Let’s start with the video production (skits, reviews, etc.) and gaming studio my friends and I started back in 2019 – Gags N Geeks. The year opened up with us breaking the 5000+ followers barrier on Facebook. Although, this metric doesn’t necessarily constitute to engagement, it is still a milestone for the studio.

Bring out the drinks and let’s celebrate!

But, alongside the growth of our community, comes the internal struggles. A lot has happened since we started last June 2019. One of those things is that each of the original cast started growing apart – there was a lack of openness and not everyone is engaging proactively in the discussions that would help the studio grow. Frankly and personally speaking, I struggle and despise working with non-proactive people (it’s ok to be friends with them but work is different). But, I digress. This misunderstanding resulted in a decision to change how we work internally and recast. This time I made sure that I will be working alongside people who have high respect for professionalism and constructive criticism.

To achieve this, we created an agreement that contains our responsibilities in the studio, expectations, and a couple of guidelines to ensure that we share the same vision. We also shrunk down the number of members from 8 to just 6, to make communication easier and to reduce costs. That said, we welcomed a new member – a passionate musician and anime-lover, Clarisse!

She performs live on GNG’s Twitch

We also didn’t see a lot of organic growth on Facebook Gaming which prompted us to migrate to Twitch. There, we found new family and new friends that share the same interests. We stream video games, our pinoy homebrew Dungeons & Dragons campaign (we finished the first season just this December!), music nights, and one of our top performing content – Chikatitos, a pinoy geeky podcast where we talk about anything we want. We also started publishing exclusive podcasts for Spotify also called Chikatitos.

From our newly-built relationships, we also started doing collaborations:

We also started giving back and helping out in charities. One instance was when there was a call to action for the victims of Taal volcano eruption. We streamed for a week and matched whatever our community pooled for that whole week. You can watch that journey here.

We spend the whole day and night buying (haggling) for supplies and repacking

Everything was going well, then the pandemic happened and our country went on lockdown. This was a double-edged sword for us since now we can just work from home and produce our videos remotely, which worked well. But, that also means we won’t be able to use the studio’s equipment and we won’t be able to record our boardgame sessions nor have a live Dungeons & Dragons session. The lockdown also affected our personal lives that some of the casts lost their jobs and/or couldn’t find jobs (up until around November and December). All of these combined made our schedule a mess despite having a spreadsheet of who’ll do what, and despite having multiple iterations of our schedule. To be honest, up until now, we are still looking for a way to have a final schedule since most members of GNG have night-shift jobs.

That said, we still enjoy what we do and will definitely solve these hurdles soon. Here’s a clip before the lockdown when we acted like the little kids that we are inside.

Squeaky Wheel

Lots – and I mean, LOTS – of updates. There were a lot of new mechanics added to Academia: School Simulator such as Food Fights, Teacher Traits, More Customizable School Settings, School Shutdown, Events, Student Roster, and a lot more!

Squeaky Wheel also took part in helping out everyone affected by this pandemic.

Simon Carless also wrote an in-depth behind-the-scenes analysis of Academia’s Steam sales with the help of our CEO, Ryan Sumo. This was an interesting read since they discussed what contributed to the game’s revenue spikes, the effects of algorithm changes in platforms such as Steam, and the difference of being a game developer here in the Philippines compared to other countries.

Two of the biggest news from the studio last year was the Ruinarch announcement (now out on early access!),

and that Academia: School Simulator is now graduating to Version 1 this 2021!

This year is going to be a blast, so be sure to follow us on Twitter for updates.

Music

I bought a piano as a holiday gift for myself around December of 2019. And since then, I devoted a good amount of time every week to play the instruments I have. Here are some of the tunes I just had to play to free my mind:

Aside from the piano, I also got my hands on a dizi or a Chinese bamboo flute. I also got an ocarina during our online Christmas party with Squeaky Wheel. I’ve always been curious with wind instruments because ever since I was a kid I’ve only played string and percussion instruments. That said, having a dizi and an ocarina gave me some opportunities to learn more last year – it was relaxing and made me really happy.

With those new instruments added to my arsenal at home – alongside a bass guitar (I also played live on Twitch), an electric guitar, 4 acoustic guitars (different strings and tunes), electronic drum kit, cajon, and a violin – I have to say, I probably played days worth of music last year.

Lastly, even though I was a bit embarrassed at first, I started sharing my singing videos on Instagram. I usually do this when I’m taking a break from work or when Academia: School Simulator is compiling and I have some time to play around.

Art

My true passion since I was a kid was creating – be it writing short stories, poems, music, programming, or in this case charcoal and graphite drawing. I didn’t have any formal education or training regarding drawing. I only watched my older brother as he also draws (mostly with graphite and color pencils) and paints (with acrylic) when I was a kid. And, of course lots of YouTube videos and, Instagram and Deviantart browsing. That said, here are a couple of my old works (on Deviantart):

And here are my 2020 drawings (on Instagram. Yes, these are mostly animes because I spend my holidays and weekends watching movies or animes…if I’m not coding):

Lastly, I also dedicated some of my nights and my weekends improving the D&D maps for our homebrew campaign using Inkarnate.

Personal Health

Mental Health

First off – mentally, last year has been quite challenging. I won’t get into a lot of personal details but letting these out helps loosen the weight, even just for a little bit. If you feel like this might trigger you, please feel free to skip this part by clicking here.

Let’s start with people around me judging me for acting professional (following a process and schedule) and for sharing my thoughts. I’ve been called a lot of names – poser, feeling comedian (acting like a comedian for cracking jokes here and there during our comedy show. Ironic, I know.), and a lot more. All of these combined made me think if I’m still doing the right thing or if I’m even on the right road towards where I want to be; and because of this spiral of thoughts, I developed impostor syndrome. I even felt dumb while making games despite having almost half a decade’s worth of experience in the industry. I even expressed how bad of a leader I am (I think…I still do.) to my friends. And, even if they tried to tell me otherwise, I just don’t see it or couldn’t. I’m not sure.

Next thing I realized last year, is the harsh effects of toxic positivity. Yes, being positive all the time hurts more than it helps. Let me explain. I know a couple of people who says positive things and encourages with positive speeches…without offering anything of actual value. And that will just impose a false belief that you’ve already solved the problem, or at least you already have the steps and solution for your problems, even though you actually don’t and you are still lost like you were before you heard those toxic positive speeches.

With those mentioned above (these are just some), I stayed away from social media for weeks and refrained from sharing my thoughts and plans with anyone. Yes, including my family. I also stopped journaling. My thought process turned to “I’ll just do it myself and see the results. Maybe then, they will see.”.

But, after bottling all these inside, I ironically turned to Twitter. And, believe it or not, I felt lighter discovering I’m not the only one experiencing these. So far Twitter has helped me more than it damaged me – unlike Facebook. I also turned to my mentors to ask for guidance and they helped put things into perspective.

Lastly, I turned to playing shogi and chess. My older brother (the same one who plays music and draws) taught me how to play chess as a kid, and going back to the game mid-2020s surely made me happy. Shogi, on the other hand, was something I learned mid-2020. I like shogi because there are a lot more things that could happen compared to chess, since you can put captured pieces back on the board. This kept me busy for hours and it was fun.

Physical Health

I worked out quite regularly last 2019 (used to hike with friends). But, with the lockdown this 2020, I had to improvise. Luckily – a good friend of mine from GNG – Louis, is a licensed physical therapist and he offered to create a workout program for me. He also gave me elastic bands as a holiday gift which helped since I don’t really want to buy huge workout equipment. That said, I still workout regularly. Well, almost regularly – there are just times when I don’t want to get out of the zone when programming.

I also switched from 3-in-1 instant coffee to brewed coffee. Japet – also from GNG – started a coffee business last 2020 and I get my grinded coffee from him.

Then, around December of 2020, I ran out of coffee and Japet couldn’t drop by for delivery. So, I turned to blending fruits and veggies. I have to say, this is more refreshing and boosts my mood.

Finance

Oh boi, finances. 2020 was the year I realized all my financial mistakes and learned from them the hard way. This is the year when I drowned myself in debt, withdrew about 95% of my investments to pay those debts, and almost zeroed my savings (just a couple of bucks left). Luckily, my eldest brother (not the one who draws) helped me pay my debts and my mentor (Ryan Sumo of Squeaky Wheel) helped me with better handling my expenses and my investments. A couple of people on Twitter also gave some tips on living a frugal life.

I’m currently still in the process of building up my investments back up and I am taking financing a lot more seriously now. I even got my hands on a very reliable app called Bluecoins since, my custom-made Google spreadsheet is full of errors and I sometimes forget to update it accurately – which honestly beats the purpose of having it in the first place.

That said, I’m still exploring different types of investments and other sources of income. We’ll see what else I’ll venture into this 2021.

Other stuff going on

I upgraded my programming setup as a holiday gift to myself for 2020. This is going to by my last expense for the next couple of months.

I also started writing guides for game developers out there – mainly about Unity and ECS for now since I, myself, am studying it. That said, I started working on a personal project/research regarding the effects of personality traits in relationships. But, I’m still working on the design and programming so, I can’t really share anything of value yet, aside from this (a sprite rendering system and movement system written in pure ECS with burst):

Lastly, please excuse me for adding this, but I seldom win in raffles. I won something during Electronic Sports and Gaming Summit (ESGS) 2020!

That’s all the note-worthy things that happened to me last 2020. It was a really, really challenging year for everyone and here’s to a better year this 2021 – cheers! Oh, please wash your hands first.

Thank you and stay safe!