I’ve been working with the extremely awesome material generators from InfinityPBR. However, I can’t quite figure this issue out. In the demo scene provided with the generators (and sitting inside my staging project), the walls looks great. When I export them, bring them into my game project and attach them to my walls, they look awful. So… now I need to figure out what I’m doing wrong.
As soon as I started understanding BlendShape options for some of these models, I really wanted to dig into programmatically using them for some interesting effects. First up is a gelatinous cube that starts out melted and waits for a player to get into proximity. Currently, it only moves to its idle animation, but there will be FIERCE combat eventually. And not all gel-creatures will start in this state. Some will likely roam around, hungry for adventurers. Some might fall from the ceiling with a plop, or squish out of a hole. And this is just one type of critter that will be around to sway our Labyrintheer from his or her mission.
So, after a considerable amount of back and forth, I’ve decided to go with a fully 3D world and a fixed isometric camera. The 2D method was intriguing, but ran up against a few issues:
Physics in 2D isn’t quite as… real? I’m sure 2D physics can be made to feel real to some degree, but our worldly physics exists in a 3D world, and I just wasn’t a fan of the flat feeling.
Art in 2D is harder to make and get made. This one surprised me the most. It seems far easier to create and find 3D models and assets than 2D. It’s even easier to find 3D modelers than it is to find sprite artists.
Partly related to #1, lighting, LoS and other similar bits are much more difficult in 2D (for me, at least). These things sort of exist naturally in 3D worldspace. They seem very shoe-horned into 2D.
So, I’ve found some tools and assets that are helping me move this along. After spending months (literally) trying different methods to create the levels, I’ve settled on a tool crafted by Code Respawn called Dungeon Architect. It’s a fairly extensible dungeon/level generation tool that is giving me playable spaces out of the box. Over time I will need to modify the underlying code a bit, but for now it is a HUGE time saver. If you’re interested in checking it out, they also make a version for the Unreal Engine here.
One of my other struggles was art. I am not an artist. I can modify art like crazy, but aside from my past experience as a semi-professional photographer, creation of new art is difficult for me. That led to a big concern; I could pay thousands of dollars that I don’t currently have to artists to create fresh new content, or I could find cheap, existing assets and have a game that looks like other games that use those assets. Neither are great options. Lo and behold, a third option presented itself via the absolutely amazing and customizable assets from InfinityPBR. Tons of 3D models, materials and substances that are extremely malleable right inside the Unity engine. The brick wall in the image below is created from their Brick Generator. The options are incredible enough that I spent an entire evening – literally hours – making, remaking, and fine-tuning a wall just the way I wanted it. The image below isn’t great (it’s not runtime, it looks better in the game), but it’s a fine example of some of the stuff from InfinityPBR. The torch is also theirs, with a few particle effects and a point light added for effect.
If you are trying to break into game development and need assets, I cannot recommend InfinityPBR highly enough. The assets range from US$45-60 each, but each asset isn’t a static thing – it’s a small library of things. They also offer a $25/package option to pick up every new package (seems like a couple each month) at a HUGE discount the day they come out, before they are available on the Unity store. Even if you get some assets you might not use now, it never hurts to have a great 3D library, and at that price you really cannot go wrong.