Community Question of the Week: What was your biggest game development challenge?

From a broken line of code to a lack of opportunities, our Discord community shares the toughest challenges they've faced in game dev.

September 06, 2024
Question of the Week Challenge Hero image

Each week we pose a question to our game developer community on the Microsoft Game Dev Discord. The beating heart of our online developer community, our Discord server allows developers to connect with each other, share their projects, get support, and network with peers in a thriving discussion space.

This week’s question is: What was your biggest gamedev challenge and how did you overcome it?

Manuel Cota, Software by Tarh Ik: “When you create your very own, home-made game engine, pretty much everything is a huge challenge. However, the one that I believe has been most significant, to a point in which I make it my signature feature, is my animation engine. While everyone else had access to Maya, Cinema4D, ZBrush, Blender, 3DS Max, Daz Studio, Mixamo, Motion capture (MOCAP) and the like (and, more importantly, had extensive knowledge about how to use those tools), I only had Notepad.

It was daunting, but I dove into the sample games provided by the XNA framework and soon I was writing with Notepad, creating 3D models in Microsoft’s X-file format, and crafting animations in XML format, but the process was way too slow.

I realized that I had been way too naïve, so I used Microsoft Excel to expedite the modeling process by using its data mining features, as well as a couple of custom applications I created to bake both models and animations. To elaborate, I created a script language for 3D differential animation. Nothing new under the sun, as that is how computer animations were done before AutoDesk.

This script language allows me to add, subtract and spread key frames, even when the animation is playing. My game engine is, basically, the interpreter (just like BASIC or plain ol' JAVA) for this script language. Of course, events and conditional branching are innate to this approach, which is quite useful when implementing game mechanics. Moreover, since it focuses on rotational movements, it works great for human animations.

I was able to use my game engine to publish four 3D games, currently working on my fifth. Small games, mind you, but still.”

Jana “2DPixx” Ochse, 2D game artist: “Honestly nothing more than people looking down on the craft, seeing it as childish and not worth anything. Therefore, the lack of professional opportunities in my country.

Everything else can be tackled by motivation if you’ve got the basic support and respect all humans need. This is not really game dev exclusive, but a general game creation issue that has not really gone away everywhere in the world despite games being so popular.”

Thomas “fehaare” Gravgaard, Lead Developer of Bird Island Studio: “When I was working on Tentacles for the Windows Phone we were getting close to launch, but performance in the game was really not good in a lot of the bigger levels. We were using our own engine, so I had to learn a lot about static batching of our 3D assets so we could reduce the amount of draw calls we had.

I also had to go through all our C# code and optimize the use of memory to avoid garbage collection, which was a big issue back then in XNA. At the end we could nearly play through an entire level without allocating any memory so we could avoid frame hitches. Getting there was hard, but really a learning experience.”

Hyunsu Yu, college Game Development student: ”The biggest challenge and the most memorable experience was making a fan game for my favorite streamer before I enlisted in the military. When I had about a month and a half left until my enlistment began, I suddenly had the idea of ​​making a fan game dedicated to a streamer I enjoyed watching.

However, developing a fan game took more effort than I thought. There were exciting things like sending emails to streamers to get permission to use their characters, but it was also not easy because I had to prepare graphic resources and develop the game system all by myself, since the game development itself was a sudden decision and I had no plan.

Even after spending about two weeks completing the planning and graphic resources, I completely overturned them and started over from scratch because I didn't like the quality of the concept and graphic resources, so time became an even bigger obstacle.

I was able to complete the game to a playable state five days before enlistment. From then on, I did QA and bug fixes right up until I had to leave.

I first saw the streamer's gameplay video after completing two months of training.

In the gameplay video, my fan game contained minor bugs that I hadn't been able to fix, and I was embarrassed to the point of blushing when I saw it, but at the same time, I was glad that the streamer who played it and the viewers enjoyed the game.

It was hard work, but I am proud of it, so I think it was a good decision to decide to develop a game at that time.”

Want to join in on the fun? Visit the Microsoft Game Dev community on Discord to hang out with us, we’d love to see you there!

Note: The art for this article’s cover image: Volleyball Tournament in Paradise from Tarh Ik Software, used with permission.