Hi! + tiny few little questions

Blitz3D Forums/Blitz3D Beginners Area/Hi! + tiny few little questions

Barbapapa(Posted 2007) [#1]
Just wanted to say hi to the Blitz3D part of the community, because I bought Blitz3D a few minuted ago. Normally I use BMax but I got a job, a walkthrough through a barn that is going to be completely modernized. The main reason why is bought Blitz3D is probably the reason why many desperately want BMax 3D ;) My walkthrough has to be compatible with really antique (four years and older) hardware ;) So, even if MiniB3D would be fast enough, I would have too much trouble having to explain how to install openGl, getting the rights and so on, so maximum compatibility is asked.

Now I am just wondering, are there any 'must have' modules which would help me? I will be doing lightmaps a lot, what about vid-card memory? DDS sure, but let's say I have to deal with a 64 MB card, how big am I allowed to have my textures? Can I provide several texture sizes? Any things I should be aware off? I am thinking of having the doors open physically or would a simple animation be safer? Is there a way to record a path within the walktrough easily while walking, for later use and creating screenshots every frame? Is direct avi export possible? What about AntiAliasing? Are bumpmaps ok for old cards?

I guess that's it for now ;) but I won't be angry if no ones answers to this bulk of questions :) I hope to be allowed to post some wip in the showcase.


puki(Posted 2007) [#2]
Hi.

Lightmappers here - http://www.blitzbasic.com/toolbox/toolbox.php?cat=4

Not sure about texture sizes, but you can have several texture sizes in your distribution - you just load the ones based on the users options (you have to write that yourself into the program - it's not built-in).

Regarding the doors - doesn't matter really.

Recording a walkpath can be done - you could do it on a timer, based on every .5 of a second (for example) and store the position of the camera/player - basically creating a waypoint list - then use that waypoint list to create a route for a camera to follow.

Not sure about exporting to AVI - Blitz doesn't do this. I think you can screenshot, not sure if you can do it every frame though.

AA is in Blitz3D but is known to produce varying results on various systems.

Bump-mapping - like AA - produces varying results on various systems.

Other people will probably chip-in with info later.


jfk EO-11110(Posted 2007) [#3]
Use AvailVidMem after loading to see if everything fits in 64 MB. Using dds will shrink the amount of required ram dramaticly. although, for lightmaps you better use something nonlossy, eg. PNG. surf the code archives, there are many goodies, including something to save AVI (see userlibs section of the archives). Waypoint stuff is easy. When an object is moving along the waypoints, you may determine if the object has passed by the current "next waypoint" if one of the following conditions is true:

X,y or Z of the object was lower (than the corresponding x,y or z of the waypoint) before this step and now it's higher afer the step

x,y or z was higher before this step and now it's lower after the step.

In this case simply increment the counter for "next waypoint"

No rocket science.

Good luck!


Danny(Posted 2007) [#4]
Do a couple tests on those old machines to make sure they can at least cope with some of the things you want to incorporate.
If you'll be using lightmaps ontop of your normal textures, you want to be sure those old gfx boards support multiple textures (and still run at reasonable fps).
Quite possibly resolution would play a huge part in this context. You might be forced to use lower resolutions (640x480?) in order to keep fps and or memory use to a reasonable level. But that's pretty worst-case-scenario.
Same with DDS. I know nothing about it, but is that something hardware has to support or a dx7 thing? If it's hardware related, test it. Same with bump maps.

That's my bottom line basically. TEST to make sure it CAN work on those machines, before you spend a lot of time on coding, only to hit a brick wall and make you look silly in front of your client ;)

good luck,
D.


Matty(Posted 2007) [#5]
Regarding texture sizes - the maximum size of an individual texture is, I think, in blitz3d 2048x2048 and anything larger than this gets reduced.

Also if you have a 64MB video card then a single 2048x2048 texture uses up 16MB of VRAM when in view.

The only way I know of how to make a movie (avi) of your walkthrough is to use the 'savebuffer' command on the backbuffer each frame, and take out any 'timing' commands you have which would cause it to skip frames and then use something like virtualdub to create the movie from all the images saved. Alternatively something like fraps can capture the movie footage in real time although quality won't be as good usually.

As far as I know blitz3d doesn't support bump maps natively, although people have written dlls for it - I don't use b3d as much as I used to so am not sure on this.


puki(Posted 2007) [#6]
TextureBlend mode 4 is Dot3 - produces varying results on various systems. Potentially, not worth bothering with.


Barbapapa(Posted 2007) [#7]
so cool, thanks a lot guys! Unfortunately I won't be able to test it before. I will be able to test it on my 5 years old pc with a GForce 4 ti4200 which is pretty old, and on my notebook and on some pc's from the architect, but not on the pc's from his client. But as they need it to gather sponsors for the costly modernization, they will want to have high-quality. So I will be doing two versions, one low-end and one max-res.

Ok, and I guess I will kill any physics and bumps if it's more hassle than joy.

One small question regarding the path creation, if I create a waypoint every x seconds I should probably write some sort of interpolation between the waypoints?


jfk EO-11110(Posted 2007) [#8]
This may cause troubles. I'd rather suggest to move the object with a natural speed (ordinary delta timed steps) towards the next waypoint and then check if it has passed by the next waypoint, as described before. Simply ignore the recorded millisecs value of the waypoints.

You may also use a base pivot for the object (NPC? Camera?). So the base pivot will always point straight to the next waypoint, but the object will smoothly align its yaw angle.


Barbapapa(Posted 2007) [#9]
hmm, yes but then I can't do any pauses. Let's say I move to a point of interest and stand there for 4 seconds and then slowly move on, how should I do this without using the recorded time? Or am I missing something?


jfk EO-11110(Posted 2007) [#10]
you may detect resting phases when you compare the waypoint positions. If they are the same for the next waypoint then there's no need to move the object. I do this to switch between walking and idle animations.

You're right, there's no correct realtime replay, but it prevents a whola lotta troubles. Trying to interpolate requires to predict the framerate of the next couple of frames, wich will result in incorrect step widths. Well maybe you'd do this more clever. I was however debugging this interpol crap for way too many hours.


Barbapapa(Posted 2007) [#11]
Trouble, trouble, trouble :) I think I'll add this part at the end, hoping to have enough budget/time left.


jfk EO-11110(Posted 2007) [#12]
Well if you write a clean small code then it's no rocket science, as I said. Just make sure to use the "did I already pass by the next waypoint? If so, increment waypoint counter!" method. BTW you may also combine this simple move-towards-nextwaypoint (without exact interpolation) with a realtime controlled thing for the idle phases. Shouldn't be that hard, simply calc the idle time between the first and last waypoint of the same position.


IPete2(Posted 2007) [#13]
Hiya and Welcome Barbapapa!

What are you using to create your scene?

If 3DSMax check out www.onigirl.com and look for pipeline, this is a b3d pipeline out of Max into B3d.

If something else such as Lightwave check here:
http://www.blitzbasic.com/sdkspecs/sdkspecs.php


Milkshape is a good low price modeller which will export to B3d. It is a little fiddly if you are used to bigger more expensive tools, but there's also something called Undelete - I just don't know where to get it from.

If you don't have anything to model in, look at 3DWorld Studio at www.leadwerks.com (check out the demo first) - this will allow build, light and export.

Hope this helps a little.

IPete2.