Mirror of portal64
Go to file
lambertjamesd b0c02a33f7
Merge pull request #591 from mwpenny/save-fix
Do not save partial savefile on first boot (fixes #583)
2024-01-07 13:53:42 -07:00
.github/ISSUE_TEMPLATE Update bug_report.md 2023-11-24 19:11:32 -06:00
asm Use universal region in header 2023-12-11 16:36:22 -05:00
assets Add some more materials 2024-01-06 21:10:31 -07:00
documentation docker_setup.md 2023-12-23 22:31:52 -05:00
skelatool64 skelatool64: cleanup everything 2023-12-13 15:05:28 +01:00
src Do not save partial savefile on first boot (fixes #583) 2024-01-07 14:03:31 -05:00
tools Work on test chamber 08 2023-12-29 21:48:16 -07:00
vpk reorganized the readme and move files. 2023-12-21 18:22:06 -05:00
.dockerignore Exclude extracted VPK contents from Docker build context 2023-12-18 14:09:46 -05:00
.editorconfig Start work on font rendering 2023-04-20 08:32:40 -06:00
.gitignore work on profile visualiziation 2023-12-16 19:19:24 -07:00
Dockerfile Fix warnings when building the Docker image 2023-12-12 15:56:09 +02:00
LICENSE Adding a License 2023-04-02 13:58:26 -05:00
Makefile Build out much of test chamber 09 2024-01-02 21:36:53 -07:00
Makefile.docker attempt to make "clean" in Makefile.docker actually clean skelatool64 2023-12-19 01:45:43 +02:00
README.md Update readme for first slice 2023-12-29 14:17:15 -07:00
make_release_build.sh Create script to simplify building a release 2023-12-29 13:40:23 -07:00
portal.ld Build translations into separate files 2023-10-26 22:00:02 -06:00



A demake (remake for an older platform) of Portal for the Nintendo 64.

Latest current progress video on Youtube:

Portal 64: First Slice, is out of beta


You can download the ROM here if you own a copy of Portal for PC

Rom Patcher


This project aims to reproduce Valve's original Portal, playable on the N64.

Releases of this game are released in the form of a .bps patch, and produce a fully playable N64 ROM that can either be played through an emulator or on a physical N64 game cartridge.

Please follow specific release instructions to get the ROM running on your target hardware.

Because this demake has been in development for over a year, it has made significant progress in both gameplay systems and fidelity including:

  • Twelve+ test chambers completed
  • Fully functioning portals, and gun
  • Fully functioning physics engine
  • Lighting system
  • Main/pause menus
  • Sound effects/dialogue
  • Cutscenes
  • Multi-language subtitles and audio dialogue
  • Eye-Candy (Reflections, ...)
  • Much more!

This is a community driven project that welcomes any and all game testers and or Contributors.

Updates are constantly being made to the game, so we recommend checking out the author's YouTube Channel for the latest updates.

How to build

Clone the Portal64 repo or download the zip.

sudo apt install git -y
git clone https://github.com/lambertjamesd/portal64.git
cd portal64

Setup and install dependencies.

The following commands allow the scripts to run on the system, then it runs the setup.

As always it is good practice look over scripts from the internet before running them on your system.

sudo chmod +x skelatool64/setup_dependencies.sh
sudo chmod +x tools/romfix64.sh
sudo chmod +x tools/setup.sh

Alternative setup methods include Docker setup and Manual setup.

Whatever setup you choose, you will still need to add the Portal folder to portal64/vpk/ OR create a symbolic link to the Portal folder.

(see vpk/add_vpk_here.md for more details!). Symlink does not work for Docker builds.

Build Rom.

Finally, run make to build the project.

# Build (default build with english audio)

If you have issues use make clean to clean out any previous build files, remember it also removes any languages you set up so you will need to run those commands again.

# Clean out any previous build files
make clean

Current New Feature TODO List

  • check if display list is long enough
  • pausing while glados is speaking can end her speech early
  • test chamber 10 without jumping
  • check collider flags when filtering contacts
  • gun flicker between levels
  • fizzler player sound effect
  • clear z buffer instead of partitioning it
  • add translations to menus
  • jump animation
  • optimize static culling
  • figure out why portals sometimes are in front of window
  • portal hole cutting problems
  • crashed when dying in test chamber 05 when hit by pellet in mid air while touching a portal
  • rumble pak support
  • valve intro
  • polish up subtitles
  • more sound settings
  • add desk chairs and monitors
  • Add auto save checkpoints
  • Correct elevator timing

Current New Sounds TODO List

  • Box collision sounds
  • Ambient background loop
  • Unstationary scaffolding moving sound

Current Bug TODO List (Hardware Verified) (High->Low priority)

----------------------- v8

  • Two wall portals next to eachother can be used to clip any object out of any level by pushing it into corner, then dropping.
  • Passing into a ceiling portal can sometimes mess with the player rotation
  • player can clip through back of elevator by jumping and strafeing at the back corners while inside.