Inventing a Load Screen in Blitz??

Blitz3D Forums/Blitz3D Beginners Area/Inventing a Load Screen in Blitz??

W(Posted 2006) [#1]
Hey, I am working on placing a loadscreen in my game. I have developed an extensive level, and thus it takes a few seconds(like 30secs.) to load up my actual game.
I have been working on this for some time, but I am having a hard time loading my loadscreen, and displaying it, whilst the whole time loading my game. Soo does anyone hae any suggestions or ideas on how I could pull this one off??


WolRon(Posted 2006) [#2]
30 seconds for a level load is unbearably long.

FIRST, I would work on reducing the amount of time it takes to load the level.

There are very few reasons for something to take THAT long.


big10p(Posted 2006) [#3]
Yep, 30 seconds is a lifetime - what on earth are you loading?

As for a loading screen, I assume you mean one with a progress bar, as a static loading screen is a no brainer.

To do this, you basically divide the length of your loading bar by the number of 'things' you want to load. Then, after loading each thing, you update the loading bar length by that amount.


jhocking(Posted 2006) [#4]
Yeah, that's a really long load-time. Are you sure that's right? You seem to just be estimating that. With my games, most of the load time is due to music; without sounds, levels load in a second, while adding an ogg for background music adds maybe 5 seconds to the load time.


W(Posted 2006) [#5]
I am just loading my levels and everything that will be used my game. Basically the Initialization Section. And I was wrong it is only 26 seconds :P


n8r2k(Posted 2006) [#6]
Well thats a great improvement :)


Shifty Geezer(Posted 2006) [#7]
You mean first load, and not per level? It's simple to cobble something up. In my program I divide the loading into sections (initialise, load textures, loadmeshes, etc.) and between just print a text line with increasing dots......

It's easy to use a plush static screen or draw a bar too.


W(Posted 2006) [#8]
Hey I gotta go home fjor the day, but if I just gotta create a variable and divide it by the things ot load for my load screen right??


Sledge(Posted 2006) [#9]

I just gotta create a variable and divide it by the things ot load for my load screen right??



That would mean that larger assets would fill the bar by the same amount as smaller ones, but their segments would just take longer to appear... so the bar wouldn't actually be giving the user any information about how much of the loading time had passed (you'd actully just be showing them how many files had loaded). I'd adjust yer calculations so that larger files fill a bigger proportion of the bar therefore.


Shifty Geezer(Posted 2006) [#10]
That would mean that larger assets would fill the bar by the same amount as smaller ones, but their segments would just take longer to appear... so the bar wouldn't actually be giving the user any information about how much of the loading time had passed
Which is normal for most feedback!


Sledge(Posted 2006) [#11]
Eveybody else being rubbish isn't much of an excuse, though.


Baystep Productions(Posted 2006) [#12]
okay beside time....

Graphics 1024,768,32,1
AppTitle "Stuff Here"
SeedRnd Millisecs()

;Loadscreen stuff
Global loading=LoadImage("loading.jpg")
SetBuffer FrontBuffer() ;Not needed really.
DrawImage loading,0,0

;Start loading stuff.



Mustang(Posted 2006) [#13]
Static screen is easy of course... but if you want a progress bar then you need to time how long it takes to load each chunk (level, models, music etc) you want to separate for the bar update. Then you need to update the bar based on time percentage of the chunks.

Users PC will of course load faster or slower, but generally it should be okay if you don't try to give any time estimates in which case you need to check the actual load time compared to one you timed with your dev machine and adjust the time estimate accordingly.

Also if you do heavy CPU / GPU stuff during loading it may affect te loading time greatly depending what CPU / GPU the user has... but bare loading should scale similarly no matter how fast or slow HD the user has.


t3K|Mac(Posted 2006) [#14]
a loading bar is only a sign that your code did not crash ;)
i think most games are using shiftys method. even mine ;)