Jump to content
  • Advertisement
  • 08/18/17 05:52 PM

    The Quest for the Custom Quest System

    Game Design and Theory
       (1 review)

    Jacob Laurits Besenbacher Kjeldsen

     

    Intro - "The challenges of dynamic system design"

    Custom Quest evolved during development, from a minor quest system used for our own needs in our own game production Quest Accepted, to something entirely more dynamic and customizable, now finally released, these are our thoughts on quest design and developing standalone subsystems. 

    Splitting what is a major production for a small indie team, into smaller installments such as a quest system was a good idea we thought, this way we can get some releases out there and fuel the development of our game. But building a system that works for yourself is one thing, building a unity plugin that will let other developers create quests, missions, and objectives, you would never have thought of is something else entirely.

    The first thing we had to realize was that when building a quest system, the task is not to design great quests, the task is to enable the users to create great quests.
    That still meant we had to find out what good quest design is and what a quest really is.

    Our task was to create a system where the user is free to create creative engaging and rewarding mission experiences for their players.

    What is a quest? - "Cut to the core"

    First off, we need to know what a quest really is.
    A quest is the pursuit, search, expedition, task or assignment a person(s) does in order to find, gain or obtain something.

    In games, quests and missions function in many different ways depending on the genre.
    A single game can contain a multitude of different types of quests put together in just as many ways. In an MMO, for instance, quests are vehicles for the story and the player's progression. In many cases they are formulaic and simple, some can even be repeated, there are hundreds of them and everyone can do them. In other games quests are for single player campaigns only, here they shape each level giving the player a sense of purpose.

    Quests can span the whole game or just be a minor optional task on the way, there are so many design philosophies and creative quest designs that we had to narrow it down and really cut to the core of what is needed for good quest design.

    What all quests have in common is the task, the criteria for successful completion of the quest, and the reward, the goal of the quest, what the player gets out of doing what we ask of him.

    Quests cover an incredible variety of tasks so it was important for us to base our decisions on thorough research. In our research, we found that there are three layers to quest design.

    The type, the pattern and the superstructure.

    Quest types exist within quest patterns and quest patterns exist within the quest superstructure.

    We found that there are 8 basic types of quests these are the various tasks/criteria the player must do in order to complete the specific quest.
    There are 12 quest patterns. These are ways designers can use their quests, connect multiple quests set them up in engaging ways or teach players how to interact with and get the most out of the game world creating variety and engaging the player.
    Enveloping the patterns is the quest superstructure, the overall structure of quests in the game, we found that there are two main ways of structuring your quests.

    Historically quest have a quest giver, an NPC or object that informs the player about the quest, what they need to do, the story behind it and perhaps even what their reward will be should they complete the quest.

    Quest types - "Do this, do that"

    The core task each quest consists of, the criteria for completing part of or all of a single quest. These are the actions we want Custom Quest to be able to handle.

    • Kill
      Probably the most basic quest type, the task is to kill something in the game, for example; kill 10 goblins.
    • Gather
      Again very simple, the task is to gather x things in the game world, collecting berries or the like.
    • Escort
      The player must escort or follow a person or object from point A to B while keeping it safe.
    • FedX
      The player is the delivery boy, they must deliver an item to a person or point.
    • Defend
      The player has to defend a location from oncoming enemies, often for a set number of waves or time.
    • Profit
      The player must have a certain amount of resources to complete the quest, contrary to gather quests these resources are resources the player would otherwise be able to use himself.
    • Activate
      The player's task is to activate/interact with one or more objects in the game world or talk to a number of NPC’s. In some cases, this must be done in a certain order for a puzzle effect.
    • Search
      Search an area, discover an area of the game world. This is useful for introducing areas of the map to the player and giving them a sense of accomplishment right off the bat, showing them a new quest hub or the like.

    Quest Patterns - "An engaging experience"

    Tasks are one thing, and in many games, that might be plenty but we wanted custom quest to let the users create chains of quests, specialize them and set them up in ways that draw the player into the experience, there are many ways to go about this.

     

    • Arrowheadcustom quest arrowhead quest design pattern
      The most basic quest pattern, the quest chain starts out broad and easy, the player has to kill some low-level cronies. The next quest is narrower, the player must kill fewer but tougher enemies, lets say the boss' bodyguards. The last quest is the boss fight, the player has killed the gang and can now kill the boss. This quest pattern is very straightforward and works well, giving rewards either at every stage or only when the boss is dead.

     

    • Side stub custom quest side stub quest pattern
      A side stub is an optional part of the overlapping quest. Lets say quest A leads to quest C but there is an option to complete a side objective B, which makes completing C easier or it changes the reward, for example. The player must escape prison, the side stub is “free the other prisoners” in this example escaping with all the prisoners is voluntary but it might make it easier to overpower the guards or the prisoners might reward the player when he gets them out. The side stub differs from a generic side quest in that it is tied to the main quest directly.

     

    • Continuous side-questscustom quest continuous side quest design pattern
      These are side-quests that evolve throughout the game, one unlocks the next, but they are also affected by external requirements such as story progress. This pattern is often found with party members in RPG games, where the player must befriend the party member to unlock their story quests.

     

     

    • Deadlinecustom quest deadline quest design pattern
      As the name implies these quests are time sensitive. The task can be of any type, the important thing is that the quest fails if time runs out. This could also be used for a quest with a side quest where the side quest is timed for extra rewards but the main objective is not.

     

     

    • Deja-vu questscustom quest deja vu quest design pattern
      This kind of quest pattern gives the player a quest they have done or seen before. In some cases, this “new” quest will have a twist or something that sets it apart. It can also be the same sort of quest that exists in different areas of the game world, perhaps there is more than one goblin camp? or perhaps the player has to pick berries daily.

     

     

    • Delayed impactcustom quest delayed impact quest design pattern
      Delayed consequences of a previous decision. Often used in games where the story is important and the players’ choices matter. These quests are tied together without the player knowing. Let's say the player is set the optional task of giving a beggar some gold to feed himself. The player gives the beggar a few gold and is on his way. The next time he meets the beggar the beggar has become rich and rewards the player for his kindness with ten times what he gave.

     

    • One of manycustom quest quest design one of many quest pattern
      The player is presented with a number of quests, they have to choose which one to complete, they can only choose one. The others will not be available.

     

     

    • Hidden quests
      Hidden tasks that aren’t obviously quests at first glance orcustom quest hidden quest design pattern are hidden away for only the most intrepid players to find. This could be an item the player picks up with an inscription in it if the player then finds the person the inscription is about he can get a reward for delivering it. A good quest pattern for puzzles, these kinds of quests can really make the game world come alive and feel a lot more engaging, allowing the player to uncover secrets, Easter eggs and discover all of the world created for them 

     

    • Moral dilemmamoral dilemma custom quest quest design pattern
      Punish the bread thief who stole to feed his family? often used in games that have a good/ evil alignment level for the players, these kinds of quests make the player make a choice about what kind of character they want to play, they get to choose if their character is good or evil.

     

     

    • Side questscustom quest quest design side quest pattern
      Optional quests, these quests are often found in level based games where the overall quest must be completed to get to the next level, the player can optionally do some extra tasks to get more points. The important part is that these are optional but they give the player a reward for, getting everything they can out of the game.

     

     

    • Tournamentcustom quest quest design tournament
      Tournament style quests, a series of quests that get harder as the player progresses. An example could be a gladiatorial arena if the player defeats five enemies one after the other he gets rewarded as the champion of the arena, but if for example, he fails at the third, the whole tournament is failed and he has to start all over from quest 1.

     

     

    • Vehicle missionscustom quest quest design
      Despite the name these quests are not confined to being about cars, these are simply quests where the players control scheme changes to complete the quest(s). An example could be; changing from running around in the game world to driving a tank to destroy a fort.

     

    Quest superstructure - "The whole package"

    With quest superstructures, we are venturing into general game design. The superstructure is how the player is allowed to complete quests in the game world. It's basically a question of whether the game is “open world” or a linear experience.

     

    • The diamond structure diamond-structure-300x300.png
      The open world model, think games like The Elder Scrolls V: Skyrim, the player is introduced to the game through a quest, but after that, they can go wherever and do whatever quests they want. There are tons of quests of the above types and patterns, the player is free to pick and choose which to do, giving the player the illusion of freedom within the game world (the diamond). However, the game still ends by completing a quest that is locked and always a requirement to complete the game. This can, of course, be varied by different choices the player has made throughout the game or even have multiple endings. Quests can be concentrated into quest hubs, i.e. towns with lots to do or the like, but they don't have to be completed in a linear fashion

     

     

     

    • Linear hub structurelinear-hub-structure-300x300.png
      This structure consists of a number of required “bridge” quests that need to be completed in order to unlock the next area or “hub”, each hub can have any number of quests, this could be a town full of people in trouble, each with their own quests and quest chains to complete, when they are all done, the player moves on to the next hub through another bridge quest. Limiting the quest size of the hubs will make the quest structure feel more linear and thereby the game linear, and creating larger more open hubs can make the player feel freer.

     

     

    Outcome - "So many options!"

    The development of custom quest has been the quest to allow game developers to create quests and missions that use these types. However, no matter how well we have researched, some one will come up with a new and creative way of doing quests.

     

    The solution for us was to make the system more customizable. Letting users convert their quest prefabs to quest scripts that automatically inherits the core functionality, so the user can freely add their own additional functionality on top of the existing core

    Asset development as fuel - "A learning experience"

    Developing this way, splitting the production into sub systems that can function on their own and even be used by others is not something that should be taken lightly, but if you can build something lasting, something others can find value in using, then the final product will be all the better for it. Custom Quest started as a project we thought could be completed in a couple of months, it ended up taking 7.

    In part this is because we realised that if we were going to release the system, we might as well do it right, that meant creating a system that was customizable and robust, a system that can be added to the users game and not the other way around, a system we could be proud of.

    The experience of developing for other developers is quite different to developing a game. One that has made us much stronger as programmers and as a company, it forced us to think in new ways, in order to create a dynamic and customizable solution. Custom quest has evolved from an asset we could use in Quest Accepted, into a tool others can use to create a unique game experience. All in all, the experience has been a good one and Random Dragon is stronger for it, I would, however, recommend thinking about your plugin and extra time before you start developing.

     


     

    Sources:

    www.pcgamesn.com -"We know you aren't stupid" - a quest design master class from CD Projekt RED
    http://www.pcgamesn.com/the-witcher-3-wild-hunt/the-witcher-quest-design-cd-projekt-masterclass

    http://www.gamasutra.com/ - Game Design Essentials: 20 RPGs - http://www.gamasutra.com/view/feature/4066/game_design_essentials_20_rpgs.php?print=1

    Extra credits - Quest Design I - Why Many MMOs Rely on Repetitive Grind Quests

    " rel="external">
    " rel="external">

    Extra credits - Quest Design II - How to Create Interesting MMO and RPG Quests

