🐞Bug, 🐛Bug, 🐜Bug Fixes + 🧚🏻♂️New Features for Improved Mobile Gameplay
If you're checking my dev blog out for the first time, this blog is about my journey while creating the The Girl Who Knew Time, a game I wrote and currently developing! You can check it out here in the Google Play Store .
There were a few little bugs to clean up before starting Episode 01, so I focused on these the past 3 weeks. I was really aiming to fix all of them in a week, and I almost did—until I didn't. Sigh, 'tis the life of a sole developer.
💪🏻😍New Purchasing System + UI & Improved Security
Bug fixes were actually complete in a week. Still, I ended up spending the last two weeks styling the new Purchasing UI, customizing code to improve purchasing security, and finding time to work while raising my little now walking one year old—he's so cute!!
Receipts will now be validated by the server and Google Play—as well as Apple, etc. when the full game is released for iOS in about 6 months or so. Currently, I'm releasing one episode at a time for Android.
Receipts are now saved on the user's Google Cloud and updated when the game is initialized and when they purchase.
I've also added several other fixes to improve both UX flow for users and security. Designing the Purchasing UI also took some time. UI Sound and animation were also added here, as well as some beautiful images from our artist.
Implementing this feature is vital in order to start creating the new Time Warp feature in the game—where players can reverse time and go back to a previously played part of the story to change the future—as it's partially dependent on the user's purchases. The Time Warp feature will be included with Episode 01's release.
Lack of internet or faulty networks can cause server issues. For example, save files, not being saved properly, or weird receipt validation rejections. In the next update, I will implement something to make sure a user has internet before sending anything out etc. I'm also thinking of creating an offline queue or something—similar to how Service Workers work.
🖖🏼 Vulkan API Introduced
There were a few phones that had crash issues due to memory and graphics. Memory is its' own problem ie. if the user doesn't have enough on their phone—but at least for graphics, I've introduced the Vulkan API into the game.
This was intended to reduce CPU load, computing power, increase performance, and reduce taking battery life.
The game also includes OpenGL ES 2.0+ and OpenGL ES 3.0+—specifically, it checks which of the APIs are best to use for the device on hand. I think it's important to note I had to add these in a specific order. You see, if a user's phone can use the Vulkan API, they will also be able to utilize OpenGL ES 3.0+. Thus if I had OpenGL ES 3.0+ placed before Vulkan in the order of device checks, Vulkan API would never get called. Currently, if a users' phone can't use Vulkan, their device will check OpenGL ES 3.0+, then OpenGL ES 2.0+.
Vulkan is supposed to provide numerous advantages over other GPU APIs, enabling superior cross-platform support, better support for multithreaded processors, lower CPU load, and a pinch of OS agnosticism. It should also make driver development easier, and allow the pre-compilation of drivers, including the use of shaders written in various languages.
🎉 Game Now Works in Landscape Mode(Both Sides)
Previously, the game was configured to work in a single landscape mode—you would be able to play on the right side landscape mode only. Now you can flip between right and left landscape mode seamlessly. Previously I kept this mode due to camera effects issues, but that's also all solved now...Yay! 😁
💅 Website + Social Links Updated
Our brand new updated beautiful website and social links were added. I'm also planning on writing a lot more for our blog + sharing with other developers what I've learned(it's the first time I'm developing anything for Android + creating a game using Unity and C#).
🐞 Medium-Sized Bug For Sound And Animation in Pause Menu Fixed
Within the pause menu, there was a bug where the sound and animation wouldn't work, but now that's fixed too, woohoo! 🙌
⏩ Skip Button Available Earlier
Last but not least...
During initial gameplay, the prologue starts by playing a vision from Catherine's past, then right after you're able to chat with her.
If you played through the Prologue and want to play again to try different paths, you were only able to see the "Skip" button because you've completed it.
Now if you haven't completed the Prologue but at least played through the beginning— Catherine's visions, you'll see the skip button, even if you quit right after/restart the game.
Oh yeeeah, conveeeeenieeeence 🎉!
Version 1.41 - December 13th, 2020
Here is the full list of new fixes/features.
- New Purchase Menu UI and Purchasing System implemented in Pause and Time Warp Scenes(Purchases were reset)
- Added Vulkan Graphics API support for devices having crashes due to graphic issues.
- Can skip prologue right after watching rather than after completing the entire prologue(a few seconds in the prologue, a skip button appears)
- Fixed Bug that stalled the game after completing the prologue.
- Reduced bloom on some text for players who were seeing it as blurry.
- Added updated website/blog and social links
- Ability to turn mobile device left or right
- Sound and animation now works in Pause Menu
- Reduced build size with downloaded content
- Cleaned up a ton of code
- Several other minor fixes
We're still working on Episode 01.
It should be released in Febuary. Meanwhile, if you enjoyed the read and want to learn more, follow me and stay tuned for updates.
Checkout the game's origin story while you wait.