Defender's Quest 2 DevLog

I hope you keep the name “Enemy City.” That sounds like a good name for a place you would get attacked in a lot.

Hero: “We stopped by Enemy City to get some supplies and a room for a night, but all sorts of people started attacking us!”
Friend: “Well, duh!”

(assuming this is Enemy City)

A Different Hero: “I was looking for a book that was supposed to be at the Enemy City Public Library, but whenever I asked anyone for directions, they would attack us!”
A Different Friend: “Well, duh!”

Does this mean we are going to have JRPG-type towns in this one? (EDIT: Re-read that it will likely be used as an in-game cut-scene.)

The music is sounding good too.

I’ve read it, and I’m really happy with what you are all doing to BOTH games! :smiley:

@Babaganoosh LOL XD


Also eeeeee yay so happy to see another update from you guys! :smiley: if you guys need someone to help proofread the story, I’d be willing to spare my time! :3 (of course, I’ll be torn between knowing the story in detail and being able to play it blind :c)

(Also I think Smug Captain looks kind of cute. You guys will update the website with more in the media and news sections, right?)

Yeah sure, will, as soon as this Humble Bundle madness (and the inevitable post-bundle support burden of bugfixes, etc) calms down:

So, any updates going on? :slight_smile:

Alrighty folks, so I have some updates.

First of all, I’ve been working full-time on the DQ2 engine for a good little while now, and I finally have something to show. That said, we’re still going a little slow on getting DQ2 “CONTENT” up so what I have to show today is engine work.
One of the biggest reasons for moving to Haxe is that it will let us break the game out of it’s wimpy 800x600 borders it was confined to in DQ1. I’ve been spending a lot of time with that lately, and I have a new build ready to show!

So I want to talk a bit about how we do this. I was thinking that we would share early content with our dedicated testers and our alpha backers, and I’m wondering whether this should count as that, and how’s the best way to distribute it. My testing setup for the last game was very ad-hoc and kind of crappy, but I don’t want to not show testers/alphas what I’ve been doing while I wait to figure out a better system. I also am realizing that between my blog, twitter, and this forum, that I’ve kind of fractured the community. I’m looking into maybe finding some way to unify everything with one general “talking about stuff” platform, but I’m not pulling any triggers just yet. (Looking at Discourse for now).

Hopefully we can chat out some solutions here, I’ll decide something, and then you guys can see the build within 24 hours.

I am calling this an “” build for now. (“Aleph” being the letter that corresponds to “A/Alpha” in the Phoenician/Semitic alphabets, which came before the Greek alphabet, thus being the version letter that precedes “Alpha” :stuck_out_tongue: )

So, new build looks like this:

As you can see, it’s using the DQ1 data set for now while we work on building up DQ2’s unique content. So far saves seem to carry over correctly, and you can “step through” most of the game by starting battles. Battles will auto-skip for now as I get the kinks out of the new battle system (not stable yet), but progress is correctly tracked. Cutscenes are also just placeholders for now.

The main thing I want to test is how all the crazy dynamic resolution stuff is going to work. I have a pretty full-featured video menu implemented, and I need to test whether it works on people’s systems, and also work on the UX by collecting feedback from people.

A big part of making DQ2 is ensuring that DQ1’s content runs on the same engine, but this doesn’t mean we’re planning on officially re-releasing DQ1 with the DQ2 engine (though we reserve that option).

Hrm, that’s an idea with a few options attached to it - you could put all of DQ1 in DQ2, and then make it accessible via some menu option or another.

it could be unlocked via a code if you own DQ1… it could be a New Game + sort of thing where beating DQ2 or some DQ-related achievement/challenge would unlock DQ1 as a reward.

Eh, just tossing out random ideas. Still looking forward to hearing more about DQ2 once the ball really gets rolling, so to speak.

Latest “aleph” build of DQ2 engine is up in the usual place. If you have alpha access or are volunteering to put in some testing time, and don’t already have access, ping me and let me know.

Oooh, cool! I’ll pm you to find out where “the usual place” is once I’m on a computer. (Should be tomorrow, I have a long day tomorrow with a long break)

I downloaded this, but still didn’t play it, but from looking at the pic it seems very promising! :smiley:

Okay, today I just dumped a new build of DQ2 for our testers and alpha backers.

Here’s what I’ve been doing lately.

Quick Overview

Right now there are basically three major components to DQ2 development

- Core engine (TDRPG-haxe or just TDRPG for short)
  - Defender’s Quest 1 data set
  - Defender’s Quest 2 data set

The idea is, the difference between a DQ1 build and a DQ2 build will just be data. Right now we have very little DQ2 data in a finished game-compatible form, so DQ2 builds will be very similar to DQ1 builds until they start to diverge as we start rolling in content. However, we’re making continual progress on the engine, regardless of the data set.

This means that when we’re done with DQ2, reproducing DQ1 in the new engine shouldn’t be too difficult. Also, testing the engine using DQ1 data will be a major part of development while we wait for DQ2 content to be produced. So throughout testing we’ll release some DQ1 builds using the new engine. This does not mean we are publicly committed to re-releasing the original game, but it is a thought that has crossed our minds.

In any case, from now on the title screen of TDRPG games will include a version number for both the game data set AND the engine.

Note the lower-right hand corner – DQ2 version 0.0.1 and TDRPG version 0.0.1. The DQ2 number goes up when data in the DQ2 set is changed, and the TDRPG number goes up when I modify the underlying TDRPG engine. 99.999% of code changes are TDRPG changes.


