Alright, so, I haven’t used UE4 since 4.8, so I decided to try it again with 4.12. I know a basic understanding of blueprints and landscapes and a bit of materials. Not much else. So, as a way to learn the engine a bit more I want to try to recreate a game called LittleBigPlanet, released in 2009 for the , in Unreal Engine 4.
If you don’t know what LittleBigPlanet is, it’s basically what would happen if you took Unreal Engine 4, turned it into a game, gave it lots of pre-made assets, materials, blueprint scripts, etc, made it cartoony and give it a fun story with bright characters and amazing looking levels, then you basically let the community do what they want with it, creating their own levels, and even their own games, sitting on their couch on the . Pretty cool! And, in LBP2 and above they actually added a logic system that is very similar to Blueprint - you can script different objects in your level to do things just by placing nodes on a circuit board, and wiring them all together into a network. You could do anything from making a button turn on a light when you walk on it to making entire recreations of triple-A titles, with the only limitation being that LittleBigPlanet has a limited level size and until LittleBigPlanet 3, it only had 3 layers that you could actually put objects that are interactive on.
So my question is, what would it take to achieve the following:
- Creation of levels in-game
- The ability to expose meshes, blueprints, etc to the in-game level creator
- The ability to hook a switch (say, a button) up to a triggerable object (say, a light) and have the button turn the object on/off depending on if it’s pressed.
- The ability to allow the player to sort of ‘paint’ objects onto the level, for example, go into the menu, choose a Wood material, choose a square shape, and be able to click and drag around the screen to draw a walkable object of that material onto the level
- Save each level onto a file on the hard drive so that players can share their levels
- Ability to place pre-made stickers/decorations onto objects (stickers being flat textures that can be put on an object, with any size, rotation, etc, and decorations being 3D objects that don’t have any collision but can be placed on other objects)
- Ability to capture selected objects into a mesh in-game to be used as another object
- Corner-editing (select an object, select a random point on the edge, if there’s a vertex, then modify its location, if not, create one, then modify it’s location)
- Bolts (that can hold an object in place on another object, optionally making it spin, wobble, etc)
- Strings, rods, etc (which can help suspend an object in mid-air)
- Pistons and Winches (which can push/pull objects, and can be turned on/off by switches)
- Player sensors (which are switches that only turn on when a player is within the radius)
- Grab switches, which activate when an object is grabbed by the player
- Save player-created meshes to a folder on disk and load them on game startup so that adding them in through the editor isn’t necessary
- Ability to place lights in-game, and have them movable, and fully tweakable in-game.
I hopefully want to achieve everything in Blueprint - as I don’t know C++, only C# - and if I can achieve that list of things, I will have almost fully recreated the gameplay of LittleBigPlanet 1 in Unreal Engine, and it’ll be up to my imagination to generate everything else in-game, and probably won’t need to exit the game and return to the editor often.
I don’t want to recreate LBP 3 or even LBP 2, I just want the fundamentals, because that’ll give me a fun thing to do in Unreal and hopefully impress my friends with it. Also, it’s freakin’ LittleBigPlanet in Unreal Engine. Doesn’t that sound awesome to you?