Panjshir, Afghanistan

Introduction

I started this project as a challenge to create a large and detailed world (16.8km2). I decided on the realistic, tactical shooter Squad, because of it's large level sizes and the use of Unreal Engine 4. This proved to come with both pros and cons, but I will talk more about that further in.

The level itself is heavily inspired by Panjshir, a mountainous province in northern Afghanistan. It's a beautiful and surprisingly lush region, with valleys stretching for miles. Fields cover the areas between the mountain tops, and the rivers carve through the landscape.

Specifications

Game - Squad

Genre - Tactical Military FPS

Engine - Unreal Engine 4

Applications Used - Unreal Engine 4 (Squad SDK), World Machine 2, Photoshop

Steam Workshop - Link

Landscape

When deciding on a location I had a few things in mind. I was looking for a mountainous region with flowing rivers, while still providing relatively flat ground for vehicles to traverse easily.

The location also needed to provide with an interesting environment to battle in. These guidelines led me to the northern regions of Afghanistan, more accurately the Panjshir province.

After finding a suitable location I began my search for good real-world topology data. I proceeded by loading the data into World Machine, and adding various erosions, some additional height contrast and a base for the area of operations.

When satisfied with the result I output a height-map, which would provide the actual landscape, as well as 4 detail maps. A slope-map, flow-map, deposition-map, and a wear-map, all which would help me apply different materials to my landscape in a natural way of erosion and wear.

Loaded into UE4 as a landscape I could start mapping out interesting locations for capture points with relatively (war is rarely completely fair in all senses) balanced distances and natural fortifications, all to give the player an enjoyable gameplay experience.

Landscape Materials

I use 8 Material Functions with different ground textures, set up with far and near tile scaling. The Landscape Material input these, add some macro variation to break up most tiling, and lastly put them through Layer Blend nodes. Lastly each Material Function is paired with a Grass Type, which adds ground clutter, adding small rocks and pebbles.

Structures

The Squad SDK include a lot of assets, so I could spend more time on getting the environment to feel as authentic to the real-life region using reference photos from the area, including satellite data.

I used Landscape Splines to create the many dirt roads, the larger Main Supply Road, and hundreds of walls around the fields scattered throughout the valley. This way I could quickly get my road network up, which in turn would get me started early with buildings, compounds and wall placement.

Problems Encountered

During development i encountered a couple of issues, ranging from crashes, corrupted levels and hardware limitations. Although none of the problems were very severe, I did end up losing a few hours of work. I found most of my issues boiled down to one thing, working with such a large world in UE4 proved to use a bit more RAM than I had available. This resulted in some unfortunate crashes, but I quickly worked my way around it by monitoring my RAM usage and saving the project to ease the load.

Conclusion

In the end I'm really satisfied with how it has come together, and even though I encountered some issues along the way I learned a lot from it. There will always be areas to improve upon like optimization and work continues as the game evolve. I've now made several different versions including new game-modes, different times-of-day and capture points.

Please check my workshop page for more screenshots and information. Thank you for reading!