As a level designer, modular environments and assets in games fascinate me. I find myself more and more often just skirting the walls of a level, crouching next to meshes just to see how the designer has constructed something and to see if there is anything I can learn from it. I was reading a few blog posts on modular level and environment design by Joel Burgess and Thiago Klafke and felt inspired to begin creating a modular asset set myself to learn a little more about the process, how the assets could be used and the considerations designers and artists must make when creating environments.
I started by designing something simple, a sci-fi captains quarters situated on a space station. My first step was to define the size, shape and scale of the room, without adding any detail – I wanted to be able to iterate quickly without worrying about what the final result looked like. I broke up my environment in to a number of core pieces I needed, 1 standard floor piece, 1 door piece, a concave corner piece, a convex corner piece, and window pieces for left, right and middle.
With my set defined I started to establish a bit more scale, creating the height and width for doorways based on a slightly larger than average human to give a bit more flexibility as I didn’t have a game character to work off. Next I added some more interest to the room by creating a tiered height and adding some steps, as when I tested the room in Unity 3D it felt quite flat and boring. I then re-used some of my modular window tiles to add some more windows to the other areas of the room to provide more natural light sources.
Next I test-fitted some quick props I created. I had a small list of core props I wanted to use in the scene and creating quick whitebox models of them to see where and how they would fit in to the scene gave allowed me to see if any changes in size needed to be made before I started adding any more detail. At minimum I wanted a desk and chair for the captain to sit at, a tv screen on the wall and a large computer in front of the window at which he/she could interact with a ship docked outside.
When I was happy with the layout and scale of the room I began to add some more detail to the modular tiles, breaking up the room with a cracked floor tile, adding some interest to the doors and windows and adding some alcoves in to the walls. I also added a ‘heres one I made earlier’ wall-mounted computer terminal prop I had lying around in a folder on my desktop. Next I started unwrapping my models and adding some textures from an asset pack I bought from the Unity Asset Store as I’m still not confident in my ability to create my own textures from scratch. I also added a few more props such as hanging cables, vents, light fittings, crates and barrels etc before doing a quick lighting pass on the scene to see what it might look like when I finish.
I’ve still got a little bit of work to do to get this to a state I’d be happy to call finished – A few of the objects need unwrapping and texturing and I’d like to add a few more props such as trophies on the shelves behind the captains desk, a sofa, a standing corner lamp and a desk lamp to add a bit more lighting to the scene. I’ve also created a modular corridor piece using the same set of textures and a similar style which I plan to connect to the apartment before beginning to build more of the space station level.
After showing the sci-fi apartment stuff I was making to a programmer friend of mine he lunged at me and demanded I work with him to create a Cyberpunk shooter/RPG in a similar style. Having just finished playing Deus Ex: Human Revolution and being pretty obsessed with the cyberpunk genre, I obliged and started work designing an apartment which would better suit the style we wanted. The original intention for the game was to be a persistent multiplayer world with a similar implementation of Elite: Dangerous or Dayz.
I also wanted to re-use as many assets as I could from my sci-fi apartment scene I was building, finishing them up and modifying them slightly where necessary. The apartment was designed to be the starting apartment for the player, a lowly runner in a big world of corporate greed and corruption. The player would be starting off an the absolute bottom of the food chain, living in a poor area of town in a cramped apartment.
After testing a few layout designs I found that the apartment was often too big and didn’t give the cramped feeling we wanted. At a bare minimum the apartment needed a bedroom with a personal computer terminal, a lounge area to socialise (if we made it multiplayer), a hallway for the apartment, a communal entry area before the hallway with a secure access panel and an elevator to take the player down to ground level.
The next link in the chain was creating a city that the player would be able to walk around in after taking the elevator down from their apartment. Using what I had learnt from creating both modular apartments and another helpful blog post by Thiago Klafke I set about creating the layout for the city. We had decided that we would create the appearance of a large city as best we could without actually creating an entire city, splitting each sector of the city in to different levels and using a subway system similar to that of Deus Ex to give the illusion of travel between the sectors.
The first sector I began to whitebox was the Red Light District – heavily inspired by Amsterdam’s Red Light District (Not that I’d know anything about that) and Pepper Park from Cyberpunk MMO Neocron 2. A lot of the way I began designing the buildings and street layouts was inspired by Deus Ex: HR and Remember Me – I wanted to create the feeling of a real city, linking tight, dark alleyways with city streets and bustling plazas.
One of the first problems that popped up that I wanted to solve was how I would build the buildings themselves and construct usable interiors that that player could enter. Using a combination of Thiago Klafke‘s methods and studying how Deus Ex:HR has cleverly constructed their buildings I attempted to do something similar. I created a set of modular wall pieces that would slot in underneath a larger building block that would allow me the freedom of fast iteration so that I could begin whiteboxing a city sector layout without worrying about the finished model – Again paying particular attention to getting the scale and sizes of the spaces how I’d like them. After creating the building pieces I added a pavement and road set of pieces to give more of a city feel.
When starting work on the city itself I began building from the middle of the map, building the centrepiece where most of the action would take place and where most of the players would group up. This middle area would be the main Red Light District, full of scantily clad women and pleasure-bots (it’s the future) in windows, lots of dimly lit alleyways, seedly looking doorways and neon signs.
A short trip down the stairs in to a large plaza will take the player to the front entrance a four-storey strip club, complete with VIP balcony areas and private basement-level rooms, complete with a discreet exit in to a back alley. As I built outwards I began to add more detail and more alleyways for players to hide and escape through, including a small apartment complex for the player’s starting apartment. As with the first sci-fi apartment I created, I started to notice the level seemed a little flat so I began to add more stairs and height, tiering the plazas and alleyways.
I also started creating bridges between the buildings and access routes for players to be able to fire down or spy on the streets from above. The level went through quite a lot of changes through playtesting and I found that keeping to a simple, modular whitebox allowed me to iterate quickly and test any new changes. I also started to add more interest through the use of height in the buildings, planning a rooftop bar area that would only be accessible via some stairs and an exposed walkway, allowing a great vantage point above the streets but risky to get to.
As the city grew I began to think of alternate routes to allow players to travel quickly between distinct areas of the city sector without always having to use the main streets, for example if someone was trying to escape from someone else or avoid another player in an alleyway. I began to add shortcut routes through other buildings, giving a quick escape across overhanging bridges, again a risk for the player as they would be exposed for a short time.
At this point the city sector has grown too big and I possibly overscoped the size of this level. The next step will be to scale it back, choosing stand out areas to keep, possibly even splitting this level in to 2 or 3 smaller levels. I think I may have gotten a bit carried away, it’s always useful to have other team members to give some perspective and ground you. Still early days yet but I’ve come a long way.