Fast data loading like Shenmue

Started by
4 comments, last by bobatefrei 22 years, 9 months ago
Yesterday, I''ve play to Shenmue on Dreamcast. I was impressed by the number of details, textures and the speed of the loading (Dreamcast have only a 8x cdrom). Actually, I''m writing an aeroplane game and I need to load a lot of data (heightmap, colormap, textures, object, mp3, wav sound...): approximately 16mo for each level. What is the best way to speed up loading time? What is the fastest image format? How do I have to use archive (zip? rar? ace?) ?
Advertisement
Well first things first here. If your talking about loading in 16megs of data it''s not going to be fast. Your options consist of throwing up a loading screen until the data is fully available, or to stream the data in.

Now if you want to compress the data in a non-lossy way (such as Zip,rar, or ace) your going to be adding more load time. Why? Because you need to decompress the data before reading it in.
Joseph FernaldSoftware EngineerRed Storm Entertainment.------------------------The opinions expressed are that of the person postingand not that of Red Storm Entertainment.
My 16mo will include 12mo of texture for the terrain, the vehicules, the special effet (tree, sky, cloud, fire...), 1mo for the heightmap, 1mo for the 3d models (md2 format) and 2mo for music...

It is not huge compared to actual game...

But it is for the final version, now I use only 2mo and it takes 5s to load everything. With 16mo, I don''t want the gamer wait 40s before playing!

I love consoles, and in their world, most of the game run in a few seconds!

For example, take Crimson Skies, it is an excellent game, but it is so slow to load that I can''t play it, because I spend more time to wait than playing!

I simply hate "loading screen"!
The reason shenmue had fast load times was because the majority of the data was pre-rendered. There were very few actual 3d models being loaded, and there was no real time terrain being generated. The world of consoles come with limitations, the 8x cd-rom being an example. The majority of the data for shenmue was probably streamed in off of the cd and held in ram until needed. This process was repeated over and over again. Game programming is a trade off based sort of thing. In order to have small file sizes you need to have longer load times, if you have shorter load times, your file sizes will most likely increase. On a game like Shenmue which has 650 megs of storage and no download time size is affordable. You could significantly save alot of load time by pre-generating your terrain but obviously this isn''t something you want to do...You can also reduce load time by not compressing the data, again something you most likely do not want to do. Which brings us back to streaming the data in.
Joseph FernaldSoftware EngineerRed Storm Entertainment.------------------------The opinions expressed are that of the person postingand not that of Red Storm Entertainment.
Keep your data stored in files exactly the same way as you store it in memory. Any processing you do on loading data should be done before loading, if possible. Might be bigger files, but still faster a lot of the time.
Actaully the dreamcast discs can hold 1 gb they are gdroms!

This topic is closed to new replies.

Advertisement