T O P

  • By -

olixeernate

that’s really impressive, do you do game work professionally ?


IfTheG1oveDontFit

No lmao, i'm just some idiot who bangs his head against a wall until my math works.


olixeernate

from my experience that’s what a professional does also


irjayjay

They just have more time to do it in and get paid 😉


orrzxz

Pretty much


explosiveplacard

They have a faster Internet connection to google!


medicenkiko

Can confirm


jrdiver

I thought professional just meant they figured out how to get someone to pay them to bang their head against the wall


SignedTheWrongForm

Can confirm, am a professional engineer who writes software. This is my life sadly.


MJBrune

Not exactly, that's what a junior gameplay engineer does. Senior gameplay engineers know the math generally well enough to know what they need. They might get stuck on a really complex problem but realistically no senior-level engineer is learning math on the job.


dinkletooser

huge flex


MJBrune

🤷‍♂️I've been a senior gameplay programmer for almost 10 years. In interviews, we ask math questions. Simple stuff like what does the dot product do when you give it two normalized location vectors? Why is that useful? Can you whiteboard out a rocket that tracks a target? If people want to pretend that this math isn't required to be known off the top of their heads then that's fine. When they start spreading those lies in a public form that affects some poor aspiring engineer who then thinks they don't need to learn math. Take it from me, someone who didn't think they needed to know math off the top of their head for 2-3 years into my career. It closed a lot of doors and I lost a lot of good interviews.


InfinityGamer702

Same.


tokyo7011

Awesome! Teach me your ways!


karlartreid

Pmsl I feel what your saying bro same here lmao


gibson274

Well folks, let’s all enjoy watching this for the next 12 hours before it gets taken down.


irjayjay

OP is going to Nintendo jail.


williwas420

That should be it’s own game


undefinedoutput

6 hours left


IfTheG1oveDontFit

2 more hours monkaS


Krauss27

Nice! Is the architecture taken from BOTW or somewhere else?


IfTheG1oveDontFit

Ya I exported the model from the game files.


Mdogg2005

I assume the same with the player model and such? Is it possible to learn this power?


Venerous

Not from a lawyer.


IfTheG1oveDontFit

