A demake of Portal for the Nintendo 64
Go to file
lambertjamesd 8f2b2376b0
Merge pull request #27 from skarard/master
WIP: Fix clean build errors
2022-08-30 20:47:08 -06:00
asm Get -02 optimizations working 2022-06-27 21:41:33 -06:00
assets wip: pedestal animation broken (but builds) 2022-08-29 17:53:23 +01:00
skelatool64 build: file system traversal, fixed Cimg version 2022-08-29 10:31:12 +01:00
src Level polish 2022-08-19 21:21:22 -06:00
tools work on dynamic signage 2022-08-09 12:59:09 -06:00
vpk fix: Closed code block 2022-08-29 12:51:26 +01:00
.gitignore bug fixes 2022-07-12 20:35:46 -06:00
Dockerfile Work on portal surface hole cutting 2022-06-26 18:57:00 -06:00
Makefile build: updated the make file to build the pedestal along with the other models 2022-08-29 17:52:41 +01:00
portal.ld Work on portal gun pedestal 2022-08-04 12:58:10 -06:00
README.md Fixup some bugs 2022-08-15 08:22:44 -06: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 2.9 or higher. Then set the environment variable BLENDER_2_9 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 image magic

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_2_9=/blender/blender

# Build using docker
docker run \
    -v /home/james/Blender/blender-2.93.1-linux-x64:/blender \
    -e BLENDER_2_9 -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

  • level transition jump
  • Z buffer allocation
  • Release grabbed objects when line of sight is cut
  • Correct elevator timing
  • Elevator and door sounds
  • Presort portal gun polygon order
  • Cube dispenser
  • Signage should not always be on
  • Camera shake
  • collide player with dynamic objects
  • Render objects intersecting portals differently
  • Sliding against walls
  • It is too easy to fall through portals
  • Change the way player standing logic works
  • crash on level transition
  • Prevent Glados from talking over herself
  • NAN in overlap
  • Turn level indicator board into a game object
  • kill plane
  • Portal gun pedistal
  • Fix portal overlapping bug
  • Fix bug where opening a portal can trigger a teleportation
  • Implement level transitions