Dev Log

Okay, some things I’ve gotten done today, Wednesday, April 18th, 2012:


Also stuff from a few days before.
-Started integrating Zhi Jiang(our tile artist)'s new tiles
-Fixed some minor bugs
-Fixed bajillions of crash bugs I introduced with the graphics pipeline for rudimentary mod support
-Added a super secret location that does super secret stuff
-FIXED the chill/slow stacking bug
-Working on the new status effect info for enemies/defenders

beggity beg test build please :slight_smile: . We don’t need all fancy bells and whistles release candidate, just something to play with to test supposedly fixed bugs. And a list of those fixes. (I can see nothing changed in bugzilla, so I assume that these were not reported there.

I’ll try and get one out today! After next compile I’ll get the windows build up.

Update: compile’s done. Packaging windows build.
Update: packaging’s done. Uploading windows build as version 0.9.04

New test version is live. Apologies if it breaks lots of stuff! Now I’m going to check in on my bugzilla backlog and update some things.

Big thanks, off to give it a go. Now, what stuff has been fixed that can be tested?

Lemme see, I’ll update this post with a list. I’m going through bugzilla and flagging things as “potentially fixed” in the comments.

-The memory leaks on the overworld and party screen.
-The chill status effect stacking (ie, sleet will make ice ball-slowed enemies speed up)

  • Healers not attacking when boosted to level 5 and have “heal” priority
  • Can sell unique items via quick-equip interface

öhm… where do i even get those nw build? I have “FULL Version #0.9.01” but i keep hearing that there are new test builds… is there any way for me to get those as well?

@Yinan:

Send me a PM with a request and I can make you a tester.

Wednesday, April 25th, 2012


I just finished basic mod support. You can read about it http://www.defendersquest.com/theforum/viewtopic.php?f=12&t=283.
It is now basically “working,” but is a bit unstable and likely has lots of bugs. It basically works though!

Mod support will allow you to do everything from simple data tweaks to “full conversions” of the game. I have exposed every single piece of data in the game to editing, as well as all of the graphics. Audio support is coming, right now you can only use the embedded stuff.

I’m going to try to fix some bugs, and integrate some more art today.

Friday, April 27th, 2012


Okay, doing some optimizations in the code to fix some recent slowdown that’s been cropping up.

The old was I was doing sprite recoloring was apparently really slow. When we got the new berserker sprites with lots more animation frames, the result was quite noticeable. The old way was using a pixelbender filter, which, though better than a million getpixel/setpixel calls, is apparently ten to a hundred times slower than BitmapData.threshold(), and way more complicated to boot.

Now there’s no noticeable lag between when you click to place and when a defender appears :slight_smile: This is great news because I have a lot of hacks in the code that assume recoloring is slow (this is the bulk of the “loading” when you start up a save file - pre-caching character colors). Now it can be done in real time, so hopefully I can ditch that 5-10 seconds of loading.

Tuesday, May 1st, 2012


-Fixed some bugs with healer logic - apparently all their attacks were set to priority “3” leading to some strange behavior.
-Added the new art for rangers
-Added the new art for healers
-Added new effect art for healer attacks

Minor change with a big effect: If you boost a defender while they are still playing the summon animation, the boost animation overrides the summon animation. Previously, it would detect the “interrupted” animation and resume playing it after the boost. Now, it won’t do that so boosting a character right out of the gate won’t force it to play two animations. This will result in a slight advantage to the player, but I don’t mind, and it might be offset by slight changes in the animation lengths of the new art.

Healer logic has been a constant problem since the very first release, and I’ve been slowly fixing little things one by one. In addition to fixing the priority problem (which caused the healer to always prefer “ether flash” to the stronger “holy light”), I noticed that the healer wasn’t always firing when enemies were in range. Turns out this had NOTHING to do with targetting logic (ie, “both/heal/fight”), but instead was a problem with the AOE damage radius calculation. Most of the calculations in the game assumed a circular radius and weren’t handling the fact that the healer has a square area, and on top of that I was using half the range (confusing diameter w/ radius) I was supposed to in various places.

I think I’ve fixed all this, so now Healers will fire their attacks when they detect enemies in the corner of their range, and will hit the enemies!

Tuesday still:
-Added an import script that silently fixes berserker colorization from old files to match the new color palette in the new art. This mostly works for generic healers as well, totally broken ATM for rangers. Will fix soon.

Wednesday, May 9, 2012


Okay, so things are progressing pretty nicely, though I’ve been too busy to post enough development updates and let everybody know about them :slight_smile:

Art update! Before I said we were at this:

— Begin quote from ____

Background Art: 80% done
Character art: 40% done
Tile art: 35% done

— End quote

Now it’s more like this:
Background Art: 98% done
Character art: 60% done
Tile art: 50% done

James and Anthony are finishing up the writing / design for our sidequests, and Karen has just about finished all the background art so I’m nearly done integrating that. Tyvon has finished the new sprites for Berserkers, Rangers, and Healers, and is nearly finished with Knights. The first three are already in the game, I will try to get a test build up today if I can.

Click on the berserker for a link to a mostly-up-to-date sprite-dump
http://files.fortressofdoors.com/images/chars/imgs.html

When Tyvon finishes all the sprites, I’ll give him a crack at designing a new skin for the UI to help tie everything together.

I’ve done some minor redesigns to the UI, as I felt it was really wordy, which makes it intimidating for new users and hard for experienced users to see the most relevant information at a glance. To that end, I’ve started replacing stat names like “Attack” and “ATK” with little symbols.

Symbols are not perfect, and can be ambiguous, but I feel I can overcome that by pairing them with a tooltip. Honestly, a three-letter acronym is about as difficult to understand as a symbol, and a symbol takes up less space and looks less awkward. It also gives me more room for digits so there’s less risk of running over.

This way, once you know what the symbols mean, you can just glance there to get at the info, without the name of the stat competing with the number for your attention and generally cluttering up the interface. New users who are confused can mouse over it and see the name of the stat and a description of what it does.

I made the offensive stats red and the defensive stats blue. I used a sword for “attack” and a shield for “defense.” Those are obvious choices. For speed, I used a winged boot, and for regen I used a blue cross. For range and evade I didn’t have any great precedent, at least not that would fit in 16x16 pixels. I wound up using an arrow for range, which isn’t perfect because it could also imply “speed,” and for evade I was truly stumped - the best I could do is a little ghost. This is my weakest symbol for sure but I couldn’t think of anything else that I could actually draw in 16 pixels.

I’ve also cleaned up the defender interface a bit. I figure you don’t really need to know how much XP a defender has in the heat of battle, and I was already showing that in two places - in the summon menu, and on the defender select panel. I figured if you absolutely need to know that info, you can go to the summon panel and mouseover the stat. Otherwise it’s just clutter.

I’ve added a status effect panel for enemies, can’t remember if I mentioned that before. Each icon has a tooltip that lets you know what the stats are, and updates in real time.

This gives me room for a little panel where I can put active status effects, like we have for the enemies. Haven’t implemented that just yet.

Also, I added mouseovers for Enemy previews, so you can get relevant information before a battle:

I’ve been working on the cutscenes as well, integrating all this awesome new background art, and lots of other things. I’ll post more info soon, and I’ll let you know when the new test build is up.

1 Like

That post made me all happy inside. :wink:

The new battle sprites are a huge improvement. The animations are more fluid and varied, their summon animations are just sweet, my only concern is how they’re going to look when a unit has some attack speed passives and/or a high level Inspiration effect on them - I mean, the basic attack of a Berserker can get down a rather ludicrously low fraction of a second, and his swings are going to look like spastic twitching if you play them 1:1, aren’t they? But then again, what do I know about animating sprites? I’m sure if it looks goofy you guys will find a solution.

Also, digging the new Azra icons - she looks much more like herself now. :wink:

The new UI looks to be shaping up nicely, as well. Being able to preview monsters before a fight is amazing; no more “start battle, place 8 units, get ass kicked, exit battle” - you can now read a couple tooltips and decide whether you think your Party is capable or not. (12,000 HP and 80 Armor!? Yeah, no.)

As for the Stat Icons… hrm… what about something like 2 crossed swords and a red circle - or alternatively, a tiny little figure with a red radius around them - for Range? At the very least, it would be an icon that mirrors what you see on the battle map for a character’s attack range, and would eliminate any confusion with the Speed Icon.

Dodge is much trickier, especially with such small Icons. While the ghost is weird, it’s better than something lame like using tiny little “EVD” letters as an “icon”. The only thing I could come up with is a tiny little guy holding up a disproportionately large blue shield to one side (as though he’s shying away from something unpleasant), but that’s not really dodging so much as it is blocking an attack. /shrug

At any rate, really looking forward to the Gold version. Keep up the great work!

This just made me want to play it again. I will now find time to play.

I am so excited about the new update and new art! I would love a before/after blog on this too. It’s so awesome to compare the two!

New test build, 0.9.06, just went up on the test server. Aside from the all the features I’ve mentioned in this dev log, it’s also got my latest attempts at fixing memory leaks here and there. Healer/berserker/ranger have the new sprites, and almost every cutscene is updated with new backgrounds.

I have no idea if I’ve introduced crazy crash bugs. That’s what testing is for :slight_smile:

I just got new tiles from Zhi Jiang (our tile artist) today, and the last of Karen’s backgrounds should be ready tomorrow. I’ll integrate that tomorrow.

As of this post the new build is still uploading, so if you’re reading this right this minute, wait about 10 minutes before trying the new build :stuck_out_tongue:

Very nice updates, I’ll download it now to test! Anyway, good job on what’s already done!

— Begin quote from "Marak"

(…) my only concern is how they’re going to look when a unit has some attack speed passives and/or a high level Inspiration effect on them - I mean, the basic attack of a Berserker can get down a rather ludicrously low fraction of a second, and his swings are going to look like spastic twitching if you play them 1:1, aren’t they? But then again, what do I know about animating sprites? I’m sure if it looks goofy you guys will find a solution.

— End quote

Well, nowadays animations still take the time they need regardless of cooldown. Let’s say, if your cooldown for basic attack is 0.2 sec but the animation takes 0.5 sec to finish (i think that’s how long it takes), it will take the whole 0.5 sec with the bar for basic attack empty and then, after the animation finishes, its bar starts to fill again, taking a whole 0.7 sec between each basic attack if you have Boost 1 on the berserker. For higher levels of boost, while one attack is recharging the character can still use others, but every attack must do the entire animation.

What could happen is, if the animation time for the new animations is different from the old ones it would cause a change in gameplay, actually making characters faster or slower.

— Begin quote from "Marak"

The new UI looks to be shaping up nicely, as well. Being able to preview monsters before a fight is amazing; no more “start battle, place 8 units, get ass kicked, exit battle” - you can now read a couple tooltips and decide whether you think your Party is capable or not. (12,000 HP and 80 Armor!? Yeah, no.)

— End quote

I second that. IMO that’s the biggest improvement in this version :smiley:

— Begin quote from "Marak"

As for the Stat Icons… hrm… what about something like 2 crossed swords and a red circle - or alternatively, a tiny little figure with a red radius around them - for Range? At the very least, it would be an icon that mirrors what you see on the battle map for a character’s attack range, and would eliminate any confusion with the Speed Icon.

— End quote

Another idea I had before reading yours is to use 2 arrows side by side pointing to different sides (like that: <- ->) to indicate something like distance, which is closely related to range.

— Begin quote from "Marak"

Dodge is much trickier, especially with such small Icons. While the ghost is weird, it’s better than something lame like using tiny little “EVD” letters as an “icon”. The only thing I could come up with is a tiny little guy holding up a disproportionately large blue shield to one side (as though he’s shying away from something unpleasant), but that’s not really dodging so much as it is blocking an attack. /shrug

— End quote

Evade/Dodge is hard. The best I could think for an icon was to draw a man (only silhouette) like he’s moving back with some horizontal lines on his front (or the same figure drawn once or twice in front of it in lower gradient) indicating movement… but I don’t think it would work for 16x16, it would be more like 48x48.

— Begin quote from "nothlione"

Evade/Dodge is hard. The best I could think for an icon was to draw a man (only silhouette) like he’s moving back with some horizontal lines on his front (or the same figure drawn once or twice in front of it in lower gradient) indicating movement… but I don’t think it would work for 16x16, it would be more like 48x48.

— End quote

Maybe a little figure doing an exaggerated cartoon duck, where he’s bent nearly double (as if to avoid something thrown at his head) with some motion lines somewhere? I dunno, I have a feeling the Ghost icon is probably going to look cleaner than anything I can come up with…

I think you could improve the icon for Range by making it less of a “universal iconic directional arrow” and more of a “missile fired from a bow” type arrow. Instead of the current -->, make it more like >->, with fletching, if you see what I mean.

Monday May 14th, 2012


Checked in on bugzilla for the first time in far too long, there’s some serious bugs in there! I took a whack at fixing some of the worst ones and will try to get some more by the end of the day. I’ve got a new build up on the test server, FYI, we’re up to 0.9.07+ now.

The worst bug I fixed was one that makes you never get any rewards from battles, ever other than XP/Scrap from directly killing monsters.

I should have noticed this when the reward music stopped playing - that was tied to the reward object not being null… anyway, that’s fixed, or at least it should be.

I’ve been working on the memory issues as well and hopefully that will be better this go round, but there’s no guarantees it’s fixed. I want memory use to be vastly improved by the time we ship gold. I’m going to have to do a lot of boring accounting today which will take away from Dev time, but I need to do it to make sure my team gets paid :slight_smile:

I’ll check in later today if I can with updates. There’s a lot of new art I still need to get in, which is really exciting, and I’ve got some high priority bugs I need to fix.

Responses to above comments:
@AlexxKay, I definitely think a fletched arrow communicates range better than a symbolic one, the only problem is that it might make people think it only applies to ranged attacks rather than melee ones, too. A sword is pretty universally associated with attack in games by now, but having both a sword and an arrow might make the player think they’re tied to those specific attack categories… and you can see how quickly this gets really confusing :slight_smile:

@Marak: I tried a bunch of variants of this, but it’s just so hard to get a stick figure to resolve in that tiny space. I tried doing the “stick figure in a circle” for range icon, but that didn’t work either at 16x16.

@Nothlione: I might try the double-sided arrow, that at least takes off the ambiguous association with “speed…”

I’m totally open to suggestions on this one, but the proof’s kind of in the pudding - if you think you can make a better icon, upload a drawing of it and if it’s better than what I’ve got, I’ll use it :slight_smile: (Provided you offer it under CC or public domain licensing).

UPDATE*:
Just found a major crash bug I introduced into 0.9.07. Will try to get a fixed 0.9.08 up ASAP.