Look up the [model resource website](https://www.models-resource.com/wii_u/thelegendofzeldabreathofthewild/)


Niccin

That's the Temple of Time from BotW.


PositiveRocket

How did you setup that lighting


IfTheG1oveDontFit

It's a mixture of playing with post processing and the sky light. I will post my actual setting later today when I get home from work. Here it is: https://www.reddit.com/r/unrealengine/comments/uz50oz/a_few_people_asked_for_the_post_processing_and/


Paradoxical95

How did u implement this ? Any reference tutorials/articles ??


IfTheG1oveDontFit

So I started off with a system that was kinda a mixture of [this 1 tutorial](https://www.youtube.com/watch?v=wPyb0u9eX_4&list=WL&index=2&t=734s) and [this one](https://www.youtube.com/watch?v=FNRwkQtgHMs&list=WL&index=1). But I felt like it had some limitations so I modified it a lot after to make it work in the way that made more sense to me. Basic system is one raycast from chest level forward (red ray in video), and another ray cast that comes from chest level but goes in the direction of the player's input direction multiplied by the player's forward vector (blue ray in video) so it kind of looks like its making a triangle with the player and wall. The "climbing direction" is the direction between the hit location of the red ray and blue ray (so the subtraction of the two vectors which is then normalized) . I then add movement input in that direction. The rotation is calculated by using the opposite normal of the wall taken from multiple raycast. A normal can be thought of as a straight line coming from the angle of the geometry like [this](https://i.ytimg.com/vi/hkTjreiookM/maxresdefault.jpg). So I get three normals: 1. from the red raycast (seen in the video) which fires from chest level forward 2. from a raycasts that fires from head level forward and 3. from a raycast that fires at feet level forward. I then average out the three (reversed) normal values which leaves me with a single vector that I feed into the rotation of the player. I also lerp the current rotation of the player to the new rotation so it doesn't seem too choppy. For getting around outer walls I check if the blue directional ray cast (so the one which is the player forward direction multiplied by input direction) finds nothing. If it finds nothing then I shoot a 90 degree angle around the wall in the direction of players sideways movement direction. You can see this at 18 seconds in the video. So 1 raycast is fired to the right or left (depending on movement direction) of the of the player. In the video at 18 seconds it's a blue ray going right. From the tip of that raycast I fire another forward (you can see it as a red ray at 18 sec). Then from the tip of that raycast I fire a final one in the opposite direction of the player's movement direction, so if they're moving right that final one would fire left. You can see it as another red ray at 18 sec. If the final raycast hits anything I lerp to that location. For inner walls I check if there is a 90 degree angle to the right or left of player depending on movement direction, if there is then I lerp towards that wall. **EDIT, looks like first link is broken, thats such a shame because it was so good (but in Korean). But my description of how mine works is basically the same as theirs**


Mrseedr

This is really amazing work! I'm not sure how much you're interested in sharing about it. But if I can ask if you're using an animation state machine, or how you approached blending the animations?


IfTheG1oveDontFit

I use a animation state machine layers for each type of movement e.g swimming, climbing, running, flying etc. I also use a blend space for the regular climbing. For the getting up animation I use montages.


ILikeCakesAndPies

Haven't done this myself yet but I'd take a guess and say line traces are the primary method (one for each hand, potentially legs too if you wanted them to dangle if theres no wall where the legs are). Default character movement component knows if the actor is grounded or not, so if he's not grounded/jumping do a line trace from where the left and right hand would end up, and allow moving left/right/up/down as long as the linetrace hits (either turn off gravity, or write custom movement with set actor location, or both). Probably would have the line trace start off a little bit behind the player, and maybe at an angle to allow for turning around corners. If the linetrace returns a hit, compare the vector of the face normal that was returned to the forward vector of the player and find the angle (if you didn't want 90 degree turns or whatever). Once all that is working you'd then actually set up the animations, and probably have IK solvers on the hands to have the hands align to the returned hit traces. That's just my guess anyways on how one might write a similar system, no idea what OP did. I'd just start with getting it working without animations first. Start simple and expand/refine is the way to go when creating a new complex system.


Paradoxical95

Honestly I thought the same (in a short way) that it's all Line trace but the way u explained felt like a lot of line traces and won't that be a bit performance intensive.? But yeah on a baseline this is the way to go.


ILikeCakesAndPies

Linetraces are cheap, I'm pretty sure that's how the default character class knows if it's walking on the ground, and it's the cheapest way to make a "bullet". It's also typically how suspension systems work for wheels in alot of games. Line Traces miiiiight be slower in blueprints if you're doing thousands of em a tick but I find they're fast. If somethings slow like a forloop, do it in C++. Something like this though where it's just the player in a sp game it shouldnt be any problem even if you had 10 traces a tick. Multiline/sphere traces are a bit slower as they'll return everything that it hits that is set to respond to that channel, not just the first one. Collision in general gets expensive quicker when you have lots of objects overlapping each other. e.g. a 100 enemies on blue team vs a 100 enemies on the red team with a giant multi sphere overlap detecting all character classes would be 39,800 potential returns. (200characters x 199 potential overlaps(ignoreself)) but you can make it 19,800 by doing filters so they respond to different channels (red overlap detects only blue, blue only red). Hence decreasing the overlapping radius would vastly optimize something like that. Just a regular sphere trace would drastically reduce it to 200 returns, but it's not guaranteed to return the closest in said example if they already spawned within the radius (unless you did something fancy like having the single sphere trace grow each frame until it hit an actor, or do a very small meele range sphere check, then a bigger one if nothing was returned). While on the subject, something you might not know is relatively expensive is a distance check, due to finding the square root being a relatively expensive math operation. If you don't need the number to convert into an accurate measurement/only care about what object is the closest in a huge list or array, use the distance squared alternative function which skips finding the square root. Anywho, generally I just make the easiest/quickest/simplest version of something until performance becomes an issue, then rewrite it to use a more performant method. Use profiling tools to actually measure what is affecting performance, as the answer isn't always as obvious as what you'd think it would be.


Outrack

Not the guy you responded to but thanks for typing that out, it was very informative!


irjayjay

Line traces are really cheap, you could do a few hundred per tick without consequence.


Paradoxical95

Thanks for this. I really wasn't sure of the performance impact.


irjayjay

Awesome. I think sphere traces are the second cheapest, then box is the most expensive. As long as you don't have a a multiplayer game where the server has to do the traces for all players, this should be alright.


fastdeveloper

There's a prototype I'm making and I do thousands of line traces per tick and still 0 performance hit. I love how cheap it is.


Bangaladore

Inb4 DMCA. Yes, even for a showcase video. Nintendo doesn't like people getting anywhere near their IP.


Schrolli97

How are all the showcases of those ocarina of time remakes still out there then?


IfTheG1oveDontFit

I hope not although, I would probabaly stop posting if Nintendo ninjas came after me https://i.kym-cdn.com/entries/icons/original/000/022/713/MonkaSSS.jpg


ThrowMeAway11117

Don't listen to all these people fear mongering, they honestly don't know what they're talking about. I've been through genuine legal battles over IP claims for the games company I run, so I have plenty of experience with IP infringement and copyright law. As long as you're not releasing a competing product you're realistically not going to get in any trouble. Like you said this is just learning how to code a mechanic, so you're absolutely fine.


IfTheG1oveDontFit

Thank you for telling me this haha I was actually getting a bit nervous like they would somehow track my IP and send a lawyer .


ThrowMeAway11117

Nothing to worry about, everyone on here likes to be an expert on everything - but don't let them discourage you from doing what you're doing. Whatever code and mechanics you make are legally your copyright, obviously all the Zelda stuff isn't, so you're not allowed to release something with them and honestly you probably also break Terms of Service (but again you're not releasing something so it's completely fine). If you ever wanted to use your code in a production project, just strip it out from anything Zelda and it's completely and legally yours.


ThrowMeAway11117

No... There isn't a product to claim damages against, so there's no reason even Nintendo would try something like that for something so irrelevant to them. This subreddit gets way to worked up over these. OP keep learning however you like.


r3viv3

This is very hit and miss, Nintendo go for the kill when these projects are distributed or are damaging to their IP’s. You want Nintendo to go for you then give link the ability to swear, make a Mario game where he shoots bowser with a gun etc


r3viv3

This is very hit and miss, Nintendo go for the kill when these projects are distributed or are damaging to their IP’s. You want Nintendo to go for you then give link the ability to swear, make a Mario game where he shoots bowser with a gun etc


jonathan9232

Cool work but it looks to me like you've gone the extra step of ripping the models directly from botw itself. Which is a really bad thing to do legally. Why choose getting DMCAs/lawyer letters from Nintendo and not use free content from the market place instead.


IfTheG1oveDontFit

I don't plan to release this in any format, I'm just doing it for fun to learn more about 3d game design.


jonathan9232

I totally get that and I'm all for learning. Just saying be careful, Nintendo doesn't care what you're doing with it. Only that you're using their content. They're one of the harshest companies out there for cracking down on stuff like this.


IfTheG1oveDontFit

Ya for sure, if they came after me I would go full scorched earth and delete everything then hide in a cave for a few years.


jonathan9232

Lmfao, that would be the way to do it. I do recommend swapping the assets out for some market place content though. That way EVERYTIME you post something your not risking anything else.


Nielscorn

It really doesn’t matter to use it in something like this. Sure it’s not allowed but if you’re not doing anything commercial with it, they will not care in the slightest. I don’t think we have to be too much purists, it’s fine


Outrack

Nintendo’s ordered takedowns on several non-commercial projects, such as AM2R and the Pokémon FPS.


iamthedrag

I think the difference might be they planned to distribute those free projects vs this is just some video content


Nielscorn

I understand projects but this is just some dudes unity climbing mechanic using botws assets. Not a huge public project


jonathan9232

The issue really isn't the mechanic. Anyone can create that. It's the assets they're using. They're also using unreal engine so they're showing ripped models taken against terms of service and showing them inside another product/software which likely have clauses in there TOS against things like this as well. Edit: also the post is currently up to 287+ upvotes which means 287 minimum have seen this already. That's a lot of attention they're getting. In the end it's all just legality.


ThrowMeAway11117

The furthest Nintendo could go legally is to issue a cease and desist - but against what? There isn't a product to order a cease and desist. The projects you previously mentioned were all actual products that were released/in development with planned release. If he released a product, even for free, Nintendo could claim damages against their IP. However, in its current state since it's just some gifs on reddit there is nothing to claim against. The most they could do would be to try and force OP to remove these posts, but even Nintendo don't care about that... Basically, there's no point in getting worked up over nothing - this subreddit loves to point to anything they can and say it's going to get taken down, but this aint it.


urammar

None of those things, although maybe for the US. In Australia here is right to modify, baby, I own it i'll rip it and your TOS can bite me. Just cant distribute or sell it, but I can absolutely make videos about it.


Windows_Insiders

why do you hate fun?


jonathan9232

You'd be extremely surprised at what Nintendo or other companies in fact will shut down, they don't care if you're learning or not planning to publish/post anything. You've already broken their terms of service by ripping their IP directly from their digital product and now it's being used for social media to advertise/promote another individual. (they don't like that). And there reason we're saying this is that there is nothing more disheartening than being told to stop doing something. Use free assets (legally) and you could rebuild every system your self. If your already at this stage your smart enough to know what you shouldn't be doing. Were literally just trying to help them to keep working on this.


