Remaking Toy Story 2's game in Unreal Engine 5 | Dev Log Episode 1 | Toy Story 2: Reassembled

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
I spent just 8 weeks remaking Toy Story 2 from the PlayStation 1 and under engion 5 and I went from this to this Toy Story 2 Buzz lie to the rescue was released in 1999 by traveler Tales yeah the same Studio that gave us the Lego games my favorite of which is Lego Jurassic world I'm not trying to show off how much faster or better I can make the game than the original devs it is incredibly difficult to make games in the '90s so I have a lot of respect toward developers of that time period I wanted to remake this project because I love the game but since there are a few elements that haven't aged as well I would like to modernize those mechanics this game deserves a remake so the game can be the best version of itself possible also I know every single mechanic in this game so well there's absolutely no chance I would ever forget a single feature from the original game no chance absolutely not to finish I first downloaded The Toy Story 2 modding kit from GitHub thanks friend very cool I then could use this application to export the levels models as an fbx file and bring that into Unreal Engine just to note I actually intend on remaking almost every single model for this to get better at 3dr but I wanted an environment immediately to be able to make the Mechanics Work using these existing models did not instantaneously work though one issue is every mesh had two versions on the map a low LED and a high LOD version LEDs if you don't know is the system that essentially swaps out models for a lower poly version the further you move away in the same vein the import also created hundreds of materials and textures that are all the exact same which isn't very efficient or practical so I removed all of the Xs materials and textures and I upscale the textures for good measure the texture maps are 256x 256 pixels so each individual texture is only 64 pixel squared so I bumped them up to 256 which is still really small at this point I knew I wanted to get buzz into the project but like will this even be okay as a thumbnail also just look how funny this dude is the dude has literally two triangles as a face there's so many talented character modelers out there that can help me save time on the project so I ended up buying this Buzz model for $20 the neat thing about this model is it's already rigged as well a rig for a model is basically a skeletal structure where the bones are used to animate characters Buzz is a humanoid rig so nothing too crazy except that his wings are also Rigg so I can animate them easily to open and close without having to update the whole model and I think that is pretty based Americans man you guys are so cringe I imported Buzz to ue5 and attached them to a third person controller blueprint which is essentially the project that is responsible for capturing your inputs on your specific character in the environment I also set up the rest of the character by giving them components such as character movement component which is unal engine's default movement mechanic that will work with Buzz for now but depending on how much I need to add I may create a character movement system completely from scratch if needed and let's see how he moves this game blows okay I added Collision to all the meshes and there we go it just works and one of the great things about having a fully Dynamic game engine is all of this just works and again it it just works I then added a double jump and a lock on strafing Mechanic in the original game you can stand still and aim it was slow boring and hard to control though I have heard people say that seeing Buzz's face in reflection is very fun I would love the challenge of updating the combat in this game imagine if it played more like ratchet and clink when fighting enemies this Series has some of the best third person platform action elements out there so I want to replicate that so I created a lock on mode that will move the camera to a more dynamic position and lock the player's Direction I'm not adding combat in yet but when I do I will come back to this and make it even more interesting the issue with this level so far though is that it is dark so I have to play in unlit mode to see and that is pretty gross so let's set some lights to the environment this did cause the build to run slow so I spent some time optimizing the render distance of the lights this is easy and prevents lights from staying on if you're too far away I can also set up a trigger for the rooms that activates and DEA lights as needed since right now if you're in the garage you're technically close enough for the basement light and Andy's room light to be on now that fixed most the performance issues but let's do one more thing I activated nanite on all the static meshes in the project nanai is a new tool from unroll engine that is an automatic LOD system so instead of having to create multiple meshes for each object to use for the lods nanite scales the objects mesh perfectly with the viewport allowing for objects to drop the visual Fidelity of an object perfectly with the pixels it's using this is super useful for me because the meshes are not organized very efficiently at all at all from the PS1 game like uh why does this wall just not two triangles why does it have so many edges after updating the lighting there are still some areas that are dark so to fix this I decided to give Buzz some kind of light source and it just so happens that buzz has a canonical light source in the movies I created an missive map for Buzz that would cause certain parts of his mesh to light up if you're wondering how this works basically unreal looks at the image to determine if a pixel should emit light or Not by tracking the value from 0 to one black is zero and white is one the further a pixel is to one value the more it will emit the color specified in the material so here I set up his green parts to glow and told the material to make it Glow green I then added a light to buzz to make it brighter I didn't have to set Buzz to be on a different light channel so I could force the new light not to have any effect on him this was such a fun moment because this is something that just wasn't even possible when the game came out but here it was working in less than an hour I can carry these same technical aspects over to his buttons and lights on the wings as well but we'll worry about that at a later time at this point I added my project to perforce which is basically a server service that keeps track of changes so that you can protect your project from corruption or loss it also is how you get multiple people to work on the same project at once there are a lot of different repository Services out there the most popular of which are perforce git and plastic which is actually my favorite to use perforce is a little complicated to use but it ties in very nicely with unre engine so that is a plus everyone should use Source control on their projects there is also AWS but my account was hacked while I had the subscription the hackers then rented tons of servers for Mining and within a few hours charge thousands of dollars to my account so yeah I suggest avoiding AWS now less about me becoming financially ruined and back to the fun stuff let's run through all of the movement mechanics because that was important for me to get locked down before I made any public announcements about the project first I added bounce pads the original game had these that if you stomp on them they would send you flying to a specified area I created a box trigger that when the player overlaps it will reset the velocity of the player then launch the player in a certain direction I use this Arrow to show where the launch direction is in the engine I created these public variables to set the forward and up velocity of each bounce pad individually this level has two but we'll only do the recliner bounce pad for right now and wow yeah that's a lot more fun than I expected next I needed to create pushable objects this includes boxes in the basement and attic as well as a scale in the kitchen this feature was pretty simple actually while the player's pressing in a relatively forward Direction against the pushable object the player is attached to the object goes into the pushing animation and the object is moved I do use some basic math to make sure it's not being pushed too far here I also added the ability to simulate falling when objects are pushed off The Ledges this isn't falling this is lying about physics with style and with that I can now push these boxes and the scale I did have to update the system to allow for multiple push directions that way we can push the box in the Attic once this was done I then set the scale back up to be able to launch the player through the top of the cabinets in the kitchen there'll be a little sheep up here later something else I had to do to get this feature working was create an interactable system essentially I created a giant capsule collider in front of the player then created something called an interface which is executable code on different objects that all have the same function name but can do different functionality I then basically created an alert to go off on those interactable objects when I'm near it when I press jump while I'm near it and when I pressed an action button while I'm near it this will be used a lot going forward now let's create the ground pound for this we use something called a timeline node which you will see used a lot is basically a no that create a timeline with a specified amount of time and adjust variable values inside of that timeline the ground pound is really easy I told the timeline to freeze buzz in the air for a moment then when the timeline was up I launched him down and toward the ground I also set up a damage sphere when I have objects or enemies that can receive damage and I also added a particle system to sell the whole ground pound effect though I haven't created the ground pound particle system yet trust me though particles will make this look amazing when I add them the next feature was a seesaw and I'm not going to lie this took 5 minutes unreal has a built-in system to give objects physics but it's also able to give them constraints so I just put a wood piece on a bar gave it physics set shut off balance and then let it only rotate within a range easy and that just leaves four movement mechanics left yep nothing else I certainly didn't forget about anything else for sure they're all pretty difficult actually the zipline climbing po swinging on bars and mantling walls for the zip line I created a rope component that would represent the visual of the zip line then when the player overlaps with the Rope the player is attached to the rope and using the timeline feature I mentioned before the player is moved across the zipline until they either reach the end or jump off and honestly the climbing pulse feature was almost the exact same but instead I just made Buzz move with the player inputs rather than with a timeline next I did swinging bars which is the most Troublesome feature i' worked on so far because it involves updating rotation values with math which is a lot harder than you would think I created a placeholder bar and gave it a trigger like the last two features changes the movement mode and creates a timeline I also created a debug Arrow to make it easier to see and this Arrow would rotate 360° based on the timeline now the timeline loops and changes a float value from 0 to 1 depending on the percentage of rotation that should be completed so 0.5 or 50% should be 180° the arrow pointed in the right direction but for some reason Buzz would just flip when he was completely upside down this little bug took me 8 hours to fix because I spent half the time trying to see if unreal makes players never be completely upside down I even tried adjusting Buzz's local gravity to the direction the arrow is pointing but it turned out my math was just bad so so cool I won't call this feature 100% done yet because watch my animation and now the original animation the original animation is so much more weight because of the dynamic speed of the rotation now this is super easy fix because of my timeline node but I need to get this episode out so this will be a future Zack problem I then worked on mantling Ledges and this is a pretty cool thing too I generally followed modern standards on this solution but basically I solve this problem by shooting out a bunch of Ray cast or Ray traces these are invisible lines that check a certain distance from our player to see if it hits anything I have one that shoots out from Buzz's upper chest then one just above his head if something hits the chest Ray cast but not the head Ray cast then that means there's possibly a ledge to grab I then shoot Ray cast down from above the player until it finds exactly where the edge of the ledge is lastly I manually tagged objects that I want to allow mantling for and if all of this is true I then know exactly where Buzz needs to grab to mantle up this sounds really complicated but it wasn't too bad honestly and it already Works 100 times better than the original gamees [Music] mantle time to lose shut the hell up and that is pretty much all the unique movement mechanics in this game well uh yeah remember when I said I remember everything about this game well that was a bit of a lie has there always been a spin attack in this game I do not remember this at all well it looks super easy enough to make but it will have to wait until next time when I have it in there make sure you are subscribed so you don't miss it now it isn't movement or really a large part of the game at all but wanted to get dialogue into the game at this point for this I'm currently using ru's narrative dialogue and Quest editor plugin which is extremely powerful and diverse I created the dialog trees for each character in this level which is Rex Mr Potato Head Bo Peep the robot boss and ham it is worth noting I didn't do any of the hint boxes at least at this moment then to save a lot of time I bought a really high quality Ham model online for about 15 bucks I promise I'll make my own characters eventually though they will p the robot enemies I then added the narrative component to buzz added a trigger to ham to invoke the correct dialogue when Buzz enters it and updated the out with a basic layout I almost want Persona style dialogue with huge character portraits of the person talking though that isn't technically necessary for this type of game let me know in the comments if I should have the character portrait there or not I haven't decided for myself either way I also started building the missions but I really need to get the Collectibles added before I can actually get the missions fully created and now we are almost done I just need to make a build and it won't make a build keep in mind I've been making a ton of bills this whole time so yeah it turned out when I activated the narrative plugin that made Unreal Engine realize it doesn't like spaces in the project name I spent 10 hours trying a ton of different solutions and even trying to edit the ue5 source code uh this is just under engine being quirky and now I'm done if you want to see every task I have finished or planned I have made a trail board that should be linked in the description this list every single thing left to do in the whole first level separate by categories as well as dates for some tasks for when I want to have it done or when it was completed if it is in the done category next I'm going to try and wrap up all movement completely before my next video as well as start on Collectibles I also will start on combat mechanics but I will probably barely break the surface on that by then there's only one mechanic I really want to modernize substantially and that is combat also I have a different type of video plan for before my next development log of Toy Story so if you want to see me explain why my steam game was boring and how I would fix it today make sure you subscribe so you can keep up with all my Shenanigans anyways y'all take care [Music] now
Info
Channel: Level reDesign
Views: 311,341
Rating: undefined out of 5
Keywords: Unreal Engine 5, Remake, Unreal, Megascans, Dev Log, Game Design, Game developer, Remaster, Making the map, Level, Level Design, Level Redesign, Terrain, Mesh Painting, Game Dev, Video Games, Game engine, Game art, Retro game, indie, rtx, geforce, UE4, UE5, Unreal Engine 4, Modding, indie dev, game design, game development, GMTK, Nanite, Lumen, reDesign, Design, Video Game, Toy Story, Toy Story 2, Toy Story 2 Game, TS2, Playstation, Playstation 1, PS1, Pixar, Disney, Buzz Lightyear, Woody, Andy
Id: 86HNVHp9ts4
Channel Id: undefined
Length: 14min 44sec (884 seconds)
Published: Wed Apr 10 2024
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.