I suppose it would be disingenuous to start this post as if I didn’t fall off the face of the earth for the past month and a half or so. I only have one excuse:
I had been debating on if I was going to (attempt to) get a Nintendo Switch and Breath of the Wild for quite some time. It just so happened that I finished my last milestone (all the work with the Inventory UI) the day after it was released, so I looked at it as the perfect stopping point. Usually, I would have left well enough alone, but look folks, this is Zelda. These games only come out so often, and let’s be honest, it’s been a huge source of inspiration for me my entire career. I had to do it. And I don’t regret it one bit. It was on the best gaming experiences I’ve had in a long time, damn near ever.
And now, I’m fully refreshed and ready to go all in on game development again.
State of the Union
This month’s State of the Union is obviously a little weird, coming so close to the end of the month, and the work I’ve done only amounts to about a week or so. But dammit, I knew I was ready to jump back into development, and jump back in I did.
For a while, I had wanted to implement a full game cycle into the game. More specifically, I wanted to be able to start at a splash screen, go to a title screen, start a new game (prototype in this instance), complete it, and end up at the title screen again.
The first thing I had to do was create a fade in/out class. I think I’ve been too used to working with various modding tools over the years, where this logic is already implemented for me. I half expected there to already be something in the core set of tools that would allow it, but alas, I had to roll my own solution. It wasn’t too difficult, and I’m not able to start a fade in or out, as well as specify how long it should last. Later on, it’ll probably be a smart idea to add some sort of callback, or message, or something like that to run automatically when the fading is done.
For anyone who’s watched any of the newer Rose of Eternity – Family & Country YouTube videos, this won’t be anything new to you. A few years back, as I was preparing the various marketing materials for that game, Oli Ferrando cooked up this little B.R.C. Productions animation. So it only made sense to have that in the game as the starting point.
There’s some weird trickery involved on the Unity side with regards to playing movies, but I was able to have a solution up pretty quickly nonetheless.
When I first started working on this game project, before shelving it for a month and then coming back, the first thing I worked on was a title screen. It was mostly to familiarize myself with Unity’s UI system, and also, it just made sense to have this as the starting point of the game. Later on, when I came back, I was all into tile map generation and whatnot, and sort of forgot about this. So, here we are.
Most of the work here was making sure that I used the right canvas settings so that the image and buttons showed up at a decent, scalable resolution.
Mission Objectives Panel
This was my first attempt at a mission objectives panel. Pretty standard issue stuff here, was mostly just trying to get something up for prototype reasons. The wording will obviously change, and hopefully, be data driven and come directly from a freshly loaded map file.
Sort of unrelated to this work, but one of my biggest goals is to have A LOT of variation in each mission you play. I don’t want it to fall into the pattern of “defeat all enemies” or “escort this NPC to this spot”. It’s going to be difficult, but I need to make this game stick out, and one of the main things is no filler missions. There have to be enough differences so that the player never feels like they can just put things on cruise control.
Post Mission Panel
Well, if there’s a mission objectives panel, might as well have a post mission panel as well.
You’ll notice the Luminary and Accomplice titles given to Aramus and Orelle. I haven’t implemented anything yet, but I’d like to keep track of how each mission plays out, recording things like:
- Who does the most damage
- Who kills the most enemies
- Who does the most supporting of other allies
- Who was the MVP/All Star
The idea is to keep track of these things on a mission level and show these final stats at the end, possibly rewarding bonus experience points or something to that effect. I’d also like to keep track of these things on a global level, just as a little extra thing you can potentially look at in between battles.
The rest of this month is going to be spent on doing things that are very important to this game, things that the player won’t ever see/think about: data loading/unloading.
I plan to keep all sorts of things, like attributes, items, tile maps, etc., contained within JSON files, and load them up dynamically as the game starts. Right now, I’ve sort of been hacking the system by hard coding these existing values within certain temporary class files. Now is the time to start moving the hard-coded values to their proper place.
Ah, it feels good to be back!