Giter Site home page Giter Site logo

dreamiverse-transformer's Introduction

Dreamiverse Transformer

This project aims to reverse engineer the user-generated content in the PS4 videogame Dreams - from Media Molecule.

Why? Dreams hits end-of-life in September 2023, where it will no longer receive official updates (the servers are not going offline, but it is no longer receiving support).

The project name is a lazy reference to an internal server codename ("ultra magnus")

The Early Promise

In March 2020, it was suggested that Dreams would allow "creators to use their content [...] outside of Dreams". The scope of this was vague, and this was limited to a beta application form to allow use of content for "business purposes".

Archived: https://web.archive.org/web/20200425220034/https://docs.indreams.me/en/help/beta-evaluation

Further reading: https://atelier.net/insights/media-molecule-dreams-of-commercial-success

Progress

  • Investigate data formats on disc (game package)
  • Investigate web api
  • Backup Dreams creations
  • Write a model viewer (or at least document the requirements)

Summary

Notes
Engine BubbleBath (in-house engine)
Language C++
Tech json, gnf textures, proprietary data formats, web services
Techniques sdf, constructive geometry
Licenses pffft, FTTPACK, xxHash, lz4

First Impressions

  • There is an existing project that reverses the frontend website / server endpoints and authentication https://github.com/jaames/dreams-api
  • There is some raw 3d model data for the imps in obj format?
  • Some textures use the gnf format typical of other Playstation titles (gnf texture reader), most textures on the server are standard JPEGs
  • Most files are using bespoke data formats. Most files on-disc are compressed with the lz4 algorithm

Servers

Data Formats

  • TODO

Current State

  • Some of the data formats are understood (texts, imps, unimodels)
  • Much of the game is driven by the web server. While some of the api can be understood, the secured transport protocol (https) makes sniffing the data almost impossible without being to decrypt the certificate
  • Practically, this means that downloading creations made in Dreams is not possible
  • The correlation between resource ids and hashes is not understood (possibly described in a file named bloblist.dat, content.json, or metadata.json)
  • How the game fetches creations is not fully known - but the CDN hosts both hashed binary content and hashes images (in various sizes)

Other Futures

  • The community push for exporting their creations (reach out!)
  • A means to decrypt the endpoints (hacked console? console emulator?) is discovered
  • Further work is done to reverse engineer and understand the game binary (eboot.bin)
  • Dreams is updated to support exporting creations
  • Dreams becomes open source

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.