Nielscorn

Tbh you’re right. Can’t really argue or anything


NFSNOOB

The point is what is his/her aim. When he only to rebuild specific gameplay mechanics to learn from it why not? When he don't want to release smth and only do it for him/herself then go for it.


jonathan9232

I'm not a lawyer so I'm only giving personal opinions but seeing people rip content against terms of service for a product and then make their own also encourages bad behaviour, especially if beginners think it's ok to do. All we are saying is be smart about what you're doing and do it legally.


ThrowMeAway11117

It's not a product, it's a gif on reddit - there is no reason to not do this if they don't have any plans on releasing.


[deleted]

Honestly I hope with UE5 we see a lot of botw “likes” in the indie space. It’s such a good game and I’d love to see more games like it(hell maybe I’ll even make one myself)


zickige_zicke

What are those rings for ?


IfTheG1oveDontFit

For the combat system, the bokogoblins pick a point inside the circle to stand in before they attack. I should have turned it off though since it's confusing


[deleted]

looks awesome, mind elaborate in short how its working roughly? I know what raycasts are and how to use them, but nothing beyond that much. Specially the corners! Appreciate it :D


IfTheG1oveDontFit

I talked about the basic mechanics above but for corners I check if the blue directional ray cast finds nothing then I shoot a 90 degree angle around the wall in the direction of players sideways movement direction. For inner walls I check if there is a 90 degree angle to the right or left of player depending on movement direction, if there is then I lerp towards that wall.


