← Oferty

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