Greetings to every amazing Game Developer!!
We all know that game development is a complex and creative journey, and one aspect that often presents challenges is integrating externally sourced assets into existing projects. With such an active and passionate Itchio game developers community, we wanted to get your insights into this crucial Game Development hurdle. Weâd love to know what challenges you face and invite your insights into what are your methods to tackle the said challenges.
We hope to find some great insights into this subject matter, which would help out every indie developer going through this challenge, both beginner and expert. Here are some of the challenges we face and our methods to tackle them.
Common Challenges in Asset Integration:
- Compatibility Issues:
External assets may not always seamlessly fit with the end userâs game engines. To tackle this part, the 1st obvious solution for us is to pick assets that are at least compatible with the engine weâre using so that itâs formatted properly. If the version of the engine doesnât match, we could swap out the engine version and fix the issues there.
In the case that the source files are not compatible with the engine at all, e.g., wrong normal map format (OpenGL vs. DirectX), Incompatible scripts, Heavy polygon size (mostly arising from raw 3D scanned data), etc., our primary approach would be to fix it externally in another Digital Content Creation (DCC) applications like blender, Visual Studio, etc. and getting all the necessary operations (like decimating, Normal Map fix, Script Code Correction, etc.) performed on it before importing it into the engine.
However, we, being a versatile team with experience in creating varying assets for our own games and for the community, play a role in our ease of fixing this issue. This can be a major issue if the user doesnât have experience in all the fields.
How do you guys go about tackling this?
- Quality Assurance:
Ensuring the quality of externally sourced assets is crucial.
Our methods for free assets include simply downloading and checking the quality of them in the engine. However, minimum technical expertise is required to judge the quality of the assets.
For Paid assets, however, the story is a bit different. If youâre sourcing your assets from stores or sellers that have detailed information on the statistics and required data for the asset in question, the process becomes a bit easier. With 3D assets, especially with tools like Sketchfab, which shows detailed info on the models by providing a 3D viewer, or with videos showcasing the different aspects of the model, it becomes very easy to do QA for the assets. We provide those details meticulously on our assets store page for this exact reason.
But for assets without sufficient data for the end user to judge their quality, the best approach would be to read for any comments or ratings. For every asset creator whoâs reading this, we request you to keep your comments open to your users as this helps the user get more details before making a purchase, and you can also find a lot of valuable feedback from everyone who comes across or uses your assets.
But as always, there will be outliers where no data is provided, and you have to go in blind with the purchase with just the store page as the assurance.
Do you have more methods to tackle these kinds of assets?
- Asset Organization:
Poor organization can hinder the integration process.
Unfortunately, there is no other solution to an unorganized asset than to fix it yourself. Now, you might think, if the asset works perfectly, whatâs the point of spending time organizing it for our own project? The simplest answer to this is âease of fixing broken stuffâ.
You never know when youâll need bug fixes for your project, and itâll be nearly impossible to find out the source of the bug if it originates from the horribly unorganized asset you had integrated.
It can be as simple as properly naming the asset in hand or commenting on the code in the sourced/paid script youâre running. This fixes so many issues in the long run, so give that a look for sure.
Donât just drop in any asset and call it a day, see if that asset has been organized properly or at least organized according to your needs. External assets always come with their own nomenclature, folder structure, etc., owing to the creatorâs workflow, which might not be necessarily bad but may not be right for you.
Is this an issue you face normally in your workflow, though?
- Version Control:
Maintaining alignment with asset versions can be tricky.
Suppose the asset youâve downloaded gets a newer, updated version, fixing some issues. How do you go around updating the asset in your game? Some things can be as simple as overwriting the source file in your computer, but that wouldnât be version control. Thatâd just be brute forcing a new asset into your project. Our workflow is always keeping the original in place and replacing it with the new one with proper notes on the changes. We can always clear out redundant files at the end of the project cycle.
However, we are certain there are much better workflows practiced by the vast number of amazing developers out here, so weâd love to know how you go about tackling this. Thanks in advance.
- Licensing and Rights:
Understanding licensing agreements and copyright are essential.
Well, thereâs no shortcut for this. If you are serious about using the asset in your game, which is going to be published commercially, you must go through the licensing of the assets. Some knowledge about the technical/legal jargon is appreciated while reading licensing and rights documentation, but a thorough read is a must.
Although this is a prominent problem that weâre facing, weâd love to know the solution from the asset creators here. We provide a license/usage rights file with every asset we provide, but it seems Itchio doesnât have a dedicated License File tag for its uploads; hence, most of our paid content buyers end up with the License File being inaccessible to them until they buy the asset. The next best option we found for the user to check the license before buying was to upload it as a Demo in the Itchio project, but that solution seems janky.
Is there any other way weâve been missing all along? Any help is appreciated.
- Performance Optimization:
Optimizing assets for performance is a must. No matter where you source your assets from, just like asset organization, performance optimization catered to your projectsâ prospects is a must.
We recommend methods like clamping texture resolutions, removing redundant code, making custom LODs for assets lacking them, etc., for all the assets you get or buy, as this makes the project run so much smoother. Itâs not necessary for every asset you get, but cross-checking for the required processes during the asset quality assurance stage is crucial.
What workflows do you observe to make the asset more optimized for your games?
- Documentation and Support:
Comprehensive documentation makes integration smoother.
Itâs a sad truth, however, that not all assets come with documentation. While this is a trouble we all have to go through at some point, straightforward workflows like exploring the said asset fully before integrating them is one of the preferred methods.
Weâd love to get more insight into your solutions for this.
- Communication with Asset Creators:
Open channels of communication are key.
The most important part of any transaction is communication, and this holds true whenever youâre using an asset sourced from outside your team. Imagine not communicating with your programmer or artist about any integration queries or issues while integrating the assets/code in your games. If this can become a problem within a team, it certainly can become a problem when sourcing assets from an external source. Most Asset Creators have various communication channels open for all kinds of queries, feedback, suggestions, etc. But the problem occurs when you find no such line of communication. To never let this issue arise for our customers and fellow indie developers, we make sure to leave as many contact methods as required for a smooth conversation.
How do you tackle situations where you cannot communicate with the asset creator?
Also, if you have faced any issues communicating with us, do let us know. Weâd love to resolve any such issues in communicating with the community.
- Asset Updates:
Keeping up with updates from asset creators can be challenging.
This is more similar to the lines of version controls but from the side of the asset creator. If someone creates a lot of updates for their assets, the best way to cope with the updates is simply not to use the latest ones if thereâs either nothing broken or if you donât really need whatâs added. This also prevents you from adding unnecessary items or codes into your game if all you wanted was the exact thing you bought. Remember to download and save a local file of the update provided, though you never know what might break or when the creator might change a few things that you thought would download later.
However, that being said, itâs a good practice to, alongside your version control strategy, update the assets whenever you see some stagnancy, slowdown in updates, or any major update release to get the best of what you paid for. Simply put, to get the most out of your assets, find the right pace of integrating updates while making sure you actually need them.
- Asset Localization:
Adapting assets for different languages and regions adds complexity.
We, personally, are guilty of not providing assets in localized languages because our use cases mostly donât require any localization or localized documentation.
However, at this point, weâd like to have your opinion as to what we, or every asset creator, should include as localized content for a hassle-free usage of their asset.
- Asset Dependency Management:
Managing dependencies between assets and code can be tricky. Changes in one asset can sometimes break dependencies and require adjustments elsewhere.
Imagine you've integrated an external character model into your game. This model relies on specific animation scripts that were not provided with the asset. To make it work seamlessly, you need to either find or create the required scripts, which can be time-consuming and may not always yield the desired results.
As another example, imagine a situation where you're developing a game for multiple platforms, such as PC and mobile. The external asset you've acquired might work flawlessly on one platform but could require substantial adjustments to function properly on another due to differences in hardware capabilities or rendering capabilities.
Although we donât face these dependency problems often as we make most of our assets in-house, some solutions weâve found for any potential problems are using scripting middleware or tools like Unity's Playmaker or Unreal Engine's Blueprints to create visual scripting solutions. These can help bridge the gap between external assets and your game's code without the need for extensive programming. Or sometimes the solution could be some brute force testing to figure out what exactly breaks your game, as finding the problem could be the 1st step to a solution.
Since we donât face these issues as often, weâd love for you to share your workflows with the community to prevent anyone from falling into this pitfall.
That being said, these are a few problems that we face or try to solve for the indie developers using our asset packs. Feel free to add more such challenges you face and/or the solutions you use to overcome these. You can add points about all kinds of assets and genres, like graphics, music, scripts, shaders, etc., which you feel either need an integration solution or youâve found an ingenious way of tackling existing ones.
And about our part? We're passionate about creating assets that enhance your game development process, and in our journey to serve the game development community, we've tried to address these integration challenges to the best of our ability.
Your Feedback Matters:
We'd love to hear about your experiences with integrating our assets into your games. Your feedback is invaluable and helps us and many more indie game developers and asset creators understand the real-world hurdles you face. If there are specific challenges you've encountered or improvements you'd like to see in our assets to make integration smoother, please share them with us.
Together, we can work towards enhancing your game development experience and overcoming these integration woes.
Thank you for being part of this wonderful community, and we look forward to your insights!
TLDR: Please share your valuable insights about any asset integration issues you might have faced while sourcing assets (Graphics, Music, Scripts, Shaders, etc.) from other asset creators and stores. Weâve listed a few issues we face or strive to solve. Thanks for playing your part in making Game Development a bit easier with your valuable suggestions.
Thank you for your time,
VOiD1 Gaming Team