Tuesday, August 8, 2017

Kingdom on hold

I've finally reversed the whole hardcoded logic again for the demo (because BinDiff wasn't able to handle small changes in giant functions). The positive part of that is that it made me point some small bugs I fixed in the full version.

At this point, the engine is only missing the MVE video player. I don't think I'm able to handle that myself despite TMM pushed the missing opcodes in ffmpeg. So, the engine is on hold undefinitely (at least until someone is willing to help me with that player).

I'm still tossing a coin to decide what I'll work on next.

Monday, July 3, 2017

Kingdom - Day 22

1 week has passed... Here are the most noticeable changes in the code since the last post:
- Implement PlaySound
- Add code for savegames
- Implement the timers
- Implement SaveAS and RestoreAS which are used to save/restore parts of the screen when switching to/from some specific game areas (inventory, map...)

At this point, there's only 1 function which is still stubbed, used for displaying some icons (I'll look at it this evening most likely). As soon as the video player will be implemented, I'll start a playthrough to see if there are bugs in the hardcoded logic. I expect some in the first group, as it was the first one I reversed.

Special thanks to waltervn and to SylvainTV for their help on the timers and the weird way it's hooked in the original on int 8h

(and sorry, no fancy screenshot this time again...) :)

Monday, June 26, 2017

Kingdom - Day 15

Another milestone has been reached! After only 15 days of development, the engine contains now the complete hardcoded logic of the DOS version. We still have to compare it to the DOS Demo version, and we expect differences of course... but still, it's an important milestone for this little project :)

The map input has been implemented too, which means the game is now somewhat playable without videos and sound. Yes, it's a bit annoying for a FMV game, but we're working on that :P

Expect more news soon, with new screenshots this time!


Tuesday, June 20, 2017

Another milestone reached

The past week has been spent on stabilizing the current code (on my side) and on contributing a patch to ffpmeg so it handles correctly the previously undocumented opcodes we encountered (that's for TMM). I also spent some energy on the user input, which is composed of several large hardcoded logic functions. After a couple of fixes this morning, a step has been reached: the game starts (no video player nor sound yet).

Main Menu:


First screen of the game:


Hopefully we'll have soon another milestone to announce! :)

Tuesday, June 13, 2017

After spending the last year (Yeek!) on the GSoC and on the cleanup of DungeonMaster, Lost Eden and the epic Plumbers Don't Wear Ties!, I'm now busy on a Top Sikrit project with TMM. TMM badly wanted to work on a FMV game engine, and I had (what a surprise) suggestions... :)

During the past two weeks, TMM made wonders on undocumented opcodes of the MVE format and I spent this time on the hardcoded logic, because I'm masochist :) In order to give an idea of the progress so far, I have reversed the logic group 1, 2 and 4 (out of 4).

We started an engine in a currently private branch a couple of days ago, and I even managed to fix my first bug in the common code (which I usually don't touch to avoid a disaster), in the IFF decoder :)

So the first screen of the game is now showing properly!

Don't ask me which game it is, I won't tell it. It's Top-Sikrit.