Posts

Showing posts from February, 2020

Ten Principles for Good Level Design

Dan Taylor provides a Ramsian-style breakdown of how to create world-class levels, which distills the art and science of level design down to a concentrated set of fundamental principles for innovation, engagement, and immersion. Watch the full video here: https://www.youtube.com/watch?v=iNEe3KhMvXM Quick guide breakdown: Good level design is fun to navigate but throw in some chaos. Does not reply on words to tell a story. Tells the player what to do, but not how to do it by giving clear objectives. Good level design constantly teachers the player something new with new mechanics Surprise players by taking risks and changing aesthetics or pacing. Embrace the escapism and empower the player. Use risk reward so players can choose there own difficulty dynamically. Design of non linearity, bidirectionalarity, modularity and efficiency. Work backwards to create an emotion response using level mechanics Level design is driven by mechanics. These are not weighted in priority,

Level Design Philosophy and Tips For Designing a Level

Building a great level is hard, seriously, it's tough to create a map that people will love and want to reply.  It's important to avoid making generic maps, this is more simple than one would imagine. Give it a name simple name. Yes, this seems to go against all previous ideas of being agile, flexible and having the ability, but it's that non-commitment which is  limiting yourself to a theme might inhibit your design process. A simple and unique name will open the door to imagination. A good way to find a suitable name is working around the underlying feeling and emotion of the level. Make sure it's simple and easily describable. The level name will help to 'theme' the map, and providing it works within your overall game design, then you're good to start  Build your level around the name will help to inspire creativity and make a memorable experience for players. As a designer it will give it purpose and meaning. Personality and theme are the dr

Performance Guidelines for Mobile Devices - Quick Guide

Image
Performance Guidelines for Mobile Devices - A quick reference guide In-depth documentation here: https://docs.unrealengine.com/en-US/Platforms/Mobile/Performance/index.html LDR (Low Dynamic Range) Low Dynamic Range (LDR) mode is the lowest performance tier supported in UE4 and is recommended for games that do not require lighting or Post Processing features. To use this mode, you must disable Mobile HDR for your project in the Rendering section of the Project Settings . Basic Lighting In this tier, you will leverage Static lighting and fully rough Materials to create levels with interesting lighting while maximizing performance to reach a broader range of mobile devices. To use this mode, you must disable Mobile HDR for your project in the Rendering section of the Project Settings . Full HDR (High Dynamic Range) Lighting In this tier, you take advantage of most of the HDR lighting features available for mobile in UE4, as well as some of the Post Processing features. Using these feat

Anti-aliasing quick review

Quick recap on Anti-aliasing. FXAA Take the image without any AA applied and blur the high contrast parts. Really that’s it. Can catch large aliased shapes pretty well, but will either completely mash small details or miss them. Basically, if there’s something that can’t be seen in the original un-anti-aliased image, FXAA isn’t going to know about it either. It’ll also generally messes with text pretty badly. On the plus side it’s super inexpensive. MSAA Hardware level geometric edge anti-aliasing. This only applies to geometry edges, so any aliasing produced from shading (like specular highlights on smooth surfaces or detailed normal maps) won’t get any benefit. It also has some issues with over interpolation which can produce more aliasing on some geometry edges than not having any AA. Produces close to ground truth results in many cases where lighting / shading isn’t a factor, but can still be expensive, especially at higher sample counts. Also only works when using Forward renderi