RE an old DirectX7 game client to extract its camera/transition/scale logic for a remake (Three.js)
Budżet: -
HOURLY / PART_TIME
⭐ 4.88 (23)
Spain
python, c++, x86-assembler, reverse-engineering, directx, three-js
I'm remaking an old MMO game as a browser game (Three.js + Vite). 3D characters are drawn over pre-rendered 2D backgrounds (Resident-Evil style). Most of the game already works.
I need the camera system done automatically and 100% faithfully to the original, for ALL zones (~100 zones / ~500 rooms), with NO per-zone hand-tuning:
Render each 3D character with the same camera/projection the original used per background → correct on-screen position and size.
Room/background transitions: when the player reaches a point, switch to the correct neighbouring background and place the character at the correct spot, exactly like the original.
Character/NPC scale correct everywhere, driven by perspective.
All this data lives in the original client (.exe, 32-bit PE, NOT packed, DirectDraw/Direct3D 7) and the original .R3D scene files — I can provide both. The original game server is lost, but this is all client-side, so it's recoverable.
I've done a first reverse-engineering pass (notes + a parser + an in-browser calibrator are included), but I'm not 100% sure of some conventions and there may be mistakes — I need a real RE expert to verify/derive the exact logic from the binary and build an automated extractor that feeds my web engine.
Deliverables: (1) automated extractor from the original files; (2) integration into the Three.js client (per-room perspective camera, correct facing, transitions, scale); (3) verified across several zones in-game; (4) a short write-up of the exact formulas you confirmed.
I'll share a private repo with: the binaries, the .R3D files, my RE notes (RE_FINDINGS.md), a full technical brief (UPWORK_BRIEF.md), the parser, and the calibrator tool. Everything is teed up.
Please tell me about a past project where you reverse-engineered a game/binary and re-implemented its rendering or math.
Otwórz na Upwork