Very Promising Progress

Posted on June 12, 2015 in Dev Journal: Omesa | 0 Comments

screencap-20150612I'm going to try to keep this update short - but I'm getting very excited about progress using Konva and Backbone, and I feel the need to share it!

We've officially restored the pre-battle alpha version of the game, seen on the left - with some improvements even. That's roughly 60% of past progress restored.

So far with Konva, there have been zero roadblocks - things I could do with Kinetic that I can't do with Konva - and several much-needed improvements and pleasant simplifications. The animations even seem smoother and more crisp, though that's likely just the progress-induced euphoria talking.

Backbone is proving to be a valuable addition as well - it facilitates complex event coordination with beautiful simplicity. When the player enters the crack in the wall, a lot has to happen for a map transition to take place. The map controls are disabled, the curtain drops, and an ajax request for the new map data fires all at the same time - then the map rebuilds itself to the new layout. Once all that is done, the player gets positioned in the new map, the controls are re-enabled, and the curtain is raised. Pre-Backbone, getting this done was like creating a game of D&D from scratch: coordinating and balancing combat difficulty, character sheets, economy, and house rules, all to create a story. Backbone's view management and routing makes it more like a choose-your-own-adventure book - we fire a single instruction to the game core, Backbone turns the page to 49, and the story continues.

After just a couple weeks of learning the new particularities of Konva and experimenting with Backbone's capabilities, I didn't expect to get this far this quickly. It warms my heart.

The next step is to get a battle system up and running - but sadly, I don't anticipate that going as quickly. There are several aspects of the old battle design and interface that I'm not happy with, so this is going to involve more rebuilding/redoing than the map interaction did. Regardless, I expect progress to continue at this clip - stay tuned, more coming soon!


Welcome, Konva!

Posted on May 27, 2015 in Dev Journal: Omesa | 1 Comment

I've been searching far and wide for a worthy successor to Kinetic, and it has been a bit exhausting. Going back to the late 2000s, there are dozens of libraries out there - almost all of them seeming very capable. The problem is, they didn't seem to match Kinetic's reductionist philosophy; too complicated in execution, or too much "think-for-you" structure. Several of them are geared specifically to making a certain kind of game, like a side-scrolling shooter or a Metroidvania platformer.

The other interesting thing I found is that Canvas libraries seem to have hit a peak in 2012-2013 - very few of them have published recent updates. This made me ask some hard questions. If most libraries aren't updating, do I just stick with Kinetic and enjoy it's remaining lifespan? Do I accept that different libraries have different philosophies, and learn to adapt to a more complicated execution like Pixi? Something about these just didn't sit well with me - there had to be a better answer.

Then, late one night, right as I was about to give up and settle for less, I found it. A gem called Konva. A direct branch of the farewell release of Kinetic, and its immediate spiritual successor. My heart skipped a beat - can this be real? It sounded too good to be true, and I didn't dare jinx it - I decided to plug it in, play with it for a week, and only let myself get excited once I was sure it was as viable as Kinetic itself.

Thus, I'm pleased to announce that, after a week and a half of developing on Konva, Omesa is starting to come to life again. The new author, to his great credit, is already making wise and helpful changes to the core. It hasn't been without complication, since a lot of superfluous and poorly-designed features are already being removed or transformed - but I can now say with confidence that Konva has what it takes to be Omesa's beating heart.

Keep an eye out in the coming days/weeks - we've already covered a lot of ground toward getting Omesa back on its feet, and new updates are soon to follow.

Thank you, lavrton, for revitalizing one of the best canvas libraries out there - and welcome, Konva!


1 Comment »

Fresh Start

Posted on May 7, 2015 in Dev Journal: Omesa | 1 Comment

I took some time off over the fall/winter to focus on work and family, and I'm glad I did - things got really busy. I didn't even notice that this site was broken for months. Now that I have free time in my life again, I've patched the holes in DG's digital roof and am chomping at the bit to get back into game dev.

That's the good news - I'm back. The bad news is, in the time that I've been gone, the Kinetic canvas library was retired. This is the workhorse that was powering Omesa, and I mourn its loss.

I find myself faced with a choice; keep using Kinetic, or find a new foundational library and discard the bulk of the work I've done so far. The latest Kinetic build has some known bugs, but it's still stable enough that the game can stand on it for some time to come. On the flip side, sticking with Kinetic is riding a train heading for a cliff. Even if the cliff is potentially hundreds of miles away, we're going to have to jump at some point - and the more intricate Omesa becomes, the more work it's going to be to transition it to a new library.

Considering that and some new-to-me technologies that I've been working with at my place of employment, I'm opting to start over with something new. It hurts to lose a lot of the progress I've made so far, but looking back at some of the homebrewed code I wrote to control the game, it's also a relief to have a chance to redo some things. In particular, I've been treating the game as one poorly-defined view with a bunch of muddy, incestuous states that all attempt to track each other. I want to build up Omesa using Backbone, which should make things much more clean and modular, and discard about of 1/3 of the state-management code I wrote myself.

Can't promise weekly updates or anything like that - but I'll post progress when it's exciting enough to talk about!

1 Comment »