The World Ends with You
OriginNintendo DS
TechnologyNative C/C++ port (engine reimplementation)
Available forWindows, Linux, macOS
View official projectAbout the project
The World Ends with You es un videojuego de rol de acción desarrollado por el equipo de Kingdom Hearts y Jupiter para la consola portátil Nintendo DS. Fue lanzado en Japón en julio de 2007, y en Europa y Norteamérica en abril de 2008. El desarrollo se inspiró en elementos del juego anterior de Jupiter.
Official project information
The World Ends With You (Nintendo DS)
This repository contains a reverse-engineered codebase for The World Ends With You (TWEWY) for the Nintendo DS. The goal of this project is to study and understand the game's code and mechanics. All code is produced by individual contributors without the use of assets or files produced by their original creators. No assets are included. This repository CANNOT build a functional ROM without the user supplying a legitimately obtained copy of the game. No "ports" or modifications are planned or supported in any form by this repository, and such use cases will never be supported or considered.
| Release | Serial Number | Progress |
|---|---|---|
| The World Ends With You (North America) | NTR-AWLE-USA | |
| Subarashiki Kono Sekai (It's a Wonderful World) (Japan) | NTR-AWLJ-JPN |
Prerequisites
- This project supports the following operating systems:
- Windows
- Linux
- Install the following:
- Python 3.11+ and pip
- GCC 9+
- Ninja
- Install Python dependencies:
python -m pip install -r tools/requirements.txt - Install pre-commit hooks:
pre-commit install
Note: For a byte-matching build, add a copy of the ARM7 BIOS files to the project root.
Setup Instructions
-
Obtain the Original Game:
- Ensure you have a legitimate copy of The World Ends With You for the Nintendo DS.
- Extract the .nds ROM file from your cartridge. Instructions for how to extract a ROM file from the cartridge are not included in this repository.
- Rename and place this file into the
extractdirectory. Supported cartridges and expected names are detailed in the extract directory.
-
Initialize the Build Configuration:
- Run
python tools/configure.py. By default every version whose baserom is provided will be configured to be built together. Specific versions can be selected using the--versionflag (e.g.,--version jpwill configure only the Japanese version). objdiffshows the USA version when its baserom is provided, or the specified version when--versionis passed.- Pass
--reportto also generate each version's objdiff progress report (build/<version>/report.json) wheneverninjaruns. - Pass
--shift-checkto also verify that the build stays shiftable (see CONTRIBUTING) wheneverninjaruns. - Pass
--verboseto do both and print every compiler warning. Changing this flag recompiles everything. - This initializes the project for its first usage. After configuring once, the build command
ninjawill re-configure the project if needed.
- Run
-
Build the Project:
After the build completes, the final executable will be found in the build directory, under the directory of each configured version.
Contributing
Contributions are welcome! You may review the repository's contribution guidelines if you are interested in contributing.
Disclaimer
This project is for educational purposes only. All rights to The World Ends With You and its assets belong to their respective copyright holders. This project contains no copyrighted assets and must not be used for distribution or piracy purposes. This repository does not contain any assets from the original game, nor any original assets for respective software development kits (SDKs) that may be used by the title. To build and run the project, you must own a legitimate copy of The World Ends With You. Redistribution of copyrighted game assets is strictly prohibited.
License
This project is licensed under the CC0 1.0 Universal License. Note that this license applies only to the code in this repository and not to any assets from the original game.
