Okay, today I just dumped a new build of DQ2 for our testers and alpha backers.
Here's what I've been doing lately.
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.
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.