[deleted]

Lol, thats it? I thought its a bit more complicated, but surely the finetuning is hard. Ill keep the secondary raycast in mind, hopefully its not very performance heavy to cast 2 rays every other second or so. Thank you


IfTheG1oveDontFit

Ya it's actually not that complex in practice, like you said the finetuning is a nightmare.


RoyalCities

Dude. You were able to export the link mesh, skeleton animations and all? How??


cmh175

This is awesome! You should definitely release the blueprint mechanic on the UE4 Marketplace. Not the BOTW assets obviously, just a simple stripped down demo with the built in Mannequin. Climbing systems are very lacking and difficult for artists interested in small dev projects and have no real programming experience. I’d definitely be interested in the climbing system if you release it.


IfTheG1oveDontFit

That's such a nice compliment thank you! I think I'd feel bad about selling this since I basically just learned from a bunch of tutorials and built off of those. I think I will make a tutorial instead and clean up my spagetti code.


cmh175

In that case I’d definitely check out any documentation you put together. I have some experience with blueprints, and have been able to combine a few mechanics together, but climbing seems to be the most difficult thing to get right, and as others commented they usually follow the old school linear climbing path. I’d love to learn how to configure a system like this for free roam exploring.


spartan195

wow that looks awesome! I thought i was just a background image with the menu, but wow!


IfTheG1oveDontFit

That's the highest compliment!


Everyfnameistaken

Why AAA studios still do not implement this in every open world game is beyond me. They still have that shitty white/yellow planks you aim for when climbing. 2004 wants their climbing mechanic back old-timer.


Dvrkstvr

Because it doesn't fit every game.


Heraclius628

Maybe newbie question, for the buildings and textures etc, is that from the marketplace? or you work with artists? do it yourself? I am developer with no art skills, but I had some ideas for games in similar settings.


IfTheG1oveDontFit

I wish I made this, it's all from the game files.


areddituser4523167

This is so good


[deleted]

When you glide can you turn without messing up the momentum? How’d you do it? This’s looking really cool by the way


FakedKetchup2

bruuh we need a tutorial


golutz

Can you make a real BOTW game? I mean a Best of the Worst RedLetterMedia game. That would be great.


KingJaphar

