Polish Jams – Making of Doki Doki Ragnarok

Hey all, it’s been a while. But don’t worry, we’re still quite busy!
For Global Game Jam 2018, we created Doki Doki Ragnarok: Raiding english Villages with Dating Sim mechanics.
As you can see in the video, some Let’s Players were quite fond of the idea, although we didn’t do any proper marketing.
One even got over 180.000 views, however we do not understand spanish.

Seeing the “success” of this game jam result, we came together again and asked ourselves:
“Can we make this bigger without investing too much time?”
And so the Idea of the “Polish Jam” was born.
Our goal: Improve on the idea, code and assets of the existing Doki Doki Ragnarok prototype.
In this article we want to give you a short postmortem on the process and our experience.

Phase 1: Concept

We got together for a weekend in october and, thanks to the great folks at Sympatient, we even had a nice workplace.
This enabled us to get together on the whiteboard and brainstorm on some ideas.
Some of us already came to the meeting with a few ideas and we took our time iterating these concepts and combining them.
It quickly became clear, that we want more content and more diverse content. After all, players should stay entertained.

Our main decisions:

  • Add controller support
  • Support responsive Layout from 4:3 (iPad) to 19.5:9 (iPhone X)
  • Add unlockable levels to the world map, so we can introduce a story line and increasing depth.
  • Split the world map into “country selection” and “village selection” to increase readability on small displays
  • Add small villages, which basically consist of a few short gimmicks, but are not difficult

Phase 2: The Jam

As we had a broad idea, we started getting to work.
First of all we had to completely rewrite the “level logic”, as the game jams systems were already operating at their limits.
What did we rework from the existing code base?

  • World Map
  • UI system (now with responsiveness)
  • Dialog system (now with branches, sort of)
  • Character portrait handling
  • Keyboard input (preparing for controller input)
  • Touch Input

So basically everything, really. But it was not as difficult, because we could always rework a single feature, while the rest remained functional and allowed us to test properly!

During this time:

  • Justice was rewriting and improving the dialog system
  • Sergej was creating and implementing new world concept and persistance
  • Stefanie was busy defining a new art style for the game and began with the world map and new background images for the raids
  • Christian was hard at work creating more music
  • Henrik was brainstorming on new characters and epic dialogs

Phase 3: Recovery and Next Steps

After the Game Jam, we needed a rest. While we were very happy with our results, it wasn’t quite finished yet.
But this was okay. We were all willing to put in some more effort in a slower pace.

Justice and Sergej decided to finish programming the game within the following week, as they had taken the week off from there day jobs.
Most of the heavy lifting was done during the weekend and the remaining work was porting and polishing, which are both very rewarding.

But first we had to take a day off and recover from the fast pace of the Weekend with some minor coding tasks and playing a little FTL 😉

The others decided to slowly keep delivering assets over the next few months, which is great, as we have placeholder assets everywhere.

Phase 4: Porting

If you know us, you know that we have a strong focus on cross-platform development.
So when we say “porting”, we mean “adding even more platforms”.
By following the rules described in our Cross-Platform Development guide, we were already able to support the following platforms during the game jam:

Windows, macOS, Linux, Android, iOS

We wanted to have achievements, so we still had to add the social APIs for all platforms.
And we wanted Controller support, which was not tested cross platform either.

Within the next 2 days, we completed the following tasks:

  • Add iPhone X notch support
  • Port to Apple TV (including apple remote input)
  • Performance optimization (Kindle Fire 7 and Apple TV 4 were slow)
  • Add Controller Support for PC, macOS, Linux, Android
  • Add Controller Support for iPad, iPhone, Apple TV (with OS version 13+)
  • Add Achievements via Apple Game Center for iPad, iPhone, Apple TV
  • Add Achievements via Google Play Games Services for Android

Due to limitations of not being a company, we weren’t able to add the steam APIs or any console APIs.

Our biggest learning: The apple remote is mapped to controller buttons and the controller button mapping for iOS/iPadOS/tvOS differ from all other platforms with XInput support.
Consult your engines documentation for supporting controllers for these platforms.
Unity Documentation: tvOS quirks and iOS controller input.

Phase 5: Polish

So here we basically had the game completed, from a code perspective. Our work now consisted of

  • Bug fixes
  • Adding a “X of 3 stars” system to make achievement hunting more engaging
  • Optimizing loading times for old devices (Kindle fire 7 is a perfect test device!).
  • Improving the “level editing experience” (more on this in another article)
  • Slowing down the pace again 🙂

Phase X: What now?

So now the game is technically feature complete, but is still missing many assets. Characters, animation, dialogues, achievement details, sounds, music.

Naturally we are all doing this in our free time, so we are not imposing any dead lines on anyone.
But as a general guide, we meet every 2 weeks and plan to complete one country a month.
As the game should feature 4 countries, we expect to have a mature version of the game around June.
Will we release it then? Who knows! Mature doesn’t mean done yet, but you will probably hear something regarding Doki Doki Ragnarok by then.

Stay tuned and join us on Discord (click here) if you’d like to know more.