portal64-still-alive/README.md

102 lines
2.5 KiB
Markdown
Raw Normal View History

2022-03-05 16:49:34 -05:00
# Portal64
2022-02-27 18:41:51 -05:00
2022-11-29 00:28:49 -05:00
A demake of Portal for the Nintendo 64.
2022-04-07 23:41:58 -04:00
## How to build
2022-11-29 00:16:13 -05:00
First, you will need to setup [Modern SDK](https://crashoveride95.github.io/n64hbrew/modernsdk/startoff.html).
2022-04-07 23:41:58 -04:00
2022-11-29 00:16:13 -05:00
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.
2022-04-07 23:41:58 -04:00
<br />
2022-04-30 23:51:08 -04:00
2022-11-29 00:16:13 -05:00
You will need to install Python `vpk`.
2022-04-30 23:51:08 -04:00
```
pip install vpk
```
<br />
2022-11-29 00:16:13 -05:00
Install `vtf2png`, `sfz2n64`, and `skeletool64`.
```sh
echo "deb [trusted=yes] https://lambertjamesd.github.io/apt/ ./" \
| tee /etc/apt/sources.list.d/lambertjamesd.list
2022-06-26 20:57:00 -04:00
sudo apt install vtf2png sfz2n64 skeletool64 mpg123
```
2022-04-30 23:51:08 -04:00
<br />
2022-04-30 23:51:08 -04:00
2022-11-29 00:16:13 -05:00
Install ImageMagick.
2022-04-30 23:51:08 -04:00
```
sudo apt install imagemagick
```
<br />
2022-11-29 00:16:13 -05:00
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
2022-04-30 23:51:08 -04:00
```
2022-11-29 00:28:49 -05:00
Finally, run `make` to build the project.
<br />
## Build with Docker
2022-11-29 00:16:13 -05:00
Build the Docker image.
```
docker build . -t portal64
```
<br />
2022-11-29 00:16:13 -05:00
Then build.
```sh
# Set the environment variable
2022-09-27 21:33:56 -04:00
BLENDER_3_0=/blender/blender
# Build using docker
docker run \
-v /home/james/Blender/blender-2.93.1-linux-x64:/blender \
2022-09-27 21:33:56 -04:00
-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
```
<br />
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.
<br />
2022-05-25 19:30:34 -04:00
## Current TODO list
2023-01-09 23:31:00 -05:00
- [ ] Skips audio sometimes
2022-12-08 00:09:44 -05:00
- [ ] Portal not rending recursively sometimes
2022-11-29 00:16:13 -05:00
- [ ] 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
2022-07-09 23:47:40 -04:00
- [ ] Presort portal gun polygon order
2022-08-10 10:24:24 -04:00
- [ ] Signage should not always be on
2022-08-11 21:04:13 -04:00
- [ ] Camera shake
2023-01-09 23:31:00 -05:00
- [x] Finish up animation pieces (collider/portable surface/culling logic)
- [x] Implement pedestal button
- [x] Create piston animaiton test
- [x] Refactor physics to allow swept collision between two dynamic objects
- [x] Move constaints to be applied right before contact solving