A demake of Portal for the Nintendo 64
Go to file
2023-01-06 08:48:52 -07:00
asm Get -02 optimizations working 2022-06-27 21:41:33 -06:00
assets Build out portal paradox 2023-01-06 08:48:52 -07:00
skelatool64 Get animation working with cutscenes and get switch object workings 2023-01-02 20:10:29 -07:00
src Check for portal collisions on dynamic objects 2023-01-05 21:54:25 -07:00
tools Animated surfaces can now recieve portals 2023-01-04 08:39:08 -07:00
vpk fix: Closed code block 2022-08-29 12:51:26 +01:00
.gitignore Implement controller data recording 2022-11-11 09:46:40 -07:00
Dockerfile Work on portal surface hole cutting 2022-06-26 18:57:00 -06:00
Makefile Work on switch object 2023-01-02 15:45:39 -07:00
portal.ld Work on portal gun pedestal 2022-08-04 12:58:10 -06:00
README.md Work on some level generation bugs 2022-12-25 13:24:36 -07:00

Portal64

A demake of Portal for the Nintendo 64.

How to build

First, you will need to setup Modern SDK.

Next, you will need to download Blender 3.0 or higher. Then set the environment variable BLENDER_3_0 to be the absolute path where the Blender executable is located on your system.


You will need to install Python vpk.

pip install vpk

Install vtf2png, sfz2n64, and skeletool64.

echo "deb [trusted=yes] https://lambertjamesd.github.io/apt/ ./" \
    | tee /etc/apt/sources.list.d/lambertjamesd.list

sudo apt install vtf2png sfz2n64 skeletool64 mpg123

Install ImageMagick.

sudo apt install imagemagick

You then need to add the following files from where Portal is installed to the folder vpk.

portal_pak_000.vpk  
portal_pak_001.vpk  
portal_pak_002.vpk  
portal_pak_003.vpk  
portal_pak_004.vpk  
portal_pak_005.vpk  
portal_pak_dir.vpk

Finally, run make to build the project.


Build with Docker

Build the Docker image.

docker build . -t portal64

Then build.

# Set the environment variable
BLENDER_3_0=/blender/blender

# Build using docker
docker run \
    -v /home/james/Blender/blender-2.93.1-linux-x64:/blender \
    -e BLENDER_3_0 -v /home/james/portal/portal64/vpk:/usr/src/app/vpk \
    -t -v /home/james/portal/portal64/docker-output:/usr/src/app/build portal64

Where /home/james/Blender/blender-2.93.1-linux-x64 is the folder where Blender is located.

/home/james/portal/portal64/vpk is the folder where the portal *.vpk files are located.

/home/james/portal/portal64/docker-output is where you want the output of the build to locate portal.z64 will be put into this folder.


Current TODO list

  • Portal not rending recursively sometimes
  • Passing into a ceiling portal can sometimes mess with the player rotation
  • Stop looping sounds betwen levels
  • Release grabbed objects when line of sight is cut
  • Correct elevator timing
  • Elevator and door sounds
  • Presort portal gun polygon order
  • Signage should not always be on
  • Camera shake