TheOnlyDoubleF reacted to Radu for an article, 2018: Mapcore's Year in Review
Keeping with tradition, I'd say it's about time we took a look at what our community has achieved throughout the year. If last time I was saying how 2017 was a year of immense growth, then 2018 was surely one of significant change. And it hasn't been without its troubles and anxious moments. No change ever is, but I believe it to be for the best. We've seen some of our friends become parents, change work fields or get their first job in the industry. We've even seen a few pursue their dream projects. And for that, we have to applaud them. It takes courage to keep moving forward and to realise when it's time for something new. In the meantime, I hope this article inspires you and I wish everyone
2018: Mapcore's Year in Review
SteamVR - Gulping Goat Space Farm
by @Steve, @marnamai, @The Horse Strangler, @Sersch and others at Scraggy Rascal Studios
produced in collaboration with Valve
"Scraggy Rascal has been working with Valve to create all new SteamVR content, we've been given a lot of liberty to create these locations. Our goal was to create interesting and fun locations for the player to explore. These projects, over the last couple months, have been a crash course in Source 2,VR, project management, delivering within deadlines, working together as a team and personal growth. It has been an invaluable experience and great opportunity ... and we're just getting started!" - marnamai
Darksiders III - Art
by @The Horse Strangler and others at Gunfire Games
"Probably one of the biggest challenges the artists and designers faced on Darksiders 3 was working with both a platforming and fully connected streamed world. This meant that everything exists all the time. While we streamed levels in and out, areas couldn't intersect and we couldn't do the classic "Small exterior, big interior" swap. This was especially challenging because of how much verticality our design must support. We had a few "vistas", but for the most part every aspect of the level was accessible. If you can see it, you will likely be able to get there, jump on it, fight around it, etc. Fury, the main playable character can double jump, swing, float, glide and even rocket jump over 10 meters high. Personally for me it completely changed how I looked at art filling up a space. Every single mesh we placed impacted design. Art was design, and design was art." - The Horse Strangler
"Europa is a relaxing narrative experience. The goal with this game is to offer just enough challenge that its rewarding to get from one area to the other for more than just the visuals by using environmental hazards, platforming sequences and light puzzles that you can beat by exploring.The game is split into linear sections and wider areas, that's at the core of the game and as you play, you keep improving your characters moving ability, which will further exploration and give you the ability to solve newer light puzzles. There's none of the typical character upgrading systems, rather, the levels will offer the incremental challenges and the sense of progression. Europa's main focus lies in environmental storytelling and immersing the player in it's universe with passive storytelling, evoking awe and bliss with colorful watercolor-like art and music." - Helder Pinto
Counter-Strike: Global Offensive - Turnpike
"For a while the "Highway Restaurant" theme has been sitting in my little Concepts.txt file. When the Wingman Contest was announced, it felt like the perfect opportunity to turn this idea into a map, as its relatively small size would be fitting for the Wingman gamemode. The casual nature of Wingman made me add some elements that I would not normally add to, let's say, a Defusal map, like the TF2-esque team color coding (albeit subtle), the moving vehicles and the silly bomb target. Additionally, since the playable space is (almost) completely indoors, making it nighttime felt right, as it both emphasizes the interiors and makes for an atmospheric blorange background." - Squad
Dying Light - A New Hope
"A full-fledged custom single player campaign that ties in to the original story of the main game. It will see the main protagonist, Kyle Crane,leaving the City for the countryside to search for a specific elusive medicinal herb and bring it back to Dr. Camden who believes it could be the cure to the Harran Virus. This campaign is a one man show as I’m doing everything myself: level design, environment art/detailing, story creation, scripting/quest creation, custom dialog, custom audio, custom materials/textures, custom foliage systems, custom brushes for terrain painting/sculpting, lighting, manual nav mesh tuning, scripted NPCs…" - will2k
by @General Vivi and Michael Voeller
"Prodeus is the first person shooter of old, re-imagined using modern rendering techniques. Oh, and tons of blood, gore, and secrets. Creating Prodeus has meant a lot to us over the last year. It feels great to finally be doing something for ourselves. It can be pretty ambitious at times since there are just two of us, but I’m confident we can pull it off. Keep an eye out for the end of February for a big announcement." - General Vivi
Counter-Strike: Global Offensive - Ruby
"When I was on vacation in Portugal years ago I was so impressed by the city Lisbon that I really wanted to build a map that has the same vibe. At the time I was already working on different projects so I decided whenever I got enough time to work on a map this size I would go back. So early 2017 the moment was finally there, I went back to Lisbon to shoot (~2000) reference photos then made a list of things that are iconic for Lisbon and started working on Ruby. Adding a lot of height differation, warm colors, tile patterns and ofcourse trams was essentiental to get the Lisbon vibe." - catfood
by @dux, @PogoP and others at Unknown Worlds Entertainment
"A mix of Survival, story, mystery, resource gathering, base building with some accidental horror and plenty of deep, deep water. We had not long finished up with Natural Selection 2 and were hungry to develop a different kind of game. During development we were (and still are) a small team but the game kept getting bigger and grew into something far larger in scope than originally planned. So we soon realised that what we had could be turned into something really unique if we put our heads down and just cranked on it." - dux
Unreal Tournament 4 - Chamber
"I used Halo and Warframe artstyle as a reference. The goal of this project was to make fun and cool looking map with 100% custom art that is 100 mb in file size. To achieve that I used several advanced techniques such as custom vertex normals, deferred mesh decals, no bake, tiling base materials and masks. There are basically 5 or so texture maps used in the entire map, most of the filesize space was taken by lightmaps. I learned a lot doing this project in terms of composition, art direction and optimization. Hope you enjoy this map as much as I do!" - Ubuska
Counter-Strike: Global Offensive - Pitstop
by @Quotingmc and Quadratic
"It is not often that CS: GO receives a new game-mode, especially one as competitively focused as Wingman. I was understandably pleased at the announcement of the 2018 CSMapMakers contest for the mode. Pitstop was my entry where I set out to create a thematically bold centre piece for my portfolio. With the help of my teammate Quadratic and support from multiple Mapcore members, I learnt a lot about taking a level from a simple blockout to completion; I can say for certain I’m thrilled with the end result!" - Quoting
Black Mesa - Xen
by @JeanPaul, Adam Engels and others at Crowbar Collective
"While building Xen we had to design, iterate, and iterate (then iterate some more). We took what we thought we knew, and put it to the test. We learned how design and scope work together, and how to build momentum as a team. We are extremely proud of what we have accomplished over the year(s)! Despite the long and occasionally frustrating timeline, it has been a real testament to the commitment that this team and this community have for Half-Life." - Adam Engels
Unreal Engine 4 scene
"So I decided I would step out of my comfort zone and create a small environment in an engine I've never used before, UE4. Although I think I did a fairly decent job at the time there were ultimately many nuances I could have done better, but that is the artist dilemma. This project taught me the value of properly blocking out your environment, gathering as many references as you can and to have patience and not rush through assets, when breaking any of these rules I was punished for it. Stay tuned for my next project which will be a giant mech, coming soon Valve time TM." - Vorontsov
Counter-Strike: Global Offensive - Opal
"My goal with this project was to make a fun and compact defuse map, with a simple level flow, ample verticality, and an overlapped layout! I wanted to have interior and exterior, and break the grid a lot, to avoid having that "90 degrees grid" feel in the layout. I needed to have a vista on one side of the map to help with orientation, so I decided to make it a coastal town, inspired by those found on the island of Skopelos, Greece. Expect more updates in the near future, as I'm not yet satisfied with it. Since this is my only CSGO map, I want to put all my time and effort into it, and focus on quality instead of quantity. Thank you everybody for your support and feedback! <3" - MikeGon
Insurgency: Sandstorm - Precinct
by @Xanthi, @Squad, @Jonny Phive, @LATTEH, @Steppenwolf and others at New World Interactive
"Precinct, was a fun and challenging map to work on. We decided early on to melt District and Contact two of our very nostalgic maps together into a single large-scale urban environment. The goal was to preserve the nostalgic feeling and at the same time create something unique and fresh not just a 1:1 copy. In the block-out stage we started playing with different terrain heights, which eventually was the key to accomplish our goal. Terrain height was a bit of a trial and error process; I remember driving up a hill and not having enough torque, oops!!" -Xanthi
Counter-Strike: Global Offensive - Killhouse
"Killhouse showcases brutal duels, player reaction times, and close-quarters combat. A highly vertical layout ensures the sort of unpredictability and replayability ideal for CS:GO’s 2vs.2 "Wingman" game-mode." - FMPONE
Counter-Strike: Global Offensive - Station
by @Roald and @untor
"All experiences contribute to where I am at this point. I am just a hobbiest but I think I learned alot about level design just by doing it and enjoying it. Overal my goal is to improve myself on level design, but also enviorment art. I think I archieved a goal on level design and it's now time to continue on enviorment art. This is where untor morozov comes in. I have met untor a while ago. He made this map 'Waterfall' which was pretty populair. I liked his designs and added him as a friend. When I had this wingman map going on with positive feedback I just contacted him again to work on it with me and since this moment we have had a incredible teamwork. I am gameplay orientated and he is art orientated so we were a great couple. We just enjoyed work on this project and respected eachother and had alot of fun." - Roald
by @Yanzl and Sara Lukanc
"The Gap is a sci-fi thriller first person narrative exploration video game. You play as Joshua Hayes, a neuroscientist trying to figure out what happened, barely remembering anything about his past. It started as a project for our BA thesis and has now grown into a standalone game. It's also my first "real" indie game project, helping me learn a lot about Unreal Engine 4 and game development in general." - Yanzl
Counter-Strike: Global Offensive - Alexandra remake
"My first successful map was born 10 years ago for CS1.6. It was done in just 4 days. Since then it has been ported/improved several times on CS:S then finally on CS:GO. It always had a "dust" theme. Initially i wanted to remake it with an "inferno" style but when the new dust2 came i switched the plan to use the new assets. The map was and is frequently played on public servers especially in Eastern Europe so i had plenty of feedback to improve it. For some it's just another "dust" map, but for me it's my dust2." - Serialmapper
Far Cry 5 - Wetland Turmoil
"I wanted to try working with location design in an (imaginary) open world game for the first time, so I made this backwater cabin neighborhood. At the time I also wanted to see what the limits were in Farcry Arcade and how far I could push it. The level has fixed spawns (a limitation of the editor), but I toyed with the idea of making it work regardless from which direction the player would have approached it. The pathing and player guidance is more or less shaped like the number eight, with the church acting as an outlook. Your task is to eliminate all the bad guys. In the end I wanted to do so much more, but couldn't due to technical limitations. All in all it was a fun experience to make it." - grapen
Counter-Strike: Global Offensive - Trailerpark
by @OrnateBaboon and @Skybex
"We wanted to make a map for CSGO, using a theme that had not been seen in any previous version of Counter-Strike.The map had to incorporate everyday plausibility, provide for enough variety so that things remained visually interesting, but also be flexible enough to allow for the use of low geometry for easy grenade strategies. Being able to immediately recognize a theme in a map is always important, so with all this criteria in mind, A trailer park fitted the bill perfectly. There is still some way to go before a full release, but 2018 was a great year for progress on this project." - OrnateBaboon
Unreal Engine 4 scene
"I was inspired by games like stalker and the last of us. The goal was to make something photoreal with a lot of foliage. It took a couple of iterations but I think I achieved the goal in the end. While making this project I've had to learn a lot about Speedtree to make all the foliage, it was a really cool experience. Right now I'm in the army so unfortunately I can't make any more scenes right now, but after I'll come back I'll try to make more scenes like that." - Corvus
Overwatch - Busan
by @Minos, @[HP], @PhilipK, @IxenonI, Phil Wang, Lucas Annunziata and others at Blizzard Entertainment
"Busan was a challenging map to make. Due to the game having 12 different heroes on screen we have a somewhat limited memory budget for maps, that includes all models, textures, effects, collision data, lighting information, etc... Fitting three radically different areas (Downtown, Sanctuary and MEKA Base) into one single map budget required us to find new ways to optimize our work. In the end, we were even squeezing kilobytes out of collision data to make it all fit, no kidding! But the result speaks for itself, the map was fun to work on and we are very proud of what we accomplished!" - Minos
Counter-Strike: Global Offensive - Highlands
by @ElectroSheep, @El Moroes and @'RZL
"We wanted to make a map in Scotland because, thanks to dishonored 2, we were browsing a lot of references froms this area and we really loved it. I also went myself here in holliday after that. We asked one of our close friends to make some special props, like the police van, the taxi, the phonebox and some others. Unfortunatly the hard development of Dishonored 2 put us in a difficult state where we weren't able to work on the map. So we lost motivation. Then RZL contacted us because he didn't want the project to die so we gave him the keys. And RZL became busy too ^^. Life sometime say NO I guess, hehe. Now Highlands Is my only advanced project I still didn't finished and I'm ready to give it a try, I hope." - ElectroSheep
"Highlands...is this map is a joke? Certainly no but we can say that the development is quite longer than what we expected. Perhaps we learn well how the famous "Valve time" works? :p No seriously I think we can explain that with the motivation. Of course we were motivated to create something cool with this map but with the time and, I think, with what we live in our life we never took the time to do it correctly...I mean we never had a constant rythm on the map. This (and other personal things) led to the current statut of the map; a still "work in progress" map started in 2014. But ElectroSheep came back and his goal is to finish it, and because he's right, I'll come back too to help him. Just, be patient (again) ;)" - El Moroes
Battlefield V - Fjell
by @Puddy, @Pampers and others at DICE
"Fjell was an explosive experiment which paired a new Battlefield dynamic, planes and infantry only, with an epic gosh darn mountain top. Tackling this design combination was like dealing with a bear after you've kicked it in the balls. It was a fun challenge and even though its extreme gameplay is quite polarizing when compared to more middle-of-the-road maps, I am happy that we went there!" - Puddy
Counter-Strike: Global Offensive - Iris
by @BubkeZ and @Oliver
"Iris was born out of a shared interest in the TV-show "Seinfeld", funnily enough. One day BubkeZ noticed I had changed my Steam profile picture to a photo of "George Costanza" and just like that the wheels were in motion! In the beginning, BubkeZ had the vision of an old city environment with lots of dirty alleyways and brick architecture. We didn't want to fall in the trap of making the map look too bleak, so we came up with the idea of making a mid-century town set in autumn. While the map certainly have visual elements from the 50's, I would say the overall theme of Iris is american auto-industry. Making the old cars was definitely my favorite part of making this map!" - Oliver
Unreal Engine 4 scene
"I have always been a fan of retro and vintage, so this was like a dream to me. After watching the first season of True Detective, I immediately fell in love with the office set and the way the series was shot. I have definitely learned a lot from this project, mostly lighting techniques that can fill your scene with a story. The goal was to recreate their environment in my own style, and I'm pretty satisfied with how it turned out. I definitely wasn't expecting this much of positive feedback and I'm really thankful for this community. I want to do something with the environments, not just as a portfolio piece, but make a short film or make a small adventure game out of them." - Brightness
Counter-Strike: Global Offensive - Insertion 2
"Being the follow up to the first Insertion it will have the same overall concept with the spawning and open-world like layout. However this time it will be a more urban setting and overall higher quality art assets. I always love to make environments that feels real. And that are familiar. Its all made up. But the details and various elements in Insertion 2 is from my childhood basically. Friends that grew up in the same place I have recognizes it aswell." - Oskmos
The Door Challenge
Designing Highly Replayable Stealth Levels for Payday 2
Level Design in Max Payne: Roscoe Street Station
Effect and Cause - Titanfall 2 Level Breakdown
2017: Mapcore's Year in Review
Hurg smiles upon you all!
TheOnlyDoubleF reacted to FMPONE for an article, Climbing DOOM's Argent Tower
This article may contain slight spoilers DOOM's Argent Tower is a superb Single-Player level. The Argent Tower motivates players with an obvious goal, expands in scope (almost unbelievably), and masterfully controls pacing. A playground for new a ability and a giant environmental puzzle, the Argent Tower is the best level in this excellent reboot of the franchise. Now, let's explore the reasons why this level feels so memorable! OBJECTIVE Players will know their goal from the outset: climbing the Argent Tower. In addition to verbal instructions, the level's construction and composition never fails to aim you upward. Warm lighting moves up vertically, so that players' eyes are always drawn upwards. Even the item you acquire in the level's prelude is a double-jump upgrade, which the level then associates with an oft-repeated green light motif. Players will be doing a LOT of double-jumping in the Tower, so the game articulates a method to guide them. While players may or may not consciously respond to this green-light motif, the designers clearly believe it works as a navigational aid: it is repeated with brutal consistency throughout the level. SCOPE When players reach the Tower's inner core, the vast power of DOOM's engine is indisputable. Great music kicks in, monsters spawn all around the player, and the game "gates" engagements without muddying players' central, long-term gameplay goal. The symmetrical, circular design of the Tower's core proves extremely useful in several respects. Because players can only progress upwards, they get to experience fun combat engagements and jumping puzzles before they are neatly stuffed into small corridors adjoining the main core. This contrast between the core's verticality and its cramped side passages makes for easily controlled progression through the level and amplifies the awe of returning to the core. In one side area of the Argent Tower, players experience a "monster closet" ambush, a classic DOOM design trope in which a demon emerges from a closet adjacent to a corridor. Here, the designers chose an exploding demon for extra "oomph"! There's just something timeless about monster closets. That the game dives down to its most granular level (the monster closet) additionally provides contrast to the heights of the massive core. PACING DOOM carefully reminds players of their progress ascending the Tower. In one cramped side-area, players are faced with the seemingly trivial task of shooting canisters that underpin an elevator blocking their path. After destroying the canisters, the elevator falls down its shaft. Half-Life 2 used similar imagery to convey the scale (and ongoing destruction) of The Citadel: An additional point of this elevator diversion was to slow players down, to keep them away from the showpiece core a little while longer. New players will take a minute to identify the canisters overhead and discern that they need to be destroyed, because this is a novel task and because FPS players notoriously fail to look upward. Later in the game, the designers repeat the canister mechanic before providing players the BFG, the defining weapon of the series. Without the subtle change in momentum the canisters provide, gaining access to the Tower's rooftop or the BFG would feel too straightforward and simplistic. Having artificially lengthened the break players take from the core, the designers have guaranteed that environmental contrast will enhance perception of the Tower's scale AND that player intelligence and momentum has been challenged by a new problem. (...but because this is DOOM, problem solving is still ultimately about destroying shit.) Players complete more than six different jumping tasks including riding a flying drone to climb the Argent Tower and enter a portal into Hell. Such a variety of jumping puzzles and hazards makes the level memorable and is another technique enlarging perception of the Tower. To be clear, jumping puzzles are universally terrible in every FPS game, but their annoyance here is dulled by the focused grandiosity of the level and the ability to grapple onto ledges. The designers ultimately cared a lot more about giving players a memorable locale than sparing them falling deaths. CONCLUSION After reaching the top of the Argent Tower, players are greeted by a giant, climactic battle which ends with a wonderful fade to white. Only now are players ready to enter Hell confident that they've truly gotten to experience Mars. It's important to remember that, fundamentally, the Argent Tower is about going from point A (the foot of the tower) to point B (the top). Faced with a similar Tower-landmark, some designers might path this route with nothing more than a simple elevator cinematic or miss countless opportunities to do something special. DOOM's designers, however, missed nothing: they recognized the need to offer players dense and varied challenges, careful pacing, and spatial design rich with contrast. Later, when players return to Mars, the destroyed husk of the Tower provides an instantly recognizable landmark re-orienting players on their adventure and a tantalizing hint that things are different now. The Argent Tower goes to show that great levels are not about the destination, but the journey -- and all the controlled chaos along the way! Thanks for reading!
TheOnlyDoubleF reacted to FMPONE for an article, Congratulations to our finalists and Grand Prize Winner, DE_EMPIRE!
(Art by Thurnip)
It’s finally time to declare a grand prize winner in our exciting Counter-Strike: Global Offensive mapping contest. You’ve playtested the maps on Reddit, you've waited months for the results... let's get down to business!!
GRAND PRIZE WINNER:
By Andre Valera
Sometimes it boils down to consistency: broad strength across several categories. No map in our contest better exemplifies this notion of consistent quality than Empire.
Empire features a stacked bomb-site layout similar to popular official maps like Nuke and Overpass. While this relatively unorthodox design presents level designers with additional challenges, Empire ably sticks its landing. Furthermore, the ambition of Empire’s design is tempered well by its no-nonsense visual presentation. We’re left with a digestible, fun, and very playable level.
Congratulations, Andre Valera!
Featured in a goRGNtv showmatch!
Featured in CEVO PUG rotation for one month!
$1000 and Mapcore swag!
CS:GO prize pack courtesy of Valve:
a signed CS:GO poster, lanyard, vinyl sticker
SteelSeries Kana Mouse!
A truly unique map. Some felt it was the strongest entry in the contest given its strong theme, abundant polish, and beautiful visuals; others, however, questioned the map's small scale. This was a tough map to judge.
CS:GO prize pack courtesy of Valve:
a signed CS:GO poster, lanyard, vinyl sticker
An attractively sleek map, there is plenty of room for Royal to blossom into something very special.
CS:GO prize pack courtesy of Valve:
a signed CS:GO poster, lanyard, vinyl sticker
By Ornate Baboon
A map that was under heavy construction for much of our contest, one gets the sense that Coast wasn't quite ready yet. With a little bit more time, who knows?
$100 + Mapcore swag!
CS:GO prize pack courtesy of Valve:
a signed CS:GO poster, lanyard, vinyl sticker
~~~We at Mapcore would like to thank the r/GlobalOffensive moderators for their assistance, our lovely guest judges, Valve, goRGNtv, CEVO, as well as Gamebanana.com and Steam workshop artist EGO DEATH for contributing to our prize pool.
Last but not least... THANK YOU, for making this 'Core event special and fun!
"May Hurg guide you..."
TheOnlyDoubleF reacted to FMPONE for an article, Reddit + Mapcore CS:GO Mapping Contest Finalists Announced!
(Art by Thurnip)
Contest finalists have been chosen!
Before announcing our finalists, we want to thank everyone for participating and giving your feedback: with over 150 entries, this event has thus far exceeded expectations in every way.
We strongly considered adding an “honorable mentions” addendum to this announcement, but realized there were simply too many maps which came extremely close to becoming finalists, lacking only one of our “big three” judging criteria components.
Now, without futher ado…
(in no particular order)
By Andre Valera
By Ornate Baboon
These exciting levels exhibit competitive potential, excellent visual presentation, AND a satisfying level of polish, making them truly strong representatives for our talented community. As finalists competing for the grand prize, the authors of these levels will be able to update their work based on your feedback, including fine-tuning their competitive layouts using public playtesting over on Reddit. Let's support them on their journey!
To check out the excellent prizes awaiting our finalists (including money prizes + official Valve merchandise), click here.
...but who will be the Grand Prize Winner? Find out September 30th.
P.S. – To all our wonderful participants: don't despair. Level design is an art to be pursued for its own sake, and brilliant work should always be celebrated and studied. Additionally, Valve has consistently supported CS:GO community mapping, and Valve Operations remain a lucrative and thrilling opportunity for community mappers such as yourself. Valve’s criteria for Operations can be found here.
"Never give up." - Hurg
TheOnlyDoubleF reacted to leplubodeslapin for an article, Source Lighting Technical Analysis: Part One
After the announcement of the Reddit + Mapcore mapping contest, the website has welcomed many newcomers. A proof that, even if it is a twelve year old game engine, Source engine attracts map makers, and there are lots of reasons for that. It is common knowledge that technology has moved forward since 2003, and many new game engines have found various techniques and methods to improve their renderings, making the Source Engine older and older. Nevertheless, it still has its very specific visual aspect that makes it appealing. The lighting system in Source is most definitely one of the key aspects to that, and at the end of this article you will know why.
About the reality...
Light in the real world is still a subject with a lot of pending questions, we do not know exactly what it is, but we have a good idea of how it behaves. The most common physic model of light element is the photon, symbolized as a single-point particle moving in space. The more photons there are, the more powerful light is. But light is in the same time a wave, depending on the wavelengths light can have all kind of color properties (monochrome or combined colors). Light travels through space without especially needing matter to travel (the space is the best example; even without matter the sun can still light the earth). And when it encounters matter, different kind of things can happen:
Light can bounce and continue its travel to another direction Light can be absorbed by the matter (and the energy can be transformed to heat) Light can go through the matter, for example with air or water, some properties might change but it goes through it And all these things can be combined or happen individually. If you can see any object outside, it is only because a massive amount of photons traveled into space, through the earth’s atmosphere, bounced on all the surfaces of the object you are looking at, and finally came into your eyes.
How can such a complex physical behavior from nature be simulated and integrated into virtual 3D renderings?
One of the oldest method is still used today because of its accuracy: the ray-tracing method. Just to be clear, it is NOT used in game engines because it is incredibly expensive, but I believe it is important to know how and why it has been made the way it is, since it probably influenced the way lighting is handled in Source and most videogame engines. Instead of simulating enormous amount of photons traveling from the lights to the eye/camera, it does the exact opposite. If you want a picture with a 1000x1000 resolution, you will only need to simulate the travel of 1 000 000 photons (or “rays”), 1 for each pixel. Each ray is calculated individually until it reaches the light origins, and at the end the result is 1 pixel color integrated in the full picture.
By using the laws of physics we discovered centuries ago, we can obtain a physically-accurate rendering that looks incredibly realistic. This method is used almost everywhere, from architectural renderings to movies. As an example, you can watch The Third & The Seventh by Alex Roman, one of the most famous CGI videos of all time. And because it is an efficient way to render 3D virtual elements with great lighting, it will influence other methods, such as the lightmap baking method.
OKAY LET’S FINALLY TALK ABOUT THE SOURCE ENGINE, ALRIGHT!
A “lightmap” is a grid that is added on every single brush face you have on your map. The squares defined by the grid are called Luxels (they are kind of “lighting pixels”). Each luxel get its 2 own properties: a color and a brightness. You can see the lightmap grids in hammer by switching your 3D preview to 3D lightmap grid mode.
You can also see them in-game with the console command mat_luxels 1 (without and with).
During the compilation process, a program named VRAD.exe is used. Its role is to find the color and brightness to apply for every single luxel in your map. Light starts from the light entities and from the sky (from the tools/toolsskybox texture actually, using the parameter values that has been filled in the light_environment entity), travels through space and when it meets a brush face:
It is partially absorbed in the lightmap grid A less bright ray bounces from the face Here is an animated picture to show how a lightmap grid can be filled with a single light entity:
When you compile your map, at first the lightmaps are all full black, but progressively VRAD will compute the lightmaps with all the light entities (one by one) and combine them all at the end. Finally, the lightmaps obtained are applied to the corresponding brush faces, as an additive layer to the texture used on that face. Let us take a look at a wall texture for example.
On the left, you have the texture as you can see it in hammer. When you compile your map, it generates the lightmaps and at the end you obtain the result on the right in-game. Unfortunately, luxels are much rougher, with a lower resolution, more like this.
On the left you have a lightmap grid with the default luxel size of 16 units generated my VRAD, a blur filter is applied and you obtain something close to the result on the right in the game.
In case you did not know, you can change the lightmap grid scale with the “Lightmap Scale” value with the texture tool. It is better to use values that are squares of 2, such as 16, 8, 4 or even 2. Do not go below 2, it might cause issues (with decals for example). Only use lower values than the default 16 if you think it's really useful, because you will drastically increase your map file size and compilation time with precise lightmap grids. Of course, you can also use greater values in order to optimize your map, with values such as 32, 64 or even 128 on very flat areas or surfaces that are far away from the playable areas. You can get more infos about lightmaps on Valve’s Wiki page.
But as we said before, light also bounces from the surface until it meets another brush, using radiosity algorithms. Because of that, even if a room does not have any light entity in it, rays can bounce on the floor and light the walls/ceiling, therefore it is not full black.
Here’s an example:
The maximum amount of bounces can be fixed with the VRAD command -bounce X (with X being the maximum amount of bounces allowed). The 100 default value should be more than enough.
Another thing taken into account by VRAD is the normal direction of each luxel: if the light comes directly against the luxel or brushes against it, it will not behave in the same way. This is what we call the angle of incidence of light.
Let us take the example of a light_spot lighting a cylinder, the light will bright gradually the surface - from fully bright at the bottom to slightly visible at the top.
In-hammer view on the left, in-game view on the right
Light Falloff laws
One of the things that made the Source Engine lighting much more realistic than any others in 2004 is the light falloff system. Alright, we saw that light can travel through space until it meets something, but how does it travel through space? At the same brightness, whatever the distance is between the light origin and destination? Maybe sometimes yes… but most of the time no.
Imagine a simple situation of a room with 1 single point light inside. The light is turned on, it produces photons that are going in all the directions around it. As you might imagine, photons are all going in their own direction and have absolutely no reason to deviate from their trajectory.
At one time, let’s picture billions of photons going in all the directions possible around the light, the moment after, they are all a bit further in their own trajectory, and all the photons are still there, in this “wave”. But, as each photon follows its own trajectory, they will all spread apart, making the photon density lower and lower.
As we said before, the more photons there are, the more powerful light is. And the highest the density, the more intense light is. Intensity of light can be expressed like this:
You have to keep in mind that all of this happens in 3D, therefore the “waves” of photons aren’t circles but spheres. And the area of a sphere is its surface, expressed like this:
(R is the radius of the sphere)
If we integrate that surface area in the previous equation:
With ♥ being a constant number. We can see the Intensity is therefore proportional to the reverse of the square of the distance between the photons and their light origin.
So, the further light travels, the lower is its intensity. And the falloff is proportional to the inverse of the square of the distance.
Consequently, the corners of our room will get darker, because they are farther away from the light (plus they don’t directly face the light, the angle of incidence is lower than the walls/floor/ceiling).
This is what we call the Inverse-Square law, it’s a very well-known behavior of the light in the field of photography and cinema. People have to deal with it to make sure to get the best exposure they can get.
This law is true when light spreads in all possible directions, but you can also focus light in one direction and reduce the spread, with lenses for example. This is why, when Valve decided to integrate a lighting falloff law in their engine, they decided to use a method not only following the inverse-square law but also giving to mapmakers the opportunity to alter the law for each light entity.
Constant, Linear, Quadratic... Wait, what?
In math, there is a very frequent type of functions, named polynomial functions. The concept is simple, it’s a sum of several terms, like this:
Every time, there is a constant factor (the “a” thing, a0 being the first one, a1 the second one, a2 the third one...), multiplied with the variable x at a certain degree:
x^0 = 1 : degree 0 x^1 = x : degree 1 x^2 : degree 2 x^3 : degree 3 ... And
a0 is the constant named “constant coefficient” (associated to degree 0) a1 is the constant named “linear coefficient” (associated to degree 1) a2 is the constant named “quadratic coefficient” (associated to degree 2) Usually, the function has an end, and we call it by the highest degree of x it uses. For example, a “polynomial of the second degree” is written:
Then, if we take the expression from the inverse-square law, which was:
With a2 = 1 and D being the variable of distance from the light origin.
In Source, the constant ♥ is actually the brightness (the value you configure here).
It is simply an inverse polynomial of the second degree, with a0 and a1 equal to zero. And we could write it like this:
And here you have it! This is approximately the equation used by VRAD to determine the intensity of light for each luxel during the compilation. And you can alter it by changing the values of the 3 variables constant, linear and quadratic, for any of your light / light_spot entity in your level.
Actually you set proportions of each variable against the other two, and only a percentage for each variable is saved. For example:
By default, constant and linear are set to 0 and quadratic to 1, which means a 100%quadratic lighting attenuation. Therefore, by default lights in Source Engine follows the classic Inverse-Square law.
If you look at the page dedicated to the constant-linear-quadratic falloff system on Valve’s Wiki, it’s explained that the intensity of light is boosted by 100 for the linear part of equation and 10 000 for the quadratic part of equation. This is due to the fact that inverse formulas in equations always drop drastically at the beginning, and therefore a light with a brightness of 200 would only be efficient in a distance of 5 units and therefore completely pointless.
You would have to boost your brightness a lot in hammer to make the light visible, that's what Valve decided to make automatically.
The following equation is a personal guess of what could be the one used by VRAD:
With constant, linear and quadratic being percentage values. The blue part is here to determine the brightness to apply, allowing to boost the value set in hammer if it is as least partially using linear or quadratic falloff. The orange part is the falloff part of equation, making the brightness attenuation depending of the distance the point studied is from the light origin.
The best way to see how this equation works is to visualize it in a 2D graph:
This website provides a great way to see 2D graphics associated to functions. On the left, you can find all the elements needed with at first the inputs (in a folder named “INPUTS”), which are:
a0 is the Constant coefficient that you enter in hammer a1 is the Linear coefficient a2 is the Quadratic coefficient B is the Brightness coefficient In another folder are the 3 coefficients constant, linear and quadratic, automatically transformed into a percentage form. And finally, the function I(D) is the Intensity function depending on the distance D. The drawing of the function is visible in the rest of the webpage.
Try to interact with it!
This concludes the first part, the second part will come in about two weeks. We will see some examples of application of this Constant-Linear-Quadratic Falloff system, and a simpler alternative. We will also see how lighting works on models and dynamic lighting systems integrated in source games.Thank you for reading!
Part Two : link
TheOnlyDoubleF reacted to FMPONE for an article, Reddit + Mapcore CS:GO Mapping Contest!
(Art by Thurnip)
/r/GlobalOffensive and Mapcore are teaming up to grow Counter-Strike: Global Offensive’s mapping community!
Check out the reddit thread for this contest »
The Big Reveal
We’re hosting a map-making contest for original, competitive 5v5 bomb defusal maps AND competitively-minded hostage maps, open exclusively to mappers who have not yet had their work featured in a Valve Operation!
Older projects are fair game: now’s the perfect time to polish up that map you’ve been working on but never got around to finishing. Experienced Mapcore judges and prominent members of the Counter-Strike community such as Sadokist, Moses, DDK, James Bardolph, and Anders Blume will be weighing in – but only one map can win it all.
Every week for the length of the contest, eligible maps will be playtested during /r/GlobalOffensive community nights according to a sign-up schedule. Slots on this schedule will be filled on a first-come, first-serve basis following an approval process, but we will try our best to accommodate everyone at least once. However, because it’s impossible to guarantee that all contest entries will have the chance to be playtested, /r/GlobalOffensive playtesting is a supplemental, helpful tool which will have no bearing whatsoever on contest judging.
You can register for a playtesting slot here. Remember -- playtesting registration is first-come, first-serve!
Enter Your Level
To officially enter your level into this contest, post a WIP thread with a link to your level’s Steam Workshop page in Mapcore’s official event forum.
Posting a WIP thread with a link to your level’s Steam workshop page constitutes your official entry into the contest, however you don’t need to do both at the same time. In other words, you can post your WIP thread and then update it later with your workshop link if you’re not ready to go right away. You can also feel free to continue updating your workshop level after you’ve posted your workshop link – contest entries will not be judged until after the submission deadline.
Your level must be submitted to Mapcore by August 31st, 2015 at midnight Pacific Standard Time (PST).
Our panel of judges will then select four finalist levels based on the following criteria:
Fun factor Visual/thematic presentation (graphics) Overall polish
Grand Prize Deadline
After the top four maps have been announced, /r/GlobalOffensive users will put them to the test!
Once all four finalist maps have been tested, mappers will have two weeks to revise their work based on community feedback. After those two weeks, an official Grand Prize Winning Map will be chosen!
The goal of this event is to raise awareness about Mapcore's incredible level design community and the incredibly useful playtesting capabilities of /r/GlobalOffensive. Both Mapcore and /r/GlobalOffensive are free resources available to all mappers. To date, Mapcore users are responsible for creating more than 70% of Valve Operation levels. Mapcore’s staff are unpaid volunteers, and do not personally profit in any way from additional traffic to the site.
Of course, it wouldn’t be a contest without a reward… In addition to the helpful feedback and free publicity that CS:GO mappers will receive by participating in this event, each finalist will also receive:
Eternal Bragging Rights™ and a showcase on Mapcore (where their level will be highly visible to industry-veteran game developers and the rest of the community) A monetary prize ($1000 + Mapcore swag for first place; $400 for second place; $200 for third place; $100 and Mapcore swag for fourth place) The top-finishing map will also be played in a competitive show-match casted and streamed by goRGNtv, for all to watch and enjoy! *NEW* CEVO has generously agreed to host the winning map in their PUG rotations for one month! *NEW* Added $1,000 to prize pool thanks to Gamebanana.com and EGO DEATH (gun skin creator) *NEW* Valve prizes!
Top 4 will receive
1. Signed CS:GO poster
2. CS:GO Lanyard
3. CS:GO Vinyl Sticker
First place will receive a CS:GO prize pack:
1. Signed CS:GO poster
2. CS:GO Lanyard
3. CS:GO Vinyl Sticker
4. CS:GO SteelSeries Kana Mouse
This is your big chance -- get to it!
Good luck, mappers!
Remakes of older maps are NOT allowed. All works must be original to you and their layouts must not have appeared in any prior versions of Counter-Strike. Custom artwork is allowed and encouraged, but must meet workshop guidelines. Collaborations are allowed and encouraged. Any contest winnings arising from a collaboration will be split in accordance with the collaborators' mutual agreement.
Mapcore staff will rate their top four maps of the contest, results will be tallied and all votes given equal weight. Some time later, the judges and guest judges will rate the top four finalist maps and results will be tallied, with all votes given equal weight. Guest judges will be asked to act as tie-breakers in the event of any ties in the voting.
Jason “General Vivi” Mojica -- Creator of "Rose Iron" Skin (Overkill Software)
Patrick "Puddy" Murphy -- Creator of CS_AGENCY (Overkill Software)
RZL (Independent) -- Creator of DE_RESORT
Shawn “FMPONE” Snelling (Independent)
Johnny “Sprony” van Spronsen (Journalist)
Matt "Sadokist" Trivett -- @Sadokist
Jason “Moses” O’Toole -- @JmosesOT
Daniel "DDK" Kapadia -- @followddk
James Bardolph -- @jamesbardolph
Anders Blume -- @OnFireAnders
Our Thanks to
EGO DEATH (Steam Workshop author)
TheOnlyDoubleF reacted to Sentura for an article, Exploring Unreal Engine 4 Scripting: Part Two
Now that you've had a month to digest part one of Sentura's dive into the lovely world of Unreal Engine 4, it's time to get your teeth into the second part. This time, discover the wonders of debugging, comparisons, and casts. Also, feel free to use the comments to ask further questions about this tutorial or Unreal Engine 4 in general.
Picking up where we left off, let’s take a look at debugging, comparisons and casts.
There were some issues with our door example in Part One, which I glossed over for the sake of simplicity. Now, however, our door should serve as a useful example of how to debug blueprints.
The problem was that our door didn’t really open properly, as seen in this image:
Let’s figure out what’s wrong with some debugging.
There are many methods of debugging blueprints, of which Breakpoints are the most common. Setting a breakpoint stops execution of your game momentarily, allowing you to inspect the nodes of a blueprint graph. This is tremendously useful for squashing any troublesome bugs.
Breakpoint debug steps:
Add a breakpoint. Play and execute the event (the game pauses and focuses on your breakpoint). Use the step button to go through the execution step by step. After a few steps in our door example, we see that both of our events are being triggered repeatedly. We can also hover over any variables and parameters to examine their specific values at the time of the break.
Another method of debugging is to split your screen (or simply use two monitors), separating the blueprint window from the game window. This helps track what’s going on in the graph as you walk through your door. This way, we can see the exact point the execution reaches while we play the game, although we aren’t provided with any additional information.
Notice that the drop down menu next to the play button in the blueprint graph window needs to be set to our specific door in order for it to display any information about the door.
Both of these debugging methods help us trace the root problem with our door example: events are registering repeatedly, causing the door to behave erratically. One guess as to why this may be occurring, is that some native player character components are interfering with the door blueprint by forcing it to register more than one actor.
How can we single out an object or actor to ensure that it’s the correct target of a sequence? How can we ensure that any given object or actor is actually the intended type, in order to avoid problematic misidentifications? These are questions which can be answered using comparisons.
Comparisons are, just as the name implies, a way for us to compare objects in order to determine whether or not they are alike. UE4 determines the result of this comparison with a boolean value – either the objects are the same (a boolean true value) or they are different (a boolean false value), and we can then use this boolean as an indication of what to do with our door. In UE4, conditions are done through the branch node.
The node used for comparisons is called “Equals”. Note that there are several versions of the “Equals” node, as it can be used for almost all possible variable types.
Now that we have our Equals nodes, we want to make sure that they are configured correctly. Each event needs an equals node, taking the ‘other actor’ parameter and comparing it with the player controlled pawn – our First Person Character actor. While you can link the First Person Character actor through other ways, doing it this way ensures that even if we change the player actor to something else, the door condition will still hold true.
This solution wraps up nicely and leaves no room for error. But it is also somewhat limited: What if we also want to make potential enemies pass through the door?
Casting is a term originating from the computer science concept of polymorphism. In short, polymorphism is about class relationships, and how some classes may have a more generic version of themselves stored to use for implementing a variety of classes within the same skeleton. The generic class is called a superclass, whereas the class inheriting data from the superclass is called a subclass.
The classic example of this is that a Car subclass would have a more generic Vehicle superclass. In games, this idea is even more widespread: we could have a Weapon superclass able to shoot and reload, but what happens when the weapon shoots and reloads would be up to the subclass. An RPG subclass would naturally have a different implementation than a SMG subclass, although it would share attributes like ammo and functions such as shoot or reload. Subclasses still have their own independent functions alongside inherited functions.
How is any of this relevant to Blueprint? In short, a subclass inherited from a superclass may be targeted through its superclass. If you cast to a Weapon superclass, then any of Weapon’s subclasses can pass through as well.
Let’s tie all of this together: using the superclass of First Person Character Character, we could ensure that all classes inheriting from Character are able to use a door as well – including our currently nonexistent enemy characters.
There is a caveat: casts are performed during runtime. This means objects or actors which cast incorrectly could crash or otherwise break your game. For a more technical understanding of why casts should be used carefully, I recommend this article: http://stackoverflow.com/questions/4167304/why-should-casting-be-avoided
So far, we have only briefly touched upon the concept of polymorphism, but it is one of the most important concepts within an object oriented programming paradigm such as Blueprint, and a great tool for creating system architecture (including system design).
There is no article for polymorphism in UE4, and I’m tempted to write a comprehensive guide. In the meantime, you could take a look at this short video explaining the concept more thoroughly:
Video no longer available on youtube
In the third and final article in this series, we’ll implement a grenade weapon (using some polymorphy) and a grenade throwing mechanic using Bezier curves.
See you then!
TheOnlyDoubleF reacted to Thrik for an article, Announcing the winners of our RaiseTheBarVille Half-Life mapping challenge
Levels Nova Exchange
By Erik-Silver Toomere (ESToomere)
“After taking a wrong turn on the way to Lighthouse Point… Gordon stumbles on a Combine secret”. Takes place between the chapters Sandtraps and Entanglement, replacing Nova Prospekt.
By Justin Carlto (SneakySpeckMan)
The strider at the end of Half Life 2 Episode 1 destroys the escape train, leaving Gordon and Alyx stuck in City 17 as the Citadel goes critical.
By Dan Jordan (The_Rabbit42)
A re-imagining of the classic scene from Half-Life.
Mod Details Title: RaiseTheBarVille
File Name: hl2-ep2-sp-mc-raisethebarville.7z
Author(s): Erik-Silver Toomere aka ESToomere, Justin Carlton aka SneakySpeckMan & Dan Jordan aka The_Rabbit42
Date Released: 09 May 2015
MapTap Users Download directly into MapTap [47.10MB]
You must have MapTap installed before using this link.
Direct Download Download to your HDD [47.10MB]
You can still use it with MapTap once you have downloaded it.
Manual Installation Instructions 1. Copy the RaiseTheBarVille folder into your …SteamSteamAppscommonsourcemods folder.2. Restart or start Steam.
3. RaiseTheBarVille should now be listed in your Library tab.
4. If you require more help, please visit RunThinkShootLive's Technical Help page.
Judges There were 3 judges for this challenge: Phillip (RunThinkShootLive), Ryan 'Thrik' Williams (MapCore), and Don aka Unq (who very kindly supplied the RaiseTheBarVille first Prize).
Winners Winner: Blast Pit
All judges felt this was the perfect combination of using the theme in a clever way and making a map that was fun to play.
Almost-Winner: Nova Exchange
This was a very detailed and thoughtful entry that all the judges enjoyed playing but felt it lacked player guidance too often.
Third Place: Delayed
While short and light on compelling gameplay, it delivers exciting set-pieces and great visuals.
The judges' more detailed reviews can be found in the comments of this article and/or RunThinkShootLive's equivalent article. Feel free to leave your own — in fact, please do!
Prizes For the winner
A lightly used hardback copy of Valve's rare Half-Life 2 development book, Raising the Bar, kindly donated by Don aka Unq. This book is a must-read for any fan of the game, and particularly those interested in its development process. In addition to being a collectable in its own right, this particular edition is signed by Valve staff, arranged by a friend of Phillip's who works there.
For the almost-winner
Don't feel bad, you nearly made it. Have a plush companion cube plus a MapCore mug or t-shirt, and know that we love you.
...and for everyone else
All entries, except the winner and almost-winner, will be entered into a random draw to win Sniper Elite 3. As this was one person in the end, this has now become the third-place prize.
Screenshots A selection of 3840x2160 screenshots is available on Dropbox. They haven't been included directly in this article because they potentially spoil set-pieces within the levels.
Video The playthrough/walkthrough below is provided by PlanetPhillip. See more of his playthroughs at VP: PlanetPhillip.
Steam Grid View Images Three grid view icons are included in this file. To use the included grid view icon, select “Gridview” in Steam (top right corner). Right click on “RaiseTheBarVille” and select “Set Custom Image”. Then browse to the SourceMods folder and then to RaiseTheBarVille/steam-gridview-icons folder and select the image you prefer. Then click “Set Image” and that’s it. Of course, you can create your own custom image if you prefer.
Other Bits and Pieces There are a few additional things that you might want to check out over in the RunThinkLiveShoot equivalent of this article, such as a poll that lets you vote for your favourite, additional screenshots, and download statistics.
TheOnlyDoubleF reacted to Sentura for an article, Exploring Unreal Engine 4 Scripting: Part One
On the other hand, UE4 has also been somewhat stripped of “default” content in order to emphasize the user-generated content located on Epic’s new marketplace. This tutorial series is designed to bring you up to speed on UE4 level-design by showing you how blueprints work and how you can create your very own blueprint building-blocks.
Understanding Blueprints The Blueprint system is a visual scripting language central to all game interaction in UE4.
Blueprints come in two flavors: Level blueprints and Class blueprints. Level blueprints are attached to your level, whereas Class blueprints are self-contained templates for a single type of object in your level (a “class”) only. Anything you do in a Level blueprint can also be done in a Class blueprint, but Level blueprints additionally enable you to set up communication between multiple Class blueprints.
Let’s take a look at what actually goes on inside these blueprints.
Inside Blueprints Let’s start with the two basic blueprint nodes: Functions and Variables. Variables can be explained as containers of object data, while functions essentially perform game logic upon variables.
The next section will cover these nodes in more detail.
A Player variable with a Jump function. As illustrated, executing the function (f) causes the player to jump
Object Data (Actors and Variables)
Although they are very versatile, variables are most commonly used to control actors, objects that exist inside the game world. Characters, weapons, doors, switches are all examples of actors. Additionally, every actor’s variables can potentially be manipulated by functions, for example the health of a character stored as an integer value.
A actor variable (player) with health and position stored as an integer variable (green) and a 3D-vector variable (yellow), respectively
Actors can also contain components: other actors incorporated inside the main actor. This enables static meshes to have component collision boxes, or to be paired with component particle effects, among other things.
The components of this door object are two meshes (a door and a doorframe) and a collision box that helps control the door’s physics behavior
Functions are nodes of logic which can be executed (called) to perform a certain task. If something needs to take place in-game, such as a player picking up a weapon, functions can enable as well as add additional consequences to that action.
A function execution string (the white line)
Functions present and modify variable information. For example, a function which acts upon information gathered by a variable could teleport players to specific game-world coordinates. A ‘getter’ or ‘pure’ function, on the other hand, merely relays information for use elsewhere, such as reporting a player’s current coordinates in the game world.
A ‘pure’ function (green). Notice that ‘pure’ functions do not have independent execution, only when linked with a regular function (blue) does this particular function have effect
So, we’ve covered Variables and Functions. But how does the Blueprint system know how and when to react to incidents inside the game world?
Events allow different actors to communicate with each other. For instance, an event controls when an actor collides with another actor, or what an actor should do if a collision actually occurs. More examples of an event are a door opening as a character nears it, a switch being thrown, or a barrel exploding after it has taken sufficient damage. An example of an event could even be as fundamental as a player using controls to move their character model. Customized events can be called much in the same way a function would be.
Event (red) called if an actor is hit. The event triggers a function linked to taking damage. This example is intended for learning purposes, not for practical use
Quick aside: In general, as a good practice, variables, functions and events should be named for their exact purpose. This helps both you and others read what’s going on in your blueprints. An actor named “player”, or an integer named “health” is easier to understand than one named “asdhjkashdj”!
For more information on variables, functions and events, please refer to Epic Games’ own documentation, which provides encyclopedic knowledge about the topic.
Case study Now that we understand the building blocks of UE4’s Blueprint system, let’s look at a practical example: the Class blueprint of a sliding door (If you want to create your own sliding door, I recommend taking a close look at Epic’s in-depth guide.
When a player gets close to it, the door opens. When a player leaves the door’s vicinity, it closes. Let’s examine the door’s blueprinting:
You can see that the door actor is composed of several components: a frame object, a door object and a triggering box
In this image, we can clearly see the nodes used to trigger the door’s opening and closing. For example, the event OnComponentBeginOverlap triggers once a player steps into the Box component actor listed. That triggered event starts executing anything along the execution logic path, such as the Timeline function and the Set Relative Location function.
The Timeline function changes an integer with decimals - the Driver float variable – between 0.0 and 1.0 over time, and sends execution updates every time the float changes. The float variable is called Driver in this case, because it drives the door to either open or close. The Lerp function’s Alpha parameter then uses this float value to determine the exact position of the door between being open (float value of 1.0) and closed (float value of 0.0). The Vector variables Door Closed Position and Door Open Position are end points for Alpha to blend between. This is to ensure that the door opens and closes smoothly over time rather than instantly.
Set Relative Location then executes the data received from the Lerp at intervals put forward by the Timeline’s update execution for the door that we use. The result is a door which slides opens when players are nearby.
Lastly, our OnEndComponentOverlap event triggers the closing of the door by reversing its operation when players leave the triggering box.
Here you can see our moving door in action:
To be fair, this case study is a bit over-simplified in order to provide an example that can be easily understood. The real version of this door (which will be shown in the next part of this series) is a bit more advanced, but its core principles are exactly the same.
So far, we’ve covered the structure of variables, functions, events, as well as a common gameplay element like a sliding door. In the part two of this tutorial series, we’ll learn some more advanced blueprint features, such as class recognition, level blueprints and blueprint communication.
Thanks for reading!
TheOnlyDoubleF reacted to Thrik for an article, A MapCore and RunThinkShootLive Mapping Challenge
The theme of the contest is quite wonderful and should appeal to all MapCorians whether you're participating or observing, and there are some lovely prizes on offer too. You'll find out more when the challenge is announced and kicked off in a week's time.
Stay tuned — we hope to see you involved!
TheOnlyDoubleF reacted to Froyok for an article, Technical breakdown: Assassin's Creed II
The following breakdown is based on my own guesses and how I understand the game from the textures and meshes I have watched. I can't tell you exactly if I'm right or wrong since I'm not a developer of the game. However, I believe I'm rational enough to think that most of what I say is close to what the developers have done. The purpose of this breakdown is educational and the work presented here belongs to its respective authors.
Anvil engine The Anvil Engine is a proprietary game engine used by Ubisoft's game projects for a few years now (the first game using it came out in 2007). We can call the Anvil Engine a next-gen engine since games for the previous console generation (like the Playstation 2) were using the Jade Engine at Ubisoft. The first project using this engine was the first Assassin's Creed game. Its initial engine name was Scimitar (before the release of the first game). Today, eight games are using this engine.
The engine has since been updated with Assassin's creed III under the name 'AnvilNext'. Mostly to support the new game challenges and configurations that we have today and probably to be ready with the future game consoles coming along.
Atlas and batching As with every open world and/or huge city, you have to deal with a very high number of resources. Mostly to keep the player in a fresh world and avoid repetitions. Games over the years have used various techniques to get past this problem. One of them is to reuse any resources that you have created. Creating a texture for only one object in this type of environment can be a problem in term of memory footprint. So reusing a texture will allow you to keep you memory low in size. Pretty obvious, however it's a hard balance that you have to deal with: diversity versus quantity.
The size of the memory is not the only problem that you will meet; the number of drawcalls is also very important. As a reminder, a drawcall is a call to the API (the functions of the GPU to draw a set of primitives). For each frame that you render, you have a certain number of drawcalls. Each time you call the API to draw something it takes a given time, regardless of what you want to draw. So you want to be sure to reduce these calls to avoid any loss of performance (taking too much time to draw a frame will reduce your number of frames per second).
Each time you change a mesh for a new one you will create a new drawcall, because for the engine it's not the same geometry. This rule applies for the shaders too. If you change the shader, you don't render the same thing, so you have to change the way you render it. This means a new API call.
A common solution to this is to batch your calls. 'Batching' means to group some meshes together before calling the API to draw them. This is why it takes less time to render a big mesh than multiple small meshes. How to batch these meshes if chosen by the engine, there is no best rule for this and it depends a lot of what you want to draw. In the case of the Anvil engine, you are focused on drawing large and open spaces. The best way to improve the performance in this case is probably to batch per shader. So each geometry using the same shader will be sent together to be rendered. This way, reusing textures will allow you to batch a lot of things and gain a lot of time.
So using atlas textures (multiple textures merged as one) will be a great benefit: you will reduce your memory footprint and you will use only one shader for multiple objects showing different things. Assassin's Creed II uses this system a lot for the environment and the characters. Since we evolve in cities, some houses are often similar, it is logical to find the same design multiple times. Which means that reusing a texture would not shock the player. It will even help for the visual consistency of the level. However, I believe that the engine was not perfect and due to some performance problems (maybe because of the dynamic lighting) they limited the number of textures. In Venice for example, you have an average of 1500/2000 textures in memory (including everything: sky, water, normal maps, shadows, characters and so on).
What do the textures look like exactly? In this game, textures for the walls are often around 512 x 512 pixels. Details, ornaments, water use 256 x 256 pixels most of the time. For example, the roof texture is only 256 x 256, but the tilling is so well made that it doesn't gene at all.
However, these textures being very tiny, the developers used vertex painting to blend details and break the repetition. Since there are almost no specular reflections in the game (probably to strengthen the feeling of the walls are made of bricks and dirt) the vertex painting masks are stored in the alpha channel of the diffuse texture. As you can see in the second screenshot below, the alpha mask uses very defined greyscales, probably because they separate each level of grey as a separate filter.
The textures are very bright, and we feel that in-game: the overall lighting is itself very luminous.
Levels of details Dealing with an open world means dealing with a very long view distance. Therefore, the farther you see, the more you need to draw. Unfortunately you are limited by the hardware (especially on consoles) and you will have to use some LODs (level of detail). The developers have chosen to let the LODs 'pop'; this means no blending transitions between them, which is visually ugly since you notice the change.
The environment collisions are dissociated from the visuals mesh. Probably because you can more quickly hide/disable the collisions of the environment since they are not visually displayed on the screen. This explains why forcing the LODs of the environment allows you to... climb the void!
On the PC version, you can increase the minimum distance for when the environment starts to blend (which is something like 40/50 meters if you blend at the furthest possible distance). It's also interesting to note that some props like barrels, crates and other little things are independent of the global LOD distance. It seems that some props are linked to the LOD of the building mostly because they are at the roof level, while props in the street have their own blend distance.
Characters Pedestrians in Assassin's Creed are based on modular characters. The developers use a set of heads which are combined with hands and different clothes. While the hand and heads have their own details and colours, the clothes are just a totally grey shared texture (except for the letter) and coloured in the shader to add variety in the game. They also add a detail texture to break the linearity of the clothes and bring up some fine details. Characters have also their own LODs.
During a presentation at GDC 2008 about the first Assassin's Creed, Francois Levesque (a technical director on the game) explained their pipeline to produce a lot of different characters without losing too much time. They used a base head which blends to fit to the high-res character. This way they automatically get the LOD mesh at the same time since the meshes always shared the same topology. The only update to do was for the position of the bones on the top of the vertex to keep their skin deformation.
Since meshes and UVs are similar, it's easier to manage and create a crowd dynamically. So there are maybe 5–10 different clothes and then the game dynamically creates a character to add it in the game scene. In the first Assassin's Creed, characters had 2 LODs, which meant 3 meshes per character. In Assassin's Creed II it's the same thing. However it seems that the clothes and the head don't blend at the same time. Probably because they don't have the same space occupied on the screen. So the heads go to their first LOD mesh sooner.
You can see some examples on zBrushCentral with the base mesh topology and also the topology of some bodies used by the game.
Lighting The Anvil engine is an engine developed to mostly show open environments. With the development on this second opus, they wanted to add a day-and-night cycle. To achieve this they naturally chose the cascaded shadow maps technique (more exactly, Parallel-Split Shadow Maps as described in a GameDev.net forum thread) which even today is the best way to draw a unified shadow on such big environments.
There is no Global illumination at all, it's mostly only a main directional light (the Sun) combined with an ambient colour which evolves during the day. Some interiors like the tombs present localised point lights; there are also some point lights which are enabled during the night.
However, regarding the performance, they were obliged to use a very low resolution and a blend distance. This explains why you see a lot of blurred pixels on the ground/walls for the shadow. This is also why you so clearly see the blending of the shadow from one level to another.
Some shaders use the Fresnel term to enhance the looking of the character clothes a bit, but most of the time they simply use direct lighting without complex shaders (again, because it was very expensive). There is no fake sub-surface scattering (SSS) for the characters, even during the cinematics. The SSS only comes in with Assassin's Creed: Revelations and will be improved for Assassin's Creed III.
Conclusion Assassin's Creed II was a really good improvement compared to the first game, however it looks like the engine faced a lot of new constraints which were not totally well handled. The way the LODs appear and the nice but still limited quality of the lighting are good examples of that. Even on modern computers today the game gets some slow-down in certain places.
The engine was improved for the next game iterations and increased the amount of details and the quality of its lighting to finally show beautiful cities as we can see in Assassin's Creed III today.
TheOnlyDoubleF reacted to FMPONE for an article, 2014: MapCore's Year in Review
Overview of 2014's articles We published a ton of high-quality, original content in 2014. Take a look — you might spot something you missed!
Interview with Mateusz 'seir' Piaskiewicz, Techland Senior Level Artist
Interview with Rosin 'kikette' Geoffrey, Arkane Studios Environment Artist
Deus Ex: Human Revolution scene interview with KNJ
Virtual Reality: The Final Platform
Interview with Francois 'Furyo' Roughol, BioShock Infinite Level Designer
Interview with Thibault 'dkm' Courbet, Wolfenstein: The New Order Level Designer
Interview with Lenz 'penE' Monath, Environment and Lighting/VFX Artist
Interview with Thiago 'Minos' Klafke, Blizzard Environment Artist
Interview with Paul 'PaulH' Haynes, Homefront: The Revolution Senior Level Designer
Korath: The Witcher Saga scene interview? with Krzysztof 'Tepcio' Teper
Level Design in The Last of Us: Part One, Part Two, Part Three
13,500+ reads (all parts)
Contests and challenges Even better, MapCore continues to thrive as a close-knit community. We collaborated, playtested one another's work, and inspired eachother. Thanks to RZL for his great work organizing Counter-Strike: Global Offensive playtests. SpronyvanJohnson also did a great job organizing MapCore contests, where users pushed themselves to improve their skill set.
We had a fantastic contest and two thrilling challenges, all of which received unprecedented levels of support and engagement. You can relive the action here:
Quake 3 15th Anniversary Contest
CS:GO Sticks Mini Texturing Challenge
New logo and branding For the first time since the forums were established in 2003, 2014 saw the introduction of professional-grade branding, which was brought to life by our very own Arthur de Padua (AKA Thurnip), including a wonderful new logo! We also set up a small store for those wishing to spread the wonder of MapCore throughout the world, complete with Arthur's beautiful new designs, and we'll be updating the store with even more new products based on your feedback very soon!
New logo and branding by Thurnip
Babies! MapCore kids were also born in 2014! ...God help us all. A huge congratulations to Skjalg and SpronyvanJohnson for their ultimate creative projects: bringing new life into the world. If we missed anyone, let us know in the comments so we can add you!
By 2-D Chris
Employment As a community, MapCore has always been a mixture of veteran game developers, aspiring amateurs, and plain ol' gamers. One of the best parts about that mixture of experience-levels is when one of our members gets an awesome new job within the industry. In 2014, we got a LOT of great news on that front.
Martin "Sentura" Colith - Level Designer at IO Interactive (Copenhagen, Denmark)
Al "Intelect0" Anselmo - QA Tester at Top Free Games (Sao Paulo, Brazil)
Lenz "penE" Monath - Environment Artist at Yager (Berlin, Germany)
Oskmos - FX Artist at DICE (Stockholm, Sweden)
Morten "Mazy"Hedegren - Game Designer at Brain+ (Copenhagen, Denmark)
Skjalg "Skjalg" Sturlasson Maehre - Programmer at Megapop Games (Drammen, Norway)
mr.P - Senior World Designer at Avalanche Studios (NYC, NY, USA)
Pete_H - Game Designer at Gameloft (Barcelona, Spain)
Jobye-Kyle "deceiver" Karmaker - Level Artist at Ubisoft Toronto (Canada)
Alex "AlexM" McGilvray - Build/Tools Engineer at United Front Games (Vancouver, Canada)
Alexander "Taylor" Taylor - Game Designer at Space Ape (London, England)
Kacper "knj" Niepokólczycki - Environment Artist at CD Projekt Red (Krakow, Poland)
John "Ginger Lord" Crewe - Senior Technical Designer at Cloud Imperium Games (Manchester, England)
Paul "PaulH" Haynes - Senior Level Designer at Deep Silver Dambuster Studios (Nottingham, England)
Toni "SotaPoika" Seppänen - Junior Level designer at Next Games (Helsinki, Finland)
Austin "Setin" House - Designer at Escalation Studios (Dallas, Tx, USA)
Richard "KoKo5oVaR" Malinar - Environment Artist at Krysalide (Lyon, France)
Mateusz "seir" Piaskiewicz - Designer at Treyarch (Santa Monica, California, USA)
Jason "General Vivi" Mojica - Senior Level Designer at Overkill Software (Stockholm, Sweden)
Will "Vilham" Josephy - Senior Level Designer at Cloud Imperium Games/Foundry 42 (Manchester, England)
Chris "2d-chris" Kay - Senior Level Designer at Epic Games (Cary, NC, USA)
Liam "PogoP" Tart - Environment Artist at The Creative Assembly (Horsham, England)
Matthew "bawwwcas" Barcas - Level Designer at Pure F.P.S. (Los Angeles, California, USA)
Francois "Furyo" Roughol - Senior Mission Designer at Sucker Punch Productions (Bellevue, Wa, USA
Friedrich "FrieChamp" Bode - Level Designer at Goodgame Studios (Hamburg, Germany)
Our members' success rate at having their content (gun skins, maps) added into Counter-Strike: Global Offensive also continued to be astronomical.
Wrap-up At the end of the day though, MapCore has always been about one thing: sharing work in progress, receiving feedback, and learning from one another. In 2014, MapCore's WIP threads buzzed with life and activity, and our 2D and 3D forums were a goldmine of beautiful work, interesting ideas and fun experimentation.
Our community is working better than ever, and 2015 should mark even further progress in the growth of this awesome forum.
SpronyvanJohnson's map given feedback in the form of an overpaint by Seir
TheOnlyDoubleF reacted to Furyo for an article, Level Design in The Last of Us: Part Three
This is the third article in a three-part series. Part One / Part Two / Part Three
Combat tutorial The entire space for this first combat against humans is built to be an action tutorial. With no elevation changes in the space, and the single red tone of textures, this is the simplest arena one could design, which foreshadows a quick and easy fight. Notice the number of crates and cover objects on the ground, and their geometrical position. Clear “camps” are established on either side. Both NPCs are scripted only to move left and right, never to flank Joel, which leaves players with plenty of time to assess the situation. This space is built to encourage players to flank these NPCS to the left (Tess crouches to the right of the player). Another visual cue used to great effect here are the electricity lines, that circle over the space. They make the space feel tighter, and add a loop that mirrors the path down below.
One also finds all three distinctive signs of a fight being over in action games: Tess stands and starts walking again (her AI state changes from InCombat to Normal), she starts a conversation with Joel and the combat music ends. In terms of scripting, these three signs are tested against the state of all spawned enemies (in this case, whether they’re alive).
At the end of the passage under the arch, another instance of the “boost and pull” move, once again the only gate short of an actual door that can be used in this game. Right after this, a typical example of an “S” shaped corridor. Historically found everywhere in FPS games a decade ago, they’re still used in today’s non open-world games as occluders and loading corridors between two heavy areas. And what occludes one way works in multiplayer too, you’ll find them in many MP FPS levels (Counter-Strike, Team Fortress 2, Left 4 Dead, etc.) to break lines of sight and separate large areas to obtain the highest frames per second.
As a side note, and something you may have noticed all along these levels, the environment artist broke up the monotony of this flat wall by making an entrance to a courtyard, to the left of this corridor. You could for instance find this same addition of depth inside the transition building in part 2 where players first learn how to heal themselves.
As a side note, one of very few bugs in The Last of Us can be seen here, as the shader for the gameplay helpers is rendered through walls (normal behavior) but also over Joel's head.
After dropping through the hole in the fence – another typical Naughty Dog gating mechanism - a new cinematic starts as players enter the combat arena. Enemies are now scripted much more freely, with their back to the player to enforce a stealth approach. The shape of the combat space itself is built to allow NPCs to move in long straight ways. The left hand side’s purpose is actually solely for this NPC to go there and allow for more movement in stealth (added difficulty) over the initial takedown against the infected in part 2. Tess continues to help kill two of the four enemies, as long as players play by the rules of this tutorial. Both signs above the doors to the building are once again not placed here by chance; the green one indicating the ideal path inside, and the red one a sure way to get spotted. And with both signs having these warm colors, the rest of the building wears a very cold blue to make the signs much more noticeable.
This second combat also introduces dialogues between characters. Beyond their initial role as threat identification and background information, these conversations also serve as cues that NPCs are likely to change their patrol path once done. It’s therefore important to design these dialogues so they are not ambiguous when they stop.
As with the gate to the previous occluding corridor, this space also features a strong light to indicate the exit. We’ll see the same light used in all four of these combat tutorials each time to direct the player to the exit of the arena. While this doesn’t seem too necessary in these instances, players’ orientation is often confused when leaving nonlinear spaces in which they were dedicating their attention to the action rather than the environment. These help players getting their bearings again. And now that doors are used in combat spaces - wide open not to collide with players or NPCs fighting - , they’re also textured in strong warm colors to be seen better. Doors in exploration spaces in this game never bear these colors.
For this third and final tutorial combat (once again, magical game design number 3 shows up), Tess stops helping in any way other than shooting if the combat gets to that but a new mechanic is presented that offsets Tess. Joel can now pick up objects to create a diversion, essentially what Tess was doing before although she can’t be seen by NPCs. That’s a great way to progressively increase difficulty while not changing enemy type (all humans). The distance between the safe area players start in and the first threat is made longer to increase difficulty too and the same background info is given by NPCs to locate them with the help of the conveniently placed window. The orientation of the starting piece of cover also indicates the sense of direction of the upcoming fight, and where the exit will be located.
A sign of a space specifically designed for a fight is to open up multiple entry points to each zone. Here this staircase lost its railings to allow players to go over to the second floor. A simpler exploration area would most likely not have this, and in some cases would have been worse for it if it did as player exposition requires certain camera shots. Here the game moves away from being purely about exploration and makes players evolve on a two-floor loop, gated to a coop move with Tess. Many fights in this game are optional, but this isn’t one of them and the space reflects it.
As a final reward to completing all combat tutorials, Joel is rewarded with finding his very first shiv, while still inside the combat space. The shiv, much like the first aid kit tutorial (see part 2) is forced to the player as its effect is as straightforward as its game mechanics are complex (upgrades, use). Here the elevation, on top of increasing the difficulty of the fight, also serves to create side exploration spaces. Notice the color of the handrails that add a lot of depth to this scene and help players focus on one of the purposes of this tutorial: elevation.
The final combat is the fourth human encounter, second unassisted combat, and first active choice on the part of the player between “stealth” and “action”. This choice is actually shown on screen and justified by Tess’s dialogue. This fight is simply a summary, taken to the next scale, of every theme explored in combat tutorials seen this far: navigation, object interaction, enemies visibility cone, player noise and elevation (or lack thereof in this case). The choice of color palette reinforces these options, with the cold colors used on the left for a stealthier approach, and the warm yellow tones used with the sun on the right hand side to show danger and action. The right hand side approach also contains more immediate rewards (weapons) for having been bolder.
Robert being another human, there was no reason to turn him into a boss. But as Naughty Dog also needed to carry the scenario forward, it made sense to turn this fight into a chase sequence. For the same reason as Joel and Sarah move away from Joel’s office in the prologue, here the chase sequence allows to introduce Marlene much more dynamically and not have her simply appear in the middle of the previous combat space. That latter solution can usually be seen with less important characters, usually from the same faction, as waves of reinforcement.
The calm before the storm This marks the end of the tutorial section of the intro levels. A few more mechanics will be introduced all along the game (enemies, weapons, upgrades) but the vast majority of the systems has already been presented by now. The bigger the challenge, the bigger the spoils: right after the cinematic ends, Joel is presented with both bandings and blades – the resources needed to create shivs - in two distinct locations separated by the first vista in the game, itself to be considered a narrative reward for having completed the first chapter, as well as an introduction of the destination ahead.
As Joel progresses through to Ellie, and the tutorials are now all gone, combat spaces become larger, with much longer lines of sight, introducing the many challenges ahead and giving the game its true scale. The next "co-op" take down between Joel and Marlene pushes this type of gameplay another step further by hiding one of the two enemies to kill inside the building, which shows that the gameplay itself will also take place over longer distances, not just the locations.
Another sign of the hands free design for the rest of the game, the first puzzle players encounter shows no hints at all. After another dialogue corridor designed to present Joel and Ellie’s early relationship, Tess joins them again and the adventure starts. Have fun with the rest of the game!
Thank you for reading this detailed level design analysis of the intro section of The Last of Us. For any additional question, or to discuss this further, feel free to contact me through LinkedIn.
This is the third article in a three-part series. Part One / Part Two / Part Three
TheOnlyDoubleF reacted to FMPONE for an article, Making a Map: CS_Museum
The creation of a map begins with an idea.
In the case of my most recent project, CS_MUSEUM, I needed a basic look which would resonate with players immediately. The thought of making a Museum worked… it was a simple one, it had been done before (although this wouldn't be a re-make of the classic DE_MUSEUM by Theropod-X). Players would understand a Museum environment, and it fit in the Counter-Strike world.
Forming a map’s final look is complicated, though, and requires thought about what kind of architecture, colors, and lighting you – an artist or level designer – will pursue.
I’d been playing a lot of the classic map CS_OFFICE, which requires players to storm into close quarters for indoor combat. That kind of game-play is fast and unforgiving, I dig the kind of matches it creates. CS_ASSAULT, I shouldn't forget to mention, is another great map that defines the "siege a building and rescue the hostages" genre. Actually, most of my favorite CS_ maps including Militia also foster similarly dynamic games that challenge you to be sneaky but also use brute force to accomplish your objectives.
So, I set out to make a hostage rescue map like Office and its kin. Studying prior maps is a good way to establish what works well, and avoid what doesn't.
One other map that influenced my thinking: CS_CABARET by Alex Roycewicz.
Cabaret is a great map — it got Alex a job at Infinity Ward long prior to that illustrious studio being kicked in the nuts super hard by mega-publisher-that-will-remain-unnamed.
It was from Cabaret that I basically ripped off the front of Museum... with a few changes.
In truth, though, I had some bones to pick with Cabaret.
Unforgivably, there was no sense of vertical space on the outside of the strip club. Also, while the building exterior is convincingly rendered, the overall space is too geometric: everything seems to face the viewer on an imaginary grid, which is no coincidence, that’s how the Hammer editor encourages people to make maps.
Cabaret on the grid:
Museum screws the grid:
If this analysis is starting to sound harsh, it’s worth noting that Cabaret was one of the best custom maps of its time, so this is more of a modern critique of older game art.
As is often the case with older game art, most of the limitations or flaws obvious to modern eyes were not the creator’s fault: Hammer around the era of Counter-Strike: Source (for which Cabaret was made) did not have all the technology I made use of for Museum. One example is “instances” (the pale green elements in the overview above) which are brushwork more akin to models than typical brushwork, because they can be rotated “off the grid” and not cause compilation problems normally associated with brushwork which is off the grid. Thanks to instances, I was able to rotate buildings to achieve a more natural, organic look — such as this bridge:
In order to actually create the specific buildings in the map, concept art and photographic references were key.
Here's an explanation of the Museum front.
The most pertinent point to make here is the difficulty of knowing when a photographic reference is valuable, and what makes it valuable. To explain this in extreme detail might be delving into an area of “talent”... or it might be worth the subsequent explanation I’ll now provide. In any case, this should explain my process.
The best photographic references share one crucial element: readability. Complex buildings such as the one above, if they are to be useful for our purposes, must be able to be broken down into clean, clear shapes. I was confident using the logic explored in the line-work above (I did this part in my head), that the building could be broken down and translated successfully.
The building begins to take shape, with the red lines becoming props. When using Hammer, what becomes a prop and what remains brushwork largely comes down to the default assets you have to work with.
Talented 3D modelers have their choice of creating new content, but their time is precious and each art asset is an investment, so even then it’s best to think about default materials and their role in your work.
This lovely picture inspired the placement of the obelisks, and secondarily the pond on the right of the Museum.
Using concept art and photos in conjunction with my imagination, I had derived a basic visual identity for the map:
Obvious reference: the Brooklyn bridge; non-obvious reference, this lovely piece from Deviant Art:
Making a map is about looking at the world around you and seeing something inspiring enough to create a desire within you to render it and mold it for your own purposes.
By this point in time you may be shouting IT’S A MAP – TALK ABOUT THE GAME-PLAY, TALK ABOUT THE GREY-BOXING YOU FOOL! …and, while the playability of Museum ended up better than I could have imagined, there is no glory in my process for that particular aspect of the map. Uh oh, he’s gonna say he didn’t grey-box it, isn’t he…
First, the excuses: previously, I'd recreated the Natural Selection 1 map NS_VEIL for NS2, based solely upon my own literal eyeballing of the geometry, without any scale-guide, in a different editor and a different unit system. To put all that gibberish into other words, I’d done nothing for two months other than study the rigid grey-boxery of another mapper, then spent another 10 months making that geometry fit into the context of a new game and engine. I’d worked with fastidiously organized layers, done everything by the book, guv, I swear.
While important for a commercial product, that experience had temporarily tired me somewhat of the (smarter) formalistic approach. As a result, no substantial grey-boxing would take place for Museum. Manic energy took the place of “rules” and “common sense”:
Basically, I was creating stuff I thought looked cool, not getting terribly fussed about what direction it would all head. This is the way newbie mappers work, or idiots, or both… but it can be done if you’re smart about it.
Certain things can’t be bullshitted around, though: your map must be in proper proportion to the players, and it must maintain sensible sight-lines considering the game type. You need to know the game you’re making the map for, and know it well.
So working free-form has its advantages, creating a whimsical sense of liberation in the budding mapper. It comes at big costs to him, though, in other aspects. This open doorway, and the entire route it signified, never made it into the final product. People have noticed its conspicuous absence, however, to the point that it may make it's return soon enough.
Working toward a result, with certain restraints in mind, but willing to cut: my method for Museum.
Mistakes were made. Certain areas violated basic good-practice principles, such as this one:
I call this piece of modern art “Abstract Red Light Number 48.” So… this elevator shaft was painful for a few reasons: too noisy inside, not clear enough about what it was meant to be, and the idea of it having a purpose seemed impossible given the amount of crap stuffed into the scene.
I believe I settled on a better, cleaner result:
Which was based off of this reference:
This shipping area was another idea that got cut (considering that it was over-dark, this was not too sad):
Everything else seemed to go swimmingly, however:
My biggest advantage when working with these references is my ability — and perhaps your ability as well — to discern from them what elements are most relevant and work best geometrically. These judgements influence what makes it into the map. While you may be able to follow a similar protocol by examining the pictures, you would be doing so in hindsight; it was quite necessary during this project for me to be able to sift through literally thousands of images in order to find those which, at first glance, provided the requisite inspiration.
References must be clean, they must convey a certain tone, and the architecture they illustrate must be plausible among the rest of the map geometry. This process of looking through seemingly endless references is a task which must be begun anew with every new map.
Back on topic: a month or two after starting out on the map, I recruited a talented 2D artist named penE who had a style congruent with mine. With his help, rooms like this began to form their own identity:
The map began to develop a sense of humor. We based the name of the museum on HURG — Hero of MapCore! (Don't ask.)
PenE brought his full enthusiasm to the project, getting almost all of his work done in a month or so, a rapid pace which would be a major motivator for me while I was working with (read: waging war against) the Hammer editor.
Here is a sample of penE's work for the map:
Nevertheless, the map did seem to require more art…
I had envisioned a T-Rex in the above room, and had designed the room around that eventuality. I was concerned that such a 3D model might not fit well (it’s a relatively cramped room), or might not be appropriate looking, but I put out a call for a talented 3D artist.
3Dnj answered that call with a stunning T-Rex model based on square-shaped geometric restraints. I basically stacked a bunch of cubes on top of one another and said, “OK now make me a T-Rex that fits inside the squares.” Seems hopeless, right? Thankfully, Valentin, as 3Dnj is known, e-mailed me this bad boy:
Owns right? Imagine waking up and seeing that first image of the T-Rex with that brilliant sheen, I was ecstatic.
At that point I realized I’d found a true collaborator and not just a “prop guy”. Valentin would go on to help me optimize the map, and reform a lot of my map geometry into more sensible models. Here’s how crazy things had gotten:
Hammer is unlike a modeling program in that it is “brush-based”, and things that are not literally six-sided cubes give the editor trouble. Trying to create an interesting shape out of a single brush? Take a hike.
So it’s obvious why a more extensive collaboration was needed: it was never going to be realistic to proceed in such a manner and expect an optimized result which would (ugh) compile. Hence, the logic of making a map which looks the way Cabaret does, unfortunately all the same limitations applied more or less in 2012, with just a few exceptions like instances.
So there were technical challenges, but four months on, most of the major lessons of the map were learned and my vision for the map was realized almost exactly as it existed in my brain.
My workflow can be best summarized as: find a fitting photographic reference, get a basic interpretation of the geometry into the game, and then polish with aesthetics and navigation in mind (lead players with lights and colors).
Rather than attempt to convince you I pursued the traditional level-design approach of iterating a grey-box, I hope this document serves to explain the approach I actually took: a risky and improvisational one that I know I’m lucky was successful. It’s good to state how lucky: a layout that emerged without argument, finding two brilliant collaborators with a lot of faith in the project, etc. Hopefully anyone looking to duplicate my exact method will be given pause, but at the end of the day there will always be logic in working hard and having a well-formed mental image of your goal.
As for Museum, I can promise you one thing: if you load up the map, and I hope you will, I think you will enjoy it. (If only for the giant, motherfucking Tyrannosaurus Rex.)
Thanks for reading.
TheOnlyDoubleF reacted to Furyo for an article, Level Design in The Last of Us: Part Two
This is the second article in a three-part series. Part One / Part Two / Part Three
First Level The intro cinematic here serves two purposes: Introducing Tess and her relationship with Joel, and giving players a goal for the upcoming level. With that done, it’s not necessary to give players other intermediate goals along the way.
Follow Mission Following an NPC is an excellent, tried and true means to expose players to a completely new world to discover. Tess plays the role of a learning tool, and it’s precisely once players have learned enough about survival in the game that she dies and leaves room for the new relationship between Ellie and Joel to grow. This is an absolute classic process - death aside - used in a great many third person games from Uncharted to Prince of Persia, Enslaved and many others. FPS games also use this technique, but to a lesser degree as following an NPC in first person is often a much more arduous task. Half-Life 2 famously used Alix Vance that way, mostly in non-combat spaces. More recently, BioShock Infinite also followed the same model but made the entire game about that NPC.
Once outside, players are immediately presented with a good combination of narrative and level design. Tess mentions the curfew that will hit in a few hours, while in the same frame, players can see once again in yellow, the sign that mentions the curfew hours. Attention to small details like that is what will make an entire world more believable. The use of red and white bricks for these buildings adds contrast and depth to this scene, and with Tess going around the corner, helps imagining the path forward.
Messages painted across walls is as fundamental a narrative design technique as any, but great games will make use of them sparingly, and at the very least won’t reuse the same message more than once per section, so as not to destroy the immersion they’re designed to create. It’s the same thing for talking NPCs, designed for very specific situations, so their speech doesn’t get repeated.
During this entire level Tess keeps waiting for the player by staying idle on a few of the nodes on her scripted path. This is of course so she can keep being the player’s guide. Notice here however that the implementation of that system is just the bare minimum expected in today’s games. In reality, follow missions are few and far between in this game, as NPCs usually trail behind the player in non-scripted ways. In a game where the NPC is as essential as BioShock Infinite, Elizabeth would have stopped her scripted movement, retraced back her steps to the player (or been teleported behind him) only to resume her script from there. This is a good example of the limitations borne from early creative decisions that dictate the systems developed for the game. It’s entirely normal, but something to be conscious of when creating levels.
Following on to the main street, where a scripted camera takes over and introduces the new playable zone. This sort of introduction is a dead giveaway of a Naughty Dog game, and is most useful in locking the player in place while the army vehicle passes left, preventing the player from reaching the far end gate and exiting the playable area. With the camera locked in this way, the vehicle may very well simply disappear once passed.
Arriving in a large area is often a good occasion to introduce more exposition scenes, and in this case two well-constructed ones. Right in front of the player as he arrives, the first scene presents survivors waiting for their weekly ration in a line, behind fences. The fences here work great with the theme of a post-apocalyptic world, but the wall they form is absolutely necessary in scenes like this to limit player interaction and bugs. We find the exact same use of containment barriers in the scene that follows, with the extra touch of the military personnel pushing then killing Joel if players venture too far. Inside closed spaces, most games generally use windows, which we’ll see in The Last of Us later.
The arrival at the checkpoint is a textbook example of how to center player attention with a dynamic element. On this crossroad, the first semi open area in the game, players may very well be tempted to go either way, but the arrival of the armored vehicle against the player’s direction, the closure of the gates, Tess's placement near the checkpoint and the yellow sign above all point the player effortlessly to the left instead. Naughty Dog manages to seemingly open the game much wider, while remaining in a narrow exposition corridor.
Another textbook example, and a difficult one to achieve, the quick return tutorial. The narrative scene that introduces it is meaningful as it introduces the Fireflies for the first time in the game, but it also pits the player right against a fence in a position of danger. Just like in the combat tutorial, the necessity to move away from this fight makes it ok to block player controls and require a specific command. Players rarely question this.
As a side note, some of you will have noticed that the main street had not been gated yet in the game, and Naughty Dog made sure it was by adding this little scene of police blocking the street.
When addressing player accessibility and teaching, it's important to make the distinction between the two learning models players can be separated in. The first type, Explorative Exposition, describes players who learn by doing; while the second type Experimentation Exposition describes players who by fear of failing expect to have a maximum amount of information given to them before they try. Designing tutorials for these two types of players is very hard, since their learning methods are diametrically opposed.
Naughty Dog chose here to address both types by designing tutorials for either type and alternate between them. The more complex tutorials, those that either require a huge amount of information given, like weapons for instance (see The Shiv in part 3) or would demand a very expensive and convoluted setting (like this health kit) are designed for the second type of players, stopping the game and giving them everything they need to know before experimenting. The intention of showing the time it takes to heal is well convened here. And to make sure the player actually sees this most important item, Tess gives it away instead of having it placed on a nearby table. Perfect introduction of the mechanic and it reinforces their relationship as no one else would ever have given this for free to Joel.
As much as accessibility is often separated in three stages (exposition as seen above, validation and challenge), players often find these cobbled together. The second stage for instance is largely unnecessary when designing for a core audience that is already very used to these game mechanics and gamepad controls.
Follow a few textbook examples of light placement inside this exposition corridor, with inviting diffused lighting that propel Joel forward. At the end of this sequence, we find the first of many trademark moves by Naughty Dog when Joel jumps down a hole. This kind of transition keeps showing up in Naughty Dog almost invariably to transition into a cinematic mid jump (we’ll see that later in the second combat) or to be used as a loading screen to the next level. It also helps segmenting big levels into smaller pieces where NPCs won’t travel large distances back and forth, limiting bugs.
On the other end of that tunnel comes the first introduction of the “vault over” move, which will be reintroduced at a later point as well. All move tutorials in Naughty Dog games are introduced a number of times in slightly different combinations so players learn by doing more than once. It’s rare enough in games to notice how good they got at it; in reality this entire level is a mixed sequence of tutorials.
Immediately after this “vault over” move, Joel is presented with his first “safe zone” to pick up his weapons. In the rest of the game, this workbench will allow him to upgrade his weapons. The more interesting part is the left hand side “boost and pull” move, which uses very strong warm colors. Once again the use of the yellow signifies interactivity/where to go. All third person games like Tomb Raider, Uncharted, Prince of Persia, etc. use specific colors on their palette to orient the player, particularly at the start of a platforming sequence. The move itself is gated to players having picked Joel’s backpack on the workbench, and the combination of both tutorials in the same room is not by chance, it’s the only move in Joel’s arsenal that can be disabled given it uses a prop and an NPC.
We’ve already seen “jumping in a black hole” as a gate, and lifting this door here is just another example of subtle gating mechanisms used to unload the previous part of a level and load the rest dynamically, so as not to require loading screens, or the strict minimum. It’s now so standard that we’ll soon forget it’s a rather recent addition to the arsenal of level designers, created when dynamic loading became possible with PCs and consoles becoming more powerful.
This leads us into the first puzzle space in the game. Notice the multiple ways to leave this interior space, including the first crouch position to the right. We’ll see the move introduced on the critical path afterwards, but it’s not unusual for Naughty Dog to include such moves before their tutorials are introduced. A few hints give us the direction the player should head in. First the busted up ground is a good tool to shape the ground in the general direction of the gameplay, and make the space visually more interesting (less flat) and more interactive with the player needing to repeat the “vault over” move to get out. Another tool is the direction the crows fly in when leaving the hood of the car. Finally, the red bricks and vines uniformly applied everywhere is a giveaway that the exit is not necessarily straight forward.
Notice the rug over the destroyed wall, accenting the solution to this first puzzle. This tutorial is a great example of puzzle design, where the problem needs to be presented front and center, so that the discovery of the solution leads to a minimal amount of attempts once found. Portal is the most recent game to have perfectly followed that credo. Of course, this is here simplified to its core essence, but the same principle follows in the rest of the "ladder-based" puzzles. A sign that you have a great game mechanic on your hands is the ability to design variants of the same puzzle throughout the entire game. It means it's a deep enough mechanic, and not a gimmick.
After picking up the ladder, Joel enters the very first exploration space where he will be able to pick up game resources. Seen as this type of loot is what the entire game economy is based on, it makes sense to present them exactly in the opposite way to the narrative elements of the rest of the intro. Meaning shrouded in darkness when important narrative beats were placed in brightly lit areas. The lighting in this area is worked so the cabinets are mysterious, so that adventurous players learn this classic challenge-reward combination.
After reaching there and turning around, players can then notice glimmering the very first Firefly Pendant located in the room beyond, with a nice Firefly symbol placed on the wall as a final hint. The placement of that desk in this room is studied to allow that to happen. You can safely assume that this is the easiest of all Firefly Pendants. Having presented the first resources and the first collectible separately is a good move to make sure players understand their different role.
Jumping down (once again, a gate), Joel enters the first spore-infected area in the game. Tess is once again used as justification, by stopping Joel and putting her mask on. Players immediately understand the nature of the threat and that they won’t ever have to put the mask on themselves. The change in lighting and visibility also preface the incoming danger, immediately shown in a safe situation moments after hitting the spores. The relationship between the spores and dead body are made perfectly clear, and this example of narrative design through environment art is perfectly paced.
Just like the doors to Joel’s office in the prologue, here is a great example of using interactive objects to place the character in a specific situation and justify the camera transition to a cinematic. The plank, with its forced interaction, is only here to make players notice you can go through the door by squeezing through. In fact, even the dialogue is designed with that n mind. Once in this position, the camera is entirely scripted. One should always expect a narrative element on the other side of that type of sequence, particularly when entering a brand new space. Using this type of contrived cinematic moves has become a main fixture in Sony titles, noticeably in God of War and Uncharted, and in competing titles such as Tomb Raider. BioShock actually was one of the early titles that always tried to justify camera placements. These sequences also sometimes serve to limit the speed of movement of the player, particularly to help loading times in and out of expensive areas. But there are sometimes ways to include these delays in gameplay itself. For instance some of Elizabeth’s lockpick animations were gated to the loading of the area beyond the gate she had to open. In these cases, conversations between her and Booker would also be timed to the necessary delay.
Once clearing this filing cabinet, a perfect camera takeover to introduce the shooting tutorial. A conveniently placed hurt human (still target) offers the chance for a quick headshot if camera is left untouched. Nearby the ammunition pickup ends this gameplay loop and makes most players come out on top ammo wise. It also offers the game’s first active choice, as are all combats in this game (choice of resources and sometimes tactics). Notice right after this encounter the use of dialogue to justify the next camera takeover and introduce the first combat against infected. The piece of wood falls down just as Tess speaks up, while Joel indicates the need to remain silent. It’s as dynamic an introduction as one can make it and flows superbly.
Please notice the placement of these infected. Them being tutorials, it’s only logical that they are as scripted as they are. The first one plays to the stealth nature of the combat, reinforced by the action and placement of the two other infected. As you can see above on the first floor, they actually are a landmark for players to orient themselves. Most landmarks are used as large objects in the background of a scene, for instance Half-Life 2’s citadel in City 17’s skyline, and in the case of The Last of Us, the hospital Joel and Ellie reach towards the end of the game plays exactly that role, but in tight corridors and encounters, level designers can reverse engineer an NPC as the landmark, and plan their geometry around. In this case carving up the floor just so the infected can be seen below. Near this location, on the bottom floor and the top floor, two exploration spaces that make good use of this gameplay loop (challenge-reward) offering loot just after clearing the combat.
Once again outside, this seemingly uninteresting transition area between the combat tutorial and the upcoming puzzle is made interesting by the basketball hoop that provides a clear sense of direction to the immediate space, and the busted up concrete perpendicular to the court adds a layer of depth to an otherwise flat surface. Notice once again the color yellow used in Mel’s Home Hardware store sign, and its placement over the exit.
Next up is the second "ladder-based" puzzle space that follows the basic rules of great puzzle design. First the exit is presented to the player in the same frame as the problem, and the solution once found (“aha! moment”) only takes one try to complete. Notice how the blue tarp provides a good visual clue in this tutorial as to where the solution is, just like the rug in the first case.
Leaving the puzzle area that shows that the best game mechanics can be used in multiple variations, the same yellow color is brought by lighting through the window. Around the corner, a little reminder about exploration, with a health pickup dropped on the far end of the ladder.
Down yet another gate and Joel now follows Tess through a back alley. This otherwise uneventful place sees the addition of yet another reminder of the “vault over” tutorial, as another way to require a button press from the player and keep him/her engaged. This however no longer requires the UI indication on screen.
Just around the corner lies the second Firefly Pendant. “Hidden in plain sight” is a good way to introduce a second collectible, after having given the first one essentially for free. This one perched in the trees, and the puzzle before it tease the elevation changes of gameplay taught in the subsequent combats. You’ll notice the LD work that went in creating the blockage under which Joel must crawl, which reveals through its branches the glimmering Firefly Pendant.
Forcing the player to continue through a building serves multiple purposes. The first, and smallest is it helps justify the placement of gun ammo on the table, as opposed to having it just lying there on the streets. The second, the door that Joel closes behind him, is yet another gate for the upcoming NPC – heavy survivors camp, which can even be loaded during the third and final purpose, introducing a small child in a narrative sequence with Tess. These windows here give just the right amount of light in and allow the heavy contrast between the two areas to have the animation read a lot better. This room could have been there simply for optimization purposes, but Naughty Dog managed to turn it into a whole lot more.
The survivors’ camp is another gameplay loop closing in on itself. After the initial exploration and learning came the tension of the spores and the challenges of the first fight and puzzle, the camp is a narrative reward for having made it this far, and a chance to pick up another two collectibles. However as it’s not the end goal of the level, tension should still be a constant theme, hence the more and more violent scenes one after the other, that also introduce the upcoming fight with humans. Notice the little girl playing with her stuffed bear in the far corner. She and the little boy earlier are nice ways to feature children in action games where rules dictate that no human child should ever be killed on screen. Emphasis on human; children that do get hurt are often already dead, possessed or otherwise sick (School bus in Prey, Little Sisters in BioShock, etc.)
This is the second article in a three-part series. Part One / Part Two / Part Three
TheOnlyDoubleF reacted to Furyo for an article, Level Design in The Last of Us: Part One
This is the first article in a three-part series. Part One / Part Two / Part Three
Intro Level 1st scene In typical movie fashion, the game starts with an exposition scene which establishes the bond between Joel and his daughter Sarah. Here the watch plays a type of backward MacGuffin (http://en.wikipedia.org/wiki/MacGuffin), which movie fans will be familiar with. A term made popular by Alfred Hitchcock, this initial narrative element will keep showing up in multiple scenes in the game to move the scenario forward and link back to the initial bond Joel had with his daughter. Many other items in this game, which we’ll see exposed in Sarah’s room play the same role. It’s important to note that this game doesn’t use forward MacGuffins, instead relying on the early experience players have with Joel in the intro levels to help them relate to Joel in the later parts of the game, when he faces adversity from the other main characters in the game. This type of catalyst is sometimes linked to gameplay in some games, but not here. For instance, in a quest, looking to get somewhere or obtain something but never managing to. In BioShock Infinite, Elizabeth keeps trying to go to Paris, but never quite goes there in the main game.
Gameplay Sarah goes to bed, only to be woken up by her Uncle Tommy’s phone call. The initial frame of Sarah getting up is a textbook example of player exposition. Using the mirror on the wall, Naughty Dog adds depth to the room, and presents Sarah as a playable character from both front and back. The color of the lamp shade also leaves nothing to chance. Using a warm color near her beloved items reinforces the comfort of her nest (bed) and contrasts heavily with the cold blue of the night in the mirror. These items on the wall, much like the watch earlier, play a narrative role in the rest of the game as tools to drive the scenario forward between Ellie and Joel.
Sound wise, Naughty Dog made a classic choice not to add any music and simply build tension with environment sounds in the background. It plays great and helps focus the attention on the initial reveals. In the room, the placement of the birthday card ties the opening scene with this scene the following morning and introduces the “triangle” button as the “hand interaction” one in the game (pick up item, open door, etc).
At this point in the game, the player still does not quite know what to do, despite having played for a few minutes already. This guidance is given very clearly in a single word, right outside Sarah’s bedroom, as she yells “Dad?”. Perfect example of narrative design coupled with level design, that tells the player his/her immediate goal, and invites him/her to check out every single door, increasing the chances for maximum exposition of every theme in this intro level.
With the goal now firmly established, the placement of the door straight ahead, too obvious, makes that room a natural space for continued exploration of the game’s themes, as opposed to a significant room. It comes as no surprise to find inside that room just one piece of content. The placement of the only light source in this room, obvious as it is, reminds us that lighting is one of the most straightforward tools to guide players.
Joel’s bedroom After leaving this bathroom, players are naturally directed towards Joel’s bedroom thanks to the window, extra light placed in front of it, and the barely open bedroom door. The sound of the TV is an ideal guidance tool, suggested instead of shown. This bedroom also offers the chance to see the gameplay loop closed for the first time. The Last of Us’ gameplay loop is always a variant on four themes: Exploration, Tension, Challenge, Reward, Return to Exploration. With the initial exploration started in Sarah’s room and the tension of having to find her dad, this room introduces the simplest of challenges – opening the door and following the gameplay instructions (L3) – which ends with an immediate reward of seeing the explosion in the distance. Finally, Sarah’s “Daaad?” closes the loop and makes players return to their exploration phase. Gameplay loops can express themselves over varying lengths. Second to second, minute to minute, hour to hour.
Returning to the hallway, a few classic LD rules can be seen in the same frame. The placement of the door allows players to face the staircase in the right direction, and the placement of the lamp at the bottom automatically invites players to go down. Notice its actual placement. While most times placing a light source away from a player’s immediate field of view increases its attraction, this one is placed to the right in plain sight of the player.
Once at the bottom of the stairs, the window introduces a new narrative element, in the form of police cars. Notice that the cars are driving in the same direction as the player needs to move. This is yet another good tool to guide players subconsciously. If the lamp at the bottom of the stairs had been placed to the left, and away from the player, he/she would have likely turned the camera towards it and away from the windows, negating the introduction of the police cars. That’s why this light source was better left in the player’s field of view.
Players naturally progress and now face this door to the garden, this time with a light source hidden beyond the playable space which naturally increases the mystery and tension in the scene. Just like upstairs in Joel’s bedroom with the TV, the dog barking here increases tension and attracts players forward.
Once players reach the window, Naughty Dog doesn’t fall for the cliché of having an infected appear in the garden, and plays with players expectations instead interrupting the sequence with Joel’s phone. Doing so, “L3” is introduced again this time on the player’s critical path to make sure this mechanic is understood by all players.
The placement of the phone to the right of the door is also no accident. It makes players move further away and to the other side of the living room from the office, where players are now supposed to go. This forces players to go by the garden window a second time and the use of the phone has forced the player’s immediate attention of the window to be erased. This perfect set up was necessary to create an element of surprise for the second traversal of the living room.
Narrative scene and transition A sign of truly great narrative games is the justification of every single camera takeover by placing the played character in a situation that allows for a smooth transition. Here, that’s the only reason this half open door is placed here. Since it’s already half open, like Joel’s bedroom door, there is no “triangle” interaction required. The goal of this door is to justify the exact position of Sarah in her animated entrance into the room, therefore the position of the camera, to allow for a smooth take over for the rest of the cinematic and the entrance and reveal of Joel, the very first in the game.
While the entire scene could have played out inside Joel’s office, Naughty Dog chose to have Sarah and Joel leave the office half way through, so as to cut back the length of the walk to the exit door and outside to the car. This allowed them to shave off a few seconds of otherwise boring content and make the action denser. Uncle Tommy’s introduction is pretty hectic with the rapid movements and a lot of information handed to the player, so to reinforce his presentation, Naughty Dog chose to have him turn towards the player once inside the car.
The Last of Us, as many narrative games, presents choices to the player. They come in two types, active and inactive. Active choices are generally self-explanatory and are not even presented as such in games. For instance, play style (stealth or action) influences the outcome of fights, but they can also come in the form of a single button press, which usually destroys immersion in a world, and breaks the fourth wall. Inactive choices on the other hand play with morals and psychology between players and the characters they play. Here we see the first glimpse of the troublesome relationship to come between Joel and Ellie, in the eyes of her daughter Sarah who wishes that the car had stopped to help the stranded survivors. This makes players ask themselves where they would stand, and take sides with the future protagonists.
The accident serves here as a transition and justifies leaving the car behind. The timing of that sequence is probably not purely by chance. First Naughty Dog had illustrated all the themes they could from inside the car, and second the attention span of test players was probably waning beyond that point. Notice however the subtle and progressive introduction of infected in the world. The first one, inside Joel’s office comes in when they may yet be taken for humans, and as an element of a cinematic, it offers no challenge to the player. The second, in this car sequence, attacked other survivors and when posing an immediate threat to Sarah, was stopped by Tommy driving away. The third, much closer view comes in as a direct consequence of the car crash. These three progressive introductions of the game’s main antagonist are a textbook example of exposition that allows players to fully grasp the concept of the infected before having to deal with them. Many games fail to present enemies that way, instead relying on one-shot cinematics with poorly explained antics and backstory. The fact these enemies can’t talk and explain themselves pushed Naughty Dog to work them this way into the game, to great effect.
Combat Tutorial First introduction of the « Square » button for combat. As a rule, tutorials are better introduced when players attention span can be solely directed at the mechanic in question. Here, the tension resulting from the car accident and the sight of the infected nearby focuses the player’s attention on the tutorial for maximum effectiveness. Instead of breaking the immersion of the scene, this tutorial actually flows inside it, and players never question it. Naughty Dog’s choice for minimal UI invasion on the screen really pays off here.
Chase sequence Introducing Joel for the first time as a playable character (and the main protagonist) in the middle of a stressful situation could have been a risky proposal, which Naughty Dog managed to make work by taking away all combat (automatic death if caught by infected and gun given away to Tommy). Sarah, who would have trailed behind and become a center of attention for players is reunited with her dad after getting hurt in the accident. All of these moves act as perfect justification to have players only ever care about their own character. The only action required of the player is to dodge pedestrians, which is exactly the best activity to learn to control a brand new character. The use of a car that crashes into the gas station is a bit of a cliché by now, but remains a very strong justification for sending the player to the right, and have a couple invisible walls across the other streets. It remains better than a simple static object across the street and infinitely better than nothing at all.
The firemen truck across the street serves both as justification for the fire raging in the building next door, and as a way to direct the player to the car crash about to block the street off. This second instance however occurs much closer to the player, increasing tension further, and culminating with stopping in front of the theater beyond. This “three strikes” approach to game design is rampant through most games these days, and certainly The Last of Us, for instance during the combat tutorial (three square button presses to leave the car) and is a sort of golden number first generalized by Nintendo.
The use of audio after the third street blockage is mandatory given the exit is not readily apparent within a 45 degree field of view on either side of the theater. In third person games, presenting exits within this 90 degree angle is generally considered a safe choice to have players flow, on consoles at least where the FOV is usually limited more than on PC games. For instance, this was the rule we followed when designing Prince of Persia in 2008.
In the alley and through to the other side, great use if not subtle of lighting to direct players to the left, and first use of the yellow color on all directional and interactive hints, which we’ll see later in the first level. We’ll find the same use for the ambulance down below, which strong red lights contrast easily with the night, and even the wind indicating the sense of direction. The headlights serve as guidance too of course, much like the hurt survivor on the ground.
This is the first article in a three-part series. Part One / Part Two / Part Three
TheOnlyDoubleF reacted to Thrik for an article, Announcing the UE4 Whitebox Challenge winner!
DM-Helium by Chris '2d-chris' Kay
Congratulations! While no prizes were planned, Chris will receive a special winner's T-shirt for his efforts. It's truly a gorgeous map, although it's in good company as all entries were of a high standard. The community has some great maps to play on right here, and I've no doubt that we'll be seeing more of them in playtests and on servers.
The challenge was fascinating to watch, with the filled with shots of the in-development maps and — perhaps more importantly — members helping one another to create some sweet Unreal Engine 4 levels. In fact, this part of the challenge was so interesting to follow as a non-participant that we're going to try and make the in-development phase of future challenges more prominent by following the progress with articles taking a look at how things are going.
The official Unreal Tournament site picked up on our challenge by talking about it for a few minutes at the beginning of the challenge, and while they briefly acknowledged the end of the challenge in a more recent stream they're apparently still checking out all the maps and will be featuring them more shortly — so stay tuned for that!
I'd like to thank everyone for their involvement, and I sincerely hope that everyone had a good time experimenting with an engine iteration that's still new to most people. Be sure to head over to the to check out and download all of the levels!
We don't mess around at MapCore and want to get one more event in before the year ends, so we're going to be kicking off a Quake 3 contest very soon — this time with substantial prizes, just to spice things up a bit! Hang tight for details about that.
TheOnlyDoubleF reacted to Thrik for an article, Introducing MapCore's new logo and store
Designed by professional designer Arthur de Padua (AKA Thurnip), the new logo was developed over a period of many months and incorporates some of the successful themes that came up during the logo design contest we had some time ago. Unlike the existing logo which only existed as a low-resolution render, this one is perfectly crisp and comes in numerous formats suitable for print — allowing us to finally offer high-quality merchandise.
So, head over to the MapCore store if you want to show your MapCorian allegiance in public! All items come as a 'Regular Edition' (no profit for MapCore) and 'Donation Edition' (£5 profit that goes towards MapCore hosting/development costs).
We're currently offering a small but carefully designed selection of products. Once we make sure everything's running OK and we don't need to change vendor for whatever reason, more products will be added. We'll also soon be adding a way for you to donate while receiving a small token of appreciation (e.g. a sticker that can be bought for £5, £10, or £20) for those who want to support us but don't necessarily need or want a T-shirt, etc.
If you buy anything, be sure to post some photos for us to look at! I have some orders on the way, so will create a thread for such snaps if nobody else beats me to it. If you'd love to buy something but the item you want isn't available, don't hesitate to leave a comment or get in touch with me — I'm happy to build up the products based upon what people want.