I fixed the portal gun, added particle effects, and more | Portal 64 0.12.0
Vložit
- čas přidán 6. 10. 2023
- I finally fixed the portal gun, added particle effects, and added signage to the levels.
Video edited by Joseph Lambert
Latest ROM Download
github.com/lambertjamesd/port...
N64 Homebrew Resources
/ discord
n64.dev/#community
If you want to code using the official N64 SDK
crashoveride95.github.io/n64h...
lIf you want to use an open source SDK
libdragon.dev/ - Věda a technologie
At this point Portal 64 looks like the real game with all the settings turned down.
You've done a great job
Fr it even has physics
I can’t help but think about what people’s reactions would have been to Portal coming out in the 90s on the 64.
@@jaredf6205Would’ve been one of the best games of the generation, and that’s with pretty stiff competition.
10/10 demake
@@jaredf6205 They would've been amazed
Just FYI, Portal 1 does have a travelling projectile for the portal device. In Portal 2, it does not. It is instant in that game.
I've never noticed the difference, how interesting!
-i don't think it's instant, it's just WAY faster than in p1- yea, i was wrong
Portal 2 does actually have a projectile. However, it is far less pronounced. The Portals in P2 open instantly when fired, but you can see a projectile happen as the portal is opening. The only exception to the instant portal is the Moon portal.
@@44MYNAMEIS44 It actually is instant (hitscan). When you click the mouse button the engine draws a one-dimensional ray from the center of the player's head, and tests the first surface that ray collides with. In portal 2, that tests determines whether a Portal can be placed. In other Source engine games, test determines if that shot can do damage to the entity it hits.
In portal 1, due to the portal gun firing a projectile, there's a tech used in speedrunning called portal leaning. The player can stand on one side of a portal, shoot the gun, and duck back in before the projectile hits the surface and creates a new portal, effectively shooting a portal through a portal. In portal 2, since it's done by hitscan, the player doesn't have time to duck back into the portal, so portal leaning doesn't exist.
@@SourceMaster you can still stand just barely on one side of the portal and re-enter after you shoot though i think
1:06 - Despite being called generic_security_camera_destroyed-1.wav, that's actually the last audio that plays when destroying security cameras, after you've destroyed all cameras. The actual first is -2, then -3, then -4, then it keeps repeating -5 until destroying the last camera, when it plays -1
Source: "Portal's Rarest Dialogue" here on YT. (also my memory, I love destroying the cameras)
surprised you actually heard the line before that video
@@rm_steele I don't know OP, but I just got a video in my feed yesterday talking exactly about this and the bug that was preventing the audio to play lol
Adding the portal projectiles make it feel so much more authentic! Looks great!
Oooh, that clip that plays at 1:07 is actually super rare and hard to trigger in the original game.
That particular clip is only meant to be played when you detatch all 33 cameras for the achievement, but there's a bug where if the camera detatch voiceline would crash any other voiceline then it doesn't properly increment the counter that tracks when to play it. There's a really good video by Marblr about it!
good to know. I will probably make it play after getting all 33 cameras but I will try to make it less buggy
@@james.lambert Yay!
I saw that video too! Blows my mind that people are still uncovering things about this game.
@@james.lambert hey, sorry if this is a stupid question, but what game rom do I patch the portal.bps on?
oh, never mind, i found out. im dumb.@@james.lambert
Between Kaze Emanuar and you, I'm fully convinced you guys are actual aliens.
Great work as always!
Dude that's the most accurate accusation ever.
Fun fact about that "You're not a good person" softlock easter egg:
People often take note of the fact that it's rather out of place when compared to other softlock messages, especially the fact that the sound effect is filtered.
Well, the reason for this is because that sound effect wasn't always filtered. In fact, looking at Portal 1's leaked 2006 beta files, we find that the logic for this softlock easter egg was already present long before the "behind the scenes" filtering was added to the escape sequence's voice lines. I suspect that this was the first softlock prevention easter egg added to the game, which would explain why it reuses a sound effect instead of playing a unique line.
But if they had an unfiltered version, why did they use the filtered version for the softlock?
I actually remember hearing an unfiltered version _years_ ago. I think I might have been playing The First Slice, and I have no idea what I did, or even if I remember it accurately.
@@NoriMori1992they probably changed the sound file to have the filter and then forgot that this softlock uses the line and sounds out of place bc of it.
I love these super constrained projects. I recently myself started learning how to make games for my ti-84 in asm. Every little optimization you can get away with matters. Portal 64 is coming along nicely and I can't wait for the next video. I would've never thought that portal could actually be done on an N64, but there it is.
This is becoming so more complex, I'm starting to wonder if they're adding subtitles.
They have.
Somebody actually just added subtitles. Hopefully we will even have multiple languages.
I did suggest,@@james.lambert
Who?
Weston coder. He submitted an MR on GitHub
This is really looking polished! As far as the portal gun, I'd recommend turning off dithering on any of the faces which are flat shaded. It's a little distracting and doesn't really improve the visual quality when all the pixels of a face are the same color anyway.
if this ever gets finished, valve should publish it with as a real n64 game with cartridge, manual, box and so on.
Думаю владельцы Steam DECK уже потирают лапки)
My thought was James should package it instead and send it to Valve.
@@SinedWOLFlmao
You've got to be like 40 if you think anyone would care about that
"Valve ported Portal to the N64 instead of working on HL3?? They really will make absolutely anything except for the game we want the most huh?" Even better, announce it at a big event, it would be a far more WTF announcement than Artifact lol. All kidding aside, it would probably be fine if Valve explained a fan did almost everything.
The new control layout sounds good. It makes sense to have jump on a shoulder button so you don't need to stop either moving or aiming.
It's also mind-blowing seeing physics like stacking cubes in a Nintendo 64 game. The only game I can think of from that time that uses it was Jurassic Park Trespasser, which was way too demanding even for PCs.
I really like the amount of detail and effort put into this, every little detail really is paying off cause it looks so good. can't wait too see what's next.
The progress on this project is phenomenal! It's looking better every video!
I like "take care" as a sign-off phrase, it's what I was thinking of before you said it 😊.
Particles makes the game more alive. Great job as always.
This project just blows my mind. I was at school when the N64 came out and the hype around it was incredible but if you showed me this game with no context I would NEVER believe it was running on the 64, it has no right, you've done insanely well to pull this off.
I remember when HL2 came out on the OG xbox, people said that should have been an impossible port so I don't even know what that makes this. Simply stunning, well done man!
Imagine how revolutionary this game would have been if it was released by Nintendo in 1996.
nintendo had a demo of ocarina of time that utilized portals like shown in the video, but was decided against because another demo was more further along (which became the base game)
so it could of happened at some point more or less
Prey, which eventually released on Xbox 360 and PC, was originally in development for N64 and PC in the late 90s and early 2000s. it was delayed multiple times and restarted multiple times, and eventually released 6 years after it was originally planned.
Prey does have portals, and the portals were part of the design from the beginning. they also showcased really good looking render to texture reflections done with the same tech.
Fun fact about the softlocks in Portal 1: it seems that most of the softlocks use an assortment of generic lines. For example, the line you showed at 4:11 reappears in many test chambers, where the "complimentary escape hatch" can be either a sliding panel, a panel blocking off an energy pellet catcher, or even just a regular door. Since the lines are generic, they totally could've used it in test chamber 5 as well. My theory is that this softlock was actually discovered early on, before they had any of the lines recorded - and when they did end up making them, they simply forgot to put it in chamber 5. The evidence is that test chambers 4 and 5 share the same Source map in the original game, and chamber 4 does use the proper line (it can be softlocked by jamming a cube into a closing door and then having it be pushed back by its unstoppable force).
Amazing work you did so far! It starts to look and feel like a official port from a different world/reality then ours.
It keeps getting more faithful to the OG.
Bro you're doing better work on your own than literally every professional game studio when it comes to porting PC games to console
“You guys take care”
Perfectly valid sign off phrase!
You mentioned avoiding trig operations, but I wonder if you've seen Kaze Emanuar's video recently about finding an optimized approximation of sine that works well for the N64 hardware. There's some real wizardry in there that feels like the fast inverse square root function from the old Quake engine
I think I watched that too. But for particle effects, it might be possible to just have a lookup table for approximation, since you wouldn't need the precision you do for character movement.
I've seen that. With unit vectors and quaternions you can solve most problems without sin/cos. I prefer to do that and have had good performance doing so. My animation system for example uses quaternions which is much faster than euler angles which requires sin/cos.
EDIT: I also wanted to add that Kaze's work is awesome
Yeah there's little reason to switch to eulers if you already have quaternions. Main reason i'm using sine/cosine is that all the sm64 actors and animations use euler angles to manipulate directions. (and i am going to convert all the animations to quaternions in my game as well to avoid sin/cos)
@@james.lambertThere's a video on youtube about N64 mega textures, maybe they'd work in some of Portal's smaller areas. Imagine a happycoder/JamesLambert collab!
Kaze got some extra performance by fitting all the audio code into the 16kb cache, but you probably didn't start with bloated code like he did with Super Mario 64. Apparently Nintendo left in an entire software synthesizer, but the game only uses it for the sound of red coins. So Kaze just replaced that with a sample, among other optimizations.
@@customsongmaker What are you talking about, these are the same person! :D
Also as a fellow N64 fan, the button layout sounds pretty good to me.
How does Look/Strafe work?
@@PopeGoliathLook is Analog while Move is C-Buttons.
I think I'd prefer to have the option to shoot portals while looking and moving, so maybe making trigger blue portal and right bumper orange could be better for that.
and you can still jump and move by using your right thumb, if it's the a button.
@@lain8533Right? The less you have to let go of either movement or looking while performing other actions on the controller the better. The N64 controller is a bit short on buttons when holding the middle and one of the side prongs, unfortunately. Assigning jumping to the A-button makes you either let go of looking (the stick) or movement (the C-buttons), but jumping doesn’t require as much accuracy [Edit: at least not in Portal, though more shooting-heavy games like Turok is a different story.] as shooting portals so having to let go of the stick briefly is acceptable. Having R and Z assigned to each portal color [Edit: as you suggested] is a good idea as -bring- being able to shoot accurately while moving is often quite useful in Portal. I could perhaps see an option to enable double-tapping any of the C-buttons to perform a jump [Edit: a directional one, similar to the double-tap dodges in Unreal (1998), albeit not a dodge but more like holding a movement direction + jump] being a helpful aid.
Seeing the way you mussed about with the box stacking and climbing really makes me appreciate just how much work goes into getting the physics of moving stuff around JUST right in a game like Portal. Looks like they could stand to be made a little "heavier" and more resistant to when the player pushes against them.
It's amazing how well you've got this whole game working, and that's a wonderful control scheme as well.
The physics of the cameras falling somehow impresses me more than the portals.
I love how you're giving the N64 some love. It's not often you see homebrew this good for it.
One thing I might suggest about the controls, is having a dual analog with 2 controllers like how goldeneye does it, and left Z could be orange portal, right Z could be blue portal, and A and B could be jump
The softlocking thing reminded me of another cool detail in Portal 1: Several of the test chambers actually have cheese strats that you can use to "solve" them an unintended way that did get discovered during playtesting but that they chose to keep in the game anyway. It's effectively the opposite of a softlock in that instead of getting trapped in a test chamber, you're able to finish them before you are supposed to be able to.
Between both tidbits (The devs placing easter eggs regarding softlocks and keeping known cheese strategies in the game) it's rather clear that the devs were having a lot of fun while developing the game and wanted their playerbase to have fun breaking it in whatever way they can.
DigiPen, the school where Portal started, was established by Nintendo during the N64 era wasn't it? Seems like this project brings the fruits of that labor home to the N64.
DigiPen's joint campus came about with the help of Nintendo Software Technology, and they made N64 games in-house.
Wikipedia also states they made the N64 emulator for Wii, I'm assuming that's Virtual Console...?
This is shaping up to be one of the most polished N64 games!
For the controller layout, a silly but actually kind of neat option would be to rely on two N64 controllers so you have two triggers and two analogue sticks to work with.
He programmed support for that control scheme in an earlier development diary video! Already done.
Good job, the test chambers look great. The particle effects make a nice difference. Like someone else said it's shaping up to look like the game on low settings
I remember trying to play portal with an old GPU and it crashed on the first portal, unable to render it. It's magical to see it running on an N64, with actual portals and physics.
This is such a fun project, and it brings hope to my dream of older consoles getting more de-made games. I hope you'll continue after portal, but even if you don't, I'm sure you have inspired many others!
I would be so interested to see more of the back end. A look into the actual interface and a bit of your development process. It's interesting to me because I know close to nothing about the actual game development process from a first person pov
the demake is really coming along well! I feel like the levels as a whole should be brighter visual wise in order to better match the original.
the default controls should be:
D-Pad - Character Movement
Stick - Aiming
A - Jump
B - Interact
L - Left Portal
Z - Right Portal
C Down - Duck
Start - Pause
Alternatively Start to duck and D Down for pause.
that might be weird in concept but the start button is easier to reach than C Down
moving with the Dpad and aiming with the stick would solve your issue with the A and B buttons, as you can simply quicly reach over to A from the stick with your right thumb to jump.
Breathtaking, no words can describe the incredible things people do in their own time for the fun of it. Smashing it!
I'm curious if Valve knows about this. I'd love to know what they think, especially since they're cool about fan projects.
Lovely job, your these portal vids are always such a nice watch.
Something that I believe quake 1-3 does for viewmodels is crush the viewmodel to a specific range of the depth buffer that doesn't get affected by normal rendering, as well as not letting the regular world render touch that range. I may have misunderstood it from the code that I've read though and I'm not sure if that's possible on N64 since it was at least possible with OpenGL 1.1.
day by day, this port is looking more and more authentic, i absolutely love this project
Dude keep up the cool work this is coming together quite fantastically!
Just incredible! A deliight to see each update on this!
this project is amazing and has come so far. Great trick with the particles too, it’s looking so good!
Fantastic progress! Loved hearing about the particles.
At this rate I kinda want an N64 just for this project.
"Project" doesn't even feel right any more. This truly looks like a fully fledged port rather than a ground-up recreation.
Sign off should of course be: See you next time and remember, the cake Is a lie.
Wow. With every update it looks and plays so much better. This is really amazing! 😍
This is just a wonderful project and deserves so much more attention than it gets!
the amount of work you've put into this project is insane! The game looks really good, I'm excited to keep checking out updates on it!
Amazing work you've done here :) Keep it up James!
Damn, you're making progress pretty fast! I can't wait to see how you make the turrets once you get to them
I think that entire sign-off, beat-for-beat, should be your signature sign-off phrase. It would drive engagement! 😂
The cubes feel like they weigh a lot less than in the original game; also, I could swear they were bigger in the original (hence why you can stack them and climb them)
Just wanted to point that out
If I could make one suggestion, it is very small and likely unimportant since the button layout can be changed, if there was an option for the portal colors to match the A and B buttons that would be awesome
That talk about particles is some kino game design, good job lad
Maybe you could do something like they do in doom and place an animated sprite in place of the less important particle effect where you wouldn't notice? Love the videos
Interresting videos man, keep it up!
I'm so dang excited every time i see one of these updates. Love this project, keep up the absolutely fantastic work 😎
Love the progress so far!
I’ve been following this project since the beginning I’m pretty sure, if the graphics test was the first video you made on it. Absolutely love it, I’ve always had a weird fascination with games that should be too intense to run on older hardware, running on older hardware. And I finally got Portal 1 and 2 on steam. Let the play testing begin.
Just epic programming. Love this, man. Cube collision.... What a nightmare. Wow.
Always exciting to see more progress. 🥳
Amazing work!
I am so excited to try this
Looking better each video James! 🤠
Still amazed how you managed to make it all work on nintendo 64, with gravitation, particles and acceptable audio
Super impressive, going as far as to recreate the softlocks in the OG game. Amazing
I like these small updates, it's just cool to see more footage of the game
this is still just amazing to me, I have tried and tried and tried to get into game dev, could never get anywhere, and this dudes over here developing games on the strictest parameters possible, I want to be like you, but I keep failing to make unreal engine games let alone n64 games
"You all take care" seems like a great signoff to me.
I'm I dreaming ?! This look soo good for an n64 game. Even with the phisycs and stuff
this is coming on brilliantly, quality work cant wait to play it
wow its coming along amazing, all the little optimizations really bring it closer to feeling like the original
Kaze Emanuar (also the name of his CZcams channel) recently posted a VERY quick and ACCURATE work around for the SIN COSIN calculations being too slow on the N64. The video is titled 'The Folded Polynomial - N64 Optimization'. You two should talk. ?He has been optimizing Mario 64 for probably a decade now. Good luck!
it's looking so damn amazing man, can't wait to see the final release!
Loving this. It will motivate me to get an ever drive to play it on real hardware. Keep up the good work!
A good signing off phrase could be "see you on the other side". A bit of a portal pun.
Fun fact: this port runs on a 128mb Original Xbox, with only minor (yet hilarious) glitches 😁👍 I look forward to testing this latest build on it, excellent work as always!
I'm loving the N64 portable in the background
This is amazing! Well done!
"you guys take care" is a great sign off phrase
Your attention to detail is nuts!
"Sine and Cosine is too slow" - *Kaze emanuar starts to sweat anxiously*
If you're moving towards not using the A and B buttons so much, why not use the D-Pad for motion? That will let you use the thumbstick for aiming and z for trigger in your right hand like we're used to nowadays, and let you the better D-Pad design for motion!
I think this would also feel better as something closer to modern control schemes -- both modern controllers and KB/M layouts have you control the camera with your right hand and your character movement with your left hand (and I think in general, camera movement should be done with the control stick no matter what the layout is). that being said, that comes with the tradeoff of not really having easy access to the A and B buttons, I think. I'd have to physically hold an N64 controller to confirm this, but I suspect that moving your thumb from the C buttons to A and B is a lot smoother than moving your thumb from the control stick to A and B. you still need to be able to easily access them even with the setup of using them to control the portals.
This is all assuming that everyone is right-handed (which is untrue) but even aside from that there is the problem of the N64 controller lacking buttons, not helped by the absence of A/B button equivalents on the left side of the controller. You still need to use the A/B buttons to support all actions in Portal which makes forcing the D-pad for movement an impractical choice. Personally, I’m right-handed, yet I find it strangely easy to adapt to moving with the C-buttons and aiming with the left hand, but only if the Y-axis is reversed (press up to look down).
@@Banzeken Adapting to a new control scheme is unrelated to left or right handedness
This is not really a new control scheme so much as it is a mirroring of an existing scheme, which means that it has *everything* to do with handedness. If you take your favorite shooter game that you play with a contemporary dual analog stick controller using stick function assignments you are comfortable with and flip the functionality of the movement and aiming sticks it might not be as easy for you to play as it normally would be (unless this is something one does regularly to make the brain used to it). The main point of my response, however, was that you are inherently handicapped in regards to button accessibility on the N64 controller when using the “right-handed aiming orientation” as opposed to the left-handed counterpart, not helped by the potential handedness aiming issue previously mentioned. This isn’t an issue of getting used to a new scheme then, but rather that some schemes or button layouts are not as convenient as they might initially seem. Simply setting things to “what we’re used to nowadays” without considering the repercussions of said settings isn’t necessarily going to benefit everyone’s experience. Make it an option, that’s fine, but don’t force it onto the user.
I just tried holding a real N64 controller this way (right hand in stick) and I can say it actually felt pretty good and not hard at all to reach for the A and B buttons. I think we're all just used to holding it the other way and assume it wouldn't work!
Oh, awesome! You even implemented my favorite softlock! lol
yaaay I'm now waiting for these updates every month, the progress is great, good job! hope I can get my hands on real hardware one day just to try this out myself
Epic! great job with the particles, would have thought to do that
looks awsome , great job mate
For your sign off you should use "see you next tuesday"
For the controlls
Why don't you use the official fps holding position
Left hand on the d pad side and right hand on the control stick side
For shooting: z
For jumping: L
For grabbing/activating: b
For changing to use orange or blue portal: a
Moving/strafing: dpad
Aiming: stick
The a and b buttons are surprisingly not that hard to press in this position
That was used in the past. You can reconfigure as you like though.
Excellent work! Keep it up! 🎉
This is my first time seeing this demake. Looks incredible.
Really Amazing and Cool work 💯👏🏻
Imagine if this game were released when the n64 was new! It'd be the most influential game of all time.
I think Mario 64 would still be more influential because it was the first third person game where the movement was relative to the camera direction instead of relative to the character orientation, which every third person game copied since then.
custom control schemes or at least alternatives would be the cherry on top, I actually like how Goldeneye controls once I got used to it (the default Honey setting)
You can customize the controls. You can even use two controllers so you can use two joysticks.
This is amazing work!!
Suggestion: You should integrate haptics for when the portal hit a non-portalable surface with the rumple pack.
Can't wait to experience Portal the way it was truly meant to be played :DDDDD
absolutely brilliant as always :)
Holly cow dude! This has got to be the most impressive port of all time! Puts half life 2 on the Xbox to shame!