How do you track asset progress efficiently, comprehensively and accurately?

We have a very poor asset tracking set up.

Essentially all game assets are represented accross many excel spreadsheets,
and artists manually update entries as they are “done”

I find it flawed in too many ways to list.
I’m looking for superior approaches.

That indeed does sound antiquated.

Have you looked at a perforce style system for asset management and a system like shotgun for individual artist progress?

tactic http://www.southpawtech.com/ just went open source and there isn’t an issue with Excel spreadsheets you just need to use them well:) You just need to bribe a programer to setup some sweet, sweet macros and have a server shared doc:) and of course have a forced reason to use the system:) if they can get around using it , it won’t get used.

Our in-house superior-than-Excel approach requires maintaining database server (PostgreSQL/MySQL), carefully designing the tables, and some SQL coding.

GUI front end can be just about anything; standalone WxPython/PyQt based application, Django powered web-interface, in-app XSI/Maya/Nuke plugin, and even Excel/OpenOffice/LibreOffice.

SQL (in our case, MySQL) is a great back end for this, since it’s everything talks to it – we update our db from maya, general purpose python tools talk to it and update it, we have a WPF front end, and a lot of passive stat-tracking is live in our wiki (we use Confluence, which has a macro to embed SQL queries in pages or even as charts). Generally the regular users like a really simple client view (it doesn’t feel ‘databasey’ to them) – if I need to do a complex query like 'find all the assets in streaming area X which use texture Y ’ I’ll do that in MySQL Workbench . As you can see from that example, asset status is only part of what we track - we also do depenencies (which asset uses which material which uses which texture etc), asset bugs, and some process related stuff like which assets originated in house and which from outsourcers.

Wiki integration is a real killer feature – it’s trivial to make a wiki page with a special query and send people the link so it becomes a self-organizing task list: if I mark a bunch of assets as ‘Needs Optimization’ and tell the artists to go cut down their polycounts, the list will shrink automatically as they finish up and assets get moved up the pipeline.

I know some folks prefer non SQL (MongoDB is popular) but as a neophyte in this area I prefer sql since it’s got massive documentation and contractors are easy to find. There are always issues where the data gets out of sync ( for some reason the database does not reflec the real state of the game) and so some people like to use perforce metadatainstead. For our purpose we’ve found that the drift is not usually a big worry – the discrepancies are usually pretty small and we include the authoring history in the database so we know who to ask if there is a mystery.

Our system is basically TACTIC - lite, but will less dependence on web UI for anything besides viewing the data. When I eval’ed TACTIC I found it was too slow and visually clunky to get traction with the artists – plus the perforce integration was pretty primitive at the time. Dunno if that’s still true, I last looked at it about 18 months ago.

Use a db, plain and simple :slight_smile: That and a perforce poll could keep a pretty accurate view of your assets. You can just hit p4 every minute or whatever and just get latest and update your db as needed. Or set up a p4 trigger on commit or checkout that will update the db and no silly polling needed.

If you want a drop in, shotgun is really nice, but i’m not sure what app integration it offers. I like the points theodox made, having a wiki link to a query like that would be pretty useful.

On a related note for fans of wiki-access:

It’s pretty simple to register you own custom URL handlers in windows. If you do that, you can put custom links into your wiki (or, for that matter, into emails) and activate them by clicking.

This way you can have a wiki link like maxfile://project/objects/buildings/farmhouse.max Clicking it would call the the custom url handler (since you have to install it locally, there’s usually no problem with browser sandboxing). The handler app can do stuff like map the project path onto your local perforce depot, sync the file, and open it in max.

If you’re feeling ambitious you could make a link like maxfile://project/objects/buildings/farmhouse.max?checkout=1&export=1 and the handler app would read the query string in the URL to call specific scripts when opening the file.

Fun stuff – and very handy when you’re tasking people, since they don’t have to dig around manually in the depths of the source tree to find the stuff you’re asking them to work on.