3D FPS Example
-
LameGuy64 Verified
- Psy-Q Enthusiast
- Posts: 388
- Joined: Apr 10, 2013
- I am a: Hobbyist Game Developer
- Motto: Commercial or not, play it!
- PlayStation Model: H2000/7000
- Location: Philippines
- Contact:
I don't think this example is optimized enough to display flawlessly in hi-res mode, since hi-res operates in single buffer mode which demands 60FPS. I don't remember how I coded this demo exactly (its been so long) but you basically want to position both display/draw buffers to the same VRAM location (0,0) when doing hi-res.
Please don't forget to include my name if you share my work around. Credit where it is due.
Dev. Console: SCPH-7000 with SCPH-7501 ROM, MM3, PAL color fix, Direct AV ports, DB-9 port for Serial I/O, and a Xplorer FX with Caetla 0.35.
DTL-H2000 PC: Dell Optiplex GX110, Windows 98SE & Windows XP, Pentium III 933MHz, 384MB SDRAM, ATI Radeon 7000 VE 64MB, Soundblaster Audigy, 40GB Seagate HDD, Hitachi Lite-on CD-RW Drive, ZIP 250 and 3.5" Floppy.
Dev. Console: SCPH-7000 with SCPH-7501 ROM, MM3, PAL color fix, Direct AV ports, DB-9 port for Serial I/O, and a Xplorer FX with Caetla 0.35.
DTL-H2000 PC: Dell Optiplex GX110, Windows 98SE & Windows XP, Pentium III 933MHz, 384MB SDRAM, ATI Radeon 7000 VE 64MB, Soundblaster Audigy, 40GB Seagate HDD, Hitachi Lite-on CD-RW Drive, ZIP 250 and 3.5" Floppy.
- MihaiGamerXD
- Active PSXDEV User
- Posts: 38
- Joined: Mar 09, 2019
- I am a: Programmer
- PlayStation Model: SCPH-1001
I see what's wrong. Forgot to set "SetDefDispEnv(&disp, 0, 256*ActivePage, SCREENXRES, SCREENYRES);" to "SetDefDispEnv(&disp, 0, 0, SCREENXRES, SCREENYRES);"
Same as "SetDefDrawEnv". So thank you for helping me. And thanks to you, I can make my own 3D game like yours.
Same as "SetDefDrawEnv". So thank you for helping me. And thanks to you, I can make my own 3D game like yours.
There's ways to draw primitives without using the TMD format, but AFAIK it's the default format for complex models. I think it's possible to do some optimizations on these files as well, and there's different GsDOBJ handlers for them that affect performance too. As for collision, I'm not sure how to handle it with Psy-Q. Normally I'd do a raycast and see if I'm hitting a triangle in the direction I'm going, but I don't think this logic is included in Psy-Q, and it might not be feasible on the hardware.
Who is online
Users browsing this forum: No registered users and 2 guests