Weekly Wrap-up #20

Another decent week wrapped up.  Major focus again this week was on the Spriter integration and performance improvements related to it. I also sneaked in a few bug fixes (although some of them I also introduced during this overhaul).

Here are the completed items for this week:

  • Continued working with animations and connecting them into the game using the Spriter API I modified. Although I’ve removed some minor features, the performance of the API has vastly improved from when I first started working with it. Although now it’s based strongly around LibGDX libraries making it less versatile for other graphic libraries.
  • I’ve been spending a lot of time this week working on initial game loading time. So far I’ve worked it down from 60 seconds on larger devices (tablet) and 90 seconds (cell phone) down to 10 & 30 seconds. Not too bad overall. I’ll continue the effort in the coming weeks also. The desktop is not a concern luckily as it blows right through the data.
  • I also spent some time working on smoothing out some of the animation movements within the game and adding additional creatures.
  • After some testing I’ve changed the zoom on larger devices so that the game feels less “far away” when using higher resolutions. (the sprites were just too small to enjoy)
  • Testing also suggested that we’re going to make “Sequential turns” the default combat style. I’m considering making it the only one also. Having all monsters & characters attacking at the same time started feeling too chaotic and you were spending more time in the menu’s than watching game play.
  • Found out that the tiny bit of music I did have was in the wrong format which was causing additional FPS drops in smaller devices. Changing the format helped gain some performance back in those devices.
  • Made some changes in the display code to make adjustments for lower FPS devices (cell phones etc) that speeds up the animations when the FPS drops keeping a more consistent feel to everything for times when it drops lower. I’ll continue improving this area as needed.
  • [BUG FIX] Tiny monsters were not getting their minimum experience (1xp).
  • [BUG FIX] The inventory window on adventure mode was crashing due to data loading changes.
  • [BUG FIX] NPC animations and path creation is now working again.
  • [BUG FIX] NPC conversation window is working again.
  • [BUG FIX] Original Spriter API did not properly consider character maps with changed pivot points.

Things I think I’m going to look into this coming week:

  • I’ve made an absolute mess of the code base while working in all the new Spriter code. I need to go back through and do some major cleanup before I go onto anything new.
  • I want to change the targeting window system to be a little more clean looking by removing the window itself and making smaller icons to represent the same idea. Then we’ll hide the main UI and display those. Should, in theory, provide a less cluttered looking while targeting in combat. I’ll post more on this later once I start implementing it.
  • Now that we have things more settled, I’m going to look further into assigning weapons to Spriter character maps so when a character changes weapons, their sprite will also get a new weapon. We are planning on limiting weapons to “types” of characters, but haven’t given it much thought beyond that just yet. For example, an archer would always have a bow, but can still “slash”; she’ll just be using her bow  instead of a sword !
  • Going to continue adding in the remainder of the existing animations I’ve made so far (skeletons, orcs and all 50 small animals.
  • I’m also going to work out the remaining details on the “big animals” because the “mistake” I made (see below) were just too cute not to keep for later.
  • Someone might have forgotten to make the “dance” animation for the player characters. Thinking I should try and get those done soon 🙂

Just for fun: My first attempt at putting enemies onto the screen !

Hmm, I think my little animals might be a bit too big
Full combat session demo

Leave a Reply

Your email address will not be published / Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.