News:

Herr Otto Partz says you're all nothing but pipsqueaks!

Main Menu

MicroProse F15 reverse engineering notes

Started by dreadnaut, May 14, 2024, 09:01:39 PM

Previous topic - Next topic

dreadnaut

Today I spotted this series of articles (oldest at the bottom) about reverse engineering the DOS game F15 Strike Eagle II — just a year older than Stunts.

Lots of interesting information in there. and the author also mentions Restunts!

Spoonboy

My first DOS Game!
F15II will always have a special place in my heart  ;D
I wonder what their aim is, and what could be achieved? Would be amazing to play a community-reengineered version.

dreadnaut

It's all explained

QuoteSome project goals:

  • aiming at a faithful, bug-for-bug reimplementation of the original engine, then porting it to a modern platform to be further tweaked, not looking to do a remake.
  • compatibility with original game assets (world maps, plane models, sprites etc.), hence requiring reverse-engineering the custom formats used.
  • clean reversing project, hence I will not be releasing any copyrighted materials such as game binaries or disassembly listings, only the clean source code when it's done.

Frieshansen

I really like articles like this - thanks for sharing.

llm

neuviemeporte's strategy is to reverse the disassembly function by function into C code that produces the same binary code as in the original executable

using the old MSC 5.1 compiler that was originaly used to compile the game (which is the exact same compiler that was used for Stunts)

this strategy is very time consuming and will take easily years to finish - what is typical for reverse projects - for example BladeRunner in ScummVM took more then a decade to finish

the reconstructed C source will be more or less exact the same as the original (except symbol-names, comments, etc.)

based on this C source everything will be possible - porting as is over to other platforms (keeping the software renderer etc.) or replacing the 3d engine with OpenGL, Vulkan, Raytracing... stuff, Resolution changes etc. just everything someone can think of

there is an discord for technical discussion: https://discord.com/channels/819897993624682516/1155564470828007434