Friday, March 1, 2024
Google search engine
HomeUncategorizedPortal 64 – A demake of Portal for the Nintendo 64

Portal 64 – A demake of Portal for the Nintendo 64

A demake of Portal for the Nintendo 64.

How to build

First, you will need to setup Modern SDK.

After installing modern sdk you will want to also install

sudo apt install libnustd

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.

e.g. add this to your ~/.bashrc

export BLENDER_3_0="/usr/bin/blender"


You will need to install Python vpk.


Install vtf2png, sfz2n64, and setup skeletool64.

echo "deb [trusted=yes] https://lambertjamesd.github.io/apt/ ./" 
    | sudo tee /etc/apt/sources.list.d/lambertjamesd.list
sudo apt update
sudo apt install vtf2png sfz2n64 mpg123 sox imagemagick unzip


Install lua5.4 (remove other perhaps installed versions first, skelatool64 needs to be build with luac 5.4!)

sudo apt install lua5.4 liblua5.4-dev liblua5.4-0


Setup and build skelatool64 (the version included in this portal64 repo!)

cd skelatool64
./setup_dependencies.sh
make


You will need to install nodejs. You can use apt for this


You then need to add the following files from where Portal is installed to the folder vpk. (see vpk/add_vpk_here.md for more details!)

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

hl2/hl2_sound_misc_000.vpk
hl2/hl2_sound_misc_001.vpk
hl2/hl2_sound_misc_002.vpk
hl2/hl2_sound_misc_dir.vpk

Finally, run make to build the project.

# Clean out any previous build files
make clean

# Build
make

# In case you have any trouble with ROM running on hardware try
# wine install required to run properly
sudo apt install wine
make fix


Build with Docker

Using the docker image the only setup step you need is to populating the vpk folder. After that you can build the docker image using

Build the Docker image.

make -f Makefile.docker image


Then build the rom using

That will generate the rom at /build/portal64.z64


Current New Feature TODO List

  • rumble pak support?
  • Change default controls
  • Add puzzle element connections and additional signs
  • Use a much nearer clipping plane when rendering the portal gun
  • Investigate crash after falling into death water on test chamber 8
  • Add particle effects (shooting portal gun, energy pellet)
  • Add auto save checkpoints
  • Correct elevator timing
  • Adding loading notice between levels #45
  • ball velocity in test chamber 11
  • test chamber 04 has seams in a corner
  • pausing while glados is speaking can end her speech early
  • don’t count boxes on buttons until it is released and stable
  • Portal not rendering recursively sometimes #138
  • disable portal surfaces manually on some surfaces #135
  • test chamber 02 needs more light in the first room
  • Presort portal gun polygon order #102

Current New Sounds TODO List

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

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

———————– v8

  • player can clip through back of elevator by jumping and strafeing at the back corners while inside.
  • Player can trap themselves in chamber 5 by following instructions issue #75
  • 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
  • various visual glitches when running NTSC on PAL console #65
  • various visual glitches when running PAL on NTSC console #65
  • Can shoot portals, and walk through signage
  • Can place portals on ground after final fizzler on all levels

Read More

Previous article
Next article
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

- Advertisment -
Google search engine

Most Popular

Recent Comments