The benefits of this style are improved engine performance, ease of creation and decoration, and unified feel across diverse level designs. The Helios team doesn’t have much in terms of 3D artists, so I tried to come up with a style that would allow us to create and use our own assets without having to shape anything, but still allow us to have a look that was different from the standard Sci-Fi-heavy asset packages bundled in with the UDK. Using N64/PSone-era imagery combined with the UDK’s ability to render beautiful depth and lighting seemed like an interesting experiment, so I gave it a shot.
The foreground actors that the player jumps on have very simple collision, but all of the other actors have none. Every cube in the scene is the same mesh rendered at the same size, though materials vary. The platform is the same cube, but rendered at different proportions than the others.
Leaves and grass are sprites generated from a simple texture file. The code used to create 2D sprites (the leaves and grass) is found here. This code will require some adjustment, as the sprites created from this unmodified script will flicker in and out if their origin is obscured. Hint: check out the standard Trigger actor’s defaultproperties, because it doesn’t suffer from the same blinking problem.
The background sky is just a big plane with a cloudy material and a panner node plugged in to give it a gentle, breezy motion.
I assembled the simple level in very short time using only materials found on the internet with Google image search, sometimes modifying them in GIMP. To simplify my process, I searched for textures that were already proportioned to exactly 1024×1024. This is because the UDK has some simple rules that must be obeyed for texture importing:
- Image must be perfectly square
- Image’s dimensions must be powers of two (32, 64, 128, 256, 512, and so on)
- Images must be in .bmp format