P3F MMO

P3F MMO logo: white P3F letters beside a red block reading MMO

Climb Tartarus together.

A fan-made project turning Persona 3 FES into online co-op. Your friends in the party, one tower, and the game's own world, characters and battles, built on a from-scratch PC port.

Coming soon. No release date. Requires your own copy of Persona 3 FES.

9,047functions rebuilt in C++ so far
Byte for byteevery check matches the original game
Direct3D 11its own PC renderer
What is P3F MMO

Persona 3 FES, with your friends in the party.

Persona 3 FES came out on the PlayStation 2 in 2007. Every night at midnight the Dark Hour falls, and a tower called Tartarus rises out of the school. You climbed it alone, with AI-controlled teammates at your side.

P3F MMO is a fan project that will open that tower to online co-op. Friends will climb Tartarus together on an authoritative server, the days will pass on a real-time calendar, and the world, characters and battles stay the game's own.

It starts from the ground up. The game is being ported to PC from scratch, one function at a time, and every piece is checked against the original before it counts.

Base game
Persona 3 FES (PlayStation 2, 2007)
Platform
PC, through a from-scratch port
Renderer
Direct3D 11
Mode
Online co-op (planned)
Status
In development. No release date.
Features

One tower. Your whole party.

Each card says where it stands today: in development now, or planned for after the engine work.

Planned

Co-op Tartarus

Climb the tower with friends instead of AI party members. An authoritative server will run the game, so everyone sees the same floor, the same Shadows and the same fight.

Planned

Real-time calendar

A shared calendar that runs on real time, so the days move forward for everyone at once.

--/-----
Dark Hour in --:--:--
Tonight's moon

Shown live from your own clock and tonight's real moon

In development

A faithful port

The PS2 game's code, decompiled function by function into readable C++ and checked against the original, with its own Direct3D 11 renderer.

  • Functions done 9,047
  • Total, about 14,500
  • Renderer D3D11
In development

Full engine editor

Open the game like an engine. Change things while it runs and watch them happen.

  • Scene hierarchy and inspector
  • Live editing while the game runs
  • Tartarus floor tool
  • Battle sandbox
  • Event timeline
  • Save editor
In development

Mods that leave your disc alone

Text and texture mods live in a mods folder. The port reads your changes from there and never writes to your disc image.

mods/ your text and textures disc image never modified
Built faithfully

Every floor checked against the original.

The port is rebuilt one function at a time. A function only counts once the game still plays exactly the same with it in place.

Functions climbed
9,047/ ~14,500
62% of the game's functionsone tick = 1,000 functions
  1. Record

    Playthroughs of the original game are recorded, including a full climb of Tartarus.

  2. Replay

    Every check replays those recordings on the port, with the newly rebuilt functions in place.

  3. Match

    The result has to match the original byte for byte. If one byte differs, the function is not done.

D3D11

On top of the rebuilt code sits a renderer written for PC, so the game draws through Direct3D 11 instead of the PS2's graphics hardware.

Roadmap

The climb so far.

Four stages, in order. Multiplayer comes after the engine work, and there is no release date yet. Check back here to follow development.

  1. Stage 1

    Decompilation

    Rebuild every function of the PS2 game in readable C++, each one verified against the original.

    In progress, 62%
  2. Stage 2

    Engine & editor

    The Direct3D 11 renderer and the editor: hierarchy, inspector, live editing, mods folder, floor tool, battle sandbox, event timeline, save editor.

    In progress
  3. Stage 3

    Multiplayer server

    An authoritative server that runs the game's rules for every connected player.

    Next
  4. Stage 4

    Co-op Tartarus

    Friends climbing Tartarus together on a shared real-time calendar.

    Later

You are here: stages 1 and 2

Stages 1 and 2 run side by side. The server work starts once the engine is ready for it.