Help: Writing a File Manager for Games?

By Orion Granatir (Intel) (9 posts) on March 11, 2009 at 9:16 am

Programming a game is fun. It’s not every day that you get to work on algorithms for things like zombies, mechs, or aliens. However, a zombie wouldn’t be very scary if you couldn’t load the mesh, textures, or sounds. There are some less glorious tasks required to make a game. No one really wants to write a file manager. But a good file manager will allow you to stream better content, load and manage bigger/more files, and generally have a better game.

I often ask game developers “what do you want?”
In other words, I really want to know what technologies game developers are interested in. More to the point, I am interested in technologies that they wish someone else would helped implement. One common answer is “give me a file/memory manager… no one wants to write a file/memory manager.” I’ll write another blog about the memory manager part ;)

I am researching the needs of a good generic file manager for games.
Here is what I think is required:
- Designed for games
- Platform independent
- Multithreaded
- Open source
- Support streaming content
- Support archives

There are some good articles about file systems on the internet.
Michael Walter wrote a good article on FlipCode about virtual file systems.
However, there is little about open source file systems and desired features for a file manager for games.

I need your help.
What do you want?
Is there a good open/closed source project already in the works?
What features would make a great file system for games?

Thanks,
Orion

Categories: Game Development, Graphics & Media, Open Source, Parallel Programming
Tags: , , , , ,

For more complete information about compiler optimizations, see our Optimization Notice.

Comments (4)

March 11, 2009 4:18 PM PDT


James Munro
How about PhysicsFS, its similar to the Quake-style PAK file system but has some more advanced features such as LZMA archive support for higher compression - http://icculus.org/physfs/

In a presentation, Mike Wall of AMD suggested ways of improving games for the 64-bit architecture. He mentioned that files could now be mapped entirely to memory using CreateFileMapping and MapViewOfFile, letting Windows deal with the disk and RAM. The performance would scale with increased physical RAM - http://developer.amd.com/assets/AMD_GDC_2005_Mike_Wall.pdf

Perhaps this is a way that game file managers could be modernised? As for multi-threaded, this seems like a great way of reducing load times.

I personally feel that the size of games content needs to be reduced to make the digital distribution of content over the net quicker and easier. Games are now multi-gigabyte and this makes downloading large amounts through Steam a pain, especially in limited bandwidth areas. Perhaps this could be supported through higher levels of compression, leveraging multi-threaded decompression to load.

Or, perhaps even a run-once decompression after downloading, inflating the content for use :)

James
March 12, 2009 9:25 AM PDT

Orion Granatir (Intel)
Orion Granatir (Intel)Total Points:
3,164
Green Belt
Hey James,

Thanks for the feedback! I check out PhysicsFS right now. The presentation by Mike Wall looks interesting.

- Orion
March 26, 2009 5:09 AM PDT

Aaron Coday (Intel)
Aaron Coday (Intel)Total Points:
205
Registered User
One additional parameter that is useful to consider is the type of the media itself. Is the medium Hard drive, CD, DVD, Blu-ray? Additionally with modern desktops we're starting to see SSD drives, who's performance is different yet still.
November 5, 2010 4:12 PM PDT


Robbie Granatir
Hey Orion this is Robbie ha! i found you on Google lol

Trackbacks (0)


Leave a comment  

To obtain technical support, please go to Software Support.
Name (required)*

Email (required; will not be displayed on this page)*

Your URL (optional)


Comment*