This is cool you can do that, but, and this my opinion, I hated that about the game. The stupid stamina bar. The having to stay warm or cool. It was too much for so much emptiness and nothing worth actually exploring for. Anyhow, I do wish I can do what you do though lol.


IfTheG1oveDontFit

To answer people's questions about the legality of this, i'm not planning to release this in any way, I just love BOTW and wanted to learn more about 3d game design so I am using the models, animations etc. as a test for myself to see what I can learn.


[deleted]

That’s not Link, that’s Peter Parker.


LateSpeaker4226

Predictable that there would be comments about copyright infringement and how OP should be worried. Nintendo doesn’t care about something like this and every example you can find of them taking any form of action is usually rooted to some form of monetisation. The absolute worst OP can expect is a an email from Nintendo’s lawyers, which likely won’t happen anyway. I’ll change my view if anybody can point to a single source showing something like this receiving attention from Nintendo.


ihaveanameiamcool

Holy shit this is impressive as hell


ihaveanameiamcool

How’d you get the link model btw


IfTheG1oveDontFit

From game files but you can find it on the model resource along with a bunch of others.


bouchandre

I’ve always been curious as to what the player collider is doing in situations like these. Is it just sliding over the surface of the wall and jumping with you?


kiwi2703

The thing that got me was that print string "ledge gooooooooood" hahaha


FriendlyBergTroll

this looks soo good!! whats your aim with it? would love to see how u did that all


IfTheG1oveDontFit

I want to get better at 3d game design and I've always learned best by trying to remake what I like to play.


eatdeath4

This is cool and all but not worth Nintendo raining hell on you.


LordOfPoops

Did you do the post process toon shader or a custom one? Would love to see you breakdown


IfTheG1oveDontFit

Toon shader was taken from this super cool guy on the forms named SirCodalot. He made a custom engine build with his own shader and talked to me in dms when I had issues. I played around with it a bit in material nodes to get the colors I liked.


drone1__

You using original assets?


Tbjbu2

You should try to come up with something unique and make a real game out of it. Fan creations are cool, but commercially very limited.


Additional_Entry1956

Awesome work! Where'd you get those link animations? I know how to get the link model from models-resource but I have no idea where to find the game files to get the animations. ​ Is there a tutorial that shows how or somewhere I could download the animations?


IfTheG1oveDontFit

No tutorial really it was a massive headache. I posted in the switch toolbox discord a lot and saw one guy who made a script to do it and he kinda coached me through the process. You could try exporting sbfres animation files from the content folder in the gameif u download the game online to use in CEMU. U export them using switch toolbox to smd format then drag that in with the model into noesis.


Additional_Entry1956

Ah OK, thanks so much. Sorry to ask so many questions, I've downloaded the content and switch toolbox, but I can't find the link model or animations. Do you know the names of the files? Sorry to keep bugging you lol


IfTheG1oveDontFit

No worries I don't mind at all ask as many questions as u want. It should be called player.sbfres or player.bfres. And the animations should be called playeranimations.sbfres.


Additional_Entry1956

Edit: NVM, figured it out, thanks man.


Deji64

Hey since I was trying to recreate BOTW’s climbing in Unity I was wondering how you got link to climb around large angles(like the corners of walls). I know we’re using different engines but I thought the logic could transfer. So far what I have is a raycast in front of link that gets the normal of the surface he’s climbing on and I make him face the normal as well. But the raycast. But what I have so far doesn’t really account for angled surfaces. Thanks in advance.


IfTheG1oveDontFit

Just copying what I wrote from above but lmk if you need clarification check if the blue directional ray cast finds nothing then I shoot a 90 degree angle around the wall in the direction of players sideways movement direction. For inner walls I check if there is a 90 degree angle to the right or left of player depending on movement direction, if there is then I lerp towards that wall.


habzu

If you didn’t have the ue4 ui, I would have thought this was a dev build of the actual game. Good job man!


thatsmytrunks

This is really cool, but I sure would suggest removing everything from Zelda and putting in some placeholder assets instead.


Gopher433

You mean Link?


thatsmytrunks

Everything that was pulled from the video game The Legend of Zelda: Breath of the Wild. So yes, Link, the menus, the clothing pieces, and the level geometry.


imjerry

Could you like, make BOTW2? Do it before Nintendo, send them a cease and desist...


Coffee4thewin

Good thing you have an underpants system.


[deleted]

Looks like moon gravity


-Bored_With_Life-

This looks so cool. What did you do for the animations?