Just got it, just a few questions and alil story

Blitz3D Forums/Blitz3D Programming/Just got it, just a few questions and alil story

Drey(Posted 2004) [#1]
Hey, i've been a programmer for almost 4 years now and i was totally pumped when i found blitz3d. I worked on graphics engines in Visual Basic before( one WinAPI and one Direct X 7 stuff). I took C++ last year and i'm taking Assembly this year. So programming isn't new to me. I already learned alot from the Blitz3d demo. But i do have a few questions and i posted in here instead of beginners because i figured i'll get more hits and experters answers.

Poly pushing: I noticed that on my ATI 8500 i get about 700,000 poly per sec...on my friends ATI 9600 XT, he gets about the same rate and there's nothing special goin on in the background. Just alil camera movement and that's about it. I was wondering if i'm goin to have to create my own DLLs and run them through blitz3d to try to get some more polys drawing. My goal is at least 1.5 million polygons a sec. I would really like 2 or 3 million tho.
Any suggestions on how to get a higher rate? Have u gotten that high yourself?

Is it possible to change arrays size in a field(type)? And can u have a Type in a Type(haven't tested it yet,so might as well ask)?

What's the prefer editor, modeler, and file type? can u give a reason please.

Light mapping, i had some ideas on how to do it already. But i seems pretty wild. Got any links or suggestions on that.

Alil on what's goin on with me. Well, i've been wanting to make a game for a few years now and i started talking to a few talented friends of mine and we decided to group up and make something called TK(temp name...means Tank Killas. haha, inside joke). So we were goin to make a 2d game, but i didn't like the limits that are caused by a lack of a dimension. So i drove into Direct X 7 (which is what blitz3d is running on right? Seems like it's using all the structure) to make a faster 2d engine, but 3d still intrigued me. So i started reseaching DX 8(which has a complete different structure than Direct X 7 and no natural 2d support:( ) and i noticed that VB wasn't goin to run anything at any type of decent speed from the source i Downloaded.

Then i found blitz and after a day of using it, i showed the team what i could do all ready and they got pumped up.

The Deal is, i want to make an engine and editor odds are and i know it's goin to take some time. I plan on working on this project for at least 9 months (engine taking several months of that time range). I was a bit sad to see that i was only gettin about 700,000 polys a sec and i play todays games that have my card pushing about [15-20],000,000 polys at least. So my goal is to get about 1.5 million if not higher.

Thanks for any help.


SSS(Posted 2004) [#2]
hey, im not sure how many of your questions i can answer and i cant promise they'll all be right but i'll try.
for straight drawing of polys were they all part of the same surface or were more than one surface involved. I ask this because surfaces slow down Blitz3D much much more than number of polygons. I've personally never needed to get that many polygons but check out the my engine thread by halo. He discusses different techniques to really push blitz3D. The thread can be found here: http://www.blitzbasic.com/Community/posts.php?topic=37808.

For arrays, you can resize arrays outside of types but the arrays in types are what are called BlitzArrays and those cannot be resized.

You can have a type in a type like this
type Apple
   field size
   filed tastyness
end type

type Fruit
   field Amount
   field Apple.apple
end type


but you cannot have a type definition in a type
type Fruit
   field Amount
   type Apple
      field size
      filed tastyness 
   end type
end type


not that i know why you would want to do that, but it is something you can do in C++ but not in BB3D.

Umm in terms of Editor; it really depends on what kind of game you're making, you could make your own, though of course that takes alot of time. The best for indoor FPSs (in my oppinion) is CartographyShop you can buy it from http://cartographyshop.thegamecreators.com/ . For modler i've no idea, if you have the budget then 3DS Mex or Maya would seem ideal otherwise try milkshape 3D, anim8or, Blender there isnt really any best, just whichever you're most comfortable with. For lightmapping, there is an open source lightmapper in the code archives. It's called HAL but atm i cant find it to give you the link. Blitz3D is very fast so i dont see why you wouldnt be able to make your game with it, whatever it is.

[edit]
cartography shop also includes its own very nice lightmapper

you could also try out maplet which is free when you buy Blitz3D
[/edit]


Drey(Posted 2004) [#3]
Well, we talked about it. After looking at what we think blitz3d can do and looking at our time(school) we are goin to make a mesh-ish game. I wanted to take advanage of the terrain system(that i'm about 2 steps away from not using. I want to have a cam range of 10,000 pretty much. More would be nice, but i'll be real. The terrain looks pretty good at about 4000-6000 poly detail. But i strench so hard that when it's morfing, it flips out pretty hard at times (flat to say a small rock size land change). Then u can see the rim of the terrain flip out a bit on where the water meets it. I'll try other things tho.

Right now, we use Anim8or. I'm really more concern with learning while doing instead of just doing(engine built for me). I plan on getting into this fleid if you can't. Building engines test push you logic to new hights(if u really try to make the producure the best u can and the system cleaver and streamline). So this isn't so much about getting a game done right now, this is part of the learning experience for me. I kinda want to make my own High Level Engine (when i get a big enough team of course) in the future. What's it now, like 100 people...sheesh)

Yea, i don't like maplet to much from what i experienced. But it does have a nice light mapper...but i want to learn how it works...then make it better maybe :-D.


SSS(Posted 2004) [#4]
i wouldnt use the blitz terrains, however there are a bunch of excelent ones either free or for sale, look around, im sure you'll find them... look for swifts in particular i think that's supposed to be excelent, terrains again arnt really my area of interest so im not all that knoledgable


Braincell(Posted 2004) [#5]
Hmm, i never went into terrains so far extensively, but i think with 3D Max its pretty easy to make simple meshes and join them. The advantage is cos you can lightmap them pretty well too , but thats just me, i like 3d max :) Depends what you need, and i'd like someone to tell me the potential drawbacks to having static meshes...


Drey(Posted 2004) [#6]
the only thing i can think of is that drawback for static meshes...is simply level of detail.


JoshK(Posted 2004) [#7]
My GEForce 4 MX renders about 6,000,000/sec with an optimized scene. It's best to merge all your high-poly nonmoving meshes. This is like the Unreal engine's use of staticmeshes. I try to keep it around 70,000 polys/frame at a minimum of 60 fps, though it can go about 50% higher, depending on circumstances.

I like your aggressive, demanding style. Some people here don't like me because they resent the fact that 3D graphics were ever invented, and my work makes them feel like big losers. But trust me, I rule all.

There are an ASSLOAD of nuances when programming a 3D engine in Blitz. The editor+engine approach is really the only way to go. Right now, I would use CShop + the blitz map loading code, and maybe try out my engine when it goes public.

Regarding LOD on static meshes, what I do is divide the map up into sectors, and store a single merged staticmesh for each sector. I can also store a version made up of low-res meshes, and switch them out on a per-sector basis, instead of individually.


boomboom(Posted 2004) [#8]
Yea, listen to halo, he has a big ego, but is one of the few people here who can actually back his ego up.

if you are intrested in lightmapping check out Gile[s] as that seems to be the best one currently around.

from what you want, and the fact you already know c++ maybe your should check out the torque engine

http://www.garagegames.com/

have a nice time with blitz

the preferd editor (ide) is proteen i think, but i prefer visualblitz as it is less crowded that proteen (and cheaper) but try both, people like different things. fav modeler is either 3dmax or milkshape, but i find silo3d and xsi cheaper and newer alternatives.

ultimate unwrap 3d is a must for converstion and viewing imo, as it changed any modeling format into .b3d which is blitz's own native polygonial animation format


Drey(Posted 2004) [#9]
Regarding LOD on static meshes, what I do is divide the map up into sectors, and store a single merged staticmesh for each sector. I can also store a version made up of low-res meshes, and switch them out on a per-sector basis, instead of individually.

that's what i was thinking. I want to have about a 8-12 mile draw distance for our mech like game. I want to make it so that it doesn't draw to pointlessly either...like u standing in front of a wall...or hill or whatever. It doesn't need to waste time rendering behind it so much. Sections sounds like it'll fix that to a pretty good degree.

yea i saw your post on your engine. That's awesome man. I'm impress. But i rather make my own engine for the learning experience in it. I woudldn't mind if u gave me some pointers...odds are we'll just start to figure out some of the same things eventually right? Even if my engine doesn't reach 6 million, i'm goin to shoot for 2-3 million and if i can make it better, fine. you guys will probably see me around the forums a bit. But school is goin to slow things down...like always *rolls eyes*


poopla(Posted 2004) [#10]
Yo drey, welcome.