" rel="external">
" rel="external">

Center for Games and Playable Media - Situating Quests: Design Patterns for Quest and Level Design in Role-Playing Games - http://sokath.com/main/files/1/smith-icids11.pdf

Center for Games and Playable Media - RPG Design patterns https://rpgpatterns.soe.ucsc.edu/doku.php?id=patterns:questindex

 

Special thanks to Allan Schnoor, Kenneth Lodahl and Kristian Wulff for feedback, constructive criticism and background materials.



  Report Article
Sign in to follow this  


User Feedback


Thanks for this article. I've been working on a game for quite a while and I'm trying to build procedural quests that I can layer in to a randomly generated world. Applying all this to an atomic model will get me there.

Share this comment


Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Game Developer Survey

    completed-task.png

    We are looking for qualified game developers to participate in a 10-minute online survey. Qualified participants will be offered a $15 incentive for your time and insights. Click here to start!

    Take me to the survey!

  • Advertisement
  • Latest Featured Articles

  • Featured Blogs

  • Advertisement
  • Popular Now

  • Similar Content

    • By RoKabium Games
      On Aura you can find the Track Ray fossilized bones usually split up in 6 parts. This extinct reptile was incredibly colourful and was one of the largest land animals ever to have inhabited this cold planet. It is speculated that the thick feathers and scales were good insulators for the cold and the colour was most likely a display to attract mates.
    • By Mutantgun
      Hi Everyone,
      Hopefully all of this makes sense at the end, but if you need anymore clarification please let me know.
      Background: My MMORPG is a sword playstyle based game, where players need to complete a dungeon at the end of each floor to be able to progress to the next. (Players can go back to lower floors / Specific floors will have specific resources needed for crafting as to give players a reason to go back / Player skill progression will also require them to do specific quests/tasks on specific floors, again giving them reason to go back)
      Inspiration: Sword Art Online (Anime) - Aincrad game that the players were stuck in
      My map progression issue is this: I'm split between having all players locked to a specific floor until they/or the party they are in, completes the dungeon, then those players unlock the next floor OR if as soon as a party clears the floors dungeon and unlocks the next floor, that floor is unlocked for everyone on the server.
      I'm going to split these into options 1 (Individual Progression) and 2 (Server Progression).
      Option 1:
      Benefits:
      Allows the more dedicated/end-game player base to progress at a faster pace. Allows for end-game guilds to form and recruit from a more end-game player pool, I.e. Players from that specific floor Allows end-game players to sell their services to help newer players to progress through the lower floors Drawbacks:
      Possibility of new players being stuck in lower floors as there might not be good enough players left on those floors to help them make a party and progress through the dungeon ? Option 2:
      Benefits:
      Allows new players to skip floor progression to be with their friends that have progressed further in the game ? Drawbacks:
      Players will be on floors where they might not be able to survive or complete solo content because of their lack of skill, items, game knowledge Complains from new players saying the content is too difficult, as they are skipping floors New/lower player base will essentially just be waiting on the end-game players to finish the new floor unlocking it for the rest of the server, basically letting them sponge off of the top players progress After typing all of this out it's starting to become more clear cut as to which option I should take, but I'd like to check with the community here as I'm sure there are other benefits/drawbacks that I'm missing that might change my view of things.
    • By Ruben Torres
      [The original post was published with its original formatting in The Gamedev Guru's Blog]
      Heya, Unity Addressables fan.
      Last week, I posted a short but powerful article detailing three ways Unity Addressables can help you developing better games. The article was very well received, thanks for your active participation.

      Just at the end of that post, you were given the chance to test your knowledge in Unity Addressables through a short quiz.

      The goal I had in mind when creating the quiz was to help you become aware of the areas you might be less familiar with, so you can get to develop your skills where you need the most.
      I'll confess that, initially, I didn't expect many people to go through the quiz. After all, quizzes can be daunting and, as usual, there's this extra babbling coming from me.
      But to my surprise, the quiz results well outperformed my expectations. I'm really happy to see that so many people accepted the challenge. You all rock!
      I got some interesting statistics out of the quiz. Here are some figures I wanted to share with you:
      The greatest part of the people who started it, about 80%, actually were determined enough to finish it The average score was about 12, which is pretty damn good for an API that was only introduced recently Less than 5% of the quiz participants fell in the Troll Guru rank About 50% are part of the Apprentice Guru group Over 40% of the participants scored enough to be Enlightened Gurus But only 5% made it to be considered The Final Boss Guru So, congratulations if you were part of the quiz experience!
      And independently from the score you got, I am sure it will not take you much effort to reach the production-level required score of 20+. I'll be helping you along the path.

      In this post, I will explain the most interesting challenges posed in the quiz. Some answers might differ depending on your particular context, so make sure to comment at the end of the post if you had a complementary experience.

      If you didn't complete the quiz before, do it now before reading further.
      Do not cheat. I'll know.

      What were your results? Are you a Troll Guru, an Apprentice Guru, an Enlightened Guru or The Final Boss Guru? Share your results in the comments section.
      Trusting that you finished it, let's have a look at the questions and some of the answers. The format should be self-explanatory, but I admit I could have chosen less cheesy graphics for it— yes, that's me.
       

      Question 1: Intense Memory Pressure
      An angry player leaves a 1-star review because your game uses too much memory. You...

       Answer in public, telling the player to upgrade their device and then come back
      This is a popular answer somehow. As much as we might feel like answering this, chances are, we have been too busy (or lazy) to implement a proper architecture. Blaming players for playing with a brick-phone won't get us more sales, so a better strategy is to fix our mess.
       Switch to a more advanced texture compression method, e.g. ETC2 to ASTC
      This is helpful and you should indeed switch to more advanced compression methods, where possible. But this solution will only take you so far. You'll get moderate gains in memory usage and texture quality, but they'll not be enough to cover your memory pressure issues.
       

       Split your scenes into sub-scenes, so less content is loaded in memory
      In general, sub-scenes used to be a good solution. I've used them in the past with great success. However, if you are having bad reviews already, chances are it is too late to introduce such a massive change in the architecture of your game. Better to look somewhere else.
      Implement an asset lazy-loading mechanism through AssetReferences
      Over 75% of people agreed on this, that's great.
      AssetReferences are likely to give you the biggest gain for the buck. The migration to this workflow is usually straight-forward and much easier than the other alternatives.
      However, be aware that, in some cases, it might be hard to work around the asynchronous requirements of the Unity Addressables API.
       

      Question 2: Endless Loading Times
      You press the play button. By the time your in-game scene is loaded, your coffee is cold. You...
       Blame the artists and ask them to put every texture into atlases. Also, you buy a faster PC
      10% of the subscribers chose this one. I love you guys.
      Reduce the texture size globally, so asset loading is much faster. You don't submit these meta file changes in your versioning system
      I've done this a few times recently. It works.
      However, the pay to price is high. Your versioning system might go nuts and your changelists will be full of garbage. This is indeed hard to manage, as if you ignore these temporal texture import settings modifications, the real changes will mostly go unnoticed and won't be submitted.
      Create custom scenes that contain just the functionality you are working on
      Creating sub-scenes for faster iterations might be a possibility for your game, but in my experience, they tend to be left unmaintained. With time, they break and one might spend more time fixing them than the gain you eventually had back then.
      Consider implementing sub-scenes only if you don't see these problems in your project.
       Remove direct references and add indirect references instead, so only the required assets are loaded
      Indirect references for the winner.
      Direct references will implicitly ask Unity to load all their content as soon as the script holding them is instantiated. Indirect references, however, gives you full control over the when/how/what. That means, you can delay loading until you need it, if at all, saving you from unnecessary loading times and wasted memory.
       

      Question 3: What Play Mode Script?
      You are currently implementing materials for your new characters. You want to try Addressables, so in the Play Mode script section of Addressables, you select...
       Fast Mode: we want it always fast, after all
      This is a valid option, but fast mode does no validation at all of important aspects of development, such as asset dependencies and cross-references.
      If there are no substantial changes in the content you're working on, fast mode will be fine. Otherwise, we can do better.
       Packed Play Mode: yes! we want our characters to be packed
      No! The Packed play mode requires you packing the assets every time you do a change in your addressable asset contents, otherwise you'll end up loading the old versions.
      You don't want to be packing every time, it's a huge time sink.
      But you might consider packed play mode once you're done working with addressables content to gain faster iterations, as these assets will require minimum processing while being loaded.
      35% of the Guru Challengers chose this answer.
       Virtual Mode: it sounds safer than fast mode
      Virtual Mode is the option I suggest you using while actively working on your addressable content.
      The virtual mode is fast enough to keep iteration times short and at the same time, it'll give you useful validation checks to avoid screwing it up and finding out the mess way too late.
       

      Question 4: Oops... Error Diagnosing
      You try Addressables but you don't recall your assets looking pink in your Android device. How weird! You...
       Enable the ADDRESSABLES_LOG_ALL symbol, make a development build and check the logcat logs
      If you came to me with such a description, I wouldn't necessarily take you down this road directly.
      The main issue with adding scripting defines and checking the logs on the device is the time it takes to prepare such a build, deploy it, test it and gather useful information from the logs.
      There are indeed better ways to tackle this, but certainly keep this as a backup option if they fail to give you an accurate diagnosis of the problem.
      Set the play mode script to Packed Play Mode and run it in the editor to further diagnose the issue with the Addressable Profiler
      Emulating as much as you can the environment in which the content will be displayed is my preferred option, as it takes the least total amount of time. You do this by selecting the packed play mode in the main Addressables Window settings. The Unity Editor will load the addressable resources directly from the built content, so this is expected to give you a similar behavior than on the device, as long as the editor can load such a content.
      You can also try running it in virtual play mode, which does some validation on top of the traditional asset loading pipeline for addressables.
      Don't forget to count on the Addressable Profiler's help, a tool that will inform you about the addressable operations that are taking place at all times in your game.
      This answer was correctly chosen by 66% of the participants.
       Post in StackOverflow and Unity Answers
      12% of you see value in posting questions on these platforms, as there are always people willing to help. But preparing a reproduction project, posting and refreshing your screen with F5 is likely to take you much longer than just diagnosing and fixing the problem yourself. Trust me, this should be your last resort.
       

      Question 5: Heavy Video Packing
      You want your mp4 trailer video to be included in your game. You...
       Toss it into the StreamingAssets folder
      The StreamingAssets directory works just fine, especially when coupled with famous video plugins you find in the store. The assets stored in that directory are not packed together like Resources do but rather left as individual files when your game is installed. Its simplicity and easy I/O is the reason it is the default method of playing video.
      The biggest con is that the assets stored in StreamingAssets are forcefully packed in your distributed game from the beginning, so they are likely to take a lot of space in your build.
      Why would your users have to wait 5 minutes longer just to download the credits video that will be played at the end of a 30+ hours game?
       Mark it as Addressable, add a "videos" label to it
      Sure, making it addressable sounds cool. But adding a "videos" label to it?
      Usually, labels are used to download all assets belonging to that label category at once. Unless you have a very specific use case, doing this is not likely to help your project.
       Mark it as Addressable, adding it to a "videos" group with the following attributes: static content, no compression
      Videos are not likely to change, so making them static makes sense. Also, there's no need to compress them, as the used video codec should already offer you compression. Adding LZ4 or LZMA compression on top of this already-compressed content will only incur in CPU overhead. Your users' battery will drain faster as well. I'm sure your players wouldn't appreciate it.
       Mark it as Addressable, adding it to a "videos" group with the following attributes: dynamic content, LZMA compression
      Dynamic, compressed content is by far the most commonly chosen answer. But it is a misleading one.
      For the reasons stated above, you should avoid using compression on already compressed content. And videos are often enough very static, so by marking that group dynamic you wouldn't be helping your asset building workflows.
      Most people (46%) thought this was to best option.
       

      Question 6: Memory on Instance Releasing
      You loaded your asset once through LoadAssetAsync. Now you're done with it, so you...
       Call Addressables.Release, so the memory is immediately released
      There's no guarantee that the memory will be freed right away, as the current documentation correctly points out. But do not worry about it too much, it will be correctly freed by Unity. 23% popular.
       Call Destroy, we better make sure we free that memory up
      Addressables is, as of now, unaware of traditional Unity instantiation and destroy mechanisms. If you do so by yourself, you are doing it at your own risk and bookkeeping. If you mess it up, the API and OS are unlikely to be happy about it. And you will know.
       Call Addressables.Release, so the memory is released at some point in the future
      The documentation implies that the memory occupied by addressable assets will be freed at some point in the future after calling the Unity addressables release method.
      You can count on Unity smartly deciding when it is time to do just so (e.g. low memory situations, Resources.UnloadAllUnusedAssets, etc.). You guys got this one right!
       

      Question 7: Loading with LoadAssetAsync
      You're excited about doing your first Addressables.LoadAssetAsync. So you call it and use its returned handle like...
       while (handle.Status == AsyncOperationStatus.Succeeded) ;
      I confess to you that I've tried this method to try to force a synchronous behavior out of the Addressables API (e.g. Photon Networking under Unity Addressables).
      But you can guess what happened after seeing the answer's smiley. My computer's fan started spinning insanely fast and I had to reboot the computer as the OS became utterly unresponsive. I'm not trying this again any time soon, thanks.
      Doing this loop is likely to cause a deadlock, as part of the loading process is executed in Unity's main thread. And that line of code is the easiest way to block your main thread.
       await handle.Task; or yield return handle;
      These two solutions are asynchronous ways of waiting for the loading process to finish before continuing with our code. That's great stuff for you and me, as they offer great readability and are easy to maintain.
      However, be aware they incur on some performance penalty.
       handle.Completed += OnLoadCompleted;
      This is the simplest and yet most powerful option to do something after the asset has been loaded into memory.
      Keep in mind, though, that you're introducing lambdas and/or callbacks. They will reduce the readability of your code and therefore make your programming style more dangerous. Unless you are a pro, of course.
       

      Question 8: Migrating to Better Workflows
      You have a bunch of skyboxes living as direct references in your Skybox manager as a list of materials. Those are eating all your memory, so you...
       Move them into the Resources folder and start using Resources.Load as you need them
      No! Bad boy!
      Don't ever use the Resources directory for heavy assets. They are a major cause of pain, tears and  burnouts in large scale projects. It is indeed surprisingly easy to misuse the Resources API. Read more info on why it is so here
       Put all skyboxes in an asset bundle that you will load appropriately
      Asset bundles were a much-needed solution back then. But we have better solutions now with Unity Addressables.
      The issue is that working with asset bundles is way more tedious and expensive to implement and maintain than just using Unity Addressables. Unless you're doing a port and you don't want to touch much of the original systems, try to avoid them.
       Replace the list of skybox materials with a list of AssetReference's and load them as you need
      Using Unity Addressables is probably the best option to tackle this kind of memory issues.
      One of the reasons it is such a silver bullet is because you can easily migrate from the most popular approaches of managing content such as direct references, resources API, additive scenes and asset bundles.
      Unity Addressables are a simpler way to develop more efficient games.
       Decrease the skybox texture sizes
      Tweaking the texture import settings works up to a point. This has an upper ceiling limit, as you cannot infinitely go lower in memory usage (and quality) without re-categorizing your 3d game into pixel-art. This just doesn't scale well.
       

      Chances are very high that you didn't reach the rank of The Final Boss Guru.
      But that's good, because that means there's massive room for improving and optimizing the way you develop and ship games. And what is more important, your players will appreciate the expertise you build in each of these areas. The only place you want to read 1-star reviews is at the app store of your competitor's game.
      Given the importance of delivering enjoyable experiences to your players, I will share something with you.
      Between you and me: I have a work-in-progress plan for maximizing the potential of your game with Addressables. In the upcoming weeks, I will be revealing to you more information about the Unity Addressables level-up program I'm developing. That program is going to get you to the production level you need to deliver the games people will deeply enjoy (purchasing and) playing.
      To make sure you don't miss on the upcoming content, subscribe now to the newsletter. I'll keep you posted.
      Till then, comment below on what you would like to learn the most and also how you plan to use Unity Addressables in your project.
      See you soon on the blog!
      Rubén
    • By RoKabium Games
      On Lelantos you can use Portals to quickly go from one side of the map to the other. Each Portal has a number that once discovered will show up on the mini-map to help you keep track of where you are. Just be careful when using these teleportation devices, you never know what waits on the other side of the gate!
    • By Erz0
      📹Trailer📹
                                           
       
      Flappy Monster is back with a Remastered Version , new mechanics, graphics and rewards are waiting for you to come back.
      Touch and Fly , simple as that , mentain the rigidbody velocity of the flappy monster and get into a world full of danger. OZN , ASTEROIDS. You must protect yourself from danger !
      Don't worry , you have unlimited Ninja shurikens to throw into obstacles 


      1.0.1 VERSION NEW Features
      • NEW LEVELS
      • NEW MECHANICS
      • NEW GRAPHICS
      • POWERS
      • COOL MUSIC
      • MENU REMASTERED
      • AUTOMATIC SAVING PROGRESS
      • SHOP
      • FREE COINS FOR A FUN START 
      • COLLISION UPDATED



      Links
      APP LINK: https://play.google.com/store/apps/details?id=com.erzo.flyingmonsterarcade
       DOWNLOAD IT FROM GOOGLE PLAY 
      Contact us at erz0development@gmail.com for errors, suggestions, business and privacy policy.
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!