Sunday, 6 March 2011

Art pipeline, from asset to in-game

I've added some new generic metal alien building models to the game. These are going to be used to add a bit of feel for the theme of the enemies. The background setting is that they've set-up small outposts in various areas they've invaded. Half of them are destructible with destroyed models, which allows me to add another gameplay element/mission objective such as destroy all enemy buildings or similar.

It's so important to have a fast asset pipeline as an indie developer. In my case, as it is at present with me doing all the art, it allows for certain shortcuts. Developing tools to automate an efficient asset build pipeline has so far not being considered worthwhile enough for this project but the increasingly large amount of typed-in data is certainly pushing me to have a proper data-driven tool chain for my next project of similar scale.

First textures are created/modified if need be for the new models. Typically I just draw them straight into the relevant mega texture. Layered art backups are kept when appropriate for more complicated textures, such as scenery textures with baked lighting.


The textures are done, next we create some new models in Blender. I'll typically save all the models using one texture or belonging to one world in the same Blender file.


The next stages should ideally be automated by a tool but I have yet to find the time to build one and so I enter new data for the models (enumerator/ID, material, GameEntity type etc) by hand in the code. I also use a mesh optimiser tool I made to extract and build the exact data I need for my game from the Blender export file.



Now the new assets are ready for the editor. A little further data entry is required to get the new models to appear in the editor's GUI before they can be placed into a scene.


Save the level, boot the game up and load the level. More data entry and possibly coding required if the new game entities are to have new behaviour or functionality (this is always the case when adding a new weapon or enemy atm).


Finally, tick off the task in the spreadsheet! An ESSENTIAL design and planning aid in any project, let alone an indie game of any significant scale. Being able to get an instant visual feedback on progress made is important from a motivational point of view as well as for planning. Looking at the overall process for my current asset pipeline, they're are obvious areas for optimisation and improvement. There are currently many parts of the process where I need to enter data, where a tool could do it. It's all about the cost/benefit ratio between the time to develop a nice tool to sort this stuff and me just quickly entering values. As it is now, I don't imagine a tool is going to favourably enhance timescale on this project but creating one for multiple future projects is certainly a sound idea.

No comments:

Post a Comment