Welcome back to another installment of the Piggy Payback! Dev Blog. The game is moving forward nicely. We hope you enjoy this post!
We’re working on optimizing what we have for a game now so we don’t have to do it all later. We setup some LODs for the meshes in the level. This didn’t affect their appearance since most of the meshes take up a very low percentage of the screen. It does, however, save on some resources.
We also lowered many of the texture resolutions in the game. The engine was telling that the resolutions of many of the textures were way too high based on how far away the camera is. So we set the max resolutions to a more appropriate value.
We did some work on the lighmap settings in the main menu. Since little gameplay takes place on this level, we decided to increase the lightmap resolution on the rocks and trees, as well as the static lighting resolution of the landscape. This makes the shadows look much better. The visuals of the main menu are very important since it’s pretty much the first thing the player sees and interacts with.
Something cool we did was setting the cannon to drop down out of the level after launch, and then move back up into place so the next pig can load into it. This also keeps the cannon out of the pig’s way during gameplay.
Another really useful feature we added was a progress bar that fills as you get closer to scoring enough points to beat the level. This gives the player a clear understanding of what they have to do to win, as well as how close they are to winning. We’re also going to add the same progress bar to the win and lose screens with a filling-up animation that starts once these screens appear. In addition, we will later be adding images of the egg gems (like the 3 possible stars you can win in Angry Birds) along the progress bars on the win and lose screens, so when the fill of the bar passes enough points for one of the egg gems, that’s where the egg gem will be.
We did some other minor fixes as well. We fixed some corrupt assets that have been causing problems. More of those level pieces that freeze the engine when you click them. We have to re-import them under a different name when this happens to fix it. We fixed some incorrect, and frankly ugly lighting and shading that was in some of the levels. We also made the placeholder 2d art/backgrounds so they fit the frame perfectly when seen through the gameplay camera, which is a sort of faux orthographic camera. We set this up by lowering the Field Of View to 5 and then moving the camera way back.
We also fixed up some errors that were popping up when we started the engine. this involved renaming the textures and back tracking the references to the materials and changing, saving, than reverting them back.
We finally began work on the cannon upgrade system. We setup a Blueprint Map/Dictionary, which lets you add a variable, and then a value associated with it. They’re called “Key-value pairs”. It let’s you add as many of these as you want. So far we have keys for manual aim, trajectory indicator, and extra power upgrades. Their values are all true/false Booleans. So when the player presses “Upgrade” next to “Manual Aim”, for example in the Widget we created, the Blueprint Map will set the manual aim key to a value of true. And when that value is true, it disables the auto-aim and enables the manual aim. We will continue to try to add more cannon upgrades to the list.
We started work on the pinball style tracks that the pig will roll along when the player shoots it into the entrance. We created a spline blueprint and added logic to the Pig blueprint to follow the spline. We then modeled a test track in Blender, brought it into the project and gave it a chrome material. We then put the spline inside the track and made it follow along said track. Now when you shot the pig into the entrance of the track, it overlaps the spline collision sphere, and follows along the track and spits out the other end. We still have to setup the logic so the faster the pig was going when it entered the track, the faster it’ll go along the track, as well as the bugginess when the track spits the pig out at the other end. We also have to make it so if the pig isn’t going fast enough, it rolls up into the track and then back out.
We finally re-exported all the triangle, board and frame meshes from Blender as .obj files to fix the lack of bounce. We then imported them into the project and gave them a bouncy physical material. This seems to have fixed the problem.
This week we started working on the logic for Powerups. We started with a blueprint consisting of a cube and a box collision component. We also added a rotating movement component and gave the placeholder cube a pig-pink material. So the cube sits in the air in the level and spins along the X axis. We created a Blueprint Interface and applied it to the Pig Blueprint and the Powerup Base/parent. We plan to make all the Powerups children of this base. When the Pig overlaps this Powerup, it increases its scale by 1.5 for 10 seconds, then goes back to normal. This will allow the player to collect birds and eggs easier due to the larger size of the pig.
That's all for today, folks! We're making big strides, so be sure to catch us next time!