Also, all builds from now on include an automated crash dumping utility that should catch most (hopefully all) fatal errors and dump useful logging material about them.

(CrashDumper is open-source by the way, fork it on Github!)

If (more like when) the test builds crash you should see a crashdump report like this:

Clicking the “show crash dump files” will take you to the game’s directory and show something like this:

This is as complete a crash dump as we can produce. It logs detailed error information, as well as some info about your system (capabilities.txt), and dumps of your save & config data as they were when you started up the game (locale.xml, options.xml, paths.xml, SAVE_SLOT_(1/2/3).xml). It also includes “replay.fgr” which is a record of all your user inputs, so we can replay your game session. And finally, a screenshot of the crash event.

The “SEND REPORT TO DEVELOPER” button on the crash screen will eventually connect to a server utility and send us the report. Of course, we haven’t finished that bit yet so right now it does nothing.

And of course, all of this is optional. Right now the game can’t actually send us any data, but when it can you will always be asked first. And if you don’t want the game logging this stuff, you can turn off those options in the options menu. I am also looking for feedback on a sane set of default behaviors here.

Tester Stuff

So if you’re a tester or alpha backer and want to give us some feedback, tell us what you think of the logging and the crash reporting. If you had experienced a crash error in an early build, try to reproduce it and see if a crash report is generated. If so, be sure to include data from the crash dump in any errors you file on our bug report repository.

So the game will “slowly” become DQ2? :stuck_out_tongue:

Yeah that’s the idea basically :slight_smile: We’ll slowly replace DQ1 content with DQ2.

There’s a new set of builds up now, using TDRPG version 0.0.2, this fixes a lot of video errors, but I don’t think I’ve yet solved the bugs with the batch files.

Please check your bug reports and if I’ve asked for confirmation, see if the bugs still remain with the new builds.

Thanks for everyone’s participation!

Crash reporter really needs a “curl into a ball and cry” option.

1 Like

Alrighty, sorry for the delay, I’ve got a new build out.

I’m building out the party screen, so today’s build is of DQ1. The engine is now up to version 0.1.0, and I’m using DQ1 dataset version 0.0.5.

We’ll be handing stats a bit differently in DQ2 than in DQ1, but still want to preserve compatibility with the original game, so this was a little bit more work than just straight porting the original logic. The party screen isn’t quite finished yet, but the basics are there. It’s also got some rudimentary ability to scale and adjust itself to the size of the screen, will have to do some tests to make sure that behaves appropriately.

Alright, new build out today for testers/alphas.

This is TDRPG engine version 0.1.1, DQ1 dataset version 0.0.6.

The party screen is a lot more functional now. It should even scale appropriately depending on the resolution. Obviously, since DQ1’s art was sprite-based, this is probably going to look really terrible at most resolutions that aren’t 800x600. Still, it’s a good proof of concept for now, and we will be using the higher res DQ2 art soon enough which will use the same techniques.

A LOT of the work I’ve been doing is to get the game and user interface to properly load, scale, and organize assets at almost any resolution. A lot harder than just assuming everything is always 800x600 pixels, forever.

Although the equipment/skills panels aren’t ready yet, you should be able to click on characters and see their stats, as well as any bonuses derived from equipment.

This might seem like a minor feature, but there’s a LOT going on under the hood. For instance, rather than just straight port the legacy DQ1 code for stats and items, I overhauled them both completely.

In the original DQ1, characters always had exactly 1 weapon slot and exactly 1 armor slot, and the game made all sorts of assumptions about this that made things obnoxiously inflexible. For instance, it took an ugly bit of hacking after the fact to let Azra have two weapon slots that both used the same item type (books).

Now, you can specify in data what each character’s item slots should be, so any character can have an arbitrary number of item slots that can have anything in them. Of course, the DQ1 UI assumes just two, but we can use a different UI in DQ2 if we need more items. Also, DQ1 items could only affect one stat at a time, in the next system one item can affect multiple stats if we like (without having to rely on item “specials”).

Stats have gotten a bit of a similar boost. For instance, we’re almost certainly going to ditch the “speed” stat in DQ2 since it was confusing and made you do math in your head, and we might change how armor and defense affect damage. However, the engine has to maintain backwards-compatibility with DQ1.

So what I’m doing is adding variants of certain stats. Instead of just “defense” now there’s “defense_abs” and “defense_mult” as well as “defense_cap.”

“Defense_abs” is absolute, linear defense. A straight damage tax on incoming damage, DQ1 style.
“Defense_mult” is a multiplier, basically a “absorb 20% of damage” thing. We’ll probably use this in DQ2.
“Defense_cap” is a % cap on all incoming damage. If your defense_cap stat is 0.8, then no matter what crazy combination of defense_abs, defense_mult, and armor you’ve got, you can’t even avoid more than 80% of incoming damage. Of course, set this to 0 and you can avoid as much damage as you like.

Data files in each game’s data set will specify what the canonical stats are for that game, and the user-facing names of the stats will be similarly data-driven.

So in DQ2, character’s defense stats might use “defense_mult” and in DQ1 they use “defense_abs”, but in both cases the user will see that simply as “Defense.” Of course, the tooltip explanation will reflect what is actually happening under the hood.

Sounds like it would balance the game a bit, just make defense_mult be some very weird calculations, like the actual efect depending more on the wearer’s level innstead of giving the bonus straight away. If the wearer’s level is too low compared to th equipment’s “reccommended level” the bonus will be less effective, but if it’s too high… well the same happens, unless you add a required level parameter too.

How’s she coming along?

I really need to update this thread more. I’ve gotten a little lazy since I started relying on the progress tracker.