I was inspired by Octopath Traveler and have been trying to make my own 2.5D RPG game. I’m still trying to get the art style right, but I’ve been having a lot of trouble create levels.
The main issue I’m having is with the performance. I’ve been working on several different solutions, hopefully someone will know what I’ve been doing wrong. For all of these methods I used world aligned materials, with temporary sprites I created.
Hand Placing Static Meshes
I take 1x1m box meshes and drag them onto the screen and manually place them in the location I want. This is the method I want to avoid using the most because it 1) takes a long time 2) when i start dropping hundreds of meshes the game starts to slow down.
Using Landscape tools
I’ve tried using landscape tools like layers splines. The main issue I’ve had with this is that landscape tool are too organic. That’s great for most games, but the art style I’m trying to imitate is blocky and angular. This method could work if I could paint and model onto the landscape in perfect squares, but the default brushes are all circular. Is their a way to custom load in brushes so I could Model and Paint in finite Block?
Large Static Meshes
Since I’m using world aligned textures I can use large static meshes and to make a level. This method has the benefit of not slowing down during runtime. But I’m worried this might end up making the scenes look too blocky and might make it harder to make small edits further down the line. In Octopath they used modular meshes to add organic elements to the scenes maybe if I do the same I can get a good balance of block and organics.
Custom Level Editor Using "Editor Utility Widgets"
Using editor utility widgets I can place down 1x1m blocks with a button click, place down multiple blocks at the same time, and even put them down in a square. I also made it so I can retexture, slant and split blocks. It’s pretty fast and adaptable system. Similar to hand placing static meshes this method really slows down during runtime probably even more so because I need to put all the static meshes in blueprints to make it compatible with EUW’s. This method would probably work if there was a way to easily merge the static meshes of a lot of blueprints and be able to divide them back again if I need to make edits to the level. Is there a way to do that? Maybe get rid of all the edges of blocks that aren’t exposed.
These are all the methods I’ve used to create a basic level if anyone could tell me how to improve them, or suggest a completely different method that would improve performance it would be greatly appreciated.