Yet another day’s just passed where I’ve been too busy working on CQ2 to write about it, and it’s been forever since the last update! So here goes – a super quick update about everything that’s going on.
- The Android build is currently running through the process at Kongregate. As soon as they’re happy to announce a release date for Google Play I’ll pass it on.
- While it’s been in this process, I’ve taken the opportunity to add swipe controls as an option. This will be in the Android launch and will be in the 1.04 update for iOS going live about the same time. It should make the game much better on bigger phones and tablets.
In the meantime, I’ve been working on the big 1.1 update. Here’s a quick peek at the new class, the Alchemist:
The Alchemist introduces the game’s first crafting mechanic! They’re eccentric potions experts, a bit flaky in a fight but capable of making usable items from scratch and combining poor items into better ones.
And yes, they’re a bit steampunk.
Not only can the Alchemist make and refine items, they also get an extra item pocket… and in this update, everyone can carry up to two identical items per slot, so six slots means up to twelve items. Knowing when to use an item and when to ditch it matters more than ever here – it’s the rapid production and use of special one-shot items that makes the Alchemist a formidable adventurer.
I’ll do a full class update soon. Until then, I’m getting back to work on this and the Endless Mode so I can get them to you ASAP!
Hi all! Another mini patch has gone up on Kongregate today, introducing two big new features. Scavengers will now fight back (and drop cool gear!), and there are a few strange chests scattered around containing some strangely powerful things…
This update is pretty much tidying up loose ends and laying the groundwork for 1.1, which I’ll be putting together over the next month and writing about here – to the extent I can avoid spoilers! I’m hoping Legendary items will add a bit more confusion and mystery to the game now that it’s so well documented. There are several in the game now and I’ll absolutely be adding more.
This week I’m finalising the Android release with the publisher. I’ll be submitting an iOS update to 1.04 shortly as well (which will likely take a week or two to filter through iTunes).
1.04 patch notes below.
CLASSES AND SKILLS
- Thief now starts with an additional Sleep Powder
- Increased minimum damage of all Axes
- Added a selection of super-rare Legendary Items
- Legendary Items come from special chests, which are more common on higher difficulties
- Added a new spell dropped by Scavengers
- Scavengers will now fight you
- Added two new Scavenger-related Achievements
This post’s a fairly abstract look under the hood of one of the changes I’m making to CQ2 for 1.04.
CQ2 is big. Running through all the acts with all the classes is a 20+ hour job, never mind trying different builds and approaches. Getting all the achievements has taken people 200 hours of play time. Our QA consultant estimated recently it would take at least half that time with each new build to make sure everything’s working. It’s no longer possible for me to comprehensively try out changes to the game simply by playing it – not if I want to make a big change that affects lots of stuff and release an update a few days later.
So when I want to mess around with major systems, I do a lot of spreadsheet simulation.
(Mild spoilers ahead.)
The experience scaling in CQ2 has troubled me for a long time. Every XP level takes twice the experience of the previous. Since you normally gain about one XP level per area and enemies tend to show up in two- to three-area blocks, a tough enemy that gives you half an XP level when you first encounter it might only give you 5% ten minutes later. Now, that’s mostly fine! Unlike many games with experience systems, CQ2 has super-tight progression; you can’t wonder into the wrong area. I can fill every area with level-appropriate enemies and adjust their XP accordingly. Until now, that’s what I’ve been doing.
There are just a few minor problems. The first is that XP bonuses and penalties are almost irrelevant, since even halving your XP or doubling it only shifts your final level by one. The second is that the “charge on XP” skills in the game, like Heal and Enslave, become incredibly volatile due to the wild swings in XP between enemies and whenever you level up. You can out-level the enemies nearby with just a few big kills, and then your XP gain drops to practically zero.
So I’m making it better!
The Android build is overrunning a touch. The good news is that we’re down to the last few bugs so it’ll be ready to ship any week now. x_x
Here’s what I’ll be doing once it’s out:
- A quick 1.04 patch to the Flash and iOS versions. Not sure what it’ll add on the Flash side yet; maybe I’ll make Scavengers fight back! The iOS version will bring the new content over from 1.01 through 1.03, add rumble support and hopefully fix a long-standing issue with iOS 5 (if I can get my hands on a phone!). I estimate this will come through in mid-August.
- Patch 1.1, which will add an endless mode and a new character class. I’m aiming to finish this by the end of September for Flash, iOS and Android.
- The desktop version! Goodness knows I’ve had to push this back far enough, but I’d really like to get the endless mode in before putting this up. I can’t be sure yet how long it’ll take to set up a nice desktop version and hook it into Steam, but given it’s already running okay in Flash, let’s say end of October. This will be for Windows, Mac and Linux.
- After that, I’ll work on content updates. How far I go with this depends on how well the new versions and updates sell, but, I’m planning to add some more items and a few more character classes at least.
The last year’s been a bit of a slog, to be honest. Getting the iOS and Android versions running and feeling nice took way longer than I expected. Joke’s on me – it’s the first time I’d done any mobile development and I really thought it’d be quick
I’m working away on the Android build. It’s running on my Galaxy S now, the UI issues are mostly cleared up, so it’s getting there! I’m starting work on the API integration – leaderboards and so forth.
Still, I’m trying to stick to the habit of updating the game every two weeks with fixes and at least something new. So I put aside a couple days and made Patch 1.02!
The main changes are another round of improvements to the Thief, a new skill to find in the world, two new weapons, and some overdue fixes to the Act 3 boss fight.
As before, the updated version is now live on Kongregate.
iOS players: sorry for the wait! I can’t push a build to iOS without testing it thoroughly, which with a game like this takes longer than I’ve spent making either 1.01 or 1.02. For now, these little Flash updates and the feedback I get from them are helping to make sure the next iOS update will be a good one.
- Fixed a number of AI issues in Act 3 boss fight where allies and enemies were often failing to attack or cast spells.
- Fixed bug where game could sometimes lose some progress towards streak achievements when closed and re-opened.
- Fixed bug where consecrated Stealth/Heavy weapons were losing their weapon type and gaining extra stat points instead.
- Flash version now ignores first mouse click when regaining focus.
- Fixed a rare bug that could cause the game to crash between levels.
- Main menu now shows achievement rank number.
- Updated Achievements screen to make room for additional achievements in future.
CLASSES AND SKILLS
- Added new skill “Smite”.
- “Sleep” effect updated. Enemies that are asleep can no longer block. Instead, hitting sleeping enemies will wake them up faster.
- Pugilist “Sweep” skill tweaked to balance changes to sleep effect.
- Thief: Increased base Defense by 1.
- Thief perk “Speed Runner”: increased bonus to +3 faith.
- Thief perk “Bosh”: increased length of daze effect.
- Added two new Stealth weapons.
- Moved Stiletto later and rebalanced accordingly.
- Fixed bug where Act 3 boss, Shiurath, did not have a ranged damage spell.
Okay! Devlog update! What the hell am I up to?
I’m currently trying to beat the game into shape so it can go out on iOS. This means doing a lot of iPhone/iPad specific stuff, fixing a lot of bugs and solving some dull technical problems as quickly as possible.
Like loading screens.
The iPhone 4′s kinda slow. Loading times can be a bit long! A bit too long for the screen just going black to be OK.
Adding an animated loading screen over the loading process would have been easy if I had access to threads or coroutines or could manually update the screen, but HaXe+OpenFL doesn’t have do of this because Flash doesn’t do it. Without any of the above I’ve had to restructure all my level initialisation/loading code, slicing it up into tiny tiny bits until every single bit can run inside a few milliseconds. It’s been a bit like breaking a rock up into sand using only a pickaxe.
I’ve also been doing this in a hurry and without tidying as I go! Which means a whole bunch of my code now looks like this:
I am a bad person.
Just another little thing that probably no-one’s gonna notice and which takes longer than it probably should. They all add up.
This year… I worked on a game.
It’s been pretty rough. In many ways, I feel like I’m still where I was writing my 2012 retrospective a year ago. It doesn’t help that since then I’ve been socialising less to save money and working harder to get things done; I’ve been banking stress and isolation for a while now. I’ve developed regular bursts of depression. Ste Pickford’s retrospective comic cut pretty close for me in many ways, as I’m sure it has for others.
I’ve withdrawn. I’ve posted less on Twitter and hardly posted here at all. My life’s kinda sucked and I haven’t wanted to share that. Even this post’s difficult to write.
But some good stuff’s happened this year too!
- I’ve been working with an artist for the past year, John Attea, who’s been doing a great job redoing and expanding the environment artwork. You can see the general bump in quality in this Let’s Play from May.
- The game got huge. It now has three campaigns, each with new monsters, new environments and an epic bossfight. Even if you never die, I’m pretty sure just seeing the end of this thing is an easy four or five hours of solid gameplay and new content. You definitely won’t have explored all the classes or made a dent in the achievement system by then. I’m super happy with how the game’s come together.
- It now runs on iPhone and iPad and does it pretty well.
- The game was approved on Greenlight and will, in time, be coming to Steam.
Finally, here’s the big one for me personally. It made most of the rest possible.
Late last year I tried an Indiegogo campaign for CQ2 to fund remaining development – which failed. Things were looking pretty bleak, but early this year Kongregate stepped up and took Cardinal Quest 2 on under their new mobile publishing initiative. They saved CQ2 from being pushed out early and unfinished, so a huge thank you to them!
This is another reason I’ve been quiet about some stuff. I’m no longer working by myself, the game has a publisher. I’m frankly happiest leaving business and marketing decisions to them and focusing on the game, so it’s their role to discuss release dates etc. I’m hopeful the forms the game will be available in become clear over the next few months, as our plans come together and – if all goes to plan – the first versions of the game come out.
My resolution for 2014 will be the same as last year’s, I guess: make more games, after I ship this one. I should have a chance to act on that soon enough. Until then, I’ll add a second resolution which I can start work on right now: I’m gonna find ways to heal the situation I’m in and make sure the grind doesn’t pull me back down.
Lately I’ve been revisiting tilemap technology.
Way back last February I came up with the approach I’ve been using for most of CQ2′s development: make a handful of little half-size 8×8 tiles, and the system goes and builds everything it needs from those. It was super efficient… but it was kinda inflexible and obscure.
The new system is not efficient.
This is test artwork, stuff that won’t go into the game, but it shows how things work: every single possible tile, up to 47 tiles for a complete set, is laid out separately. Each one is 16x16px but has an 8px bleed area all the way around so it can overlay the tiles around it, like the high walls in the image above.
The system’s really stupid but it gives you total control. Being able to mess with all the tile variants, and having the bleed areas, means it’ll handle all that stuff in last year’s Boundaries post – and more besides – with no code changes, just artwork.
For now, I’ve made the existing forest tiles overlap the tile above.
It’s a start.
It’s amazing how much time in game development can go on everything but game development. I’ve been using the time I’ve had left over the past week or two to sort out loose ends: minor features and persistent, lingering bugs.
The sort of bugs I’m talking about have been in there for months, uncaught, because they’re just so rare and difficult to ferret out. One which came up a lot but which I’d never been able to track down required you to be carrying five consumable items, drop one to picking up a new item, drop that item to pick up a third item and then go try to pick up the first item again.
Another bug required you to charm a Conjuror, wait for the charmed Conjuror to summon an Elemental (which would also be charmed) and then attack the friendly Elemental with a spell. There is almost no reason you’d ever want to do this.
So I’ve been wandering through the codebase, fixing this stuff, while sorting out a few other minor things – like this Paladin class spell, which now has a unique skill type all of its own:
Another loose end tied up is acknowledgement of your chosen difficulty in game with shinier portrait borders:
I think that’s all the little issues out of the way. Over the next two weeks I’ll be working on big changes to Act 1 to get it into as close to a final state as possible. Here goes!
Last year, I worked on a game.