LOW POLY MOUNTAINS AND LANDSCAPES
The first low poly mountain I ever made looked like a crumpled paper bag someone had punched in the middle. I had subdivided a plane, grabbed the center vertex, yanked it up about fifty meters, and called it a mountain. It was not a mountain. It was a tent. A very tall, very boring tent with four triangles visible from every angle.
I remember staring at it in Blender and thinking, okay, real mountains have more than one peak. So I grabbed a few more verts, pulled them up at random, and now I had a tent with pimples. Still not a mountain. It took me a year of messing around with terrain in various engines and art packs before I finally understood what makes a low poly mountain feel like a mountain rather than a shape that happens to be tall.
The short version: mountains are about ridgelines and shadow, not peaks. Everything else in low poly terrain follows from getting that one idea right.
Sculpt or translate, pick your poison
There are basically two ways to make a low poly mountain and they produce very different results. The first is the subdivided plane plus displacement approach. You take a flat plane, subdivide it maybe six or seven times so you have a grid of triangles, then either apply a noise displacement modifier or sculpt it by hand with a coarse brush. After that you decimate it aggressively, usually down to maybe one or two thousand triangles, and you get that characteristic faceted terrain look.
This method is fast. It's how most procedural terrain tools work under the hood. It's also how you end up with mountains that look vaguely realistic because noise functions naturally produce ridge and valley patterns that resemble erosion.
The second method is base mesh plus translate verts. You start with something blocky, maybe a low segment cylinder or a half sphere, and you push individual vertices around until you get a shape you like. This is slower but gives you much more intentional results. Every ridgeline is where you put it. Every saddle between peaks is deliberate.
My opinion: use the subdivided plane method for background terrain that the player will see from far away, and use the translate verts method for any mountain that matters. The hero peak that the player is going to hike up, the iconic silhouette that frames your main village, the volcano they fight the boss on. Those deserve intentional vertex placement. Background filler that exists to make the horizon feel full can be noise displacement all day.
The mistake I made for years was using noise displacement for everything and wondering why my terrain felt generic. Noise is great at producing plausible terrain, but it's terrible at producing memorable terrain. You want the player to recognize your main mountain from any angle. That only happens if a human put the ridgelines there on purpose.
Faceted versus smooth shading, the eternal argument
Here's where low poly artists fight each other in forums. Do you hard shade your rocks so every triangle is a distinct plane, or do you smooth shade them so the polygon grid blurs into continuous curves?
I fall on the faceted side pretty hard for rocks and mountains. The whole point of the low poly aesthetic for me is that the geometry is the art. You can see the triangles. You're supposed to see the triangles. Smooth shading a rock makes it look like someone tried to fake a high poly rock and ran out of budget. Faceted shading makes it look like a deliberate stylistic choice.
But there are exceptions. Grass hills and rolling meadow terrain almost always want smooth shading because real meadows don't have visible facet breaks. A gently curved pasture with hard shading reads as weirdly jagged, not stylized. And distant background mountains sometimes benefit from smooth shading because the facets would otherwise compete with your foreground detail.
The rule I use: if the geometry is meant to feel rigid and mineral, faceted. If it's meant to feel soft and organic, smooth. Rocks, cliffs, boulders, scree, faceted. Grass, soil, moss, sand dunes, smooth. Trees and bushes go smooth for the trunk and faceted for the foliage most of the time, but I'll get to that.
One trick that splits the difference is per-face smooth groups. You can smooth shade most of a rock but mark certain sharp edges as hard so you keep the silhouette crisp while the flat planes blend. This is fiddly to set up and usually overkill for low poly work, but it exists if you need it.
Trees without the grid problem
The first time I tried to forest a hillside I placed about two hundred identical pine trees on a regular grid. It looked like a Christmas tree farm. A very sad, very uniform Christmas tree farm. The fix is not subtle and it's not hard but a lot of people skip it.
You need three things to make a tree scatter feel natural. Random rotation, random scale variance, and clumping. Rotation is the easiest. Every tree should be randomly rotated around the vertical axis so no two trees face the same way. This alone kills about 40 percent of the grid feeling.
Scale variance is next. Trees should vary in size by at least 20 percent from smallest to largest, ideally more like 40 to 60 percent. Real forests have saplings and ancient giants standing next to each other. Uniform scale reads as artificial immediately.
Clumping is the one everyone forgets. Real trees don't spread evenly across terrain. They grow in clusters because seeds fall near parents, because some microclimates support trees and others don't, because fire and wind knock out bands of forest. You want your scatter to have dense patches and empty patches, not an even dusting. In Unity I usually do this by painting tree density onto terrain rather than using the default "place this many per square meter" option. In Blender I'll manually place clusters and then use a particle system for the spaces between.
You also want at least three distinct tree meshes in rotation, ideally four or five. A scatter of identical meshes with random scale and rotation still reads as suspicious. A scatter of three different conifer meshes with scale and rotation variance reads as a real forest. The difference in authoring cost is small and the difference in result is massive.
For species, match them to your biome. Pines and spruces for cold alpine zones. Oaks and birches for temperate forests. Palms and weird low scrub for deserts and coasts. Don't put one of every tree type on the same hill unless you're going for a Studio Ghibli fever dream aesthetic, which is fair but should be a choice.
Water, keep it flat
Water in low poly scenes is one of those things where the cheapest solution is almost always the best solution. A single flat plane with a slightly transparent blue material, maybe with a subtle UV offset animation, will look great nine times out of ten.
The temptation is to mesh it out with waves. Don't. Low poly water with actual geometric waves looks fine for about two seconds and then looks weird and jagged, because real water surfaces have continuous curvature that does not play nice with a triangle budget of any size. You'd need a dense mesh to fake waves, and a dense mesh is not low poly.
What works instead is faking the feel of water through color and edge treatment. A stylized blue gradient on the surface, a slightly darker band where the water meets the shore, maybe a tiny ribbon of lighter blue for foam at the contact line. None of this costs geometry. All of it sells the idea of water.
For rivers I do the same thing but with a long thin plane that curves through the terrain. I'll often embed it very slightly below the terrain surface so the edges hide in the geometry rather than showing a visible seam. If you want the river to feel like it's moving, animate a UV scroll on a subtle noise texture. That's it. That's the whole effect. Players read scrolling texture plus blue color plus plane equals water.
Oceans follow the same rule. One giant plane under everything, colored to taste, maybe with a low frequency sine wave on the vertices if you really want motion. I've shipped plenty of scenes where the ocean is literally just a blue plane and nobody has ever said a word about it.
Synty and Kenney, the nature pack question
If you don't want to model every rock and tree yourself, you have good options. Synty Studios makes polished low poly asset packs with cohesive art direction and commercial use licensing. Their Polygon Nature pack and Polygon Fantasy Kingdom pack cover most terrain needs with trees, rocks, cliffs, foliage, and props. Everything matches tonally so you can mix pieces from different Synty packs and they still feel like they belong in the same world.
Synty's tradeoff is that their style is very specific. Once you've seen a few games using their assets you start recognizing the shapes everywhere. Which is fine if you're prototyping or if the style matches what you want, but it means you're not going to have a visually unique game if you're running pure stock Synty.
Kenney publishes free nature packs under public domain equivalent licenses, which is incredible for prototyping and perfectly fine for shipping. His nature kit has trees, rocks, terrain tiles, and water, and everything snaps together on a grid. The style is chunkier and more cartoony than Synty, almost Crossy Road adjacent. For a game jam or a small indie project where you can't afford asset licensing, Kenney is the answer. I've prototyped more scenes with Kenney nature assets than I can count.
The move I recommend is using pack assets as a base and then modeling a few hero pieces yourself to break the generic feel. Use the pack rocks everywhere, but model your main villain's castle from scratch. Use the pack trees for the background forests, but model the ancient sacred tree at the center of the village yourself. The hybrid approach gives you coverage plus distinctiveness.
Lighting that does the heavy work
This is the part that actually sells a terrain. You can have beautifully modeled mountains and a thoughtful tree scatter and clean water, and if your lighting is flat the whole thing still looks like a tech demo. Conversely, mediocre geometry with great lighting can look stunning.
The single most important choice is the angle of your sun. A directional light coming from straight overhead flattens your terrain and kills all the ridgelines you worked so hard to carve. A directional light at a low angle, maybe 20 to 30 degrees above the horizon, rakes across your terrain and turns every ridge into a bright edge and every valley into a pool of shadow. The mountains pop. The trees cast long stretching shadows that break up flat ground. Everything looks ten times more atmospheric.
Color temperature matters almost as much as angle. A warm sun at around 3000 to 4000 Kelvin paired with a cool ambient at around 7000 to 8000 Kelvin gives you that golden hour feeling where the lit sides of things glow and the shaded sides shift toward blue. This single color contrast does more work than any post processing effect. It's also completely free to set up. You're just picking two colors.
Fog is where people get expensive. Real volumetric fog is gorgeous and costs a lot of frames. For low poly scenes I usually fake it with a gradient skybox plus a cheap linear fog fade on distant geometry. The mountains in the far distance get desaturated and shifted toward the sky color. Your silhouettes still read, your horizon feels deep, and you haven't spent a millisecond on volumetrics.
One more cheap trick: rim lighting. A second directional light placed opposite the sun, dimmer and colored with whatever your sky or ambient color is, catches the back edges of your mountains and trees and gives them a thin glow. This reads as atmospheric scatter and makes everything feel like it exists in real air rather than a vacuum. Cost is almost nothing, impact is huge.
Ambient occlusion, if your engine has a cheap version, goes a long way too. The crevices between rocks, the bases of trees, the saddles between mountain peaks, all of those want to be a little darker than the surrounding surfaces. Low poly terrain with AO looks grounded. Without AO it looks like it's floating.
The mountain that finally worked
The first low poly mountain I ever made that I actually liked came from abandoning procedural noise entirely. I took a hexagonal prism, scaled it up, and started pulling vertices around by hand. I gave it two peaks with a saddle between them. I carved three main ridgelines radiating down the slopes. I faceted the shading. I scattered pine meshes on the lower slopes with clumping and scale variance. I put a flat blue plane at the base for a lake. I lit it with a low warm sun and a cool ambient.
It took maybe forty minutes of actual work and it looked better than the six hours of noise displacement tweaking I'd done the week before. The lesson I pull out of that is: low poly terrain rewards intention over iteration. You can spend all day nudging noise parameters and get a generic result, or you can spend an afternoon placing ridgelines by hand and get something specific.
If this kind of stylized world building is your thing, a lot of the same principles apply to designing low poly cities, where restraint and silhouette also do the heavy lifting on a different subject. Same underlying discipline. You strip out detail, so every decision that remains has to carry more weight.
Go make a mountain. Put the ridges where you want them. Light it at a low angle. Scatter trees like nature actually does it, in clumps and variance. Skip the expensive post processing and let the shapes and colors do the talking. That's the whole trick.
LIKED THIS? STAY IN THE LOOP
New posts, game updates, and things you won't find anywhere else.