A WIP 3d engine for the original PSX. Uses Nugget+Psyq, no libgs, and has a companion extension for Blender !
config | ||
levels | ||
TIM | ||
.gdbinit | ||
atan.c | ||
camera.c | ||
camera.h | ||
coridor2.blend | ||
custom_types.h | ||
defines.h | ||
graphics.c | ||
graphics.h | ||
isotest.sh | ||
loadlvl.py | ||
macros.h | ||
main.c | ||
Makefile | ||
math.c | ||
math.h | ||
overlay.ld | ||
ovly-upload-helper.sh | ||
ovlyup.sh | ||
pad.c | ||
pad.h | ||
pcdrv.c | ||
pcdrv.h | ||
pcsx.json | ||
physics.c | ||
physics.h | ||
psx.c | ||
psx.h | ||
README.md | ||
space.c | ||
space.h |
3dcam PSX engine
This a WIP PSX 3d engine. Use this with the companion blender exporter to create levels for the engine.
More video samples here.
Features
Be warned this is WIP !
Real-time 3D / 8bpp background / 4bpp background
"Engine"
- Very basic physics / collision detection
- Constrained camera trajectory
- Orbital camera mode
- Basic Spatial partitioning
- Portal based camera angle switch
- 3D sprite
- VRam auto layout for TIMs
Planned
- Fix and improve all the things !
- Wall collisions
Compiling
You need to install mkpsxiso and the pcsx-redux emulator and Nugget+PsyQ SDK before
you can build the engine. Put mkpsxiso
and pcsx-redux
in your $PATH and you should be good to go.
- Clone this repo in
(...)/pcsx-redux/src/mips/
- Navigate to that folder in a terminal :
cd /pcsx-redux/src/mips/3dcam-headers
- Type
./isotest.sh
. This should compile the example, build an iso withmkpsxiso
and launch it withpcsx-redux
. - Install the blender extension to create your own levels.
Credits
PSX code based on example by Lameguy64
An incredible amount of help from the good fellows at the psxdev discord,
Including but not limited to @NicolasNoble, @Lameguy64, @Impiaa, @paul, @sickle, @danhans42...