Reviewing My 1st Game 10 Years Later: What I Applied For My Software Engineering Job

Ali Kamalizade
4 min read4 days ago

--

Photo by Amir Balam on Unsplash

Before getting somewhat decent in programming I was dabbling with mod development for video games. Interest in gaming was one of the primary reasons I developed a stronger affection for technology. For one of my favorite games I wanted to create a mod that would change a few things to my liking (e.g. increased difficulty, more gameplay variety).

Due to my poor programming skills at the time and having full-time studies, I never got really good at modding games. Back then, I did not know much about game or software development beyond a few general basics. Therefore, the amount of changes I could to a game were pretty limited. There were some helpful tools and tutorials which definitely helped. Still, I wanted to make the most out of it.

Launching the game

Eventually, I did publish the mod which users could patch on the original game if they own it. Obviously not for monetary reasons but more for getting something out there that I could be somewhat proud of, hoping that strangers would enjoy it. I still love it and I have seen many people enjoying it as well but I know it was published in a rushed state.

  • It is hilarious to see people get surprise early in the game when getting jumped at some odd places to a battle. Expecting the unexpected.
  • The number of cut off text and missed name replacements is disappointing. It was eye opening when seeing someone else let’s-playing the game on YouTube.
  • Some dialogue is rather cringe for me to look at this point.
  • In some areas of the game I see ambitious attempts that did not work out as well as I wanted. E.g. a changed map that looked good on a glance but its layout did not make a lot of sense.

Funny enough, I’ve seen people putting the game on actual GBA cartridges and selling them on platforms like Etsy. As mentioned, I published the mod for free on the internet hence I was not entirely surprised. Actually, I was flattered that someone would do it for my humble game patch. This is probably as close to becoming a game developer as I will ever get.

What I learned

Fast forwarding a few years, I became a software engineer working with different technologies on different projects and products. Looking back at it, I can take out plenty of learnings that I could apply on software/web development:

  • Who is your target audience? Are you building it primarily for yourself or for someone else? Some jokes that are funny to me will not have the same effect on someone else. If I present you, my ideal customer, a website and you are just scratching your head while trying to figure what I am supposedly selling, then I am failing.
  • User experience is hard to get right. What makes sense to me does not make sense to someone else. Of course I would know my way around my own game but this does not apply to everyone. Few things are as frustrating as making users having to think about “trivial” things.
  • Version control should be a must-have for any software project. At latest where there is more than one project contributor. I probably lost considerable progress having dozens of GAME_FINAL_V6_WITH_BUG_FIXED versions, not knowing what the differences and changes were tied to a specific version file. Any decent version control system like Git that is used with care will be a lifesaver.
  • Launch early but be mindful what you want to get out of it. It really depends on your target audience and how forgiving people are. If I would sell something expensive to a total stranger and it fails to work, I doubt I will get a lot of empathy for my “Hey, this is just the first version, believe in me”. On the other hand, who can complain about something that costs nothing? Early users can be your biggest source for improvements: many people feel appreciated when products adopt or fix things that they suggested or discovered.
  • Having empathy for other products and projects. Game development (and then later software engineering) made me having increased empathy for other people’s work, especially if it is an early stage project. It is easy (and often naive) when evaluating other people’s work and being like “Hey, I could have done this in a week if I really wanted to” or “This sucks, why is this annoying error happening”. It does not hurt to be kind to other people 😇
  • Taking both positive and negative feedback. If you share something with friends and family you will likely get mostly positive feedback either due to it being good (great!) or due to them trying not to hurt your feelings (not so good!). Many people fall into the trap of tying a part of their identity to a passion project or product they have worked on for a long time. It is great to have passion for something you enjoy working on but I learned to not take feedback too close to my heart.
  • Knowing how to ask good questions is a skill. Whether it is a Google search to find forum posts about the same problem I am encountering or asking the likes of ChatGPT / Gemini, asking good questions helps to get better answers and navigating the web with all its quality (and also garbage) content.

Conclusion

Thanks for reading this short post! This was a more personal post than the majority of my blog posts but it was something that I have been meaning to write about for some time. I can safely that my curiosity in games helped leading me to an enjoyable career path in software engineering. Curious to hear about your stories as well in the comments 🙌

--

--

Ali Kamalizade

Co-founder of Sunhat. Posts about software engineering, startups and anything else. 有難うございます。🚀